[jboss-svn-commits] JBL Code SVN: r8934 - in labs/jbosslabs/trunk/portal-extensions-2.6: configuration/to-copy/server/default/deploy/jboss-portal.sar and 3 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sat Jan 20 06:22:46 EST 2007
Author: adamw
Date: 2007-01-20 06:22:46 -0500 (Sat, 20 Jan 2007)
New Revision: 8934
Added:
labs/jbosslabs/trunk/portal-extensions-2.6/configuration/to-copy/server/default/deploy/jboss-portal.sar/META-INF/
labs/jbosslabs/trunk/portal-extensions-2.6/configuration/to-copy/server/default/deploy/jboss-portal.sar/META-INF/jboss-service.xml
labs/jbosslabs/trunk/portal-extensions-2.6/forge-mapper/src/java/org/jboss/labs/mapper/LabsCommandFactory.java
Removed:
labs/jbosslabs/trunk/portal-extensions-2.6/forge-mapper/src/java/org/jboss/labs/mapper/LabsCommandFactory.java_old
Modified:
labs/jbosslabs/trunk/portal-extensions-2.6/forge-mapper/maven.xml
labs/jbosslabs/trunk/portal-extensions-2.6/forge-mapper/project.xml
labs/jbosslabs/trunk/portal-extensions-2.6/maven.xml
Log:
Command mapper working for 2.6
Added: labs/jbosslabs/trunk/portal-extensions-2.6/configuration/to-copy/server/default/deploy/jboss-portal.sar/META-INF/jboss-service.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions-2.6/configuration/to-copy/server/default/deploy/jboss-portal.sar/META-INF/jboss-service.xml (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions-2.6/configuration/to-copy/server/default/deploy/jboss-portal.sar/META-INF/jboss-service.xml 2007-01-20 11:22:46 UTC (rev 8934)
@@ -0,0 +1,1149 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ ~ JBoss, a division of Red Hat ~
+ ~ Copyright 2006, Red Hat Middleware, LLC, and individual ~
+ ~ contributors as indicated by the @authors tag. See the ~
+ ~ copyright.txt in the distribution for a full listing of ~
+ ~ individual contributors. ~
+ ~ ~
+ ~ This is free software; you can redistribute it and/or modify it ~
+ ~ under the terms of the GNU Lesser General Public License as ~
+ ~ published by the Free Software Foundation; either version 2.1 of ~
+ ~ the License, or (at your option) any later version. ~
+ ~ ~
+ ~ This software is distributed in the hope that it will be useful, ~
+ ~ but WITHOUT ANY WARRANTY; without even the implied warranty of ~
+ ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ~
+ ~ Lesser General Public License for more details. ~
+ ~ ~
+ ~ You should have received a copy of the GNU Lesser General Public ~
+ ~ License along with this software; if not, write to the Free ~
+ ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA ~
+ ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org. ~
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
+
+<server>
+ <!-- Management -->
+
+ <!-- Portlet discovery executed every 30 seconds -->
+ <mbean code="org.jboss.varia.scheduler.Scheduler"
+ name="portal:service=Management,type=Scheduler">
+ <attribute name="SchedulableMBean">portal:service=Management,type=PortletDiscoveryManagement,name=Default</attribute>
+ <attribute name="SchedulableMBeanMethod">processPortletDiscovery()</attribute>
+ <attribute name="InitialStartDate">NOW</attribute>
+ <attribute name="SchedulePeriod">30000</attribute>
+ <attribute name="InitialRepetitions">-1</attribute>
+ </mbean>
+
+ <mbean
+ code="org.jboss.portal.core.management.PortalImpl"
+ name="portal.management:service=Management,type=Portal,name=Default"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <depends
+ optional-attribute-name="InstanceContainer"
+ proxy-type="attribute">portal:container=Instance</depends>
+ <xmbean/>
+ </mbean>
+
+ <mbean
+ code="org.jboss.portal.identity.management.Identity"
+ name="portal.management:service=Management,type=Identity,name=Default"
+ >
+ <depends>portal:service=Module,type=IdentityServiceController</depends>
+ <xmbean/>
+ </mbean>
+
+ <mbean
+ code="org.jboss.portal.core.management.PortletDiscoveryService"
+ name="portal:service=Management,type=PortletDiscoveryManagement,name=Default"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <depends
+ optional-attribute-name="FederatingPortletInvoker"
+ proxy-type="attribute">portal:service=PortletInvoker,type=Federating</depends>
+ <depends
+ optional-attribute-name="Interceptor"
+ proxy-type="attribute">portal:service=Interceptor,type=Portlet,name=PortletContainerManagement</depends>
+ <xmbean/>
+ </mbean>
+
+
+ <!-- Server configuration service -->
+ <mbean
+ code="org.jboss.portal.server.config.ServerConfigService"
+ name="portal:service=ServerConfig"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <attribute name="ConfigLocation">conf/config.xml</attribute>
+ </mbean>
+
+ <!-- Portal security services-->
+ <mbean
+ code="org.jboss.portal.security.impl.JBossAuthorizationDomainRegistryImpl"
+ name="portal:service=AuthorizationDomainRegistry"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.security.impl.jacc.JACCPortalAuthorizationManagerFactory"
+ name="portal:service=PortalAuthorizationManagerFactory"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends
+ optional-attribute-name="AuthorizationDomainRegistry"
+ proxy-type="attribute">portal:service=AuthorizationDomainRegistry</depends>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.portlet.impl.security.JBossPortletSecurityService"
+ name="portal:service=PortletSecurityService"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends
+ optional-attribute-name="PortalAuthorizationManagerFactory"
+ proxy-type="attribute">portal:service=PortalAuthorizationManagerFactory</depends>
+ <depends
+ optional-attribute-name="AuthorizationDomainRegistry"
+ proxy-type="attribute">portal:service=AuthorizationDomainRegistry</depends>
+ </mbean>
+
+ <!-- Server stack -->
+ <mbean
+ code="org.jboss.portal.core.aspects.server.TransactionInterceptor"
+ name="portal:service=Interceptor,type=Server,name=Transaction"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.server.aspects.server.SessionInvalidatorInterceptor"
+ name="portal:service=Interceptor,type=Server,name=SessionInvalidator"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.core.aspects.server.UserInterceptor"
+ name="portal:service=Interceptor,type=Server,name=User"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends>portal:service=Module,type=IdentityServiceController</depends>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.core.aspects.server.LocaleInterceptor"
+ name="portal:service=Interceptor,type=Server,name=Locale"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.server.aspects.server.ContentTypeInterceptor"
+ name="portal:service=Interceptor,type=Server,name=ContentType"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.server.impl.invocation.JBossInterceptorStackFactory"
+ name="portal:service=InterceptorStackFactory,type=Server"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends-list optional-attribute-name="InterceptorNames">
+ <depends-list-element>portal:service=Interceptor,type=Server,name=Transaction</depends-list-element>
+ <depends-list-element>portal:service=Interceptor,type=Server,name=SessionInvalidator</depends-list-element>
+ <depends-list-element>portal:service=Interceptor,type=Server,name=User</depends-list-element>
+ <depends-list-element>portal:service=Interceptor,type=Server,name=Locale</depends-list-element>
+ <depends-list-element>portal:service=Interceptor,type=Server,name=ContentType</depends-list-element>
+ </depends-list>
+ </mbean>
+
+ <!-- Command stack -->
+ <mbean
+ code="org.jboss.portal.core.aspects.controller.node.PortalNodeInterceptor"
+ name="portal:service=Interceptor,type=Command,name=PortalNode"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.core.aspects.controller.PolicyEnforcementInterceptor"
+ name="portal:service=Interceptor,type=Command,name=PolicyEnforcement"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.core.aspects.controller.PageNavigationInterceptor"
+ name="portal:service=Interceptor,type=Command,name=PageNavigation"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.core.aspects.controller.PageCustomizerInterceptor"
+ name="portal:service=Interceptor,type=Command,name=PageCustomizer"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends
+ optional-attribute-name="PortalAuthorizationManagerFactory"
+ proxy-type="attribute">portal:service=PortalAuthorizationManagerFactory</depends>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.core.controller.ajax.AjaxInterceptor"
+ name="portal:service=Interceptor,type=Command,name=Ajax"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.core.aspects.controller.node.EventBroadcasterInterceptor"
+ name="portal:service=Interceptor,type=Command,name=EventBroadcaster"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends
+ optional-attribute-name="ListenerRegistry"
+ proxy-type="attribute">portal:service=ListenerRegistry</depends>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.server.impl.invocation.JBossInterceptorStackFactory"
+ name="portal:service=InterceptorStackFactory,type=Command"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends-list optional-attribute-name="InterceptorNames">
+ <depends-list-element>portal:service=Interceptor,type=Command,name=PortalNode</depends-list-element>
+ <depends-list-element>portal:service=Interceptor,type=Command,name=PolicyEnforcement</depends-list-element>
+ <depends-list-element>portal:service=Interceptor,type=Command,name=PageNavigation</depends-list-element>
+ <depends-list-element>portal:service=Interceptor,type=Command,name=PageCustomizer</depends-list-element>
+ <depends-list-element>portal:service=Interceptor,type=Command,name=Ajax</depends-list-element>
+ <depends-list-element>portal:service=Interceptor,type=Command,name=EventBroadcaster</depends-list-element>
+ </depends-list>
+ </mbean>
+
+ <!-- Instance stack -->
+ <!-- Management MBean, can be removed if management is not used -->
+ <mbean
+ code="org.jboss.portal.portlet.management.PortletContainerManagementInterceptorImpl"
+ name="portal:service=Interceptor,type=Portlet,name=PortletContainerManagement"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.core.model.instance.InstanceSecurityInterceptor"
+ name="portal:service=Interceptor,type=Portlet,name=InstanceSecurity"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends optional-attribute-name="PortalAuthorizationManagerFactory" proxy-type="attribute">portal:service=PortalAuthorizationManagerFactory</depends>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.portlet.aspects.portlet.ConsumerCacheInterceptor"
+ name="portal:service=Interceptor,type=Portlet,name=ConsumerCache"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.portlet.aspects.portlet.PortalSessionSynchronizationInterceptor"
+ name="portal:service=Interceptor,type=Portlet,name=PortalSessionSynchronization"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.server.impl.invocation.JBossInterceptorStackFactory"
+ name="portal:service=InterceptorStackFactory,type=Instance"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends-list optional-attribute-name="InterceptorNames">
+ <depends-list-element>portal:service=Interceptor,type=Portlet,name=PortletContainerManagement</depends-list-element>
+ <depends-list-element>portal:service=Interceptor,type=Portlet,name=ConsumerCache</depends-list-element>
+ <depends-list-element>portal:service=Interceptor,type=Portlet,name=InstanceSecurity</depends-list-element>
+ <depends-list-element>portal:service=Interceptor,type=Portlet,name=PortalSessionSynchronization</depends-list-element>
+ </depends-list>
+ </mbean>
+
+ <!-- Producer stack -->
+ <mbean
+ code="org.jboss.portal.portlet.aspects.portlet.ValveInterceptor"
+ name="portal:service=Interceptor,type=Portlet,name=Valve"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.portlet.aspects.portlet.ContextTrackerInterceptor"
+ name="portal:service=Interceptor,type=Portlet,name=ContextTracker"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.portlet.aspects.portlet.SecureTransportInterceptor"
+ name="portal:service=Interceptor,type=Portlet,name=SecureTransport"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.portlet.aspects.portlet.ContextDispatcherInterceptor"
+ name="portal:service=Interceptor,type=Portlet,name=ContextDispatcher"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.portlet.aspects.portlet.PortletSessionSynchronizationInterceptor"
+ name="portal:service=Interceptor,type=Portlet,name=PortletSessionSynchronization"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.bridge.BridgeInterceptor"
+ name="portal:service=Interceptor,type=Portlet,name=Bridge"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.portlet.aspects.portlet.WindowStatesInterceptor"
+ name="portal:service=Interceptor,type=Portlet,name=WindowStates"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.portlet.aspects.portlet.ModesInterceptor"
+ name="portal:service=Interceptor,type=Portlet,name=Modes"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.portlet.aspects.portlet.ProducerCacheInterceptor"
+ name="portal:service=Interceptor,type=Portlet,name=ProducerCache"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.core.aspects.portlet.TransactionInterceptor"
+ name="portal:service=Interceptor,type=Portlet,name=Transaction"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.core.aspects.portlet.HeaderInterceptor"
+ name="portal:service=Interceptor,type=Portlet,name=Header"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.server.impl.invocation.JBossInterceptorStackFactory"
+ name="portal:service=InterceptorStackFactory,type=Producer"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends-list optional-attribute-name="InterceptorNames">
+ <depends-list-element>portal:service=Interceptor,type=Portlet,name=Valve</depends-list-element>
+ <depends-list-element>portal:service=Interceptor,type=Portlet,name=SecureTransport</depends-list-element>
+ <depends-list-element>portal:service=Interceptor,type=Portlet,name=ContextDispatcher</depends-list-element>
+ <depends-list-element>portal:service=Interceptor,type=Portlet,name=ContextTracker</depends-list-element>
+ <depends-list-element>portal:service=Interceptor,type=Portlet,name=PortletSessionSynchronization</depends-list-element>
+ <depends-list-element>portal:service=Interceptor,type=Portlet,name=WindowStates</depends-list-element>
+ <depends-list-element>portal:service=Interceptor,type=Portlet,name=Bridge</depends-list-element>
+ <depends-list-element>portal:service=Interceptor,type=Portlet,name=Modes</depends-list-element>
+ <depends-list-element>portal:service=Interceptor,type=Portlet,name=ProducerCache</depends-list-element>
+ <depends-list-element>portal:service=Interceptor,type=Portlet,name=Header</depends-list-element>
+ <depends-list-element>portal:service=Interceptor,type=Portlet,name=Transaction</depends-list-element>
+ </depends-list>
+ </mbean>
+
+ <!-- Theme and layout services -->
+ <mbean
+ code="org.jboss.portal.theme.impl.ThemeServiceImpl"
+ name="portal:service=ThemeService"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.theme.impl.LayoutServiceImpl"
+ name="portal:service=LayoutService"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.theme.impl.page.PageServiceImpl"
+ name="portal:service=PageService"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends
+ optional-attribute-name="LayoutService"
+ proxy-type="attribute">portal:service=LayoutService</depends>
+ <depends
+ optional-attribute-name="ThemeService"
+ proxy-type="attribute">portal:service=ThemeService</depends>
+ </mbean>
+
+ <!--
+ | Uncomment in clustered mode : replicated cache for hibernate
+
+ <mbean
+ code="org.jboss.cache.TreeCache"
+ name="portal:service=TreeCache,type=hibernate">
+ <depends>jboss:service=Naming</depends>
+ <depends>jboss:service=TransactionManager</depends>
+ <attribute name="TransactionManagerLookupClass">org.jboss.cache.JBossTransactionManagerLookup</attribute>
+ <attribute name="IsolationLevel">REPEATABLE_READ</attribute>
+ <attribute name="CacheMode">REPL_SYNC</attribute>
+ <attribute name="ClusterName">portal.hibernate</attribute>
+ </mbean>
+
+ <mbean
+ code="org.jboss.portal.jems.hibernate.JBossTreeCacheProvider"
+ name="portal:service=TreeCacheProvider,type=hibernate">
+ <depends optional-attribute-name="CacheName">portal:service=TreeCache,type=hibernate</depends>
+ </mbean>
+
+ -->
+
+ <!-- Session factories -->
+ <mbean
+ code="org.jboss.portal.jems.hibernate.SessionFactoryBinder"
+ name="portal:service=Hibernate"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends>jboss.jca:service=DataSourceBinding,name=PortalDS</depends>
+ <!-- Uncomment in clustered mode : hibernate depends on its tree cache service
+ <depends>portal:service=TreeCacheProvider,type=hibernate</depends>
+ -->
+ <attribute name="DoChecking">true</attribute>
+ <attribute name="ConfigLocation">conf/hibernate/user/hibernate.cfg.xml</attribute>
+ <attribute name="SetupLocation">conf/hibernate/user/setup.txt</attribute>
+ <attribute name="JNDIName">java:/portal/IdentitySessionFactory</attribute>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.jems.hibernate.SessionFactoryBinder"
+ name="portal:service=Hibernate,type=Instance"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends>jboss.jca:service=DataSourceBinding,name=PortalDS</depends>
+ <depends>jboss.jca:service=DataSourceBinding,name=PortalDS</depends>
+ <!-- Uncomment in clustered mode : hibernate depends on its tree cache service
+ <depends>portal:service=TreeCacheProvider,type=hibernate</depends>
+ -->
+ <attribute name="DoChecking">true</attribute>
+ <attribute name="ConfigLocation">conf/hibernate/instance/hibernate.cfg.xml</attribute>
+ <attribute name="JNDIName">java:/portal/InstanceSessionFactory</attribute>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.jems.hibernate.SessionFactoryBinder"
+ name="portal:service=Hibernate,type=PortalObject"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends>jboss.jca:service=DataSourceBinding,name=PortalDS</depends>
+ <!-- Uncomment in clustered mode : hibernate depends on its tree cache service
+ <depends>portal:service=TreeCacheProvider,type=hibernate</depends>
+ -->
+ <attribute name="DoChecking">true</attribute>
+ <attribute name="ConfigLocation">conf/hibernate/portal/hibernate.cfg.xml</attribute>
+ <attribute name="JNDIName">java:/portal/PortalObjectSessionFactory</attribute>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.jems.hibernate.SessionFactoryBinder"
+ name="portal:service=Hibernate,type=Portlet"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends>jboss.jca:service=DataSourceBinding,name=PortalDS</depends>
+ <!-- Uncomment in clustered mode : hibernate depends on its tree cache service
+ <depends>portal:service=TreeCacheProvider,type=hibernate</depends>
+ -->
+ <attribute name="DoChecking">true</attribute>
+ <attribute name="ConfigLocation">conf/hibernate/portlet/hibernate.cfg.xml</attribute>
+ <attribute name="JNDIName">java:/portal/PortletSessionFactory</attribute>
+ </mbean>
+
+ <!--Identity-->
+ <mbean
+ code="org.jboss.portal.identity.IdentityServiceControllerImpl"
+ name="portal:service=Module,type=IdentityServiceController"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends>portal:service=Hibernate</depends>
+ <!--<depends>jboss.jca:service=DataSourceBinding,name=PortalDS</depends>-->
+ <attribute name="JndiName">java:/portal/IdentityServiceController</attribute>
+ <attribute name="RegisterMBeans">true</attribute>
+ <attribute name="ConfigFile">conf/identity/identity-config.xml</attribute>
+ <attribute name="DefaultConfigFile">conf/identity/standardidentity-config.xml</attribute>
+ </mbean>
+
+ <mbean
+ code="org.jboss.portal.core.impl.mail.MailModuleImpl"
+ name="portal:service=Module,type=Mail"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends>jboss:service=Mail</depends>
+ <depends>portal:service=Module,type=IdentityServiceController</depends>
+ <attribute name="QueueCapacity">-1</attribute>
+ <attribute name="Gateway">localhost</attribute>
+ <attribute name="SmtpUser"></attribute>
+ <attribute name="SmtpPassword"></attribute>
+ <attribute name="JavaMailDebugEnabled">false</attribute>
+ <attribute name="SMTPConnectionTimeout">100000</attribute>
+ <attribute name="SMTPTimeout">10000</attribute>
+ <attribute name="JNDIName">java:portal/MailModule</attribute>
+ </mbean>
+
+ <mbean
+ code="org.jboss.security.auth.login.DynamicLoginConfig"
+ name="portal:service=JAASLoginModule">
+ <depends optional-attribute-name="LoginConfigService">jboss.security:service=XMLLoginConfig</depends>
+ <depends optional-attribute-name="SecurityManagerService">jboss.security:service=JaasSecurityManager</depends>
+ <attribute name="AuthConfig">conf/login-config.xml</attribute>
+ </mbean>
+
+ <!-- Registries -->
+ <mbean
+ code="org.jboss.portal.portlet.container.PortletApplicationRegistryImpl"
+ name="portal:service=WebAppRegistry"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ </mbean>
+
+ <!-- Listener registry -->
+ <mbean
+ code="org.jboss.portal.core.event.PortalEventListenerRegistryImpl"
+ name="portal:service=ListenerRegistry"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ </mbean>
+
+ <!-- A sample listener -->
+ <mbean
+ code="org.jboss.portal.core.event.PortalEventListenerServiceImpl"
+ name="portal:service=ListenerService,type=test_listener"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends
+ optional-attribute-name="Registry"
+ proxy-type="attribute">portal:service=ListenerRegistry</depends>
+ <attribute name="RegistryId">test_listener</attribute>
+ <attribute name="ListenerClassName">org.jboss.portal.core.portlet.test.event.PortletB$Listener</attribute>
+ </mbean>
+
+ <!-- The different containers -->
+ <mbean
+ code="org.jboss.portal.core.impl.model.instance.PersistentInstanceContainer"
+ name="portal:container=Instance"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends>portal:service=Hibernate,type=Instance</depends>
+ <depends
+ optional-attribute-name="StackFactory"
+ proxy-type="attribute">portal:service=InterceptorStackFactory,type=Instance</depends>
+ <depends
+ optional-attribute-name="PortletInvoker"
+ proxy-type="attribute">portal:service=PortletInvoker,type=Federating</depends>
+ <depends
+ optional-attribute-name="PortalAuthorizationManagerFactory"
+ proxy-type="attribute">portal:service=PortalAuthorizationManagerFactory</depends>
+ <depends
+ optional-attribute-name="AuthorizationDomainRegistry"
+ proxy-type="attribute">portal:service=AuthorizationDomainRegistry</depends>
+ <attribute name="SessionFactoryJNDIName">java:/portal/InstanceSessionFactory</attribute>
+ <attribute name="CacheNaturalId">true</attribute>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.core.impl.model.portal.PersistentPortalObjectContainer"
+ name="portal:container=PortalObject"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends>portal:service=Hibernate,type=PortalObject</depends>
+ <depends
+ optional-attribute-name="PortalAuthorizationManagerFactory"
+ proxy-type="attribute">portal:service=PortalAuthorizationManagerFactory</depends>
+ <depends
+ optional-attribute-name="AuthorizationDomainRegistry"
+ proxy-type="attribute">portal:service=AuthorizationDomainRegistry</depends>
+ <depends
+ optional-attribute-name="InstanceContainer"
+ proxy-type="attribute">portal:container=Instance</depends>
+ <attribute name="SessionFactoryJNDIName">java:/portal/PortalObjectSessionFactory</attribute>
+ <attribute name="CacheNaturalId">true</attribute>
+ </mbean>
+
+ <!-- Customization manager -->
+ <mbean
+ code="org.jboss.portal.core.impl.model.CustomizationManagerService"
+ name="portal:service=CustomizationManager"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends
+ optional-attribute-name="PortalAuthorizationManagerFactory"
+ proxy-type="attribute">portal:service=PortalAuthorizationManagerFactory</depends>
+ <depends
+ optional-attribute-name="InstanceContainer"
+ proxy-type="attribute">portal:container=Instance</depends>
+ <depends
+ optional-attribute-name="PortalObjectContainer"
+ proxy-type="attribute">portal:container=PortalObject</depends>
+ <depends>portal:service=Module,type=IdentityServiceController</depends>
+ <attribute name="DashboardContextId">dashboard</attribute>
+ </mbean>
+
+ <!-- Labs command factory -->
+ <mbean
+ code="org.jboss.labs.mapper.LabsCommandFactory"
+ name="portal:commandFactory=Labs"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends>shotoku:service=svn</depends>
+ <depends
+ optional-attribute-name="NextFactory"
+ proxy-type="attribute">portal:commandFactory=DefaultPortal</depends>
+ <depends
+ optional-attribute-name="Container"
+ proxy-type="attribute">portal:container=PortalObject</depends>
+ </mbean>
+
+ <!-- Command factories -->
+ <mbean
+ code="org.jboss.portal.core.controller.command.mapper.DelegatingCommandFactoryService"
+ name="portal:commandFactory=Delegating"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.core.model.portal.DefaultPortalCommandFactory"
+ name="portal:commandFactory=DefaultPortal"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends
+ optional-attribute-name="NextFactory"
+ proxy-type="attribute">portal:commandFactory=Delegating</depends>
+ <depends
+ optional-attribute-name="Container"
+ proxy-type="attribute">portal:container=PortalObject</depends>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.core.model.portal.PortalObjectCommandFactory"
+ name="portal:commandFactory=PortalObject"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends
+ optional-attribute-name="Container"
+ proxy-type="attribute">portal:container=PortalObject</depends>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.core.controller.command.mapper.CommandFactoryDelegate"
+ name="portal:commandFactory=Delegate,path=portal"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <attribute name="Path">/portal</attribute>
+ <depends
+ optional-attribute-name="DelegatingFactory"
+ proxy-type="attribute">portal:commandFactory=Delegating</depends>
+ <depends
+ optional-attribute-name="DelegateFactory"
+ proxy-type="attribute">portal:commandFactory=PortalObject</depends>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.core.controller.command.mapper.SimpleCommandFactory"
+ name="portal:commandFactory=SignOut"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <attribute name="CommandClassName">org.jboss.portal.core.controller.command.SignOutCommand</attribute>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.core.controller.command.mapper.CommandFactoryDelegate"
+ name="portal:commandFactory=Delegate,path=signout"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <attribute name="Path">/signout</attribute>
+ <depends
+ optional-attribute-name="DelegatingFactory"
+ proxy-type="attribute">portal:commandFactory=Delegating</depends>
+ <depends
+ optional-attribute-name="DelegateFactory"
+ proxy-type="attribute">portal:commandFactory=SignOut</depends>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.core.model.portal.DashboardCommandFactory"
+ name="portal:commandFactory=Dashboard"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.core.controller.command.mapper.CommandFactoryDelegate"
+ name="portal:commandFactory=Delegate,path=dashboard"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <attribute name="Path">/dashboard</attribute>
+ <depends
+ optional-attribute-name="DelegatingFactory"
+ proxy-type="attribute">portal:commandFactory=Delegating</depends>
+ <depends
+ optional-attribute-name="DelegateFactory"
+ proxy-type="attribute">portal:commandFactory=Dashboard</depends>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.core.model.instance.InstanceCommandFactory"
+ name="portal:commandFactory=Configurator"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <attribute name="InstanceId">ConfiguratorPortletInstance</attribute>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.core.controller.command.mapper.CommandFactoryDelegate"
+ name="portal:commandFactory=Delegate,path=configure"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <attribute name="Path">/configure</attribute>
+ <depends
+ optional-attribute-name="DelegatingFactory"
+ proxy-type="attribute">portal:commandFactory=Delegating</depends>
+ <depends
+ optional-attribute-name="DelegateFactory"
+ proxy-type="attribute">portal:commandFactory=Configurator</depends>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.core.controller.command.mapper.CommandFactoryDelegate"
+ name="portal:commandFactory=Delegate,path=test"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <attribute name="Path">/test</attribute>
+ <depends
+ optional-attribute-name="DelegatingFactory"
+ proxy-type="attribute">portal:commandFactory=Delegating</depends>
+ <depends
+ optional-attribute-name="DelegateFactory"
+ proxy-type="attribute">portal:commandFactory=Test</depends>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.core.model.instance.InstanceCommandFactory"
+ name="portal:commandFactory=Test"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <attribute name="InstanceId">TestPortletInstance</attribute>
+ </mbean>
+
+ <!-- URL factories -->
+ <mbean
+ code="org.jboss.portal.core.controller.command.mapper.DelegatingURLFactoryService"
+ name="portal:urlFactory=Delegating"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.core.model.portal.PortalObjectURLFactory"
+ name="portal:urlFactory=PortalObject"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <attribute name="Path">/portal</attribute>
+ <depends
+ optional-attribute-name="Factory"
+ proxy-type="attribute">portal:urlFactory=Delegating</depends>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.core.controller.command.mapper.SimpleURLFactory"
+ name="portal:urlFactory=SignOut"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <attribute name="Path">/signout</attribute>
+ <attribute name="ClassNames">org.jboss.portal.core.controller.command.SignOutCommand</attribute>
+ <depends
+ optional-attribute-name="Factory"
+ proxy-type="attribute">portal:urlFactory=Delegating</depends>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.core.controller.command.mapper.SimpleURLFactory"
+ name="portal:urlFactory=Dashboard"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <attribute name="Path">/dashboard</attribute>
+ <attribute name="ClassNames">org.jboss.portal.core.model.portal.command.ViewDashboardCommand</attribute>
+ <depends
+ optional-attribute-name="Factory"
+ proxy-type="attribute">portal:urlFactory=Delegating</depends>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.core.model.instance.InstanceURLFactory"
+ name="portal:urlFactory=Configurator"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <attribute name="InstanceId">ConfiguratorPortletInstance</attribute>
+ <attribute name="Path">/configure</attribute>
+ <depends
+ optional-attribute-name="Factory"
+ proxy-type="attribute">portal:urlFactory=Delegating</depends>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.core.model.instance.InstanceURLFactory"
+ name="portal:urlFactory=Test"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <attribute name="InstanceId">TestPortletInstance</attribute>
+ <attribute name="Path">/test</attribute>
+ <depends
+ optional-attribute-name="Factory"
+ proxy-type="attribute">portal:urlFactory=Delegating</depends>
+ </mbean>
+
+ <!-- The federating portlet invoker -->
+ <mbean
+ code="org.jboss.portal.federation.impl.FederatingPortletInvokerService"
+ name="portal:service=PortletInvoker,type=Federating"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ </mbean>
+
+ <!-- The portlet container invoker -->
+ <mbean
+ code="org.jboss.portal.portlet.container.PortletContainerInvoker"
+ name="portal:service=PortletInvoker,type=Container"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends
+ optional-attribute-name="StackFactory"
+ proxy-type="attribute">portal:service=InterceptorStackFactory,type=Producer</depends>
+ <depends
+ optional-attribute-name="Registry"
+ proxy-type="attribute">portal:service=WebAppRegistry</depends>
+ </mbean>
+
+ <!-- The producer portlet invoker -->
+ <mbean
+ code="org.jboss.portal.core.impl.portlet.state.PersistentPortletStatePersistenceManager"
+ name="portal:service=PersistenceManager,type=Producer"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends>portal:service=Hibernate,type=Portlet</depends>
+ <attribute name="SessionFactoryJNDIName">java:/portal/PortletSessionFactory</attribute>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.portlet.impl.state.StateManagementPolicyService"
+ name="portal:service=StateManagementPolicy,type=Producer"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <attribute name="PersistLocally">true</attribute>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.portlet.impl.state.StateConverterV0"
+ name="portal:service=StateConverter,type=Producer"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.core.impl.portlet.state.ProducerPortletInvoker"
+ name="portal:service=PortletInvoker,type=Producer"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends
+ optional-attribute-name="PortletInvoker"
+ proxy-type="attribute">portal:service=PortletInvoker,type=Container</depends>
+ <depends
+ optional-attribute-name="PersistenceManager"
+ proxy-type="attribute">portal:service=PersistenceManager,type=Producer</depends>
+ <depends
+ optional-attribute-name="StateManagementPolicy"
+ proxy-type="attribute">portal:service=StateManagementPolicy,type=Producer</depends>
+ <depends
+ optional-attribute-name="StateConverter"
+ proxy-type="attribute">portal:service=StateConverter,type=Producer</depends>
+ </mbean>
+
+ <!-- Register the state portlet invoker on the federating portlet invoker -->
+ <mbean
+ code="org.jboss.portal.federation.impl.PortletInvokerRegistrationService"
+ name="portal:service=PortletInvokerRegistration,id=local"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <attribute name="Id">local</attribute>
+ <depends
+ optional-attribute-name="PortletInvoker"
+ proxy-type="attribute">portal:service=PortletInvoker,type=Producer</depends>
+ <depends
+ optional-attribute-name="FederatingPortletInvoker"
+ proxy-type="attribute">portal:service=PortletInvoker,type=Federating</depends>
+ </mbean>
+
+ <!-- The core controller -->
+ <mbean
+ code="org.jboss.portal.core.controller.classic.ClassicController"
+ name="portal:controller=Core"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends
+ optional-attribute-name="PageService"
+ proxy-type="attribute">portal:service=PageService</depends>
+ <depends
+ optional-attribute-name="CommandFactory"
+ proxy-type="attribute">portal:commandFactory=Labs</depends>
+ <depends
+ optional-attribute-name="URLFactory"
+ proxy-type="attribute">portal:urlFactory=Delegating</depends>
+ <depends
+ optional-attribute-name="StackFactory"
+ proxy-type="attribute">portal:service=InterceptorStackFactory,type=Command</depends>
+ <depends
+ optional-attribute-name="PortalObjectContainer"
+ proxy-type="attribute">portal:container=PortalObject</depends>
+ <depends
+ optional-attribute-name="InstanceContainer"
+ proxy-type="attribute">portal:container=Instance</depends>
+ <depends
+ optional-attribute-name="PortalAuthorizationManagerFactory"
+ proxy-type="attribute">portal:service=PortalAuthorizationManagerFactory</depends>
+ <depends
+ optional-attribute-name="CustomizationManager"
+ proxy-type="attribute">portal:service=CustomizationManager</depends>
+ </mbean>
+
+ <!-- The ajax controller -->
+ <mbean
+ code="org.jboss.portal.core.controller.ajax.AjaxController"
+ name="portal:controller=Ajax"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends
+ optional-attribute-name="PageService"
+ proxy-type="attribute">portal:service=PageService</depends>
+ <depends
+ optional-attribute-name="CommandFactory"
+ proxy-type="attribute">portal:commandFactory=DefaultPortal</depends>
+ <depends
+ optional-attribute-name="URLFactory"
+ proxy-type="attribute">portal:urlFactory=Delegating</depends>
+ <depends
+ optional-attribute-name="StackFactory"
+ proxy-type="attribute">portal:service=InterceptorStackFactory,type=Command</depends>
+ <depends
+ optional-attribute-name="PortalObjectContainer"
+ proxy-type="attribute">portal:container=PortalObject</depends>
+ <depends
+ optional-attribute-name="InstanceContainer"
+ proxy-type="attribute">portal:container=Instance</depends>
+ <depends
+ optional-attribute-name="PortalAuthorizationManagerFactory"
+ proxy-type="attribute">portal:service=PortalAuthorizationManagerFactory</depends>
+ <depends
+ optional-attribute-name="CustomizationManager"
+ proxy-type="attribute">portal:service=CustomizationManager</depends>
+ </mbean>
+
+ <!-- -->
+ <mbean
+ code="org.jboss.portal.server.impl.ServerImpl"
+ name="portal:service=Server"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends
+ optional-attribute-name="Config"
+ proxy-type="attribute">portal:service=ServerConfig</depends>
+ </mbean>
+
+ <!-- -->
+ <mbean
+ code="org.jboss.portal.server.deployment.jboss.ServerDeployer"
+ name="portal:deployer=PortalWebApp">
+ <depends>jboss.system:service=MainDeployer</depends>
+ <depends>portal:container=PortalObject</depends>
+ <depends>portal:container=Instance</depends>
+ <depends
+ optional-attribute-name="PortalServer"
+ proxy-type="attribute">portal:service=Server</depends>
+ </mbean>
+
+ <!-- Portal object deployment factory -->
+ <!--
+ | Uncomment in cluster mode : have the deployment of objects run as a clustered singleton
+
+ <mbean
+ code="org.jboss.portal.jems.as.system.LifecycleInvoker"
+ name="portal:service=Controller,target=ObjectDeploymentFactory"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends>jboss.ha:service=HASingletonDeployer,type=Barrier</depends>
+ <depends>jboss:service=${jboss.partition.name:DefaultPartition}</depends>
+ <depends>portal:container=PortalObject</depends>
+ <attribute name="Target">portal:deploymentFactory=Object</attribute>
+ <attribute name="OnStart">registerFactory</attribute>
+ <attribute name="OnStop">unregisterFactory</attribute>
+ </mbean>
+
+ -->
+ <mbean
+ code="org.jboss.portal.core.deployment.jboss.ObjectDeploymentFactory"
+ name="portal:deploymentFactory=Object"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends
+ optional-attribute-name="Deployer"
+ proxy-type="attribute">portal:deployer=PortalWebApp</depends>
+ <depends
+ optional-attribute-name="PortalObjectContainer"
+ proxy-type="attribute">portal:container=PortalObject</depends>
+ <attribute name="SetupLocation">conf/data/default-object.xml</attribute>
+ <!-- Set to false in clustered mode, otherwise set to true -->
+ <attribute name="RegistrationControlledByService">true</attribute>
+ </mbean>
+
+ <!-- -->
+ <!--
+ | Uncomment in cluster mode : have the creation of instances run as a clustered singleton
+
+ <mbean
+ code="org.jboss.portal.jems.as.system.LifecycleInvoker"
+ name="portal:service=Controller,target=PortletAppDeploymentFactory"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends>jboss.ha:service=HASingletonDeployer,type=Barrier</depends>
+ <depends>jboss:service=${jboss.partition.name:DefaultPartition}</depends>
+ <depends>portal:container=PortalObject</depends>
+ <attribute name="Target">portal:deploymentFactory=PortletApp</attribute>
+ <attribute name="OnStart">enableCreateInstances</attribute>
+ <attribute name="OnStop">disableCreateInstances</attribute>
+ </mbean>
+
+ -->
+ <mbean
+ code="org.jboss.portal.core.deployment.jboss.PortletAppDeploymentFactory"
+ name="portal:deploymentFactory=PortletApp"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <!--
+ <depends>jboss.ha:service=HASingletonDeployer</depends>
+ -->
+ <depends>portal:service=PortletInvokerRegistration,id=local</depends>
+ <depends
+ optional-attribute-name="Deployer"
+ proxy-type="attribute">portal:deployer=PortalWebApp</depends>
+ <depends
+ optional-attribute-name="WebAppRegistry"
+ proxy-type="attribute">portal:service=WebAppRegistry</depends>
+ <depends
+ optional-attribute-name="Config"
+ proxy-type="attribute">portal:service=ServerConfig</depends>
+ <depends
+ optional-attribute-name="PortletSecurityService"
+ proxy-type="attribute">portal:service=PortletSecurityService</depends>
+ <depends
+ optional-attribute-name="InstanceContainer"
+ proxy-type="attribute">portal:container=Instance</depends>
+ <attribute name="StandardJBossApplicationMetaDataLocation">conf/standardjboss-portlet.xml</attribute>
+ <attribute name="APIFactoryClassName">org.jboss.portlet.JBossAPIFactory</attribute>
+ <!-- Set to false in clustered mode, otherwise set to true -->
+ <attribute name="CreateInstances">true</attribute>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.theme.deployment.jboss.LayoutDeploymentFactory"
+ name="portal:deploymentFactory=Layout"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends
+ optional-attribute-name="Deployer"
+ proxy-type="attribute">portal:deployer=PortalWebApp</depends>
+ <depends
+ optional-attribute-name="LayoutService"
+ proxy-type="attribute">portal:service=LayoutService</depends>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.theme.deployment.jboss.LayoutFeaturesDeploymentFactory"
+ name="portal:deploymentFactory=LayoutFeatures"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends
+ optional-attribute-name="Deployer"
+ proxy-type="attribute">portal:deployer=PortalWebApp</depends>
+ <depends
+ optional-attribute-name="LayoutService"
+ proxy-type="attribute">portal:service=LayoutService</depends>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.theme.deployment.jboss.ThemeDeploymentFactory"
+ name="portal:deploymentFactory=Theme"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends
+ optional-attribute-name="Deployer"
+ proxy-type="attribute">portal:deployer=PortalWebApp</depends>
+ <depends
+ optional-attribute-name="ThemeService"
+ proxy-type="attribute">portal:service=ThemeService</depends>
+ </mbean>
+ <mbean
+ code="org.jboss.portal.server.deployment.WebAppAdapter"
+ name="portal:deployer=Adapter"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends optional-attribute-name="InterceptedDeployer">jboss.web:service=WebServer</depends>
+ <depends
+ optional-attribute-name="Deployer"
+ proxy-type="attribute">portal:deployer=PortalWebApp</depends>
+ </mbean>
+</server>
Modified: labs/jbosslabs/trunk/portal-extensions-2.6/forge-mapper/maven.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions-2.6/forge-mapper/maven.xml 2007-01-20 09:33:16 UTC (rev 8933)
+++ labs/jbosslabs/trunk/portal-extensions-2.6/forge-mapper/maven.xml 2007-01-20 11:22:46 UTC (rev 8934)
@@ -18,7 +18,7 @@
<goal name="deploy">
<ant:copy
- tofile="${local.deploy.dir}/jboss-portal.sar/lib/forge-mapper.jar"
+ todir="${forge.jar.dest}"
file="target/forge-mapper.jar"
overwrite="true" />
</goal>
Modified: labs/jbosslabs/trunk/portal-extensions-2.6/forge-mapper/project.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions-2.6/forge-mapper/project.xml 2007-01-20 09:33:16 UTC (rev 8933)
+++ labs/jbosslabs/trunk/portal-extensions-2.6/forge-mapper/project.xml 2007-01-20 11:22:46 UTC (rev 8934)
@@ -51,6 +51,12 @@
<version>1.0</version>
<jar>portal-server-lib.jar</jar>
</dependency>
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>portal-jems-lib</artifactId>
+ <version>1.0</version>
+ <jar>portal-jems-lib.jar</jar>
+ </dependency>
</dependencies>
<build>
Copied: labs/jbosslabs/trunk/portal-extensions-2.6/forge-mapper/src/java/org/jboss/labs/mapper/LabsCommandFactory.java (from rev 8927, labs/jbosslabs/trunk/portal-extensions-2.6/forge-mapper/src/java/org/jboss/labs/mapper/LabsCommandFactory.java_old)
===================================================================
--- labs/jbosslabs/trunk/portal-extensions-2.6/forge-mapper/src/java/org/jboss/labs/mapper/LabsCommandFactory.java (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions-2.6/forge-mapper/src/java/org/jboss/labs/mapper/LabsCommandFactory.java 2007-01-20 11:22:46 UTC (rev 8934)
@@ -0,0 +1,304 @@
+package org.jboss.labs.mapper;
+
+import org.jboss.portal.core.model.portal.PortalObjectContainer;
+import org.jboss.portal.core.model.portal.Page;
+import org.jboss.portal.core.model.portal.Portal;
+import org.jboss.portal.core.model.portal.command.RenderPageCommand;
+import org.jboss.portal.core.controller.command.mapper.AbstractCommandFactory;
+import org.jboss.portal.core.controller.command.mapper.CommandFactory;
+import org.jboss.portal.core.controller.ControllerCommand;
+import org.jboss.portal.server.ServerInvocation;
+import org.jboss.portal.common.invocation.InvocationException;
+import org.jboss.portal.portlet.impl.PortletRequestDecoder;
+import org.jboss.shotoku.ContentManager;
+import org.jboss.shotoku.tools.Tools;
+import org.jboss.forge.common.projects.ProjectsHelper;
+import org.jboss.forge.common.projects.Projects;
+import org.jboss.forge.common.Constants;
+import org.jboss.forge.common.ForgeHelper;
+
+import java.io.IOException;
+
+/**
+ * Command factory for labs. Uses following rules for URLs:
+ * - / -> default page
+ * - /projectId/pageName -> sets projectId as the selected project, goes to
+ * page pageName
+ * - /projectId/otherPath -> sets projectId as the selected project, invokes
+ * freezone with otherPath
+ * - /pageName -> goes to page pageName
+ * - /otherPath -> invokes freezone with otherPath
+ *
+ * Currently, this supports only 1 portal (as set in
+ * org.jboss.forge.common.Constants).
+ *
+ * @author Adam Warski (adamw at aster.pl)
+ */
+public class LabsCommandFactory extends AbstractCommandFactory {
+ private PortalObjectContainer container;
+ private CommandFactory nextFactory;
+ private ContentManager cm;
+
+ /*
+ * Getters and setters.
+ */
+
+ public PortalObjectContainer getContainer() {
+ return container;
+ }
+
+ public void setContainer(PortalObjectContainer container) {
+ this.container = container;
+ }
+
+ public CommandFactory getNextFactory() {
+ return nextFactory;
+ }
+
+ public void setNextFactory(CommandFactory nextFactory) {
+ this.nextFactory = nextFactory;
+ }
+
+ /*
+ * Helper methods.
+ */
+
+ /**
+ * Gets a command to render a page with the given name.
+ * @return z
+ * @param name v
+ */
+ private ControllerCommand getPageCommand(ServerInvocation invocation, String name) {
+ Page p = ((Portal)container.getRootObject().getChild("default")).getPage(name);
+ //Page p = container.getContext().getDefaultPortal().getPage(name);
+
+ if (p == null) {
+ return null;
+ }
+
+ /*if ("wiki".equals(name)) {
+
+ Parameters params = new Parameters();
+ setParamIfNotNull(params, "page", getParameter(invocation, "page"));
+ setParamIfNotNull(params, "language", getParameter(invocation, "language"));
+
+ return new InvokeWindowActionCommand("default.wiki.WikiPortletWindow", null,
+ null, null, null, params);
+ }*/
+
+ return new RenderPageCommand(p.getId());
+ }
+
+ /**
+ * Gets path to the resource definied by the given parameters in the CMS.
+ * @return a
+ * @param portalName a
+ * @param projectId a
+ * @param path a
+ */
+ private String getCmsPath(String portalName, String projectId, String path) {
+ /*
+ * If the requested path references a project, getting the page from
+ * the project's freezone dir. Otherwise, getting the page from the
+ * default directory.
+ */
+ String cmsPath = portalName + "/" + ProjectsHelper.MEMBERS_DIR + "/" +
+ projectId + "/" + ProjectsHelper.FREEZONE_DIR + "/" + path;
+
+ /*
+ * Checking if we don't have to add a default page to the constructed
+ * path.
+ */
+ if (!cmsPath.contains(".")) {
+ if (!cmsPath.endsWith("/"))
+ cmsPath += "/";
+
+ cmsPath += Constants.DEFAULT_FREEZONE_PAGE;
+ }
+
+ return cmsPath;
+ }
+
+ /**
+ * Sets an attribute of the given and value both in session and request.
+ */
+ private void setAttribute(ServerInvocation invocation, String name, String value) {
+ invocation.getServerContext().getClientRequest().setAttribute(name, value);
+ invocation.getServerContext().getClientRequest().getSession().setAttribute(name, value);
+ }
+
+ /**
+ * Sets the response to be a redirect to the given location/
+ */
+ private void sendRedirect(ServerInvocation invocation, String where) throws IOException {
+ invocation.getServerContext().getClientResponse().sendRedirect(where);
+ }
+
+ /**
+ * Gets the appropriate command basing on the given path and the selected
+ * project. Path must not be empty.
+ */
+ private ControllerCommand getCommand(ServerInvocation invocation, String path,
+ String projectId) {
+ String[] tokens = path.split("[/]", 2);
+
+ ControllerCommand c = getPageCommand(invocation, tokens[0]);
+ if (c == null) {
+ /*
+ * No such page. In this case, we have to invoke freezone. There
+ * are two possibilities:
+ * - the requested resource has an appropriate mime type to display
+ * it (typically text/html) - then we call the freezone portlet.
+ * - the requested resource is of another mime type - in this case,
+ * we send a redirect to the file-access servlet.
+ */
+ String cmsPath = getCmsPath(ForgeHelper.LABS_PORTAL, projectId, path);
+
+ try {
+ if (!Constants.PAGES_MIME_TYPE.equalsIgnoreCase(cm.getNode(cmsPath).getMimeType())) {
+ sendRedirect(invocation, "/" + ForgeHelper.FILE_ACCESS_DIR + "/" + cmsPath);
+ return getPageCommand(invocation, Constants.DEFAULT_PORTAL_PAGE);
+ }
+ } catch (Exception e) {
+ return getPageCommand(invocation, Constants.DEFAULT_PORTAL_PAGE);
+ }
+
+ setAttribute(invocation, Constants.ATTR_REQ_PATH, cmsPath);
+
+ return getPageCommand(invocation, Constants.FREEZONE_PAGE);
+ } else {
+ if (tokens.length == 2) {
+ /*
+ * Setting the rest of the path as an attribute so the portlets
+ * can use it.
+ */
+ setAttribute(invocation, Constants.ATTR_REQ_PATH, tokens[1]);
+ }
+
+ return c;
+ }
+ }
+
+ /**
+ * Gets a command that should be executed, given the request path, if no
+ * project is selected.
+ */
+ private ControllerCommand getNormalCommand(ServerInvocation invocation, String path) {
+ if (Tools.isEmpty(path)) {
+ return getPageCommand(invocation, Constants.DEFAULT_PORTAL_PAGE);
+ }
+
+ return getCommand(invocation, path, Constants.GLOBAL_FREEZONE_PRJ);
+ }
+
+ /**
+ * Gets a command that should be executed, given the request path, if a
+ * project is selected.
+ */
+ private ControllerCommand getProjectCommand(ServerInvocation invocation, String path,
+ String projectId, Projects projects)
+ throws IOException {
+ if (Tools.isEmpty(path)) {
+ /*
+ * If the path is empty, we have to show the project's default
+ * page. This can be:
+ * - a normal info page
+ * - a freezone page - in this case we just redirect to a
+ * freezone
+ * - an outside page - in this case, we redirect to this
+ * outside page.
+ */
+ String freezonePage = projects.getProjectPageFreezone(projectId);
+ if (!Tools.isEmpty(freezonePage)) {
+ String redirect;
+ if (Tools.isOutsideLink(freezonePage)) {
+ redirect = freezonePage;
+ } else {
+ redirect = ProjectsHelper.createFreezonePageLink(
+ ForgeHelper.LABS_PORTAL, projectId, freezonePage);
+ }
+
+ sendRedirect(invocation, redirect);
+ }
+
+ return getPageCommand(invocation, Constants.DEFAULT_PROJECT_PAGE);
+ }
+
+ return getCommand(invocation, path, projectId);
+ }
+
+ public ControllerCommand doMapping(ServerInvocation invocation, String host, String portalContextPath,
+ String portalRequestPath) {
+ // TODO temporary for freezone
+ String projectParam = invocation.getServerContext().getClientRequest()
+ .getParameter(Constants.PROJECT_PARAM);
+ if (projectParam != null) {
+ setAttribute(invocation, Constants.PROJECT_PARAM, projectParam);
+ }
+
+ // Removing unnecessary /.
+ while (portalRequestPath.indexOf("//") != -1) {
+ portalRequestPath = portalRequestPath.replace("//", "/");
+ }
+
+ /*
+ * If this is an action/ nav etc request (in canonical form), path
+ * parsing is not only not appropriate, it is not possible. So passing
+ * it higher.
+ */
+ if (invocation.getServerContext().getClientRequest().getParameterMap().get(
+ PortletRequestDecoder.META_PARAMETER) != null) {
+ return nextFactory.doMapping(invocation, host, portalContextPath, portalRequestPath);
+ }
+
+ /*
+ * If the user just logged in, showing the default page.
+ */
+ if (portalRequestPath.startsWith("/portal")) {
+ portalRequestPath = portalRequestPath.substring(7);
+ try {
+ sendRedirect(invocation, portalRequestPath);
+ } catch (IOException e) {
+ throw new InvocationException(e);
+ }
+ return nextFactory.doMapping(invocation, host, portalContextPath, portalRequestPath);
+ }
+
+ ControllerCommand c;
+ String[] tokens = portalRequestPath.split("[/]", 3);
+ Projects projects = ProjectsHelper.getProjects(ForgeHelper.LABS_PORTAL);
+ if ((tokens.length > 1) && (projects.projectExists(tokens[1]))) {
+ /*
+ * The user requested a project page (/projectId). It will be
+ * unset, if necessary, in the AttributesFilter.
+ */
+ setAttribute(invocation, Constants.PROJECT_PARAM, tokens[1]);
+
+ try {
+ c = getProjectCommand(invocation, tokens.length > 2 ? tokens[2] : null,
+ tokens[1], projects);
+ } catch (IOException e) {
+ throw new InvocationException(e);
+ }
+ } else {
+ tokens = portalRequestPath.split("[/]", 2);
+ // The user requested a non-project page - default, portlet page or
+ // global freezone.
+ c = getNormalCommand(invocation, tokens.length > 1 ? tokens[1] : null);
+ }
+
+ return c;
+ }
+
+ /*
+ * Service management methods
+ */
+
+ protected void startService() throws Exception {
+ cm = ContentManager.getContentManager();
+ }
+
+ protected void stopService() throws Exception {
+
+ }
+}
Deleted: labs/jbosslabs/trunk/portal-extensions-2.6/forge-mapper/src/java/org/jboss/labs/mapper/LabsCommandFactory.java_old
===================================================================
--- labs/jbosslabs/trunk/portal-extensions-2.6/forge-mapper/src/java/org/jboss/labs/mapper/LabsCommandFactory.java_old 2007-01-20 09:33:16 UTC (rev 8933)
+++ labs/jbosslabs/trunk/portal-extensions-2.6/forge-mapper/src/java/org/jboss/labs/mapper/LabsCommandFactory.java_old 2007-01-20 11:22:46 UTC (rev 8934)
@@ -1,302 +0,0 @@
-package org.jboss.labs.mapper;
-
-import org.jboss.portal.core.model.portal.PortalObjectContainer;
-import org.jboss.portal.core.model.portal.Page;
-import org.jboss.portal.core.controller.command.mapper.AbstractCommandFactory;
-import org.jboss.portal.core.controller.command.mapper.CommandFactory;
-import org.jboss.portal.core.controller.command.RenderPageCommand;
-import org.jboss.portal.core.controller.ControllerCommand;
-import org.jboss.portal.server.ServerInvocation;
-import org.jboss.portal.portlet.PortletRequestDecoder;
-import org.jboss.portal.common.invocation.InvocationException;
-import org.jboss.shotoku.ContentManager;
-import org.jboss.shotoku.tools.Tools;
-import org.jboss.forge.common.projects.ProjectsHelper;
-import org.jboss.forge.common.projects.Projects;
-import org.jboss.forge.common.Constants;
-import org.jboss.forge.common.ForgeHelper;
-
-import java.io.IOException;
-
-/**
- * Command factory for labs. Uses following rules for URLs:
- * - / -> default page
- * - /projectId/pageName -> sets projectId as the selected project, goes to
- * page pageName
- * - /projectId/otherPath -> sets projectId as the selected project, invokes
- * freezone with otherPath
- * - /pageName -> goes to page pageName
- * - /otherPath -> invokes freezone with otherPath
- *
- * Currently, this supports only 1 portal (as set in
- * org.jboss.forge.common.Constants).
- *
- * @author Adam Warski (adamw at aster.pl)
- */
-public class LabsCommandFactory extends AbstractCommandFactory {
- private PortalObjectContainer container;
- private CommandFactory nextFactory;
- private ContentManager cm;
-
- /*
- * Getters and setters.
- */
-
- public PortalObjectContainer getContainer() {
- return container;
- }
-
- public void setContainer(PortalObjectContainer container) {
- this.container = container;
- }
-
- public CommandFactory getNextFactory() {
- return nextFactory;
- }
-
- public void setNextFactory(CommandFactory nextFactory) {
- this.nextFactory = nextFactory;
- }
-
- /*
- * Helper methods.
- */
-
- /**
- * Gets a command to render a page with the given name.
- * @return z
- * @param name v
- */
- private ControllerCommand getPageCommand(String name) {
- Page p = container.getContext().getDefaultPortal().getPage(name);
-
- if (p == null) {
- return null;
- }
-
- /*if ("wiki".equals(name)) {
-
- Parameters params = new Parameters();
- setParamIfNotNull(params, "page", getParameter(invocation, "page"));
- setParamIfNotNull(params, "language", getParameter(invocation, "language"));
-
- return new InvokeWindowActionCommand("default.wiki.WikiPortletWindow", null,
- null, null, null, params);
- }*/
-
- return new RenderPageCommand(p.getId());
- }
-
- /**
- * Gets path to the resource definied by the given parameters in the CMS.
- * @return a
- * @param portalName a
- * @param projectId a
- * @param path a
- */
- private String getCmsPath(String portalName, String projectId, String path) {
- /*
- * If the requested path references a project, getting the page from
- * the project's freezone dir. Otherwise, getting the page from the
- * default directory.
- */
- String cmsPath = portalName + "/" + ProjectsHelper.MEMBERS_DIR + "/" +
- projectId + "/" + ProjectsHelper.FREEZONE_DIR + "/" + path;
-
- /*
- * Checking if we don't have to add a default page to the constructed
- * path.
- */
- if (!cmsPath.contains(".")) {
- if (!cmsPath.endsWith("/"))
- cmsPath += "/";
-
- cmsPath += Constants.DEFAULT_FREEZONE_PAGE;
- }
-
- return cmsPath;
- }
-
- /**
- * Sets an attribute of the given and value both in session and request.
- */
- private void setAttribute(ServerInvocation invocation, String name, String value) {
- invocation.getRequest().getContext().getClientRequest().setAttribute(name, value);
- invocation.getRequest().getContext().getClientRequest().getSession().setAttribute(name, value);
- }
-
- /**
- * Sets the response to be a redirect to the given location/
- */
- private void sendRedirect(ServerInvocation invocation, String where) throws IOException {
- invocation.getResponse().getContext().getClientResponse().sendRedirect(where);
- }
-
- /**
- * Gets the appropriate command basing on the given path and the selected
- * project. Path must not be empty.
- */
- private ControllerCommand getCommand(ServerInvocation invocation, String path,
- String projectId) {
- String[] tokens = path.split("[/]", 2);
-
- ControllerCommand c = getPageCommand(tokens[0]);
- if (c == null) {
- /*
- * No such page. In this case, we have to invoke freezone. There
- * are two possibilities:
- * - the requested resource has an appropriate mime type to display
- * it (typically text/html) - then we call the freezone portlet.
- * - the requested resource is of another mime type - in this case,
- * we send a redirect to the file-access servlet.
- */
- String cmsPath = getCmsPath(ForgeHelper.LABS_PORTAL, projectId, path);
-
- try {
- if (!Constants.PAGES_MIME_TYPE.equalsIgnoreCase(cm.getNode(cmsPath).getMimeType())) {
- sendRedirect(invocation, "/" + ForgeHelper.FILE_ACCESS_DIR + "/" + cmsPath);
- return getPageCommand(invocation, Constants.DEFAULT_PORTAL_PAGE);
- }
- } catch (Exception e) {
- return getPageCommand(invocation, Constants.DEFAULT_PORTAL_PAGE);
- }
-
- setAttribute(invocation, Constants.ATTR_REQ_PATH, cmsPath);
-
- return getPageCommand(invocation, Constants.FREEZONE_PAGE);
- } else {
- if (tokens.length == 2) {
- /*
- * Setting the rest of the path as an attribute so the portlets
- * can use it.
- */
- setAttribute(invocation, Constants.ATTR_REQ_PATH, tokens[1]);
- }
-
- return c;
- }
- }
-
- /**
- * Gets a command that should be executed, given the request path, if no
- * project is selected.
- */
- private ControllerCommand getNormalCommand(ServerInvocation invocation, String path) {
- if (Tools.isEmpty(path)) {
- return getPageCommand(invocation, Constants.DEFAULT_PORTAL_PAGE);
- }
-
- return getCommand(invocation, path, Constants.GLOBAL_FREEZONE_PRJ);
- }
-
- /**
- * Gets a command that should be executed, given the request path, if a
- * project is selected.
- */
- private ControllerCommand getProjectCommand(ServerInvocation invocation, String path,
- String projectId, Projects projects)
- throws IOException {
- if (Tools.isEmpty(path)) {
- /*
- * If the path is empty, we have to show the project's default
- * page. This can be:
- * - a normal info page
- * - a freezone page - in this case we just redirect to a
- * freezone
- * - an outside page - in this case, we redirect to this
- * outside page.
- */
- String freezonePage = projects.getProjectPageFreezone(projectId);
- if (!Tools.isEmpty(freezonePage)) {
- String redirect;
- if (Tools.isOutsideLink(freezonePage)) {
- redirect = freezonePage;
- } else {
- redirect = ProjectsHelper.createFreezonePageLink(
- ForgeHelper.LABS_PORTAL, projectId, freezonePage);
- }
-
- sendRedirect(invocation, redirect);
- }
-
- return getPageCommand(invocation, Constants.DEFAULT_PROJECT_PAGE);
- }
-
- return getCommand(invocation, path, projectId);
- }
-
- public ControllerCommand doMapping(ServerInvocation invocation, String portalContextPath,
- String portalRequestPath) {
- // TODO temporary for freezone
- String projectParam = invocation.getRequest().getContext().getClientRequest()
- .getParameter(Constants.PROJECT_PARAM);
- if (projectParam != null) {
- setAttribute(invocation, Constants.PROJECT_PARAM, projectParam);
- }
-
- // Removing unnecessary /.
- while (portalRequestPath.indexOf("//") != -1) {
- portalRequestPath = portalRequestPath.replace("//", "/");
- }
-
- /*
- * If this is an action/ nav etc request (in canonical form), path
- * parsing is not only not appropriate, it is not possible. So passing
- * it higher.
- */
- if (invocation.getRequest().getContext().getParameterMap().get(
- PortletRequestDecoder.META_PARAMETER) != null) {
- return nextFactory.doMapping(invocation, portalContextPath, portalRequestPath);
- }
-
- /*
- * If the user just logged in, showing the default page.
- */
- if (portalRequestPath.startsWith("/portal")) {
- portalRequestPath = portalRequestPath.substring(7);
- try {
- sendRedirect(invocation, portalRequestPath);
- } catch (IOException e) {
- throw new InvocationException(e);
- }
- return nextFactory.doMapping(invocation, portalContextPath, portalRequestPath);
- }
-
- ControllerCommand c;
- String[] tokens = portalRequestPath.split("[/]", 3);
- Projects projects = ProjectsHelper.getProjects(ForgeHelper.LABS_PORTAL);
- if ((tokens.length > 1) && (projects.projectExists(tokens[1]))) {
- /*
- * The user requested a project page (/projectId). It will be
- * unset, if necessary, in the AttributesFilter.
- */
- setAttribute(invocation, Constants.PROJECT_PARAM, tokens[1]);
-
- try {
- c = getProjectCommand(invocation, tokens.length > 2 ? tokens[2] : null,
- tokens[1], projects);
- } catch (IOException e) {
- throw new InvocationException(e);
- }
- } else {
- tokens = portalRequestPath.split("[/]", 2);
- // The user requested a non-project page - default, portlet page or
- // global freezone.
- c = getNormalCommand(invocation, tokens.length > 1 ? tokens[1] : null);
- }
-
- return c;
- }
-
- /*
- * Service management methods
- */
-
- protected void startService() throws Exception {
- cm = ContentManager.getContentManager();
- }
-
- protected void stopService() throws Exception {
-
- }
-}
Modified: labs/jbosslabs/trunk/portal-extensions-2.6/maven.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions-2.6/maven.xml 2007-01-20 09:33:16 UTC (rev 8933)
+++ labs/jbosslabs/trunk/portal-extensions-2.6/maven.xml 2007-01-20 11:22:46 UTC (rev 8934)
@@ -260,6 +260,8 @@
<!-- Convenience goal that does clean, build, deploy -->
<goal name="all">
+ <ant:delete dir="${forge.jar.dest}" />
+
<attainGoal name="prepare-repo" />
<j:set var="goal" value="clean,build,deploy" />
More information about the jboss-svn-commits
mailing list