raphael     01/05/08 03:00:29

  Modified:    src/java/org/apache/jetspeed/om/newregistry/base
                        BasePortletInfoEntry.java
               src/java/org/apache/jetspeed/portal/factory
                        ParametersFactory.java
               src/java/org/apache/jetspeed/portal/portlets
                        NewRSSPortlet.java
               src/java/org/apache/jetspeed/services/registry
                        CastorRegistryService.java
  Log:
  fix the normalized parameters registry bug
  
  Revision  Changes    Path
  1.5       +18 -2     
jakarta-jetspeed/src/java/org/apache/jetspeed/om/newregistry/base/BasePortletInfoEntry.java
  
  Index: BasePortletInfoEntry.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/om/newregistry/base/BasePortletInfoEntry.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- BasePortletInfoEntry.java 2001/05/07 20:48:13     1.4
  +++ BasePortletInfoEntry.java 2001/05/08 10:00:13     1.5
  @@ -64,7 +64,7 @@
    * 
    * @see org.apache.jetspeed.om.newregistry.PortletInfoEntry
    * @author <a href="mailto:[EMAIL PROTECTED]";>Raphaël Luta</a>
  - * @version $Id: BasePortletInfoEntry.java,v 1.4 2001/05/07 20:48:13 raphael Exp $
  + * @version $Id: BasePortletInfoEntry.java,v 1.5 2001/05/08 10:00:13 raphael Exp $
    */
   public abstract class BasePortletInfoEntry extends BaseRegistryEntry
   {
  @@ -73,7 +73,7 @@
        
       private Vector parameter = new Vector();
       
  -    private transient Map nameIdx = new Hashtable();
  +    private transient Map nameIdx = null;
        
       private Vector mediaTypes = new Vector();
       
  @@ -97,6 +97,14 @@
       /** @return an enumeration of this entry parameter names */
       public Iterator getParameterNames()
       {
  +        synchronized (parameter)
  +        {
  +            if (nameIdx == null)
  +            {
  +                buildNameIndex();
  +            }
  +        }
  +        
           return nameIdx.keySet().iterator();
       }
   
  @@ -108,6 +116,14 @@
        */
       public Parameter getParameter( String name )
       {
  +        synchronized (parameter)
  +        {
  +            if (nameIdx == null)
  +            {
  +                buildNameIndex();
  +            }
  +        }
  +
           if (name != null)
           {
               Integer pos = (Integer)nameIdx.get(name);
  
  
  
  1.16      +10 -19    
jakarta-jetspeed/src/java/org/apache/jetspeed/portal/factory/ParametersFactory.java
  
  Index: ParametersFactory.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/portal/factory/ParametersFactory.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- ParametersFactory.java    2001/05/07 20:49:06     1.15
  +++ ParametersFactory.java    2001/05/08 10:00:18     1.16
  @@ -78,7 +78,7 @@
   
   @author <a href="mailto:[EMAIL PROTECTED]";>Raphaël Luta</a>
   @author <a href="mailto:[EMAIL PROTECTED]";>Santiago Gala</a>
  -@version $Id: ParametersFactory.java,v 1.15 2001/05/07 20:49:06 raphael Exp $
  +@version $Id: ParametersFactory.java,v 1.16 2001/05/08 10:00:18 raphael Exp $
   */
   public class ParametersFactory {
                                       
  @@ -184,25 +184,16 @@
               return hash;
           }
   
  -        //No parent, so return our parameters
  -        if ( entry.getParent() == null ) {
  -            Iterator i = entry.getParameterNames();
  -            while (i.hasNext())
  -            {
  -                String name = (String)i.next();
  -                hash.put(name, entry.getParameter(name).getValue() );
  -            }
  -            return hash;
  +        Log.note("Parameters factory for "+entry.getName()+" of class 
"+entry.getClass());
  +        Iterator i = entry.getParameterNames();
  +        while (i.hasNext())
  +        {
  +            String name = (String)i.next();
  +            Log.note("Param: name:"+name+" 
value:"+entry.getParameter(name).getValue());
  +            hash.put(name, entry.getParameter(name).getValue() );
           }
  -            
  -        //Difficult case. We should return our parent
  -        // params overriden with ours.
  -        PortletEntry parent = null;
  -        parent = (PortletEntry)Registry
  -            .getEntry( Registry.PORTLET, entry.getParent() );
  -        //This adds parameters of entry on top of
  -        //parameters of parent (overriding them)
  -        return getParameters ( entry, getParameters( parent ) );
  +        
  +        return hash;
       }                
                   
   
  
  
  
  1.8       +5 -4      
jakarta-jetspeed/src/java/org/apache/jetspeed/portal/portlets/NewRSSPortlet.java
  
  Index: NewRSSPortlet.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/portal/portlets/NewRSSPortlet.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- NewRSSPortlet.java        2001/05/01 19:30:25     1.7
  +++ NewRSSPortlet.java        2001/05/08 10:00:21     1.8
  @@ -99,7 +99,7 @@
   is only used for this mime-type</dd>
   </dl>
   @author <A HREF="mailto:[EMAIL PROTECTED]";>Raphaël Luta</A>
  -@version $Id: NewRSSPortlet.java,v 1.7 2001/05/01 19:30:25 sgala Exp $ 
  +@version $Id: NewRSSPortlet.java,v 1.8 2001/05/08 10:00:21 raphael Exp $ 
   */
   public class NewRSSPortlet extends FileWatchPortlet {
       
  @@ -121,10 +121,11 @@
           // load stylesheets available
           stylesheets = new Hashtable();
           params = new Hashtable();
  -        Iterator en = this.getPortletConfig().getInitParameterNames();
  -        while (en.hasNext()) {
  -            String name = (String)en.next();
  +        Iterator i = this.getPortletConfig().getInitParameterNames();
  +        while (i.hasNext()) {
  +            String name = (String)i.next();
               String base = MimeType.HTML.toString();
  +
               if (name.startsWith("stylesheet")) {
                   int idx=-1;
                   if ((idx=name.indexOf("."))>-1) {
  
  
  
  1.5       +18 -35    
jakarta-jetspeed/src/java/org/apache/jetspeed/services/registry/CastorRegistryService.java
  
  Index: CastorRegistryService.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/services/registry/CastorRegistryService.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- CastorRegistryService.java        2001/05/07 20:49:48     1.4
  +++ CastorRegistryService.java        2001/05/08 10:00:26     1.5
  @@ -98,7 +98,7 @@
    * </p>
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Raphaël Luta</a>
  - * @version $Id: CastorRegistryService.java,v 1.4 2001/05/07 20:49:48 raphael Exp $
  + * @version $Id: CastorRegistryService.java,v 1.5 2001/05/08 10:00:26 raphael Exp $
    */
   public class CastorRegistryService
       extends TurbineBaseService
  @@ -294,42 +294,15 @@
   
           while(en.hasMoreElements()) {
               String name = (String)en.nextElement();
  -            Enumeration en2 = fragments.elements();
  -            while(en2.hasMoreElements())
  +            Registry registry = (Registry)registries.get(name);
  +
  +            if (registry==null)
               {
  -                RegistryFragment fragment = (RegistryFragment)en2.nextElement();
  -                Registry registry = (Registry)registries.get(name);
  -                Vector entries = fragment.getEntries(name);
  -                if (entries != null)
  -                {
  -                    if (registry==null)
  -                    {
  -                        registry = new BaseRegistry();
  -                        registries.put(name,registry);
  -                    }
  -                    
  -                    Enumeration en3 = entries.elements();
  -                    while(en3.hasMoreElements())
  -                    {
  -                        RegistryEntry entry = (RegistryEntry)en3.nextElement();
  -                        try 
  -                        {
  -                            if (entry instanceof PortletEntry)
  -                            {
  -                                if 
(PortletEntry.TYPE_REF.equals(((PortletEntry)entry).getType()))
  -                                {
  -                                    entry = new 
NormalizedPortletEntry((PortletEntry)entry);
  -                                }
  -                            }
  -                            registry.addEntry(entry);
  -                        }
  -                        catch (RegistryException e)
  -                        {
  -                            Log.error("Unable to add entry "+entry.getName(),e);
  -                        }
  -                    }
  -                }
  +                registry = new BaseRegistry();
  +                registries.put(name,registry);
               }
  +                    
  +            refresh( name );
           }
                       
           // Start the directory watcher thread
  @@ -535,6 +508,16 @@
                       // update or add the entry in the registry
                       try 
                       {
  +                        if (entry instanceof PortletEntry)
  +                        {
  +                            if 
(PortletEntry.TYPE_REF.equals(((PortletEntry)entry).getType()))
  +                            {
  +                                entry = new 
NormalizedPortletEntry((PortletEntry)entry);
  +                            }
  +                        }
  +
  +                        Log.note("Adding entry "+entry.getName()+" of class 
"+entry.getClass()+" to registry "+name);
  +
                           if (registry.hasEntry(entry.getName()))
                           {
                               registry.setEntry(entry);
  
  
  

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

Reply via email to