You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by at...@apache.org on 2008/09/17 03:45:21 UTC

svn commit: r696132 - in /portals/jetspeed-2/portal/branches/security-refactoring: components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/portlet/impl/ jetspeed-portal-resources/src/main/resources/assembly/

Author: ate
Date: Tue Sep 16 18:45:21 2008
New Revision: 696132

URL: http://svn.apache.org/viewvc?rev=696132&view=rev
Log:
- also storing portlet preferences when storage of the PortletDefinitionImpl itself using the OJB PersistenceBrokerAware lifecycle
- reinstate static references for Spring managed bean through the (also Spring managed) static initializer

Modified:
    portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/portlet/impl/PortletDefinitionImpl.java
    portals/jetspeed-2/portal/branches/security-refactoring/jetspeed-portal-resources/src/main/resources/assembly/static-bean-references.xml

Modified: portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/portlet/impl/PortletDefinitionImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/portlet/impl/PortletDefinitionImpl.java?rev=696132&r1=696131&r2=696132&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/portlet/impl/PortletDefinitionImpl.java (original)
+++ portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/portlet/impl/PortletDefinitionImpl.java Tue Sep 16 18:45:21 2008
@@ -28,7 +28,6 @@
 
 import javax.portlet.PreferencesValidator;
 
-import org.apache.jetspeed.Jetspeed;
 import org.apache.jetspeed.components.portletpreferences.PortletPreferencesProvider;
 import org.apache.jetspeed.components.portletregistry.PortletRegistry;
 import org.apache.jetspeed.components.portletregistry.RegistryException;
@@ -56,6 +55,9 @@
 import org.apache.jetspeed.om.impl.SecurityRoleRefSetImpl;
 import org.apache.jetspeed.util.HashCodeBuilder;
 import org.apache.jetspeed.util.JetspeedLongObjectID;
+import org.apache.ojb.broker.PersistenceBroker;
+import org.apache.ojb.broker.PersistenceBrokerAware;
+import org.apache.ojb.broker.PersistenceBrokerException;
 import org.apache.pluto.om.common.Description;
 import org.apache.pluto.om.common.DescriptionSet;
 import org.apache.pluto.om.common.DisplayName;
@@ -82,11 +84,11 @@
  * @version $Id$
  *  
  */
-public class PortletDefinitionImpl implements PortletDefinitionComposite, PreferencesValidatorFactory, Serializable, Support
+public class PortletDefinitionImpl implements PortletDefinitionComposite, PreferencesValidatorFactory, Serializable, Support, PersistenceBrokerAware
 {
-    private PortletRegistry registry;
-    private PortletFactory  portletFactory;
-    private PortletPreferencesProvider portletPreferencesProvider;
+    private static PortletRegistry registry;
+    private static PortletFactory  portletFactory;
+    private static PortletPreferencesProvider portletPreferencesProvider;
     
     private Long id;
     private JetspeedLongObjectID oid;
@@ -218,7 +220,6 @@
             {
                 throw new IllegalStateException("Portlet Application must be defined before preferences can be accessed");
             }
-            retrievePortletPreferencesProvider();
             preferenceSet = portletPreferencesProvider.getPreferenceSet(this);
         }
         return preferenceSet;
@@ -271,7 +272,6 @@
      */
     public ClassLoader getPortletClassLoader()
     {
-        retrievePortletFactory();
         return portletFactory.getPortletApplicationClassLoader(app);
     }
 
