shuber      2004/08/13 19:36:28 CEST

  Modified files:
    core/src/conf/java   JahiaAdministrationResources.properties 
                         JahiaAdministrationResources_en.properties 
                         JahiaAdministrationResources_fr.properties 
    core/src/java/org/jahia/admin/components ManageComponents.java 
    core/src/java/org/jahia/bin JahiaAdministration.java 
    core/src/java/org/jahia/data/applications ApplicationBean.java 
                                              Description.java 
                                              DisplayName.java 
                                              EntryPointInstance.java 
                                              PortletEntryPointDefinition.java 
                                              ServletBean.java 
                                              ServletEntryPointDefinition.java 
                                              WebAppContext.java 
    core/src/java/org/jahia/services/applications 
                                                  
ApplicationsManagerServletProvider.java 
                                                  ServletContextManager.java 
    core/src/java/org/jahia/services/cache JMSHubConsumer.java 
    core/src/java/org/jahia/utils InsertionSortedMap.java 
                                  InsertionSortedSet.java 
  Log:
  Testing applications in clustered environment. Now seems to work ok except for 
problems with application cache that is stored in sessions and therefore isn't 
invalidated when an application changes data (this is due to the current dispatching 
model, JSR 168 solves this by using render() methods)
  
  Revision  Changes    Path
  1.4       +2 -0      jahia/core/src/conf/java/JahiaAdministrationResources.properties
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/conf/java/JahiaAdministrationResources.properties.diff?r1=1.3&r2=1.4&f=h
  1.4       +2 -0      
jahia/core/src/conf/java/JahiaAdministrationResources_en.properties
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/conf/java/JahiaAdministrationResources_en.properties.diff?r1=1.3&r2=1.4&f=h
  1.4       +2 -0      
jahia/core/src/conf/java/JahiaAdministrationResources_fr.properties
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/conf/java/JahiaAdministrationResources_fr.properties.diff?r1=1.3&r2=1.4&f=h
  1.2       +3 -0      
jahia/core/src/java/org/jahia/admin/components/ManageComponents.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/admin/components/ManageComponents.java.diff?r1=1.1&r2=1.2&f=h
  1.3       +3 -1      jahia/core/src/java/org/jahia/bin/JahiaAdministration.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/bin/JahiaAdministration.java.diff?r1=1.2&r2=1.3&f=h
  1.3       +2 -1      
jahia/core/src/java/org/jahia/data/applications/ApplicationBean.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/data/applications/ApplicationBean.java.diff?r1=1.2&r2=1.3&f=h
  1.2       +3 -1      jahia/core/src/java/org/jahia/data/applications/Description.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/data/applications/Description.java.diff?r1=1.1&r2=1.2&f=h
  1.2       +3 -1      jahia/core/src/java/org/jahia/data/applications/DisplayName.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/data/applications/DisplayName.java.diff?r1=1.1&r2=1.2&f=h
  1.2       +3 -1      
jahia/core/src/java/org/jahia/data/applications/EntryPointInstance.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/data/applications/EntryPointInstance.java.diff?r1=1.1&r2=1.2&f=h
  1.4       +3 -1      
jahia/core/src/java/org/jahia/data/applications/PortletEntryPointDefinition.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/data/applications/PortletEntryPointDefinition.java.diff?r1=1.3&r2=1.4&f=h
  1.3       +2 -1      jahia/core/src/java/org/jahia/data/applications/ServletBean.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/data/applications/ServletBean.java.diff?r1=1.2&r2=1.3&f=h
  1.3       +2 -1      
jahia/core/src/java/org/jahia/data/applications/ServletEntryPointDefinition.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/data/applications/ServletEntryPointDefinition.java.diff?r1=1.2&r2=1.3&f=h
  1.2       +2 -1      
jahia/core/src/java/org/jahia/data/applications/WebAppContext.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/data/applications/WebAppContext.java.diff?r1=1.1&r2=1.2&f=h
  1.3       +30 -12    
jahia/core/src/java/org/jahia/services/applications/ApplicationsManagerServletProvider.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/applications/ApplicationsManagerServletProvider.java.diff?r1=1.2&r2=1.3&f=h
  1.5       +9 -1      
