Author: taylor
Date: Sun Mar  2 17:26:53 2008
New Revision: 632910

URL: http://svn.apache.org/viewvc?rev=632910&view=rev
Log:
https://issues.apache.org/jira/browse/JS2-860
Implement a second, Versioned Portlet Application Manager

Added:
    
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/components/portal/src/java/org/apache/jetspeed/tools/pamanager/VersionedPortletApplicationManager.java
    
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/src/webapp/WEB-INF/assembly/alternate/versioned-deployment/
    
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/src/webapp/WEB-INF/assembly/alternate/versioned-deployment/deployment.xml
    
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/src/webapp/WEB-INF/assembly/alternate/versioned-deployment/jetspeed-services.xml
Modified:
    
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/applications/demo/src/webapp/WEB-INF/jetspeed-portlet.xml
    
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/applications/j2-admin/src/webapp/WEB-INF/jetspeed-portlet.xml
    
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/applications/rss/src/webapp/WEB-INF/jetspeed-portlet.xml
    
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/components/portal/src/java/org/apache/jetspeed/tools/pamanager/PortletApplicationManager.java
    
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/layout-portlets/src/webapp/WEB-INF/jetspeed-portlet.xml

Modified: 
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/applications/demo/src/webapp/WEB-INF/jetspeed-portlet.xml
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/applications/demo/src/webapp/WEB-INF/jetspeed-portlet.xml?rev=632910&r1=632909&r2=632910&view=diff
==============================================================================
--- 
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/applications/demo/src/webapp/WEB-INF/jetspeed-portlet.xml
 (original)
+++ 
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/applications/demo/src/webapp/WEB-INF/jetspeed-portlet.xml
 Sun Mar  2 17:26:53 2008
@@ -39,6 +39,7 @@
     <dc:source>Default Source</dc:source>
     <dc:type>Default Type</dc:type>
     <js:metadata name="my_metadata" xml:lang="en">English 
My_Metadata</js:metadata>
+    <js:metadata name="pa-version">2.1.2</js:metadata>
     
     <!--  map custom "popup" window state to Jetspeed-2 internal "solo" state 
-->
     <custom-window-state>

Modified: 
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/applications/j2-admin/src/webapp/WEB-INF/jetspeed-portlet.xml
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/applications/j2-admin/src/webapp/WEB-INF/jetspeed-portlet.xml?rev=632910&r1=632909&r2=632910&view=diff
==============================================================================
--- 
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/applications/j2-admin/src/webapp/WEB-INF/jetspeed-portlet.xml
 (original)
+++ 
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/applications/j2-admin/src/webapp/WEB-INF/jetspeed-portlet.xml
 Sun Mar  2 17:26:53 2008
@@ -27,6 +27,7 @@
     <dc:title>Jetspeed-2 Administration Portlets</dc:title>
     <dc:title xml:lang="en">Jetspeed-2 Administration Portlets</dc:title>
     <dc:creator>J2 Team</dc:creator>
+    <js:metadata name="pa-version">2.1.2</js:metadata>
  
     <portlet>
         <portlet-name>LoginPortlet</portlet-name>

Modified: 
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/applications/rss/src/webapp/WEB-INF/jetspeed-portlet.xml
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/applications/rss/src/webapp/WEB-INF/jetspeed-portlet.xml?rev=632910&r1=632909&r2=632910&view=diff
==============================================================================
--- 
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/applications/rss/src/webapp/WEB-INF/jetspeed-portlet.xml
 (original)
+++ 
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/applications/rss/src/webapp/WEB-INF/jetspeed-portlet.xml
 Sun Mar  2 17:26:53 2008
@@ -25,5 +25,6 @@
     <dc:title>RSS Portlets</dc:title>
     <dc:title xml:lang="en">RSS Portlets</dc:title>
     <dc:creator>J2 Team</dc:creator>
+    <js:metadata name="pa-version">2.1.2</js:metadata>
        
 </portlet-app>

Modified: 
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/components/portal/src/java/org/apache/jetspeed/tools/pamanager/PortletApplicationManager.java
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/components/portal/src/java/org/apache/jetspeed/tools/pamanager/PortletApplicationManager.java?rev=632910&r1=632909&r2=632910&view=diff
==============================================================================
--- 
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/components/portal/src/java/org/apache/jetspeed/tools/pamanager/PortletApplicationManager.java
 (original)
+++ 
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/components/portal/src/java/org/apache/jetspeed/tools/pamanager/PortletApplicationManager.java
 Sun Mar  2 17:26:53 2008
