morciuch    2003/06/06 10:33:03

  Modified:    src/java/org/apache/jetspeed/modules/actions/controllers
                        MultiColumnControllerAction.java
               src/java/org/apache/jetspeed/services PsmlManager.java
               src/java/org/apache/jetspeed/services/psmlmanager
                        CastorPsmlManagerService.java
                        PsmlManagerService.java
               src/java/org/apache/jetspeed/services/psmlmanager/db
                        DatabasePsmlManagerService.java
               xdocs    changes.xml
  Log:
  Fixed the problem with references not being removed from user's profile until psml 
is refreshed (see Bugzilla bug# 15413).
  
  Tested this both with castor and dbpsml configurations.
  
  Revision  Changes    Path
  1.27      +15 -1     
jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/controllers/MultiColumnControllerAction.java
  
  Index: MultiColumnControllerAction.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/controllers/MultiColumnControllerAction.java,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- MultiColumnControllerAction.java  7 May 2003 15:16:47 -0000       1.26
  +++ MultiColumnControllerAction.java  6 Jun 2003 17:33:03 -0000       1.27
  @@ -72,6 +72,7 @@
   import org.apache.jetspeed.services.rundata.JetspeedRunData;
   import org.apache.jetspeed.services.Registry;
   import org.apache.jetspeed.services.statemanager.SessionState;
  +import org.apache.jetspeed.services.PsmlManager;
   
   // Turbine stuff
   import org.apache.turbine.modules.ActionLoader;
  @@ -104,6 +105,8 @@
   public class MultiColumnControllerAction extends VelocityControllerAction
   {
   
  +    private static final String REFERENCES_REMOVED = "references-removed";
  +
       /**
        * Subclasses must override this method to provide default behavior
        * for the portlet action
  @@ -420,6 +423,14 @@
               try
               {
                   ((JetspeedRunData) data).getCustomizedProfile().store();
  +
  +                // Because of the way references are stored in memory, we have to 
completely refresh
  +                // the profile after a references is removed (otherwise it will 
continue being displayed)
  +                String referencesRemoved = (String) 
customizationState.getAttribute(REFERENCES_REMOVED);
  +                if (referencesRemoved != null && referencesRemoved.equals("true"))
  +                {
  +                    PsmlManager.refresh(((JetspeedRunData) 
data).getCustomizedProfile());
  +                }                
               }
               catch (Exception e)
               {
  @@ -446,6 +457,8 @@
   
           PortletSet customizedSet = (PortletSet) jdata.getCustomized();
   
  +        customizationState.setAttribute(REFERENCES_REMOVED, "false");
  +
           int col = data.getParameters().getInt("col", -1);
           int row = data.getParameters().getInt("row", -1);
           List[] columns = (List[]) 
customizationState.getAttribute("customize-columns");
  @@ -483,6 +496,7 @@
                           {
                               if (portlets.getReference(i) == identityElement)
                               {
  +                                customizationState.setAttribute(REFERENCES_REMOVED, 
"true");
                                   portlets.removeReference(i);
                               }
                           }
  
  
  
  1.9       +11 -1     
jakarta-jetspeed/src/java/org/apache/jetspeed/services/PsmlManager.java
  
  Index: PsmlManager.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/services/PsmlManager.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- PsmlManager.java  28 Jun 2002 05:37:32 -0000      1.8
  +++ PsmlManager.java  6 Jun 2003 17:33:03 -0000       1.9
  @@ -220,5 +220,15 @@
           return getService().export(consumer, locator);
       }
   
  +    /**
  +     * Refreshes a PSML document for the given locator
  +     *
  +     * @param locator The locator descriptor of the document to be retrieved.
  +     */
  +    public static PSMLDocument refresh( ProfileLocator locator )
  +    {
  +        return getService().refresh(locator);
  +    }
  +
   }
   
  
  
  
  1.40      +36 -5     
jakarta-jetspeed/src/java/org/apache/jetspeed/services/psmlmanager/CastorPsmlManagerService.java
  
  Index: CastorPsmlManagerService.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/services/psmlmanager/CastorPsmlManagerService.java,v
  retrieving revision 1.39
  retrieving revision 1.40
  diff -u -r1.39 -r1.40
  --- CastorPsmlManagerService.java     17 Apr 2003 15:28:57 -0000      1.39
  +++ CastorPsmlManagerService.java     6 Jun 2003 17:33:03 -0000       1.40
  @@ -334,11 +334,24 @@
       }
   
       /**
  -     * Returns a PSML document for the given locator
  -     *
  +     * Returns a cached PSML document for the given locator
  +     * 
        * @param locator The locator descriptor of the document to be retrieved.
  +     * @return PSML document  from cache (or disk if not yet cached)
        */
  -    public PSMLDocument getDocument( ProfileLocator locator )
  +    public PSMLDocument getDocument( ProfileLocator locator)
  +    {
  +        return getDocument(locator, true);
  +    }
  +
  +    /**
  +     * Returns a PSML document for the given locator
  +     * 
  +     * @param locator   The locator descriptor of the document to be retrieved.
  +     * @param getCached Look in the cache (true) or umarshall a fresh copy from 
disk (false)
  +     * @return 
  +     */
  +    protected PSMLDocument getDocument( ProfileLocator locator, boolean getCached )
       {
           if (locator == null)
           {
  @@ -368,7 +381,10 @@
           PSMLDocument doc = null;
           Profile profile = null;
   
  -        profile = (Profile)documents.getDocument(name);
  +        if (getCached == true)
  +        {
  +            profile = (Profile)documents.getDocument(name);
  +        }
   
           if (profile == null)
           {
  @@ -403,6 +419,21 @@
           }
   
           return doc;
  +    }
  +
  +    /**
  +     * Loads a PSML document from disk bypassing the cache
  +     * 
  +     * @param locator
  +     * @return PSML document from disk
  +     */
  +    public PSMLDocument refresh(ProfileLocator locator)
  +    {
  +        if (Log.getLogger().isDebugEnabled())
  +        {
  +            Log.debug("CastorPsmlManagerService: psml document refreshed from disk: 
" + locator.getPath());
  +        }
  +        return getDocument(locator, false);
       }
   
       /**
  
  
  
  1.11      +8 -1      
jakarta-jetspeed/src/java/org/apache/jetspeed/services/psmlmanager/PsmlManagerService.java
  
  Index: PsmlManagerService.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/services/psmlmanager/PsmlManagerService.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- PsmlManagerService.java   4 Mar 2003 00:05:09 -0000       1.10
  +++ PsmlManagerService.java   6 Jun 2003 17:33:03 -0000       1.11
  @@ -175,5 +175,12 @@
        */
       public int export(PsmlManagerService consumer, QueryLocator locator);
   
  +    /**
  +     * Returns a PSML document for the given locator bypassing the cache (if 
applicable)
  +     *
  +     * @param locator The locator descriptor of the document to be retrieved.
  +     */
  +    public PSMLDocument refresh( ProfileLocator locator );
  +
   }
   
  
  
  
  1.33      +2 -2      
jakarta-jetspeed/src/java/org/apache/jetspeed/services/psmlmanager/db/DatabasePsmlManagerService.java
  
  Index: DatabasePsmlManagerService.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/services/psmlmanager/db/DatabasePsmlManagerService.java,v
  retrieving revision 1.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- DatabasePsmlManagerService.java   17 Apr 2003 15:28:57 -0000      1.32
  +++ DatabasePsmlManagerService.java   6 Jun 2003 17:33:03 -0000       1.33
  @@ -932,7 +932,7 @@
        * document to be retrieved.
        * @return psmldoc The PSMLDocument object
        */
  -    private PSMLDocument refresh(ProfileLocator locator)
  +    public PSMLDocument refresh(ProfileLocator locator)
       {
           // go to database and get the blob, and marshal the Portlets
   
  
  
  
  1.168     +4 -1      jakarta-jetspeed/xdocs/changes.xml
  
  Index: changes.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed/xdocs/changes.xml,v
  retrieving revision 1.167
  retrieving revision 1.168
  diff -u -r1.167 -r1.168
  --- changes.xml       4 Jun 2003 15:59:15 -0000       1.167
  +++ changes.xml       6 Jun 2003 17:33:03 -0000       1.168
  @@ -24,6 +24,9 @@
   </li>
   -->
   <li>
  +  Add -   Bug # 15413 - 2003/06/06 - Fix for deleting references in portlet set 
customizer (MO)
  +</li>
  +<li>
     Add -   Bug # 20458 - 2003/06/04 - Added My Pages feature (MO)
   </li>
   <li>
  
  
  

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

Reply via email to