jahia/core/src/java/org/jahia/services/applications/ServletContextManager.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/applications/ServletContextManager.java.diff?r1=1.4&r2=1.5&f=h
  1.6       +4 -0      jahia/core/src/java/org/jahia/services/cache/JMSHubConsumer.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/cache/JMSHubConsumer.java.diff?r1=1.5&r2=1.6&f=h
  1.2       +3 -2      jahia/core/src/java/org/jahia/utils/InsertionSortedMap.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/utils/InsertionSortedMap.java.diff?r1=1.1&r2=1.2&f=h
  1.2       +2 -1      jahia/core/src/java/org/jahia/utils/InsertionSortedSet.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/utils/InsertionSortedSet.java.diff?r1=1.1&r2=1.2&f=h
  
  
  
  Index: JahiaAdministrationResources.properties
  ===================================================================
  RCS file: /cvs/jahia/core/src/conf/java/JahiaAdministrationResources.properties,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- JahiaAdministrationResources.properties   29 Jul 2004 17:11:44 -0000      1.3
  +++ JahiaAdministrationResources.properties   13 Aug 2004 17:36:26 -0000      1.4
  @@ -396,6 +396,8 @@
   org.jahia.admin.status.label                                                        
                = Status
   org.jahia.admin.status.ManageStatus.availableConnections.label= available 
connections
   org.jahia.admin.status.ManageStatus.busyConnections.label= busy connections
  
+org.jahia.admin.status.ManageStatus.cache.ApplicationContextCache.description.label=Applications
 context cache
  
+org.jahia.admin.status.ManageStatus.cache.ApplicationDefinitionsCache.description.label=Applications
 definition cache
   org.jahia.admin.status.ManageStatus.cache.ACLEntriesCache.description.label=ACL 
entries cache
   org.jahia.admin.status.ManageStatus.cache.ACLTreeCache.description.label=ACL tree 
cache
   
org.jahia.admin.status.ManageStatus.cache.CategoryLastModifStatusCache.description.label=Synchronization
 cache for last category modification date
  
  
  
  Index: JahiaAdministrationResources_en.properties
  ===================================================================
  RCS file: /cvs/jahia/core/src/conf/java/JahiaAdministrationResources_en.properties,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- JahiaAdministrationResources_en.properties        29 Jul 2004 17:11:44 -0000     
 1.3
  +++ JahiaAdministrationResources_en.properties        13 Aug 2004 17:36:26 -0000     
 1.4
  @@ -396,6 +396,8 @@
   org.jahia.admin.status.label                                                        
                = Status
   org.jahia.admin.status.ManageStatus.availableConnections.label= available 
connections
   org.jahia.admin.status.ManageStatus.busyConnections.label= busy connections
  
+org.jahia.admin.status.ManageStatus.cache.ApplicationContextCache.description.label=Applications
 context cache
  
+org.jahia.admin.status.ManageStatus.cache.ApplicationDefinitionsCache.description.label=Applications
 definition cache
   org.jahia.admin.status.ManageStatus.cache.ACLEntriesCache.description.label=ACL 
entries cache
   org.jahia.admin.status.ManageStatus.cache.ACLTreeCache.description.label=ACL tree 
cache
   
org.jahia.admin.status.ManageStatus.cache.CategoryLastModifStatusCache.description.label=Synchronization
 cache for last category modification date
  
  
  
  Index: JahiaAdministrationResources_fr.properties
  ===================================================================
  RCS file: /cvs/jahia/core/src/conf/java/JahiaAdministrationResources_fr.properties,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- JahiaAdministrationResources_fr.properties        29 Jul 2004 17:11:44 -0000     
 1.3
  +++ JahiaAdministrationResources_fr.properties        13 Aug 2004 17:36:26 -0000     
 1.4
  @@ -486,6 +486,8 @@
   org.jahia.admin.status.label=Statut
   org.jahia.admin.status.ManageStatus.availableConnections.label=Connexions 
disponibles
   org.jahia.admin.status.ManageStatus.busyConnections.label=Connexions actives
  
+org.jahia.admin.status.ManageStatus.cache.ApplicationContextCache.description.label=Cache
 des context d'application
  
+org.jahia.admin.status.ManageStatus.cache.ApplicationDefinitionsCache.description.label=Cache
 des définitions d'applications
   org.jahia.admin.status.ManageStatus.cache.ACLEntriesCache.description.label=Cache 
des entrées d'ACL
   org.jahia.admin.status.ManageStatus.cache.ACLTreeCache.description.label=Cache de 
l'arbre des ACLs
   
org.jahia.admin.status.ManageStatus.cache.CategoryLastModifStatusCache.description.label=Cache
 de synchronization pour les dates de dernières modifications sur les 