@@ -713,7 +713,6 @@
      */
     public void store() throws IOException
     {
-        retrievePortletRegistry();
         try
         {
             registry.savePortletDefinition(this);
@@ -729,7 +728,6 @@
     {
         if (preferenceSet != null)
         {
-            retrievePortletPreferencesProvider();
             portletPreferencesProvider.savePreferenceSet(this, preferenceSet);
         }
     }
@@ -916,7 +914,6 @@
     
     public PreferencesValidator getPreferencesValidator()
     {
-        retrievePortletFactory();
         return portletFactory.getPreferencesValidator(this);
     }
 
@@ -935,28 +932,52 @@
     {
         this.jetspeedSecurityConstraint = constraint;
     }
+    
+    //
+    /// PersistenceBrokerAware interface implementation
+    public void afterDelete(PersistenceBroker arg0) throws PersistenceBrokerException
+    {
+    }
 
-    private void retrievePortletRegistry()
+    public void afterInsert(PersistenceBroker arg0) throws PersistenceBrokerException
     {
-        if (registry == null)
-        {
-            registry = (PortletRegistry)Jetspeed.getComponentManager().getComponent("portletRegistry");
-        }
+        storeChildren();
     }
 
-    private void retrievePortletFactory()
+    public void afterLookup(PersistenceBroker arg0) throws PersistenceBrokerException
     {
-        if (portletFactory == null)
-        {
-            portletFactory = (PortletFactory)Jetspeed.getComponentManager().getComponent("portletFactory");
-        }
     }
 
-    private void retrievePortletPreferencesProvider()
+    public void afterUpdate(PersistenceBroker arg0) throws PersistenceBrokerException
     {
-        if (portletPreferencesProvider == null)
-        {
-            portletPreferencesProvider = (PortletPreferencesProvider)Jetspeed.getComponentManager().getComponent("org.apache.jetspeed.components.portletpreferences.PortletPreferencesProvider");
-        }
+        storeChildren();
+    }
+
+    public void beforeDelete(PersistenceBroker arg0) throws PersistenceBrokerException
+    {
+    }
+
+    public void beforeInsert(PersistenceBroker arg0) throws PersistenceBrokerException
+    {
+    }
+
+    public void beforeUpdate(PersistenceBroker arg0) throws PersistenceBrokerException
+    {
+    }
+    
+
+    public static void setPortletRegistry(PortletRegistry registry)
+    {
+        PortletDefinitionImpl.registry = registry;
+    }
+
+    public static void setPortletFactory(PortletFactory portletFactory)
+    {
+        PortletDefinitionImpl.portletFactory = portletFactory;
+    }
+
+    public static void setPortletPreferencesProvider(PortletPreferencesProvider portletPreferencesProvider)
+    {
+        PortletDefinitionImpl.portletPreferencesProvider = portletPreferencesProvider;
     }
 }

Modified: portals/jetspeed-2/portal/branches/security-refactoring/jetspeed-portal-resources/src/main/resources/assembly/static-bean-references.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/security-refactoring/jetspeed-portal-resources/src/main/resources/assembly/static-bean-references.xml?rev=696132&r1=696131&r2=696132&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/security-refactoring/jetspeed-portal-resources/src/main/resources/assembly/static-bean-references.xml (original)
+++ portals/jetspeed-2/portal/branches/security-refactoring/jetspeed-portal-resources/src/main/resources/assembly/static-bean-references.xml Tue Sep 16 18:45:21 2008
@@ -18,6 +18,30 @@
 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
 
+  <bean id="_portletDefinitionImplPortletRegistryInitializer" class="org.apache.jetspeed.components.LifecycleAwareStaticClassInitializer" >
+    <meta key="j2:cat" value="default,registry"/>
+      <property name="className" value="org.apache.jetspeed.om.portlet.impl.PortletDefinitionImpl"/>
+      <property name="methodName" value="setPortletRegistry"/>
+      <property name="typeName" value="org.apache.jetspeed.components.portletregistry.PortletRegistry"/>
+      <property name="value"><ref bean="portletRegistry"/></property>
+  </bean>
+
+  <bean id="_portletDefinitionImplPortletFactoryInitializer" class="org.apache.jetspeed.components.LifecycleAwareStaticClassInitializer" >
+    <meta key="j2:cat" value="default,registry"/>
+      <property name="className" value="org.apache.jetspeed.om.portlet.impl.PortletDefinitionImpl"/>
+      <property name="methodName" value="setPortletFactory"/>
+      <property name="typeName" value="org.apache.jetspeed.factory.PortletFactory"/>
+      <property name="value"><ref bean="portletFactory"/></property>
+  </bean>
+
+  <bean id="_portletDefinitionImplPortletPreferencesProviderInitializer" class="org.apache.jetspeed.components.LifecycleAwareStaticClassInitializer">
+    <meta key="j2:cat" value="default,registry"/>
+      <property name="className" value="org.apache.jetspeed.om.portlet.impl.PortletDefinitionImpl"/>
+      <property name="methodName" value="setPortletPreferencesProvider"/>
+      <property name="typeName" value="org.apache.jetspeed.components.portletpreferences.PortletPreferencesProvider"/>
+      <property name="value"><ref bean="org.apache.jetspeed.components.portletpreferences.PortletPreferencesProvider"/></property>
+  </bean>
+
   <bean id="_portletEntityImplPortletRegistryInitializer" class="org.apache.jetspeed.components.LifecycleAwareStaticClassInitializer" >
     <meta key="j2:cat" value="default,registry"/>
       <property name="className" value="org.apache.jetspeed.components.portletentity.PortletEntityImpl"/>



---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org