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 ta...@apache.org on 2002/03/22 19:38:36 UTC

cvs commit: jakarta-jetspeed/src/java/org/apache/jetspeed/om/registry Security.java

taylor      02/03/22 10:38:36

  Modified:    src/java/org/apache/jetspeed/om/profile
                        BasePSMLDocument.java ConfigElement.java Entry.java
                        PSMLDocument.java Parameter.java
               src/java/org/apache/jetspeed/om/profile/psml
                        PsmlConfigElement.java PsmlControl.java
                        PsmlController.java PsmlEntry.java PsmlLayout.java
                        PsmlMetaInfo.java PsmlParameter.java PsmlSkin.java
               src/java/org/apache/jetspeed/om/registry Security.java
  Added:       src/java/org/apache/jetspeed/om/profile Control.java
                        Controller.java IdentityElement.java Layout.java
                        MetaInfo.java Portlets.java Role.java Security.java
                        Skin.java
               src/java/org/apache/jetspeed/om/profile/psml
                        PsmlIdentityElement.java PsmlPortlets.java
                        PsmlRole.java PsmlSecurity.java
  Removed:     src/java/org/apache/jetspeed/om/profile/psml
                        PsmlDocument.java PsmlEntrySet.java
                        PsmlLayoutElement.java
  Log:
    o Add - new interface/implementation model for PSML
  
  Revision  Changes    Path
  1.7       +20 -20    jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/BasePSMLDocument.java
  
  Index: BasePSMLDocument.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/BasePSMLDocument.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- BasePSMLDocument.java	13 Mar 2002 05:41:15 -0000	1.6
  +++ BasePSMLDocument.java	22 Mar 2002 18:38:35 -0000	1.7
  @@ -54,9 +54,9 @@
   
   package org.apache.jetspeed.om.profile;
   
  -import org.apache.jetspeed.xml.api.portletmarkup.Portlets;
  -import org.apache.jetspeed.xml.api.portletmarkup.Entry;
  -import java.util.Enumeration;
  +import org.apache.jetspeed.om.profile.Portlets;
  +import org.apache.jetspeed.om.profile.Entry;
  +import java.util.Iterator;
   
   /**
    * This class represents a loaded PSML document in memory, providing
  @@ -64,7 +64,7 @@
    * document.
    *
    * @author <a href="mailto:raphael@apache.org">Rapha�l Luta</a>
  - * @version $Id: BasePSMLDocument.java,v 1.6 2002/03/13 05:41:15 paulsp Exp $
  + * @version $Id: BasePSMLDocument.java,v 1.7 2002/03/22 18:38:35 taylor Exp $
    */
   public class BasePSMLDocument implements PSMLDocument
   {
  @@ -224,18 +224,18 @@
       {
           Entry entry = null;
   
  -        for (Enumeration e1 = portlets.enumerateEntry (); e1.hasMoreElements (); )
  +        for (Iterator it1 = portlets.getEntriesIterator(); it1.hasNext(); )
           {
  -            entry = (Entry) e1.nextElement ();
  +            entry = (Entry) it1.next();
               if (entry.getParent().equals (name))
                    return (entry);
           }
   
           entry = null;
   
  -        for (Enumeration e2 = portlets.enumeratePortlets (); e2.hasMoreElements (); )
  +        for (Iterator it2 = portlets.getPortletsIterator(); it2.hasNext(); )
           {
  -            Portlets p = (Portlets) e2.nextElement ();
  +            Portlets p = (Portlets) it2.next();
   
               entry = getEntry(p, name);
   
  @@ -257,18 +257,18 @@
       {
           Entry entry = null;
   
  -        for (Enumeration e1 = portlets.enumerateEntry (); e1.hasMoreElements (); )
  +        for (Iterator it1 = portlets.getEntriesIterator(); it1.hasNext(); )
           {
  -            entry = (Entry) e1.nextElement ();
  +            entry = (Entry) it1.next();
               if ((entry.getId()!=null) && entry.getId().equals (entryId))
                    return (entry);
           }
   
           entry = null;
   
  -        for (Enumeration e2 = portlets.enumeratePortlets (); e2.hasMoreElements (); )
  +        for (Iterator it2 = portlets.getPortletsIterator(); it2.hasNext(); )
           {
  -            Portlets p = (Portlets) e2.nextElement ();
  +            Portlets p = (Portlets) it2.next();
   
               entry = getEntryById(p, entryId);
   
  @@ -297,9 +297,9 @@
   
           entry = null;
           
  -        for (Enumeration e2 = portlets.enumeratePortlets (); e2.hasMoreElements (); )
  +        for (Iterator it2 = portlets.getPortletsIterator(); it2.hasNext(); )
           {
  -            Portlets p = (Portlets) e2.nextElement ();
  +            Portlets p = (Portlets) it2.next();
   
               entry = getPortletsById(p, portletId);
   
  @@ -327,9 +327,9 @@
   
           entry = null;
           
  -        for (Enumeration e2 = portlets.enumeratePortlets (); e2.hasMoreElements (); )
  +        for (Iterator it2 = portlets.getPortletsIterator(); it2.hasNext(); )
           {
  -            Portlets p = (Portlets) e2.nextElement ();
  +            Portlets p = (Portlets) it2.next();
   
               entry = getPortlets(p, name);
   
  @@ -363,9 +363,9 @@
           // we need to recurse in the children
           Portlets result = null;
           
  -        for (Enumeration e2 = portlets.enumeratePortlets (); e2.hasMoreElements (); )
  +        for (Iterator it2 = portlets.getPortletsIterator(); it2.hasNext(); )
           {
  -            Portlets p = (Portlets) e2.nextElement ();
  +            Portlets p = (Portlets) it2.next();
               count++;
               result = getPortlets(p, position, count);
   
  @@ -403,9 +403,9 @@
               }
           }
   
  -        for (Enumeration e2 = portlets.enumeratePortlets (); e2.hasMoreElements (); )
  +        for (Iterator it2 = portlets.getPortletsIterator(); it2.hasNext(); )
           {
  -            Portlets p = (Portlets) e2.nextElement ();
  +            Portlets p = (Portlets) it2.next();
   
               if (removeEntryById(p, entryId) == true)
                   return true;
  
  
  
  1.2       +36 -25    jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/ConfigElement.java
  
  Index: ConfigElement.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/ConfigElement.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ConfigElement.java	2 Sep 2001 17:58:06 -0000	1.1
  +++ ConfigElement.java	22 Mar 2002 18:38:35 -0000	1.2
  @@ -54,48 +54,59 @@
   
   package org.apache.jetspeed.om.profile;
   
  -import java.util.Locale;
  +import java.util.Vector;
  +import java.util.Iterator;
   
   /**
    * ConfigElement is the base interface that objects must implement in order
    * to be used with the Profile service.
    * 
    * @author <a href="mailto:raphael@apache.org">Rapha�l Luta</a>
  - * @version $Id: ConfigElement.java,v 1.1 2001/09/02 17:58:06 raphael Exp $
  + * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
  + * @version $Id: ConfigElement.java,v 1.2 2002/03/22 18:38:35 taylor Exp $
    */
  -public interface ConfigElement
  +public interface ConfigElement 
   {    
  +
       /**
        * @return the name of this entry. This value is guaranteed to be unique at
        * least within the current Document.
        */
       public String getName();
  -    
  +
       /**
        * Changes the name of this entry
        * @param name the new name for this entry
        */
       public void setName(String name);
       
  -    /**
  -     * @return the entry title in the default locale for this entry, if set
  -     */
  -    public String getTitle();
  -                                
  -    /**
  -     * Sets the title of the portlet entry
  -     * @param title the new title for the entry
  -     */
  -    public void setTitle(String title);
  -                                
  -    /**
  -     * @return the entry description in the default locale for this entry, if set
  -     */
  -    public String getDescription();
  -                                
  -    /**
  -     * Sets the description for the portlet entry
  -     * @param description the new description for the entry
  -     */
  -    public void setDescription(String description);
  +    /** @return all the params */
  +    public Vector getParameters();
  +
  +    /** @param the parameters */
  +    public void setParameters(Vector params);
  +
  +    public String getParameterValue(String name);
  +
  +    public Parameter getParameter(String name);
  +
  +    public Iterator getParameterIterator();
  +
  +    public Parameter getParameter(int index)
  +        throws java.lang.IndexOutOfBoundsException;
  +
  +    public int getParameterCount();
  +
  +    public void removeAllParameter();
  +
  +    public Parameter removeParameter(int index);
  +
  +    public void setParameter(int index, Parameter vParameter)
  +        throws java.lang.IndexOutOfBoundsException;
  +
  +    public Parameter[] getParameter();
  +
  +    public void addParameter(Parameter vParameter)
  +        throws java.lang.IndexOutOfBoundsException;
  +
   }
  
  
  
  1.2       +2 -2      jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/Entry.java
  
  Index: Entry.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/Entry.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Entry.java	2 Sep 2001 17:58:06 -0000	1.1
  +++ Entry.java	22 Mar 2002 18:38:35 -0000	1.2
  @@ -61,9 +61,9 @@
    * some layout constraints and local parameters if required.
    * 
    * @author <a href="mailto:raphael@apache.org">Rapha�l Luta</a>
  - * @version $Id: Entry.java,v 1.1 2001/09/02 17:58:06 raphael Exp $
  + * @version $Id: Entry.java,v 1.2 2002/03/22 18:38:35 taylor Exp $
    */
  -public interface Entry extends LayoutElement, Parametrable
  +public interface Entry extends IdentityElement
   {
   
       /** @return the entry name from which this one is derived */
  
  
  
  1.5       +3 -3      jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/PSMLDocument.java
  
  Index: PSMLDocument.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/PSMLDocument.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- PSMLDocument.java	13 Mar 2002 05:41:15 -0000	1.4
  +++ PSMLDocument.java	22 Mar 2002 18:38:35 -0000	1.5
  @@ -54,8 +54,8 @@
   
   package org.apache.jetspeed.om.profile;
   
  -import org.apache.jetspeed.xml.api.portletmarkup.Portlets;
  -import org.apache.jetspeed.xml.api.portletmarkup.Entry;
  +import org.apache.jetspeed.om.profile.Portlets;
  +import org.apache.jetspeed.om.profile.Entry;
   
   /**
    * This interface represents a loaded PSML document in memory, providing
  @@ -63,7 +63,7 @@
    * document.
    *
    * @author <a href="mailto:raphael@apache.org">Rapha�l Luta</a>
  - * @version $Id: PSMLDocument.java,v 1.4 2002/03/13 05:41:15 paulsp Exp $
  + * @version $Id: PSMLDocument.java,v 1.5 2002/03/22 18:38:35 taylor Exp $
    */
   public interface PSMLDocument
   {
  
  
  
  1.2       +14 -16    jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/Parameter.java
  
  Index: Parameter.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/Parameter.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Parameter.java	2 Sep 2001 17:58:06 -0000	1.1
  +++ Parameter.java	22 Mar 2002 18:38:35 -0000	1.2
  @@ -51,34 +51,32 @@
    * information on the Apache Software Foundation, please see
    * <http://www.apache.org/>.
    */
  - 
  +
   package org.apache.jetspeed.om.profile;
   
   /**
  - * Interface describing a parameter for an entry. 
  + * Interface for parameters in psml
    *
  - * @author <a href="mailto:raphael@apache.org">Rapha�l Luta</a>
  - * @version $Id: Parameter.java,v 1.1 2001/09/02 17:58:06 raphael Exp $
  + * 
  + * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
  + * @version $Id: Parameter.java,v 1.2 2002/03/22 18:38:35 taylor Exp $
    */
   public interface Parameter
   {
  -    
  -    /** @return the parameter's name */
  +    /** @return name the name of the parameter */
       public String getName();
   
  -    /** Sets the naem of this parameter.value.
  -     * 
  -     * @param naem the new parameter name
  +    /** Sets the name of this parameter
  +     * @param name the parameter name
        */
  -    public void setName(String name);
  +    public void setName( String name );
   
  -    /** @return the value for this parameter */
  +    /** @return the value of the parameter */
       public String getValue();
   
  -    /** Sets the value of this parameter.
  -     * 
  -     * @param value the new parameter value
  +    /** Sets the value of the param
  +     * @param value the value of the param
        */
  -    public void setValue(String value);
  +    public void setValue( String value );
   
  -}
  +}
  \ No newline at end of file
  
  
  
  1.1                  jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/Control.java
  
  Index: Control.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2000-2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *     "Apache Jetspeed" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache" or
   *    "Apache Jetspeed", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  package org.apache.jetspeed.om.profile;
  
  
  /**
   * Default bean like implementation of the control entry in psml
   * 
   * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
   * @version $Id: Control.java,v 1.1 2002/03/22 18:38:35 taylor Exp $
   */
  public interface Control extends ConfigElement 
  {   
  }
  
  
  1.1                  jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/Controller.java
  
  Index: Controller.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2000-2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *     "Apache Jetspeed" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache" or
   *    "Apache Jetspeed", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  package org.apache.jetspeed.om.profile;
  
  
  /**
   * Default bean like implementation of the controller entry in psml
   * 
   * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
   * @version $Id: Controller.java,v 1.1 2002/03/22 18:38:35 taylor Exp $
   */
  public interface Controller extends ConfigElement 
  {   
  }
  
  
  1.1                  jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/IdentityElement.java
  
  Index: IdentityElement.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2000-2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *     "Apache Jetspeed" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache" or
   *    "Apache Jetspeed", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  package org.apache.jetspeed.om.profile;
  
  import java.util.Vector;
  import java.util.Iterator;
  
  /**
   * ConfigElement is the base interface that objects must implement in order
   * to be used with the Profile service.
   * 
   * @author <a href="mailto:raphael@apache.org">Rapha�l Luta</a>
   * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
   * @version $Id: IdentityElement.java,v 1.1 2002/03/22 18:38:35 taylor Exp $
   */
  public interface IdentityElement extends MetaInfo, ConfigElement
  {    
      /**
       * @return the id of this entry. This value is guaranteed to be unique at
       * least within the current Document.
       */
      public String getId();
      
      /**
       * Changes the name of this entry
       * @param name the new name for this entry
       */
      public void setId(String id);
      
      /**
       * set the MetaInfo
       * @param metaInfo info for this entry
       */
      public void setMetaInfo(MetaInfo metaInfo);
   
      /**
       * @return the metaInfo for this element
       */
      public MetaInfo getMetaInfo();
  
      public Skin getSkin();
  
      public void setSkin(Skin skin);        
  
      public Layout getLayout();
  
      public void setLayout(Layout layout);        
  
      public Control getControl();
  
      public void setControl(Control control);        
  
  }
  
  
  1.1                  jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/Layout.java
  
  Index: Layout.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2000-2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *     "Apache Jetspeed" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache" or
   *    "Apache Jetspeed", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  package org.apache.jetspeed.om.profile;
  
  
  /**
   * Default bean like implementation of the layout entry in psml
   * 
   * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
   * @version $Id: Layout.java,v 1.1 2002/03/22 18:38:35 taylor Exp $
   */
  public interface Layout extends ConfigElement 
  {   
      public long getPosition();
                                  
      public void setPosition( long position );
      
      public long getSize();
                                  
      public void setSize( long size );    
  
  }
  
  
  1.1                  jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/MetaInfo.java
  
  Index: MetaInfo.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2000-2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *     "Apache Jetspeed" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache" or
   *    "Apache Jetspeed", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
   
  package org.apache.jetspeed.om.profile;
  
  /**
   * Interface describing meta info for an entry. 
   *
   * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
   * @version $Id: MetaInfo.java,v 1.1 2002/03/22 18:38:35 taylor Exp $
   */
  public interface MetaInfo
  {
      
      /** @return the parameter's title */
      public String getTitle();
  
      /** Sets the descsription of this parameter.value.
       * 
       * @param description the new title
       */
      public void setTitle(String title);
  
      /** @return the parameter's description */
      public String getDescription();
  
      /** Sets the descsription of this parameter.value.
       * 
       * @param description the new description
       */
      public void setDescription(String description);
  
      /** @return the image name for this parameter */
      public String getImage();
  
      /** Sets the image name of this parameter.
       * 
       * @param image the new parameter value
       */
      public void setImage(String image);
  
  }
  
  
  1.1                  jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/Portlets.java
  
  Index: Portlets.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2000-2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *     "Apache Jetspeed" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache" or
   *    "Apache Jetspeed", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  package org.apache.jetspeed.om.profile;
  
  import java.util.Vector;
  import java.util.Iterator;
  
  /**
   * Portlets is collection of portlet entries and other portlet sets
   * within a configuration Document.
   * 
   * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
   * @version $Id: Portlets.java,v 1.1 2002/03/22 18:38:35 taylor Exp $
   */
  public interface Portlets extends IdentityElement
  {
      public Controller getController();
  
      public void setController(Controller controller);        
  
      public Vector getPortlets();
  
      public void setPortlets(Vector portlets);        
  
      public Vector getEntries();
  
      public void setEntries(Vector entries);   
      
      public int getEntryCount();
  
      public int getPortletsCount();
  
      public Portlets getPortlets(int index)
          throws java.lang.IndexOutOfBoundsException;
  
      public Entry getEntry(int index)
          throws java.lang.IndexOutOfBoundsException;
  
      public Entry removeEntry(int index);
  
      public Portlets removePortlets(int index);
  
      public Iterator getEntriesIterator();
    
      public Iterator getPortletsIterator();
  
     public void addEntry(Entry entry)
          throws java.lang.IndexOutOfBoundsException;
  
     public void addPortlets(Portlets portlets)
          throws java.lang.IndexOutOfBoundsException;
  
     public Entry[] getEntriesArray();
  
     public Portlets[] getPortletsArray();
    
  }
  
  
  1.1                  jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/Role.java
  
  Index: Role.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2000-2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *     "Apache Jetspeed" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache" or
   *    "Apache Jetspeed", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  package org.apache.jetspeed.om.profile;
  
  /**
   * Interface for security roles in psml
   *
   * 
   * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
   * @version $Id: Role.java,v 1.1 2002/03/22 18:38:35 taylor Exp $
   */
  public interface Role
  {
  
      /** @return the role name that is required for accessing this entry */
      public String getName();
  
      /** Sets the role name required for accessing this entry
       * @param name the required role name
       */
      public void setName( String name );
  
  }
  
  
  1.1                  jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/Security.java
  
  Index: Security.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2000-2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *     "Apache Jetspeed" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache" or
   *    "Apache Jetspeed", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
   
  package org.apache.jetspeed.om.profile;
  
  import java.util.Map;
  import java.util.Vector;
  /**
   * Interface describing security for an entry. 
   *
   * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
   * @version $Id: Security.java,v 1.1 2002/03/22 18:38:35 taylor Exp $
   */
  public interface Security
  {
      
      /** @return all the roles */
      public Vector getRoles();
  
      /** @param the roles */
      public void setRoles(Vector roles);
  
  }
  
  
  1.1                  jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/Skin.java
  
  Index: Skin.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2000-2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *     "Apache Jetspeed" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache" or
   *    "Apache Jetspeed", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  package org.apache.jetspeed.om.profile;
  
  
  /**
   * Default bean like implementation of the skin entry in psml
   * 
   * @author <a href="mailto:raphael@apache.org">Rapha�l Luta</a>
   * @version $Id: Skin.java,v 1.1 2002/03/22 18:38:35 taylor Exp $
   */
  public interface Skin extends ConfigElement 
  {   
      
      String getState();
                                  
      void setState( String state );
  
  }
  
  
  1.4       +95 -48    jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/psml/PsmlConfigElement.java
  
  Index: PsmlConfigElement.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/psml/PsmlConfigElement.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- PsmlConfigElement.java	4 Dec 2001 18:15:54 -0000	1.3
  +++ PsmlConfigElement.java	22 Mar 2002 18:38:36 -0000	1.4
  @@ -54,23 +54,29 @@
   
   package org.apache.jetspeed.om.profile.psml;
   
  -import org.apache.jetspeed.om.profile.*;
   import java.util.Vector;
  -import java.util.Locale;
  +import java.util.Iterator;
  +
  +import org.apache.jetspeed.om.profile.*;
   
   /**
    * Base simple bean-like implementation of the ConfigElement interface
    * suitable for Castor XML serialization.
    * 
    * @author <a href="mailto:raphael@apache.org">Rapha�l Luta</a>
  - * @version $Id: PsmlConfigElement.java,v 1.3 2001/12/04 18:15:54 sgala Exp $
  + * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
  + * @version $Id: PsmlConfigElement.java,v 1.4 2002/03/22 18:38:36 taylor Exp $
    */
  -public abstract class PsmlConfigElement implements ConfigElement, java.io.Serializable
  +public /*abstract*/ class PsmlConfigElement implements ConfigElement, java.io.Serializable
   {
   
  -    private String name;
  +    private String name = null;
       
  -    private PsmlMetaInfo metaInfo;
  +    private Vector parameters = new Vector();
  +
  +
  +    public PsmlConfigElement()
  +    {}
            
       /** @see org.apache.jetspeed.om.registry.RegistryEntry#getName */
       public String getName()
  @@ -84,65 +90,106 @@
           this.name = name;
       }
   
  -    /** @see org.apache.jetspeed.om.registry.RegistryEntry#getTitle */
  -    public String getTitle()
  +    /** @return the parameters */
  +    public Vector getParameters()
       {
  -        if (this.metaInfo != null)
  -        {
  -            return this.metaInfo.getTitle();
  -        }
  -        
  -        return null;
  +        return this.parameters;
       }
                                   
  -    /** @see org.apache.jetspeed.om.registry.RegistryEntry#setTitle */
  -    public void setTitle(String title)
  +    /** Sets the parameters for this element
  +     * @param parameters 
  +     */
  +    public void setParameters(Vector parameters)
  +    {
  +        this.parameters = parameters;
  +    }
  +
  +    public String getParameterValue(String name)
       {
  -        if (this.metaInfo == null)
  +        if (parameters == null)
  +            return null;
  +
  +        for (int ix=0; ix < parameters.size(); ix++)
           {
  -            this.metaInfo = new PsmlMetaInfo();
  +            Parameter param = (Parameter)parameters.elementAt(ix);
  +            if (param.getName().equals(name))
  +                return param.getValue();
           }
  -        
  -        this.metaInfo.setTitle(title);
  -    }
  +        return null;
  +   }
   
  -    /** @see org.apache.jetspeed.om.registry.RegistryEntry#getDescription */
  -    public String getDescription()
  +    public Parameter getParameter(String name)
       {
  -        if (this.metaInfo != null)
  +        if (parameters == null)
  +            return null;
  +
  +        for (int ix=0; ix < parameters.size(); ix++)
           {
  -            return this.metaInfo.getDescription();
  +            Parameter param = (Parameter)parameters.elementAt(ix);
  +            if (param.getName().equals(name))
  +                return param;
           }
  -        
           return null;
  +   }
  +
  +    public Iterator getParameterIterator()
  +    {
  +        return parameters.iterator();
       }
  -                                
  -    /** @see org.apache.jetspeed.om.registry.RegistryEntry#setDescription */
  -    public void setDescription(String description)
  +
  +    public Parameter getParameter(int index)
  +        throws java.lang.IndexOutOfBoundsException
       {
  -        if (this.metaInfo == null)
  -        {
  -            this.metaInfo = new PsmlMetaInfo();
  +        //-- check bounds for index
  +        if ((index < 0) || (index > parameters.size())) {
  +            throw new IndexOutOfBoundsException();
           }
           
  -        this.metaInfo.setDescription(description);
  -    }
  +        return (Parameter) parameters.elementAt(index);
  +    } //-- Parameter getParameter(int) 
   
  -    // Castor serialization methods
  -    
  -    /** Required by Castor 0.8.11 XML serialization for retrieving the metainfo
  -      */
  -    public PsmlMetaInfo getMetaInfo()
  +    public int getParameterCount()
       {
  -        return this.metaInfo;
  -    }
  -                                
  -    /** Required by Castor 0.8.11 XML serialization for setting the entry
  -      * metainfo
  -      */
  -    public void setMetaInfo( PsmlMetaInfo metaInfo )
  +        return parameters.size();
  +    } //-- int getParameterCount() 
  +
  +    public void removeAllParameter()
       {
  -        this.metaInfo = metaInfo;
  -    }
  +        parameters.removeAllElements();
  +    } //-- void removeAllParameter() 
  +
  +    public Parameter removeParameter(int index)
  +    {
  +        Object obj = parameters.elementAt(index);
  +        parameters.removeElementAt(index);
  +        return (Parameter) obj;
  +    } //-- Parameter removeParameter(int) 
  +
  +    public void setParameter(int index, Parameter vParameter)
  +        throws java.lang.IndexOutOfBoundsException
  +    {
  +        //-- check bounds for index
  +        if ((index < 0) || (index > parameters.size())) {
  +            throw new IndexOutOfBoundsException();
  +        }
  +        parameters.setElementAt(vParameter, index);
  +    } //-- void setParameter(int, Parameter) 
  +
  +    public Parameter[] getParameter()
  +    {
  +        int size = parameters.size();
  +        Parameter[] mArray = new Parameter[size];
  +        for (int index = 0; index < size; index++) {
  +            mArray[index] = (Parameter) parameters.elementAt(index);
  +        }
  +        return mArray;
  +    } //-- Parameter[] getParameter() 
  +
  +    public void addParameter(Parameter vParameter)
  +        throws java.lang.IndexOutOfBoundsException
  +    {
  +        parameters.addElement(vParameter);
  +    } //-- void addParameter(Parameter) 
  +
   
   }
  
  
  
  1.3       +6 -21     jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/psml/PsmlControl.java
  
  Index: PsmlControl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/psml/PsmlControl.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- PsmlControl.java	4 Dec 2001 18:15:54 -0000	1.2
  +++ PsmlControl.java	22 Mar 2002 18:38:36 -0000	1.3
  @@ -54,29 +54,14 @@
   
   package org.apache.jetspeed.om.profile.psml;
   
  -import org.apache.jetspeed.om.profile.*;
  +import org.apache.jetspeed.om.profile.Control;
   
   /**
  - * Default bean like implementation of the PortletControlEntry registry
  - * entry
  + * Default bean like implementation of the control entry in psml
    * 
  - * @author <a href="mailto:raphael@apache.org">Rapha�l Luta</a>
  - * @version $Id: PsmlControl.java,v 1.2 2001/12/04 18:15:54 sgala Exp $
  + * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
  + * @version $Id: PsmlControl.java,v 1.3 2002/03/22 18:38:36 taylor Exp $
    */
  -public class PsmlControl extends PsmlParametrable 
  +public class PsmlControl extends PsmlConfigElement implements Control
   {   
  -    private String name;
  -    
  -    /** @see org.apache.jetspeed.om.registry.RegistryEntry#getName */
  -    public String getName()
  -    {
  -        return this.name;
  -    }
  -                                
  -    /** @see org.apache.jetspeed.om.registry.RegistryEntry#setName */
  -    public void setName( String name )
  -    {
  -        this.name = name;
  -    }
  -
  -}
  +}
  \ No newline at end of file
  
  
  
  1.3       +6 -20     jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/psml/PsmlController.java
  
  Index: PsmlController.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/psml/PsmlController.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- PsmlController.java	4 Dec 2001 18:15:54 -0000	1.2
  +++ PsmlController.java	22 Mar 2002 18:38:36 -0000	1.3
  @@ -54,28 +54,14 @@
   
   package org.apache.jetspeed.om.profile.psml;
   
  -import org.apache.jetspeed.om.profile.*;
  +import org.apache.jetspeed.om.profile.Controller;
   
   /**
  - * Bean implementation used to represent the &lt;controller&gt; element
  - * of PSML documents.
  + * Default bean like implementation of the controller entry in psml
    * 
  - * @author <a href="mailto:raphael@apache.org">Rapha�l Luta</a>
  - * @version $Id: PsmlController.java,v 1.2 2001/12/04 18:15:54 sgala Exp $
  + * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
  + * @version $Id: PsmlController.java,v 1.3 2002/03/22 18:38:36 taylor Exp $
    */
  -public class PsmlController extends PsmlParametrable 
  +public class PsmlController extends PsmlConfigElement implements Controller
   {   
  -    private String name;
  -    
  -    /** @see org.apache.jetspeed.om.registry.RegistryEntry#getName */
  -    public String getName()
  -    {
  -        return this.name;
  -    }
  -                                
  -    /** @see org.apache.jetspeed.om.registry.RegistryEntry#setName */
  -    public void setName( String name )
  -    {
  -        this.name = name;
  -    }
  -}
  +}
  \ No newline at end of file
  
  
  
  1.2       +5 -141    jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/psml/PsmlEntry.java
  
  Index: PsmlEntry.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/psml/PsmlEntry.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- PsmlEntry.java	2 Sep 2001 17:58:06 -0000	1.1
  +++ PsmlEntry.java	22 Mar 2002 18:38:36 -0000	1.2
  @@ -65,17 +65,15 @@
    * suitable for serialization with Castor
    * 
    * @author <a href="mailto:raphael@apache.org">Rapha�l Luta</a>
  - * @version $Id: PsmlEntry.java,v 1.1 2001/09/02 17:58:06 raphael Exp $
  + * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
  + * @version $Id: PsmlEntry.java,v 1.2 2002/03/22 18:38:36 taylor Exp $
    */
  -public class PsmlEntry extends PsmlLayoutElement implements Entry
  +public class PsmlEntry extends PsmlIdentityElement implements Entry
   {
   
  -    private String parent;
  +    private String parent = null;
   
  -    private Vector parameter = new Vector();
       
  -    private transient Map nameIdx = null;
  -     
       /** @return the entry name from which this one is derived */
       public String getParent()
       {
  @@ -92,146 +90,11 @@
           this.parent = parent;
       }
                
  -    /** @return an enumeration of this entry parameter names */
  -    public Iterator getParameterNames()
  -    {
  -        synchronized (parameter)
  -        {
  -            if (nameIdx == null)
  -            {
  -                buildNameIndex();
  -            }
  -        }
  -        
  -        return nameIdx.keySet().iterator();
  -    }
  -
  -    /** Search for a named parameter and return the associated
  -     *  parameter object. The search is case sensitive.
  -     *
  -     *  @return the parameter object for a given parameter name
  -     *  @param name the parameter name to look for
  -     */
  -    public Parameter getParameter( String name )
  -    {
  -        synchronized (parameter)
  -        {
  -            if (nameIdx == null)
  -            {
  -                buildNameIndex();
  -            }
  -        }
  -
  -        if (name != null)
  -        {
  -            Integer pos = (Integer)nameIdx.get(name);
  -
  -            if (pos != null)
  -            {
  -                return (Parameter)parameter.elementAt(pos.intValue());
  -            }
  -        }
  -        
  -        return null;
  -    }
  -    
  -    
  -    /** Returns a map of parameter values keyed on the parameter names 
  -     *  @return the parameter values map
  -     */
  -    public Map getParameterMap()
  -    {
  -        Hashtable params = new Hashtable();
  -        Iterator i = parameter.iterator();
  -        while(i.hasNext())
  -        {
  -            Parameter param = (Parameter)i.next();
  -            params.put(param.getName(),param.getValue());
  -        }
  -        
  -        return params;
  -        
  -    }
  -
  -    /** Adds a new parameter for this entry
  -     *  @param name the new parameter name
  -     *  @param value the new parameter value
  -     */
  -    public void addParameter( String name, String value )
  -    {
  -        if (name != null)
  -        {
  -            Parameter p = getParameter(name);
  -            if (p == null)
  -            {
  -                p = new PsmlParameter();
  -                p.setName(name);
  -            }
  -            
  -            p.setValue(value);
  -            
  -            addParameter(p);
  -            
  -        }
  -    }
  -
  -    /** Adds a new parameter for this entry
  -     *  @param parameter the new parameter to add
  -     */
  -    public void addParameter( Parameter param )
  -    {
  -        synchronized (parameter)
  -        {
  -            parameter.addElement( param );
  -            nameIdx.put( param.getName(), new Integer( parameter.size()-1 ) );
  -        }
  -    }
  -
  -    /** Removes all parameter values associated with the
  -     *  name
  -     *
  -     * @param name the parameter name to remove
  -     */
  -    public void removeParameter( String name )
  -    {
  -        if (name == null) return;
  -
  -        synchronized (parameter)
  -        {
  -            Iterator i = parameter.iterator();
  -            while(i.hasNext())
  -            {
  -                Parameter param = (Parameter)i.next();
  -                if (param.getName().equals(name))
  -                {
  -                    i.remove();
  -                }
  -            }
  -            
  -            buildNameIndex();
  -        }
  -    }
  -        
  -    // Castor serialization accessor methods
  -    
  -    /** Needed for Castor 0.8.11 XML serialization for retrieving the 
  -     *  parameters objects associated to this object
  -     */
  -    public Vector getParameters()
  -    {
  -        return this.parameter;
  -    }
  -
  -    public void setParameters(Vector parameters)
  -    {
  -        this.parameter = parameters;
  -    }
   
       /** This method recreates the paramter name index for quick retrieval
        *  of parameters by name. Shoule be called whenever a complete index
        *  of parameter should be rebuilt (eg removing a parameter or setting 
        *  a parameters vector)
  -     */
       private void buildNameIndex()
       {
           Hashtable idx = new Hashtable();
  @@ -247,6 +110,7 @@
           
           this.nameIdx = idx;
       }            
  +     */
   
   }
   
  
  
  
  1.2       +19 -196   jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/psml/PsmlLayout.java
  
  Index: PsmlLayout.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/psml/PsmlLayout.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- PsmlLayout.java	2 Sep 2001 17:58:06 -0000	1.1
  +++ PsmlLayout.java	22 Mar 2002 18:38:36 -0000	1.2
  @@ -54,218 +54,41 @@
   
   package org.apache.jetspeed.om.profile.psml;
   
  -import org.apache.jetspeed.om.profile.*;
  -import org.apache.turbine.util.Log;
  -
  -import java.util.Vector;
  -import java.util.Map;
  -import java.util.List;
  -import java.util.HashMap;
  -import java.util.Iterator;
  +import org.apache.jetspeed.om.profile.Layout;
   
   /**
  - * The BasePortletInfoEntry is a bean like implementation of the PortletInfoEntry
  - * interface suitable for Castor XML serialization
  + * Default bean like implementation of the skin entry in psml
    * 
  - * @see org.apache.jetspeed.om.registry.PortletInfoEntry
  - * @author <a href="mailto:raphael@apache.org">Rapha�l Luta</a>
  - * @version $Id: PsmlLayout.java,v 1.1 2001/09/02 17:58:06 raphael Exp $
  + * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
  + * @version $Id: PsmlLayout.java,v 1.2 2002/03/22 18:38:36 taylor Exp $
    */
  -public class PsmlLayout
  -{
  +public class PsmlLayout extends PsmlConfigElement implements Layout
  +{   
  +    private long position = -1;
  +    private long size = -1;
   
  -    public static final String NORMAL = "normal";
  -    public static final String MINIMIZED = "minimized";
  -    
  -    private String position = null;
  -    
  -    private String status = null;
  -    
  -    private Vector constraints = new Vector();
  -    
  -    private transient Map nameIdx = null;
  -    
  -    public String getPosition()
  -    {
  -        return this.position;
  -    }
  -    
  -    public void setPosition(String position)
  -    {
  -        this.position = position;
  -    }
  -    
  -    public String getStatus()
  -    {
  -        return this.status;
  -    }
  -    
  -    public void setStatus(String status)
  -    {
  -        if ( (status!=null) && (MINIMIZED.equals(status)) )
  -        {
  -            this.status = status;
  -        }
  -        else
  -        {
  -            this.status = NORMAL;
  -        }
  -    }
  -    
  -    /** @return an enumeration of this entry constraints names */
  -    public Iterator getConstraintNames()
  +    public PsmlLayout()
       {
  -        synchronized (constraints)
  -        {
  -            if (nameIdx == null)
  -            {
  -                buildNameIndex();
  -            }
  -        }
  -        
  -        return nameIdx.keySet().iterator();
       }
   
  -    /** Search for a named constraints and return the associated
  -     *  constraints object. The search is case sensitive.
  -     *
  -     *  @return the constraints object for a given constraints name
  -     *  @param name the constraints name to look for
  -     */
  -    public Constraint getConstraint( String name )
  +    public long getPosition()
       {
  -        synchronized (constraints)
  -        {
  -            if (nameIdx == null)
  -            {
  -                buildNameIndex();
  -            }
  -        }
  -
  -        if (name != null)
  -        {
  -            Integer pos = (Integer)nameIdx.get(name);
  -
  -            if (pos != null)
  -            {
  -                return (Constraint)constraints.elementAt(pos.intValue());
  -            }
  -        }
  -        
  -        return null;
  -    }
  -    
  -    
  -    /** Returns a map of constraints values keyed on the constraints names 
  -     *  @return the constraints values map
  -     */
  -    public Map getConstraintMap()
  -    {
  -        Map params = new HashMap();
  -        Iterator i = constraints.iterator();
  -        while(i.hasNext())
  -        {
  -            Constraint param = (Constraint)i.next();
  -            params.put(param.getName(),param.getValue());
  -        }
  -        
  -        return params;
  -        
  -    }
  -
  -    /** Adds a new constraints for this entry
  -     *  @param name the new constraints name
  -     *  @param value the new constraints value
  -     */
  -    public void addConstraint( String name, String value )
  -    {
  -        if (name != null)
  -        {
  -            Constraint p = getConstraint(name);
  -            if (p == null)
  -            {
  -                p = new PsmlConstraint();
  -                p.setName(name);
  -            }
  -            
  -            p.setValue(value);
  -            
  -            addConstraint(p);
  -            
  -        }
  -    }
  -
  -    /** Adds a new constraints for this entry
  -     *  @param constraints the new constraints to add
  -     */
  -    public void addConstraint( Constraint constraint )
  -    {
  -        synchronized (constraints)
  -        {
  -            constraints.addElement( constraint );
  -            nameIdx.put( constraint.getName(), new Integer( constraints.size()-1 ) );
  -        }
  +        return this.position;
       }
  -
  -    /** Removes all constraints values associated with the
  -     *  name
  -     *
  -     * @param name the constraints name to remove
  -     */
  -    public void removeConstraint( String name )
  +                              
  +    public void setPosition(long position)
       {
  -        if (name == null) return;
  -
  -        synchronized (constraints)
  -        {
  -            Iterator i = constraints.iterator();
  -            while(i.hasNext())
  -            {
  -                Constraint param = (Constraint)i.next();
  -                if (param.getName().equals(name))
  -                {
  -                    i.remove();
  -                }
  -            }
  -            
  -            buildNameIndex();
  -        }
  +        this.position = position;
       }
  -        
  -    // Castor serialization accessor methods
       
  -    /** Needed for Castor 0.8.11 XML serialization for retrieving the 
  -     *  constraintss objects associated to this object
  -     */
  -    public Vector getConstraints()
  +    public long getSize()
       {
  -        return this.constraints;
  +        return this.size;
       }
  -
  -    public void setConstraints(Vector constraintss)
  +                                
  +    public void setSize( long size )
       {
  -        this.constraints = constraintss;
  +        this.size = size;
       }
  -
  -    /** This method recreates the paramter name index for quick retrieval
  -     *  of constraintss by name. Shoule be called whenever a complete index
  -     *  of constraints should be rebuilt (eg removing a constraints or setting 
  -     *  a constraintss vector)
  -     */
  -    private void buildNameIndex()
  -    {
  -        Map idx = new HashMap();
  -        
  -        Iterator i = constraints.iterator();
  -        int count = 0;
  -        while( i.hasNext() )
  -        {
  -            Constraint p = (Constraint)i.next();
  -            idx.put( p.getName(), new Integer(count) );
  -            count++;
  -        }
  -        
  -        this.nameIdx = idx;
  -    }            
   
   }
  
  
  
  1.2       +5 -5      jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/psml/PsmlMetaInfo.java
  
  Index: PsmlMetaInfo.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/psml/PsmlMetaInfo.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- PsmlMetaInfo.java	2 Sep 2001 17:58:06 -0000	1.1
  +++ PsmlMetaInfo.java	22 Mar 2002 18:38:36 -0000	1.2
  @@ -60,15 +60,15 @@
    * Bean like implementation of a meta-info repository
    * 
    * @author <a href="mailto:raphael@apache.org">Rapha�l Luta</a>
  - * @version $Id: PsmlMetaInfo.java,v 1.1 2001/09/02 17:58:06 raphael Exp $
  + * @version $Id: PsmlMetaInfo.java,v 1.2 2002/03/22 18:38:36 taylor Exp $
    */
  -public class PsmlMetaInfo implements java.io.Serializable
  +public class PsmlMetaInfo implements MetaInfo
   {     
  -    private String title;
  +    private String title = null;
        
  -    private String description;
  +    private String description = null;
            
  -    private String image;
  +    private String image = null;
   
       /** @return the title for this entry */         
       public String getTitle()
  
  
  
  1.2       +30 -29    jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/psml/PsmlParameter.java
  
  Index: PsmlParameter.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/psml/PsmlParameter.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- PsmlParameter.java	2 Sep 2001 17:58:06 -0000	1.1
  +++ PsmlParameter.java	22 Mar 2002 18:38:36 -0000	1.2
  @@ -51,55 +51,56 @@
    * information on the Apache Software Foundation, please see
    * <http://www.apache.org/>.
    */
  - 
  -package org.apache.jetspeed.om.profile.psml;
   
  -import org.apache.jetspeed.om.profile.*;
  +package org.apache.jetspeed.om.profile.psml;
   
   import java.util.Vector;
  -import java.util.List;
  +
  +import org.apache.jetspeed.om.profile.Parameter;
   
   /**
    * Bean like implementation of the Parameter interface suitable for 
    * Castor serialization.
    * 
  - * @see org.apache.jetspeed.om.profile.Parameter
  - * @author <a href="mailto:raphael@apache.org">Rapha�l Luta</a>
  - * @version $Id: PsmlParameter.java,v 1.1 2001/09/02 17:58:06 raphael Exp $
  + * @see org.apache.jetspeed.om.registry.PsmlParameter
  + * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
  + * @version $Id: PsmlParameter.java,v 1.2 2002/03/22 18:38:36 taylor Exp $
    */
   public class PsmlParameter implements Parameter, java.io.Serializable
   {
   
  -    private String value = null;
  -    private String name = null;
  +    private String name;
  +    private String value;
  +
  +    public PsmlParameter()
  +    {}
       
  -    /** @return the value for this parameter */
  -    public String getValue()
  +    /** @return the name of the parameter */
  +    public String getName()
       {
  -        return this.value;
  +        return this.name;
       }
  -    
  -    /** Sets the value of this parameter.
  -     * 
  -     * @param value the new parameter value
  +                                
  +    /** Sets the parameter name
  +     * @param name the parmeter name
        */
  -    public void setValue(String value)
  +    public void setName( String name )
       {
  -        this.value = value;
  +        this.name = name;
       }
   
  -    /** @return the parameter's name */
  -    public String getName()
  +    /** @return the value of the parameter */
  +    public String getValue()
       {
  -        return this.name;
  +        return this.value;
       }
  -    
  -    /** Sets the type of this parameter.value.
  -     * 
  -     * @param type the new parameter type
  +                                
  +    /** 
  +     * @param value the parameter value
        */
  -    public void setName(String name)
  +    public void setValue( String value )
       {
  -        this.name = name;
  -    }    
  -}
  +        this.value = value;
  +    }
  +
  +}
  \ No newline at end of file
  
  
  
  1.3       +9 -12     jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/psml/PsmlSkin.java
  
  Index: PsmlSkin.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/psml/PsmlSkin.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- PsmlSkin.java	4 Dec 2001 18:15:54 -0000	1.2
  +++ PsmlSkin.java	22 Mar 2002 18:38:36 -0000	1.3
  @@ -54,29 +54,26 @@
   
   package org.apache.jetspeed.om.profile.psml;
   
  -import org.apache.jetspeed.om.profile.*;
  +import org.apache.jetspeed.om.profile.Skin;
   
   /**
  - * Default bean like implementation of the PortletControlEntry registry
  - * entry
  + * Default bean like implementation of the skin entry in psml
    * 
    * @author <a href="mailto:raphael@apache.org">Rapha�l Luta</a>
  - * @version $Id: PsmlSkin.java,v 1.2 2001/12/04 18:15:54 sgala Exp $
  + * @version $Id: PsmlSkin.java,v 1.3 2002/03/22 18:38:36 taylor Exp $
    */
  -public class PsmlSkin extends PsmlParametrable 
  +public class PsmlSkin extends PsmlConfigElement implements Skin
   {   
  -    private String name;
  +    private String state = null;                                       
       
  -    /** @see org.apache.jetspeed.om.registry.RegistryEntry#getName */
  -         public String getName()
  +    public String getState()
       {
  -        return this.name;
  +        return this.state;
       }
                                   
  -    /** @see org.apache.jetspeed.om.registry.RegistryEntry#setName */
  -     public void setName( String name )
  +    public void setState( String state )
       {
  -        this.name = name;
  +        this.state = state;
       }
   
   }
  
  
  
  1.1                  jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/psml/PsmlIdentityElement.java
  
  Index: PsmlIdentityElement.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2000-2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *     "Apache Jetspeed" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache" or
   *    "Apache Jetspeed", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  package org.apache.jetspeed.om.profile.psml;
  
  import java.util.Vector;
  import java.util.Iterator;
  import org.apache.jetspeed.services.idgenerator.JetspeedIdGenerator;
  
  import org.apache.jetspeed.om.profile.*;
  
  /**
   * Base simple bean-like implementation of the IdentityElement interface
   * suitable for Castor XML serialization.
   * 
   * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
   * @version $Id: PsmlIdentityElement.java,v 1.1 2002/03/22 18:38:36 taylor Exp $
   */
  public /*abstract*/ class PsmlIdentityElement extends PsmlConfigElement implements IdentityElement, java.io.Serializable                                                
  {
  
      private String id = null;
      
      private MetaInfo metaInfo = new PsmlMetaInfo();
  
      private Skin skin = new PsmlSkin();
  
      private Layout layout = new PsmlLayout();
  
      private Control control = new PsmlControl();
  
      private Controller controller = new PsmlController();
  
      public PsmlIdentityElement()
      {}
  
      /** @see org.apache.jetspeed.om.registry.RegistryEntry#getId */
      public String getId()
      {
          if (this.id == null)
          {
              this.id = JetspeedIdGenerator.getNextPeid();
          }
          return this.id;
      }
                                  
      /** @see org.apache.jetspeed.om.registry.RegistryEntry#setId */
      public void setId( String id )
      {
          this.id = id;
      }
    
      public Skin getSkin()
      {
          return this.skin;
      }
  
      public void setSkin(Skin skin)
      {
          this.skin = skin;
      }
  
      public Layout getLayout()
      {
          return this.layout;
      }
  
      public void setLayout(Layout layout)
      {
          this.layout = layout;
      }
  
      public Control getControl()
      {
          return this.control;
      }
  
      public void setControl(Control control)
      {
          this.control = control;
      }
  
      public Controller getController()
      {
          return this.controller;
      }
  
      public void setController(Controller controller)
      {
          this.controller = controller;
      }
  
  
      // Castor serialization methods
      
      /** Required by Castor 0.8.11 XML serialization for retrieving the metainfo
        */
      public MetaInfo getMetaInfo()
      {
          return this.metaInfo;
      }
                                  
      /** Required by Castor 0.8.11 XML serialization for setting the entry
        * metainfo
        */
      public void setMetaInfo( MetaInfo metaInfo )
      {
          this.metaInfo = metaInfo;
      }
  
      // helper getter setters into meta info
  
      /** @see org.apache.jetspeed.om.registry.MetaInfo#getTitle */
      public String getTitle()
      {
          if (this.metaInfo != null)
          {
              return this.metaInfo.getTitle();
          }
          
          return null;
      }
                                  
      /** @see org.apache.jetspeed.om.registry.MetaInfo#setTitle */
      public void setTitle(String title)
      {
          if (this.metaInfo == null)
          {
              this.metaInfo = new PsmlMetaInfo();
          }
          
          this.metaInfo.setTitle(title);
      }
  
      /** @see org.apache.jetspeed.om.registry.MetaInfo#getDescription */
      public String getDescription()
      {
          if (this.metaInfo != null)
          {
              return this.metaInfo.getDescription();
          }
          
          return null;
      }
                                  
      /** @see org.apache.jetspeed.om.registry.MetaInfo#setDescription */
      public void setDescription(String description)
      {
          if (this.metaInfo == null)
          {
              this.metaInfo = new PsmlMetaInfo();
          }
          
          this.metaInfo.setDescription(description);
      }
  
      /** @see org.apache.jetspeed.om.registry.MetaInfo#getImage */
      public String getImage()
      {
          if (this.metaInfo != null)
          {
              return this.metaInfo.getImage();
          }
          
          return null;
      }
                                  
      /** @see org.apache.jetspeed.om.registry.MetaInfo#setImage */
      public void setImage(String image)
      {
          if (this.metaInfo == null)
          {
              this.metaInfo = new PsmlMetaInfo();
          }
          
          this.metaInfo.setImage(image);
      }
  
  }
  
  
  1.1                  jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/psml/PsmlPortlets.java
  
  Index: PsmlPortlets.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2000-2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *     "Apache Jetspeed" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache" or
   *    "Apache Jetspeed", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  package org.apache.jetspeed.om.profile.psml;
  
  import java.util.Vector;
  import java.util.Iterator;
  
  import org.apache.jetspeed.om.profile.*;
  
  /**
   * Base simple bean-like implementation of the Portlets interface
   * suitable for Castor XML serialization.
   * 
   * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
   * @version $Id: PsmlPortlets.java,v 1.1 2002/03/22 18:38:36 taylor Exp $
   */
  public class PsmlPortlets extends PsmlIdentityElement implements Portlets, java.io.Serializable                                                
  {
      private Controller controller = null;
  
      private Vector portlets = new Vector();
  
      private Vector entries = new Vector();
  
      public PsmlPortlets()
      {}
  
      public Controller getController()
      {
          return this.controller;
      }
  
      public void setController(Controller controller)
      {
          this.controller = controller;
      }
  
      public Vector getEntries()
      {
          return this.entries;
      }
  
      public void setEntries(Vector entries)
      {
          this.entries = entries;
      }
  
      public Vector getPortlets()
      {
          return this.portlets;
      }
  
      public void setPortlets(Vector portlets)
      {
          this.portlets = portlets;
      }
  
      public int getEntryCount()
      {
          return this.entries.size();
      }
  
      public int getPortletsCount()
      {
          return this.portlets.size();
      }
  
      public Entry removeEntry(int index)
      {
          Object obj = entries.elementAt(index);
          entries.removeElementAt(index);
          return (Entry) obj;
      } 
  
      public Portlets removePortlets(int index)
      {
          Object obj = portlets.elementAt(index);
          portlets.removeElementAt(index);
          return (Portlets) obj;
      } 
  
      public Entry getEntry(int index)
          throws java.lang.IndexOutOfBoundsException
      {
          //-- check bounds for index
          if ((index < 0) || (index > entries.size())) {
              throw new IndexOutOfBoundsException();
          }
          
          return (Entry) entries.elementAt(index);
      } 
  
      public Portlets getPortlets(int index)
          throws java.lang.IndexOutOfBoundsException
      {
          //-- check bounds for index
          if ((index < 0) || (index > portlets.size())) {
              throw new IndexOutOfBoundsException();
          }
          
          return (Portlets) portlets.elementAt(index);
      } 
  
  
      public Iterator getEntriesIterator()
      {
          return entries.iterator();
      }
  
      public Iterator getPortletsIterator()
      {
          return portlets.iterator();
      }
  
      public void addEntry(Entry entry)
          throws java.lang.IndexOutOfBoundsException
      {
          entries.addElement(entry);
      } 
  
      public void addPortlets(Portlets p)
          throws java.lang.IndexOutOfBoundsException
      {
          portlets.addElement(p);
      } 
  
      public Entry[] getEntriesArray()
      {
          int size = entries.size();
          Entry[] mArray = new Entry[size];
          for (int index = 0; index < size; index++) {
              mArray[index] = (Entry) entries.elementAt(index);
          }
          return mArray;
      }
  
      public Portlets[] getPortletsArray()
      {
          int size = portlets.size();
          Portlets[] mArray = new Portlets[size];
          for (int index = 0; index < size; index++) {
              mArray[index] = (Portlets) portlets.elementAt(index);
          }
          return mArray;
      }
  
  
  }
  
  
  1.1                  jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/psml/PsmlRole.java
  
  Index: PsmlRole.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2000-2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *     "Apache Jetspeed" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache" or
   *    "Apache Jetspeed", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  package org.apache.jetspeed.om.profile.psml;
  
  import java.util.Vector;
  
  import org.apache.jetspeed.om.profile.Role;
  
  /**
   * Bean like implementation of the Role interface suitable for 
   * Castor serialization.
   * 
   * @see org.apache.jetspeed.om.registry.Security
   * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
   * @version $Id: PsmlRole.java,v 1.1 2002/03/22 18:38:36 taylor Exp $
   */
  public class PsmlRole implements Role, java.io.Serializable
  {
  
      private String name = null;
  
      public PsmlRole()
      {}
      
      /** @return the role name that is required for accessing this entry */
      public String getName()
      {
          return this.name;
      }
                                  
      /** Sets the role name required for accessing this entry
       * @param name the required role name
       */
      public void setName( String name )
      {
          this.name = name;
      }
  
  }
  
  
  1.1                  jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/psml/PsmlSecurity.java
  
  Index: PsmlSecurity.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2000-2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *     "Apache Jetspeed" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache" or
   *    "Apache Jetspeed", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  package org.apache.jetspeed.om.profile.psml;
  
  import java.util.Vector;
  
  import org.apache.jetspeed.om.profile.Security;
  
  /**
   * Bean like implementation of the Security interface suitable for 
   * Castor serialization.
   * 
   * @see org.apache.jetspeed.om.registry.Security
   * @author <a href="mailto:raphael@apache.org">Rapha�l Luta</a>
   * @version $Id: PsmlSecurity.java,v 1.1 2002/03/22 18:38:36 taylor Exp $
   */
  public class PsmlSecurity implements Security, java.io.Serializable
  {
  
      private Vector roles = null;
  
      public PsmlSecurity()
      {}
      
      /** @return the role name that is required for accessing this entry */
      public Vector getRoles()
      {
          return this.roles;
      }
                                  
      /** Sets the role name required for accessing this entry
       * @param role the required role name
       */
      public void setRoles( Vector roles )
      {
          this.roles = roles;
      }
  
  }
  
  
  1.2       +1 -2      jakarta-jetspeed/src/java/org/apache/jetspeed/om/registry/Security.java
  
  Index: Security.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/om/registry/Security.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Security.java	29 Jul 2001 13:41:53 -0000	1.1
  +++ Security.java	22 Mar 2002 18:38:36 -0000	1.2
  @@ -57,10 +57,9 @@
   /**
    * Interface for manipulatin the access rights on the registry entries
    *
  - * FIXME: This needs to be expanded to be more flexible
    * 
    * @author <a href="mailto:raphael@apache.org">Rapha�l Luta</a>
  - * @version $Id: Security.java,v 1.1 2001/07/29 13:41:53 raphael Exp $
  + * @version $Id: Security.java,v 1.2 2002/03/22 18:38:36 taylor Exp $
    */
   public interface Security
   {
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>