catégories
  
  
  
  Index: ManageComponents.java
  ===================================================================
  RCS file: /cvs/jahia/core/src/java/org/jahia/admin/components/ManageComponents.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ManageComponents.java     30 Mar 2004 14:10:22 -0000      1.1
  +++ ManageComponents.java     13 Aug 2004 17:36:26 -0000      1.2
  @@ -64,6 +64,7 @@
   import org.jahia.registries.ServicesRegistry;
   import org.jahia.resourcebundle.JahiaResourceBundle;
   import org.jahia.services.applications.ApplicationsManagerService;
  +import org.jahia.services.applications.ServletContextManager;
   import org.jahia.services.jef.InvalidJefFileException;
   import org.jahia.services.jef.JecFile;
   import org.jahia.services.jef.JefFileConstants;
  @@ -724,6 +725,8 @@
                   // delete the app definition
                   appPersServ.removeApplication (app.getID ());
   
  +                
ServletContextManager.getInstance().removeContextFromCache(app.getContext());
  +
                   displayComponentList (request, response, session);
   
               } else if (subAction.equals ("confirmdelete")) {
  
  
  
  Index: JahiaAdministration.java
  ===================================================================
  RCS file: /cvs/jahia/core/src/java/org/jahia/bin/JahiaAdministration.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- JahiaAdministration.java  16 Jul 2004 17:33:35 -0000      1.2
  +++ JahiaAdministration.java  13 Aug 2004 17:36:27 -0000      1.3
  @@ -1,4 +1,4 @@
  -// $Id: JahiaAdministration.java,v 1.2 2004/07/16 17:33:35 shuber Exp $
  +// $Id: JahiaAdministration.java,v 1.3 2004/08/13 17:36:27 shuber Exp $
   //
   //                                   ____.
   //                       __/\ ______|    |__/\.     _______
  @@ -99,6 +99,7 @@
   import java.util.Date;
   import org.jahia.utils.PathResolver;
   import org.jahia.utils.WebAppPathResolver;
  +import org.jahia.services.cache.CacheFactory;
   
   
   /**
  @@ -247,6 +248,7 @@
                               userRequestDispatcher(request, response, session); // 
ok continue admin...
                           org.jahia.services.database.ConnectionDispenser.
                               terminateConnection();
  +                        CacheFactory.getInstance().syncCachesNow();
                       } catch (JahiaException je) {
                           JahiaErrorDisplay.DisplayException(request, response,
                               getServletContext(), Jahia.getSettings(), je);
  
  
  
  Index: ApplicationBean.java
  ===================================================================
  RCS file: /cvs/jahia/core/src/java/org/jahia/data/applications/ApplicationBean.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ApplicationBean.java      18 Jun 2004 13:42:13 -0000      1.2
  +++ ApplicationBean.java      13 Aug 2004 17:36:27 -0000      1.3
  @@ -4,6 +4,7 @@
   import java.util.ArrayList;
   import org.jahia.registries.ServicesRegistry;
   import java.util.Iterator;
  +import java.io.Serializable;
   
   /**
    * This object contains all the data relative to an application, notably the
  @@ -12,7 +13,7 @@
    * @author Serge Huber
    * @version 1.0
    */
  -public class ApplicationBean implements Comparator {
  +public class ApplicationBean implements Serializable, Comparator {
   
       private int ID;
       private int jahiaID;
  
  
  
  Index: Description.java
  ===================================================================
  RCS file: /cvs/jahia/core/src/java/org/jahia/data/applications/Description.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Description.java  30 Mar 2004 14:10:23 -0000      1.1
  +++ Description.java  13 Aug 2004 17:36:27 -0000      1.2
  @@ -1,5 +1,7 @@
   package org.jahia.data.applications;
   
  +import java.io.Serializable;
  +
   /**
    * <p>Title: </p>
    * <p>Description: </p>
  @@ -9,7 +11,7 @@
    * @version 1.0
    */
   
  -public class Description {
  +public class Description implements Serializable {
       private String lang = "en";
       private String value;
       public Description() {
  
  
  
  Index: DisplayName.java
  ===================================================================
  RCS file: /cvs/jahia/core/src/java/org/jahia/data/applications/DisplayName.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DisplayName.java  30 Mar 2004 14:10:23 -0000      1.1
  +++ DisplayName.java  13 Aug 2004 17:36:27 -0000      1.2
  @@ -1,5 +1,7 @@
   package org.jahia.data.applications;
   
  +import java.io.Serializable;
  +
   /**
    * <p>Title: </p>
    * <p>Description: </p>
  @@ -9,7 +11,7 @@
    * @version 1.0
    */
   
  -public class DisplayName {
  +public class DisplayName implements Serializable {
       private String lang = "en";
       private String value;
       public DisplayName() {
  
  
  
  Index: EntryPointInstance.java
  ===================================================================
  RCS file: 
/cvs/jahia/core/src/java/org/jahia/data/applications/EntryPointInstance.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- EntryPointInstance.java   30 Mar 2004 14:10:23 -0000      1.1
  +++ EntryPointInstance.java   13 Aug 2004 17:36:27 -0000      1.2
  @@ -1,5 +1,7 @@
   package org.jahia.data.applications;
   
  +import java.io.Serializable;
  +
   /**
    * <p>Title: EntryPointInstance for a web application</p>
    * <p>Description: This class represents an entry point instance into a web
  @@ -16,7 +18,7 @@
    * @todo properties not implemented, will do later.
    */
   
  -public class EntryPointInstance {
  +public class EntryPointInstance implements Serializable {
       private int ID;
       private int applicationID;
       private String defName;
  
  
  
  Index: PortletEntryPointDefinition.java
  ===================================================================
  RCS file: 
/cvs/jahia/core/src/java/org/jahia/data/applications/PortletEntryPointDefinition.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- PortletEntryPointDefinition.java  22 Jun 2004 15:42:01 -0000      1.3
  +++ PortletEntryPointDefinition.java  13 Aug 2004 17:36:27 -0000      1.4
  @@ -1,5 +1,7 @@
   package org.jahia.data.applications;
   
  +import java.io.Serializable;
  +
   import org.apache.pluto.om.portlet.PortletDefinition;
   import java.util.ArrayList;
   import org.jahia.registries.ServicesRegistry;
  @@ -19,7 +21,7 @@
    * @author Serge Huber
    * @version 1.0
    */
  -public class PortletEntryPointDefinition implements EntryPointDefinition {
  +public class PortletEntryPointDefinition implements Serializable, 
EntryPointDefinition {
   
       private int applicationID;
       private PortletDefinition portletDefinition;
  
  
  
  Index: ServletBean.java
  ===================================================================
  RCS file: /cvs/jahia/core/src/java/org/jahia/data/applications/ServletBean.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ServletBean.java  22 Jun 2004 15:42:01 -0000      1.2
  +++ ServletBean.java  13 Aug 2004 17:36:27 -0000      1.3
  @@ -3,6 +3,7 @@
   import java.util.ArrayList;
   import org.jahia.registries.ServicesRegistry;
   import javax.portlet.PortletMode;
  +import java.io.Serializable;
   
   /**
    * This object contains all the data relative to a servlet, notably the
  @@ -10,7 +11,7 @@
    * @author Serge Huber
    * @version 1.0
    */
  -public class ServletBean implements EntryPointDefinition {
  +public class ServletBean implements Serializable, EntryPointDefinition {
   
       public final static int SERVLET_TYPE = 1;
       public final static int JSP_TYPE = 2;
  
  
  
  Index: ServletEntryPointDefinition.java
  ===================================================================
  RCS file: 
/cvs/jahia/core/src/java/org/jahia/data/applications/ServletEntryPointDefinition.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ServletEntryPointDefinition.java  22 Jun 2004 15:42:01 -0000      1.2
  +++ ServletEntryPointDefinition.java  13 Aug 2004 17:36:27 -0000      1.3
  @@ -6,6 +6,7 @@
   import java.util.ArrayList;
   import org.jahia.registries.ServicesRegistry;
   import javax.portlet.PortletMode;
  +import java.io.Serializable;
   
   /**
    * <p>Title: Servlet-based web application entry point definition</p>
  @@ -17,7 +18,7 @@
    * @version 1.0
    */
   
  -public class ServletEntryPointDefinition implements EntryPointDefinition {
  +public class ServletEntryPointDefinition implements Serializable, 
EntryPointDefinition {
   
       private Map displayNames = new HashMap();
       private Map descriptions = new HashMap();
  
  
  
  Index: WebAppContext.java
  ===================================================================
  RCS file: /cvs/jahia/core/src/java/org/jahia/data/applications/WebAppContext.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- WebAppContext.java        30 Mar 2004 14:10:23 -0000      1.1
  +++ WebAppContext.java        13 Aug 2004 17:36:27 -0000      1.2
  @@ -25,6 +25,7 @@
   import org.jahia.utils.InsertionSortedMap;
   import java.util.Map;
   import java.util.ArrayList;
  +import java.io.Serializable;
   
   
   
  @@ -34,7 +35,7 @@
    *
    * @author Khue Nguyen <a href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
    */
  -public class WebAppContext
  +public class WebAppContext implements Serializable
   {
       private static final String CLASS_NAME = WebAppContext.class.getName();
   
  
  
  
  Index: ApplicationsManagerServletProvider.java
  ===================================================================
  RCS file: 
/cvs/jahia/core/src/java/org/jahia/services/applications/ApplicationsManagerServletProvider.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ApplicationsManagerServletProvider.java   22 Jun 2004 15:42:02 -0000      1.2
  +++ ApplicationsManagerServletProvider.java   13 Aug 2004 17:36:28 -0000      1.3
  @@ -64,6 +64,8 @@
   import org.apache.jetspeed.container.window.PortletWindowAccessor;
   import org.apache.jetspeed.Jetspeed;
   import org.apache.jetspeed.om.window.impl.PortletWindowImpl;
  +import org.jahia.services.cache.Cache;
  +import org.jahia.services.cache.CacheFactory;
   
   
   /**
  @@ -71,6 +73,8 @@
    *
    * @author Khue ng
    * @version 1.0
  + * @todo FIXME this class does not support a cache limit, it should never be
  + * limited in it's current implementation
    */
   public class ApplicationsManagerServletProvider implements
       ApplicationsManagerProvider {
  @@ -79,11 +83,13 @@
       private static org.apache.log4j.Logger logger =
               org.apache.log4j.Logger.getLogger 
(ApplicationsManagerServletProvider.class);
   
  +    private static final String REGISTRY_CACHE_NAME = "ApplicationDefinitionsCache";
  +
       /** the instance * */
       private static ApplicationsManagerServletProvider instance;
   
       /** the cache of application definition * */
  -    private Hashtable registry = new Hashtable ();
  +    private Cache registry;
   
       /** dummy comparator application bean * */
       private ApplicationBean dummyComparator;
  @@ -121,6 +127,8 @@
               throws JahiaInitializationException {
           try {
   
  +            registry = CacheFactory.createCache(REGISTRY_CACHE_NAME);
  +
               loadAllApplications ();
               ServletContextManager.getInstance().init(jSettings);
           } catch (Throwable t) {
  @@ -157,13 +165,16 @@
           checkIsLoaded ();
   
           synchronized (registry) {
  -            ApplicationBean app = (ApplicationBean) registry.get (new Integer 
(appID));
  -            if (app == null) {
  +            ApplicationBean app;
  +            if (registry.containsKey(new Integer (appID))) {
  +                app = (ApplicationBean) registry.get(new
  +                    Integer(appID));
  +                return app;
  +            }
                   // try to load from db
  -                app = ApplicationsDB.getInstance ().get_application_definition 
(appID);
  -                if (app != null) {
  -                    registry.put (new Integer (app.getID ()), app);
  -                }
  +            app = ApplicationsDB.getInstance ().get_application_definition (appID);
  +            if (app != null) {
  +                registry.put (new Integer (app.getID ()), app);
               }
               return app;
           }
  @@ -187,9 +198,9 @@
   
           synchronized (registry) {
               ApplicationBean app = null;
  -            Enumeration keys = registry.keys ();
  -            while (keys.hasMoreElements ()) {
  -                app = (ApplicationBean) registry.get (keys.nextElement ());
  +            Object[] keys = registry.keys();
  +            for (int i=0; i < keys.length; i++) {
  +                app = (ApplicationBean) registry.get (keys[i]);
                   if (app != null
                           && app.getContext () != null
                           && app.getContext ().equals (context)) {
  @@ -215,7 +226,14 @@
   
           checkIsLoaded ();
   
  -        Vector apps = new Vector (registry.values ());
  +        Vector apps = new Vector ();
  +        Object[] keys = registry.keys();
  +        for (int i=0; i < keys.length; i++) {
  +            Object curValue = registry.get(keys[i]);
  +            if (curValue != null) {
  +                apps.add(curValue);
  +            }
  +        }
           Collections.sort (apps, dummyComparator);
           return apps;
       }
  @@ -233,7 +251,7 @@
           checkIsLoaded ();
   
           Vector apps = new Vector ();
  -        Enumeration enum = registry.elements ();
  +        Enumeration enum = getApplications().elements();
           ApplicationBean app = null;
           while (enum.hasMoreElements ()) {
               app = (ApplicationBean) enum.nextElement ();
  
  
  
  Index: ServletContextManager.java
  ===================================================================
  RCS file: 
/cvs/jahia/core/src/java/org/jahia/services/applications/ServletContextManager.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ServletContextManager.java        28 Jul 2004 10:41:20 -0000      1.4
  +++ ServletContextManager.java        13 Aug 2004 17:36:28 -0000      1.5
  @@ -65,6 +65,8 @@
   import java.util.ArrayList;
   import java.io.File;
   import org.jahia.bin.Jahia;
  +import org.jahia.services.cache.CacheFactory;
  +import org.jahia.services.cache.Cache;
   
   
   /**
  @@ -79,6 +81,7 @@
       private static org.apache.log4j.Logger logger =
               org.apache.log4j.Logger.getLogger (ServletContextManager.class);
   
  +    private static final String REGISTRY_CACHE_NAME = "ApplicationContextCache";
   
       /** the DTD Entity Resolver we use with local dtd files * */
       private static EntityResolver mResolver;
  @@ -93,7 +96,7 @@
       private static ServletContextManager instance = null;
   
       /** the cache of application context beans * */
  -    private Hashtable mRegistry = new Hashtable ();
  +    private Cache mRegistry;
   
       /** The Server ServerContext * */
       private ServletContext mContext;
  @@ -129,6 +132,7 @@
       public void init (SettingsBean jSettings)
               throws JahiaInitializationException {
           if (!initialized) {
  +            mRegistry = CacheFactory.createCache(REGISTRY_CACHE_NAME);
               mContext = Jahia.getStaticServletConfig().getServletContext();
               mResolver = jSettings.getDtdEntityResolver ();
               initialized = true;
  @@ -195,6 +199,10 @@
           return appContext;
       }
   
  +    public void removeContextFromCache(String context) {
  +        mRegistry.remove(context);
  +    }
  +
       //--------------------------------------------------------------------------
       /**
        * Returns a ApplicationContext bean with the information loaded from the 
web.xml
  
  
  
  Index: JMSHubConsumer.java
  ===================================================================
  RCS file: /cvs/jahia/core/src/java/org/jahia/services/cache/JMSHubConsumer.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- JMSHubConsumer.java       5 Aug 2004 14:44:34 -0000       1.5
  +++ JMSHubConsumer.java       13 Aug 2004 17:36:28 -0000      1.6
  @@ -220,6 +220,10 @@
           int eventType;
           Object entryKey;
           Object entryValue = null;
  +
  +        if (message == null) {
  +            return;
  +        }
           try {
               cacheName = message.getString (JMSCacheMessage.CACHE_NAME_KEY);
               eventType = message.getInt (JMSCacheMessage.EVENT_NAME_KEY);
  
  
  
  Index: InsertionSortedMap.java
  ===================================================================
  RCS file: /cvs/jahia/core/src/java/org/jahia/utils/InsertionSortedMap.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- InsertionSortedMap.java   30 Mar 2004 14:13:17 -0000      1.1
  +++ InsertionSortedMap.java   13 Aug 2004 17:36:28 -0000      1.2
  @@ -1,6 +1,7 @@
   package org.jahia.utils;
   
   import java.util.*;
  +import java.io.Serializable;
   
   
   /**
  @@ -14,11 +15,11 @@
    *
    */
   
  -public class InsertionSortedMap extends AbstractMap {
  +public class InsertionSortedMap extends AbstractMap implements Serializable {
   
       private ArrayList internalList = new ArrayList();
   
  -    private class Entry implements Map.Entry {
  +    private class Entry implements Map.Entry, Serializable {
   
           private Object key;
           private Object value;
  
  
  
  Index: InsertionSortedSet.java
  ===================================================================
  RCS file: /cvs/jahia/core/src/java/org/jahia/utils/InsertionSortedSet.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- InsertionSortedSet.java   30 Mar 2004 14:13:17 -0000      1.1
  +++ InsertionSortedSet.java   13 Aug 2004 17:36:28 -0000      1.2
  @@ -1,6 +1,7 @@
   package org.jahia.utils;
   
   import java.util.*;
  +import java.io.Serializable;
   
   
   /**
  @@ -12,7 +13,7 @@
    * @version 1.0
    */
   
  -public class InsertionSortedSet extends AbstractSet {
  +public class InsertionSortedSet extends AbstractSet implements Serializable {
   
       private ArrayList internalSet;
   
  

Reply via email to