@@ -71,7 +71,7 @@
     protected boolean               autoCreateRoles;
     protected List                  permissionRoles;
     protected int  descriptorChangeMonitorInterval = 
DEFAULT_DESCRIPTOR_CHANGE_MONITOR_INTERVAL;
-    protected DescriptorChangeMonitor monitor;
+    protected DescriptorChangeMonitor monitor = null;
     protected boolean started;
     protected String appRoot;
     protected NodeManager nodeManager;
@@ -149,7 +149,7 @@
                this.searchEngine = searchEngine;
        }
     
-    private void checkStarted()
+    protected void checkStarted()
     {
         if (!started)
         {
@@ -248,8 +248,9 @@
 
                 unregisterPortletApplication(pa, true);
                 try
-                {
-                       nodeManager.removeNode(paName);
+                {                    
+                    if (nodeManager != null)                                   
     
+                        nodeManager.removeNode(paName);
                 }
                 catch (Exception ee)
                 {
@@ -362,8 +363,10 @@
                        this.updateSearchEngine(false, pa);
                        
                        // and add to the current node info
-                       nodeManager.addNode(new Long(pa.getId().toString()), 
pa.getName());
-            
+            if (nodeManager != null)
+            {                        
+                nodeManager.addNode(new Long(pa.getId().toString()), 
pa.getName());
+            }
             // grant default permissions to portlet application
                        grantDefaultPermissions(paName);
             

Added: 
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/components/portal/src/java/org/apache/jetspeed/tools/pamanager/VersionedPortletApplicationManager.java
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/components/portal/src/java/org/apache/jetspeed/tools/pamanager/VersionedPortletApplicationManager.java?rev=632910&view=auto
==============================================================================
--- 
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/components/portal/src/java/org/apache/jetspeed/tools/pamanager/VersionedPortletApplicationManager.java
 (added)
+++ 
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/components/portal/src/java/org/apache/jetspeed/tools/pamanager/VersionedPortletApplicationManager.java
 Sun Mar  2 17:26:53 2008
@@ -0,0 +1,169 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jetspeed.tools.pamanager;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import 
org.apache.jetspeed.components.portletentity.PortletEntityAccessComponent;
+import org.apache.jetspeed.components.portletregistry.PortletRegistry;
+import org.apache.jetspeed.components.portletregistry.RegistryException;
+import org.apache.jetspeed.container.window.PortletWindowAccessor;
+import org.apache.jetspeed.factory.PortletFactory;
+import org.apache.jetspeed.om.common.LocalizedField;
+import org.apache.jetspeed.om.common.portlet.MutablePortletApplication;
+import org.apache.jetspeed.search.SearchEngine;
+import org.apache.jetspeed.security.PermissionManager;
+import org.apache.jetspeed.security.RoleManager;
+import org.apache.jetspeed.util.DirectoryHelper;
+import org.apache.jetspeed.util.FileSystemHelper;
+import org.apache.jetspeed.util.descriptor.PortletApplicationWar;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+
+public class VersionedPortletApplicationManager extends 
PortletApplicationManager implements PortletApplicationManagement
+{
+    private static final Log    log = LogFactory.getLog("deployment");
+        
+    public VersionedPortletApplicationManager(PortletFactory portletFactory, 
PortletRegistry registry, 
+            PortletEntityAccessComponent entityAccess, PortletWindowAccessor 
windowAccess,
+            PermissionManager permissionManager, SearchEngine searchEngine,  
RoleManager roleManager,
+            List permissionRoles, /* node manager, */ String appRoot)
+    {
+        super(portletFactory, registry, entityAccess, windowAccess, 
permissionManager, 
+                searchEngine, roleManager, permissionRoles, null, appRoot); 
+               
+    }
+    
+    public boolean isStarted()
+    {
+        return started;
+    }
+    
+    public void start()
+    {
+        started = true;
+    }
+
+    public void stop()
+    {
+        started = false;
+    }
+        
+    // override to implement versioning logic
+    protected void startPA(String contextName, String contextPath, 
FileSystemHelper warStruct,
+            ClassLoader paClassLoader, int paType, long checksum)
+    throws RegistryException
+    {
+        PortletApplicationWar paWar = null;
+        try
+        {
+            paWar = new PortletApplicationWar(warStruct, contextName, 
contextPath, checksum);
+            try
+            {
+                if (paClassLoader == null)
+                {
+                    paClassLoader = 
paWar.createClassloader(getClass().getClassLoader());
+                }
+            }
+            catch (IOException e)
+            {
+                String msg = "Invalid PA WAR for " + contextName;
+                log.error(msg, e);
+                if ( paClassLoader == null )
+                {
+                    // nothing to be done about it anymore: this pa is beyond 
repair :(
+                    throw new RegistryException(e);
+                }
+                //register = false;
+            }
+            
+            MutablePortletApplication regPA = 
registry.getPortletApplication(contextName);
+            MutablePortletApplication newPA = paWar.createPortletApp();
+            if (regPA == null)
+            {
+                System.out.println("**** New portlet app found - registration 
required..." + contextName);
+                regPA = this.registerPortletApplication(paWar, null, paType, 
paClassLoader);
+            }
+            else
+            {
+                String regVersion = getVersion(regPA);
+                String newVersion = getVersion(newPA);
+                System.out.print("Reg version is " + regVersion);
+                System.out.print(", New version is " + newVersion);
+                if (newVersion.compareTo(regVersion) > 0)
+                {
+                    System.out.println(" - **** New Version is greater: 
registration required... " + contextName);
+                    regPA = this.registerPortletApplication(paWar, regPA, 
paType, paClassLoader);                    
+                }
+                else
+                {
+                    System.out.println(" - New Version is NOT greater: 
registration not required ... " + contextName);                    
+                }
+            }
+            if (portletFactory.isPortletApplicationRegistered(regPA))
+            {
+                portletFactory.unregisterPortletApplication(regPA);
+            }
+            portletFactory.registerPortletApplication(regPA, paClassLoader);
+        }
+        catch (Exception e)
+        {
+            String msg = "Error starting portlet application " + contextName;  
          
+            log.error(msg, e);
+            throw new RegistryException(msg, e);
+        }
+    }
+    
+    protected String getVersion(MutablePortletApplication pa)
+    {
+        String version = "";
+        Collection versionList = pa.getMetadata().getFields("pa-version");
+        if (versionList != null)
+        {
+            Iterator it = versionList.iterator();
+            if (it.hasNext())
+            {
+                LocalizedField field = (LocalizedField)it.next();
+                version = field.getValue();
+            }
+        }
+        return version;
+    }
+}
\ No newline at end of file

Modified: 
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/layout-portlets/src/webapp/WEB-INF/jetspeed-portlet.xml
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/layout-portlets/src/webapp/WEB-INF/jetspeed-portlet.xml?rev=632910&r1=632909&r2=632910&view=diff
==============================================================================
--- 
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/layout-portlets/src/webapp/WEB-INF/jetspeed-portlet.xml
 (original)
+++ 
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/layout-portlets/src/webapp/WEB-INF/jetspeed-portlet.xml
 Sun Mar  2 17:26:53 2008
@@ -26,6 +26,7 @@
     <dc:title xml:lang="en">Layout Portlets</dc:title>
     <dc:creator>J2 Team</dc:creator>
     <js:metadata name="layout-app">true</js:metadata>    
+    <js:metadata name="pa-version">2.1.2</js:metadata>
 
        <js:services>
            <js:service name='IdGenerator'/>

Added: 
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/src/webapp/WEB-INF/assembly/alternate/versioned-deployment/deployment.xml
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/src/webapp/WEB-INF/assembly/alternate/versioned-deployment/deployment.xml?rev=632910&view=auto
==============================================================================
--- 
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/src/webapp/WEB-INF/assembly/alternate/versioned-deployment/deployment.xml
 (added)
+++ 
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/src/webapp/WEB-INF/assembly/alternate/versioned-deployment/deployment.xml
 Sun Mar  2 17:26:53 2008
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" 
"http://www.springframework.org/dtd/spring-beans.dtd";>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<beans>
+
+  <bean id="deployFactory" 
class="org.apache.jetspeed.tools.deploy.JetspeedDeployFactory"/>
+  <bean id="PAM" 
+          
class="org.apache.jetspeed.tools.pamanager.VersionedPortletApplicationManager" 
init-method="start" destroy-method="stop"
+  >       
+          <constructor-arg><ref bean="portletFactory"/></constructor-arg>
+          <constructor-arg><ref 
bean="org.apache.jetspeed.components.portletregistry.PortletRegistry"/></constructor-arg>
+          <constructor-arg><ref 
bean="org.apache.jetspeed.components.portletentity.PortletEntityAccessComponent"/></constructor-arg>
+          <constructor-arg><ref 
bean="org.apache.jetspeed.container.window.PortletWindowAccessor"/></constructor-arg>
+          <constructor-arg><ref 
bean="org.apache.jetspeed.security.PermissionManager"/></constructor-arg>       
+          <constructor-arg><ref 
bean="org.apache.jetspeed.search.SearchEngine"/></constructor-arg>              
+          <constructor-arg><ref 
bean="org.apache.jetspeed.security.RoleManager"/></constructor-arg>             
        
+       <!-- role principals to assign a default permission(s) during 
deployment of a Portlet Application -->
+       <constructor-arg >
+         <list>
+            <value>user</value>
+         </list>
+       </constructor-arg>
+
+       <!--  application root -->
+        <constructor-arg>
+            <value>${applicationRoot}</value>
+        </constructor-arg>
+
+
+   <!-- optional configuration for automatic creation of not yet existing 
roles as defined in the deployed web.xml:
+       <property name="autoCreateRoles"><value>true</value></property>
+   -->      
+   <!-- optional descriptor change monitor check interval in seconds (0: 
disabled, default: 10):
+       <property 
name="descriptorChangeMonitorInterval"><value>10</value></property>
+   -->
+   <!-- optional max PA start retries in case of an error registering ths PA 
(0: do not retry, default: 10):
+               this was introduced because of DB constraint validation errors 
in clustered environments
+               see https://issues.apache.org/jira/browse/JS2-666
+       <property name="maxRetriedStarts"><value>10</value></property>
+   -->
+   
+               
+  </bean>
+
+  <!-- Portlet Application and Decorator deployment event listeners -->
+  <bean id="portletAppDeploymentListener" 
+          
class="org.apache.jetspeed.deployment.impl.DeployPortletAppEventListener"       
+  >    
+          <constructor-arg index="0"><ref bean="PAM"/></constructor-arg>
+          <constructor-arg index="1"><ref 
bean="org.apache.jetspeed.components.portletregistry.PortletRegistry"/></constructor-arg>
+       <constructor-arg 
index="2"><value>${autodeployment.target.dir}</value></constructor-arg>
+       <constructor-arg 
index="3"><value>${applicationRoot}/WEB-INF/apps</value></constructor-arg>
+       <constructor-arg 
index="4"><value>${autodeployment.staging.dir}/local</value></constructor-arg>
+       <!-- strip commons-logging and/or log4j jars from war files: for JBoss 
set this to true -->
+       <constructor-arg index="5"><value>false</value></constructor-arg>
+  </bean>
+  <bean id="decoratorDeploymentRegistry" 
+          
class="org.apache.jetspeed.deployment.simpleregistry.impl.InMemoryRegistryImpl"
+  >       
+  </bean>
+  <bean id="decoratorDeploymentListener" 
+          
class="org.apache.jetspeed.deployment.impl.DeployDecoratorEventListener"        
+  >    
+       <constructor-arg 
><value>${applicationRoot}/decorations</value></constructor-arg>
+  </bean>
+
+  <!-- The deployment manager watches a specific staging directory for
+          deploying components.  What components get deployed depend of
+          DeploymentEventListeners registered to it.
+   -->
+  <bean id="deploymentManager" 
+          
class="org.apache.jetspeed.deployment.impl.StandardDeploymentManager" 
+          init-method="start" destroy-method="stop"
+  >       
+       <constructor-arg 
><value>${autodeployment.staging.dir}/local</value></constructor-arg>
+       <constructor-arg type="long" 
><value>${autodeployment.delay}</value></constructor-arg>
+       <constructor-arg >
+         <list>
+            <ref bean="portletAppDeploymentListener"/>      
+            <ref bean="decoratorDeploymentListener"/>      
+         </list>
+       </constructor-arg>
+  </bean>    
+
+</beans>
\ No newline at end of file

Added: 
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/src/webapp/WEB-INF/assembly/alternate/versioned-deployment/jetspeed-services.xml
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/src/webapp/WEB-INF/assembly/alternate/versioned-deployment/jetspeed-services.xml?rev=632910&view=auto
==============================================================================
--- 
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/src/webapp/WEB-INF/assembly/alternate/versioned-deployment/jetspeed-services.xml
 (added)
+++ 
portals/jetspeed-2/portal/branches/JETSPEED-2.1.2-POSTRELEASE/src/webapp/WEB-INF/assembly/alternate/versioned-deployment/jetspeed-services.xml
 Sun Mar  2 17:26:53 2008
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" 
"http://www.springframework.org/dtd/spring-beans.dtd";>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<beans>
+
+  <!-- Portlet Services  -->
+  <bean id="PortalServices" 
+          class="org.apache.jetspeed.services.JetspeedPortletServices" >
+          <constructor-arg>
+               <map>
+                 <entry key="PortletRegistryComponent">
+                       <ref 
bean="org.apache.jetspeed.components.portletregistry.PortletRegistry" />
+                 </entry>
+                 <entry key="SearchComponent">
+                       <ref bean="org.apache.jetspeed.search.SearchEngine"/>
+                 </entry>
+                 <entry key="PAM">
+                       <ref bean="PAM" />
+                 </entry>                
+                 <entry key="UserManager">
+                   <ref bean="org.apache.jetspeed.security.UserManager"/>
+                 </entry>
+                 <entry key="PageManager">
+                   <ref bean="org.apache.jetspeed.page.PageManager"/>
+                 </entry>
+                 <entry key="RoleManager">
+                   <ref bean="org.apache.jetspeed.security.RoleManager"/>
+                 </entry>
+                 <entry key="GroupManager">
+                   <ref bean="org.apache.jetspeed.security.GroupManager"/>
+                 </entry>      
+                 <entry key="Profiler">
+                       <ref bean="org.apache.jetspeed.profiler.Profiler"/>
+                 </entry>        
+                 <entry key="SSO">
+                       <ref bean="org.apache.jetspeed.sso.SSOProvider"/>
+                 </entry>        
+                 <entry key="EntityAccessor">
+                        <ref 
bean='org.apache.jetspeed.components.portletentity.PortletEntityAccessComponent'/>
+                 </entry>
+                 <entry key="WindowAccessor">
+                        <ref 
bean='org.apache.jetspeed.container.window.PortletWindowAccessor'/>
+                 </entry>
+          <entry key="PortletFactory">
+            <ref bean="portletFactory"/>
+          </entry>
+          <entry key="DeploymentManager">
+            <ref bean="deploymentManager"/>
+          </entry>
+          <entry key='IdGenerator'>
+            <ref bean='IdGenerator'/>
+          </entry>
+          <entry key='Powertools'>
+            <ref bean='Powertools'/>
+          </entry>
+          <entry key="HeaderResource">
+            <ref 
bean="org.apache.jetspeed.headerresource.HeaderResourceFactory"/>
+          </entry>
+                 <entry key="TemplateLocator">
+            <ref bean="TemplateLocator"/>
+          </entry>
+                 <entry key="DecorationLocator">
+            <ref bean="DecorationLocator"/>
+          </entry>               
+                 <entry key="DecorationFactory">
+            <ref bean="DecorationFactory"/>
+          </entry>
+                 <entry key="Desktop">
+            <ref bean="JetspeedDesktop"/>
+          </entry>
+                 <entry key="PermissionManager">
+            <ref bean="org.apache.jetspeed.security.PermissionManager"/>
+          </entry>                         
+                 <entry key="PortalStatistics">
+            <ref bean="PortalStatistics"/>
+          </entry>                         
+                 <entry key="PortalAdministration">
+            <ref bean="PortalAdministration"/>
+          </entry>                         
+          <entry key="PreferencesProvider">
+            <ref bean="org.apache.jetspeed.prefs.PreferencesProvider"/>
+          </entry>
+          <entry 
key="org.apache.jetspeed.container.session.PortalSessionsManager">
+            <ref 
bean="org.apache.jetspeed.container.session.PortalSessionsManager"/>
+          </entry>
+          <entry key="SecurityAccessController">
+            <ref bean="org.apache.jetspeed.security.SecurityAccessController"/>
+          </entry>
+          <entry key="PortletTrackingManager">
+            <ref bean="org.apache.jetspeed.aggregator.PortletTrackingManager"/>
+          </entry>
+          <entry key ="PortalAuthenticationConfiguration">
+               <ref 
bean="org.apache.jetspeed.administration.PortalAuthenticationConfiguration"/>
+          </entry>
+          <entry key ="PortalConfiguration">
+               <ref bean="PortalConfiguration"/>
+          </entry>
+          <entry key="ImporterManager">
+            <ref bean="importerCastorPageManager"/>
+          </entry>          
+          <entry key="decorationContentCache">
+               <ref bean="decorationContentCache"/>
+          </entry>
+          <entry key="portletContentCache">
+               <ref bean="portletContentCache"/>
+          </entry>          
+          <entry key="AuditActivity">
+               <ref bean="org.apache.jetspeed.audit.AuditActivity"/>
+          </entry>          
+          <entry key="JetspeedSerializerFactory">
+               <ref 
bean="org.apache.jetspeed.serializer.JetspeedSerializerFactory"/>
+          </entry>
+<!-- first uncomment the below service bean in security-spi-atn.xml
+         <entry key="PasswordEncodingService">
+           <ref bean="org.apache.jetspeed.security.PasswordEncodingService" />
+         </entry>
+-->          
+               </map>
+          </constructor-arg>
+  </bean>
+</beans>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to