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 wo...@apache.org on 2009/09/09 12:38:42 UTC

svn commit: r812877 [1/2] - in /portals/jetspeed-2/portal/trunk: components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/ components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/ components/jetspeed-registry/src/m...

Author: woonsan
Date: Wed Sep  9 10:38:41 2009
New Revision: 812877

URL: http://svn.apache.org/viewvc?rev=812877&view=rev
Log:
JS2-1061: Allowing empty namespaced portlet descriptor for old PAs.
If there's no namespace uri specified in the portlet descriptor, then it is regarded as a portlet-1.0 schema based with a warning log message.
To accomplish this, pluto's portlet 1.0 JAXB package is copied into new package, "o.a.j.descriptor.om.portlet10" with empty namespace uri and added into the JAXB context.
Because this does all validations as well, I believe it will make no harm.

Added:
    portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/JetspeedPortletAppDescriptorServiceImpl.java   (with props)
    portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/
    portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/
    portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/
    portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/ContainerRuntimeOptionType.java   (with props)
    portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/CustomPortletModeType.java   (with props)
    portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/CustomWindowStateType.java   (with props)
    portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/DescriptionType.java   (with props)
    portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/DisplayNameType.java   (with props)
    portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/InitParamType.java   (with props)
    portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/ObjectFactory.java   (with props)
    portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletAppType.java   (with props)
    portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletCollectionType.java   (with props)
    portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletInfoType.java   (with props)
    portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletPreferencesType.java   (with props)
    portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletType.java   (with props)
    portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PreferenceType.java   (with props)
    portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/SecurityConstraintType.java   (with props)
    portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/SecurityRoleRefType.java   (with props)
    portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/SupportsType.java   (with props)
    portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/UserAttributeType.java   (with props)
    portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/UserDataConstraintType.java   (with props)
    portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/package-info.java   (with props)
Modified:
    portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/JetspeedDescriptorServiceImpl.java
    portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/deployment.xml

Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/JetspeedDescriptorServiceImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/JetspeedDescriptorServiceImpl.java?rev=812877&r1=812876&r2=812877&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/JetspeedDescriptorServiceImpl.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/JetspeedDescriptorServiceImpl.java Wed Sep  9 10:38:41 2009
@@ -80,7 +80,7 @@
  * Jetspeed Descriptor service for loading portlet applications in a Jetspeed format.
  * 
  * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
- * @version $Id: $
+ * @version $Id$
  */
 public class JetspeedDescriptorServiceImpl implements JetspeedDescriptorService
 {

Added: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/JetspeedPortletAppDescriptorServiceImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/JetspeedPortletAppDescriptorServiceImpl.java?rev=812877&view=auto
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/JetspeedPortletAppDescriptorServiceImpl.java (added)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/JetspeedPortletAppDescriptorServiceImpl.java Wed Sep  9 10:38:41 2009
@@ -0,0 +1,117 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jetspeed.descriptor;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Unmarshaller;
+
+import org.apache.pluto.container.impl.PortletAppDescriptorServiceImpl;
+import org.apache.pluto.container.om.portlet.PortletApplicationDefinition;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/** 
+ * JAXB implementation of the xml2java binding, overriding unmarshalling with custom namespace handling.
+ * 
+ * @version $Id$
+ */
+public class JetspeedPortletAppDescriptorServiceImpl extends PortletAppDescriptorServiceImpl
+{
+    private static Logger log = LoggerFactory.getLogger(JetspeedPortletAppDescriptorServiceImpl.class);
+    
+    private boolean allowEmptyNamespace;
+    
+    public JetspeedPortletAppDescriptorServiceImpl()
+    {
+    }
+    
+    public JetspeedPortletAppDescriptorServiceImpl(boolean allowEmptyNamespace)
+    {
+        this.allowEmptyNamespace = allowEmptyNamespace;
+    }
+    
+    @SuppressWarnings("unchecked")
+    @Override
+    public PortletApplicationDefinition read(String name, String contextPath, InputStream in) throws IOException 
+    {
+        if (!allowEmptyNamespace)
+        {
+            return super.read(name, contextPath, in);
+        }
+        else
+        {
+            JAXBElement app = null;
+            
+            try
+            {
+                JAXBContext jc = JAXBContext.newInstance(
+                        "org.apache.pluto.container.om.portlet10.impl" + ":" +
+                        "org.apache.pluto.container.om.portlet.impl" + ":" +
+                        "org.apache.jetspeed.descriptor.om.portlet10.impl", 
+                        PortletAppDescriptorServiceImpl.class.getClassLoader());
+                
+                Unmarshaller u = jc.createUnmarshaller();
+                u.setEventHandler(new javax.xml.bind.helpers.DefaultValidationEventHandler());
+                
+                app = (JAXBElement) u.unmarshal(in);
+            }
+            catch (JAXBException jaxbEx)
+            {
+                final IOException ioe = new IOException(jaxbEx.getMessage());
+                ioe.initCause(jaxbEx);
+                throw ioe;
+            }
+            catch (Exception me)
+            {
+                final IOException ioe = new IOException(me.getLocalizedMessage());
+                ioe.initCause(me);
+                throw new IOException(me.getLocalizedMessage());
+            }
+            
+            PortletApplicationDefinition pad = null;
+            
+            if (app.getValue() instanceof org.apache.pluto.container.om.portlet10.impl.PortletAppType)
+            {
+                pad = ((org.apache.pluto.container.om.portlet10.impl.PortletAppType)app.getValue()).upgrade();
+            }
+            else if (app.getValue() instanceof org.apache.jetspeed.descriptor.om.portlet10.impl.PortletAppType)
+            {
+                if (log.isWarnEnabled())
+                {
+                    log.warn("The portlet descriptor of {} ({}) will be treated as Portlet 1.0 schema based due to the empty namespace uri.", 
+                             name, contextPath);
+                }
+                pad = ((org.apache.jetspeed.descriptor.om.portlet10.impl.PortletAppType)app.getValue()).upgrade();
+            }
+            else
+            {
+                pad = (PortletApplicationDefinition)app.getValue();
+            }
+            
+            pad.setName(name);
+            pad.setContextPath(contextPath);
+            
+            return pad;
+        }
+    }
+    
+}

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/JetspeedPortletAppDescriptorServiceImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/JetspeedPortletAppDescriptorServiceImpl.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/JetspeedPortletAppDescriptorServiceImpl.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/ContainerRuntimeOptionType.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/ContainerRuntimeOptionType.java?rev=812877&view=auto
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/ContainerRuntimeOptionType.java (added)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/ContainerRuntimeOptionType.java Wed Sep  9 10:38:41 2009
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jetspeed.descriptor.om.portlet10.impl;
+
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+/**
+ * The container-runtime-option element contains settings for the portlet container that the portlet expects to be
+ * honored at runtime. These settings may re-define default portlet container behavior, like the javax.portlet.escapeXml
+ * setting that disables XML encoding of URLs produced by the portlet tag library as default. Names with the
+ * javax.portlet prefix are reserved for the Java Portlet Specification. Used in: portlet-app, portlet <p>Java class
+ * for container-runtime-optionType complex type. <p>The following schema fragment specifies the expected content
+ * contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name=&quot;container-runtime-optionType&quot;&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base=&quot;{http://www.w3.org/2001/XMLSchema}anyType&quot;&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name=&quot;name&quot; type=&quot;{http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd}nameType&quot;/&gt;
+ *         &lt;element name=&quot;value&quot; type=&quot;{http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd}valueType&quot; maxOccurs=&quot;unbounded&quot; minOccurs=&quot;0&quot;/&gt;
+ *       &lt;/sequence&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ * 
+ * @version $Id$
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "container-runtime-optionType", propOrder = { "name", "value" })
+public class ContainerRuntimeOptionType
+{
+    @XmlElement(required = true)
+    @XmlJavaTypeAdapter(value=CollapsedStringAdapter.class)
+    String name;
+    @XmlJavaTypeAdapter(value=CollapsedStringAdapter.class)
+    List<String> value;
+}

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/ContainerRuntimeOptionType.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/ContainerRuntimeOptionType.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/ContainerRuntimeOptionType.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/CustomPortletModeType.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/CustomPortletModeType.java?rev=812877&view=auto
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/CustomPortletModeType.java (added)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/CustomPortletModeType.java Wed Sep  9 10:38:41 2009
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jetspeed.descriptor.om.portlet10.impl;
+
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+/**
+ * A custom portlet mode that one or more portlets in this portlet application supports. Used in: portlet-app <p>Java
+ * class for custom-portlet-modeType complex type. <p>The following schema fragment specifies the expected content
+ * contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name=&quot;custom-portlet-modeType&quot;&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base=&quot;{http://www.w3.org/2001/XMLSchema}anyType&quot;&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name=&quot;description&quot; type=&quot;{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}descriptionType&quot; maxOccurs=&quot;unbounded&quot; minOccurs=&quot;0&quot;/&gt;
+ *         &lt;element name=&quot;portlet-mode&quot; type=&quot;{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}portlet-modeType&quot;/&gt;
+ *       &lt;/sequence&gt;
+ *       &lt;attribute name=&quot;id&quot; type=&quot;{http://www.w3.org/2001/XMLSchema}string&quot; /&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ * 
+ * @version $Id$
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "custom-portlet-modeType", propOrder = { "description", "portletMode" })
+public class CustomPortletModeType
+{
+    @XmlElement(name = "description")
+    List<DescriptionType> description;
+    @XmlElement(name = "portlet-mode", required = true)
+    @XmlJavaTypeAdapter(value = CollapsedStringAdapter.class)
+    String portletMode;
+}

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/CustomPortletModeType.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/CustomPortletModeType.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/CustomPortletModeType.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/CustomWindowStateType.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/CustomWindowStateType.java?rev=812877&view=auto
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/CustomWindowStateType.java (added)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/CustomWindowStateType.java Wed Sep  9 10:38:41 2009
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jetspeed.descriptor.om.portlet10.impl;
+
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+/**
+ * A custom window state that one or more portlets in this portlet application supports. Used in: portlet-app <p>Java
+ * class for custom-window-stateType complex type. <p>The following schema fragment specifies the expected content
+ * contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="custom-window-stateType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="window-state" type="{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}window-stateType"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * @version $Id$
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "custom-window-stateType", propOrder = { "description", "windowState" })
+public class CustomWindowStateType
+{
+    @XmlElement(name = "description")
+    List<DescriptionType> description;
+    @XmlElement(name = "window-state", required = true)
+    @XmlJavaTypeAdapter(value=CollapsedStringAdapter.class)
+    String windowState;
+}

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/CustomWindowStateType.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/CustomWindowStateType.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/CustomWindowStateType.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/DescriptionType.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/DescriptionType.java?rev=812877&view=auto
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/DescriptionType.java (added)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/DescriptionType.java Wed Sep  9 10:38:41 2009
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jetspeed.descriptor.om.portlet10.impl;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+/**
+ * The description element is used to provide text describing the parent element. The description element should include
+ * any information that the portlet application war file producer wants to provide to the consumer of the portlet
+ * application war file (i.e., to the Deployer). Typically, the tools used by the portlet application war file consumer
+ * will display the description when processing the parent element that contains the description. It has an optional
+ * attribute xml:lang to indicate which language is used in the description according to RFC 1766
+ * (http://www.ietf.org/rfc/rfc1766.txt). The default value of this attribute is English(“en”). Used in: init-param,
+ * portlet, portlet-app, security-role <p>Java class for descriptionType complex type. <p>The following schema
+ * fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="descriptionType">
+ *   &lt;simpleContent>
+ *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
+ *       &lt;attribute ref="{http://www.w3.org/XML/1998/namespace}lang"/>
+ *     &lt;/extension>
+ *   &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * @version $Id$
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "descriptionType", propOrder = { "value" })
+public class DescriptionType
+{
+    @XmlValue
+    @XmlJavaTypeAdapter(value=CollapsedStringAdapter.class)
+    String value;
+    @XmlAttribute(namespace = "http://www.w3.org/XML/1998/namespace")
+    String lang = null;
+}

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/DescriptionType.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/DescriptionType.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/DescriptionType.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/DisplayNameType.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/DisplayNameType.java?rev=812877&view=auto
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/DisplayNameType.java (added)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/DisplayNameType.java Wed Sep  9 10:38:41 2009
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jetspeed.descriptor.om.portlet10.impl;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+/**
+ * The display-name type contains a short name that is intended to be displayed by tools. It is used by display-name
+ * elements. The display name need not be unique. Example: ...
+ * 
+ * <pre>
+ * &lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;display-name xmlns="http://www.w3.org/2001/XMLSchema" xmlns:portlet="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en"&gt;Employee Self Service&lt;/display-name&gt;
+ * </pre>
+ * 
+ * It has an optional attribute xml:lang to indicate which language is used in the description according to RFC 1766
+ * (http://www.ietf.org/rfc/rfc1766.txt). The default value of this attribute is English(“en”). <p>Java class for
+ * display-nameType complex type. <p>The following schema fragment specifies the expected content contained within this
+ * class.
+ * 
+ * <pre>
+ * &lt;complexType name="display-nameType">
+ *   &lt;simpleContent>
+ *     &lt;extension base="&lt;http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd>string">
+ *       &lt;attribute ref="{http://www.w3.org/XML/1998/namespace}lang"/>
+ *     &lt;/extension>
+ *   &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * @version $Id$
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "display-nameType", propOrder = { "value" })
+public class DisplayNameType
+{
+    @XmlValue
+    @XmlJavaTypeAdapter(value = CollapsedStringAdapter.class)
+    String value;
+    @XmlAttribute(namespace = "http://www.w3.org/XML/1998/namespace")
+    String lang = null;
+}

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/DisplayNameType.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/DisplayNameType.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/DisplayNameType.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/InitParamType.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/InitParamType.java?rev=812877&view=auto
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/InitParamType.java (added)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/InitParamType.java Wed Sep  9 10:38:41 2009
@@ -0,0 +1,62 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jetspeed.descriptor.om.portlet10.impl;
+
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+/**
+ * The init-param element contains a name/value pair as an initialization param of the portlet Used in:portlet <p>Java
+ * class for init-paramType complex type. <p>The following schema fragment specifies the expected content contained
+ * within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="init-paramType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="name" type="{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}nameType"/>
+ *         &lt;element name="value" type="{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}valueType"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * @version $Id$
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "init-paramType", propOrder = { "description", "name", "value" })
+public class InitParamType
+{
+    @XmlElement(name = "description")
+    List<DescriptionType> description;
+    @XmlElement(required = true)
+    @XmlJavaTypeAdapter(value=CollapsedStringAdapter.class)
+    String name;
+    @XmlElement(required = true)
+    @XmlJavaTypeAdapter(value=CollapsedStringAdapter.class)
+    String value;
+}

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/InitParamType.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/InitParamType.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/InitParamType.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/ObjectFactory.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/ObjectFactory.java?rev=812877&view=auto
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/ObjectFactory.java (added)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/ObjectFactory.java Wed Sep  9 10:38:41 2009
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jetspeed.descriptor.om.portlet10.impl;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlElementDecl;
+import javax.xml.bind.annotation.XmlRegistry;
+import javax.xml.namespace.QName;
+
+/**
+ * This object contains factory methods for each Java content interface and Java element interface generated in the
+ * org.apache.pluto.descriptors.portlet10 package. <p>An ObjectFactory allows you to programatically construct new
+ * instances of the Java representation for XML content. The Java representation of XML content can consist of schema
+ * derived interfaces and classes representing the binding of schema type definitions, element declarations and model
+ * groups. Factory methods for each of these are provided in this class.
+ * 
+ * @version $Id$
+ */
+@XmlRegistry
+public class ObjectFactory
+{
+    private final static QName _PortletApp_QNAME = new QName("",
+                                                             "portlet-app");
+
+    public ObjectFactory()
+    {
+    }
+
+    public PortletAppType createPortletApp()
+    {
+        return new PortletAppType();
+    }
+
+    @XmlElementDecl(namespace = "", name = "portlet-app")
+    public JAXBElement<PortletAppType> createPortletApp(PortletAppType value)
+    {
+        return new JAXBElement<PortletAppType>(_PortletApp_QNAME, PortletAppType.class, null, value);
+    }
+}

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/ObjectFactory.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/ObjectFactory.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/ObjectFactory.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletAppType.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletAppType.java?rev=812877&view=auto
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletAppType.java (added)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletAppType.java Wed Sep  9 10:38:41 2009
@@ -0,0 +1,471 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jetspeed.descriptor.om.portlet10.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+import org.apache.pluto.container.om.portlet.CustomPortletMode;
+import org.apache.pluto.container.om.portlet.CustomWindowState;
+import org.apache.pluto.container.om.portlet.Description;
+import org.apache.pluto.container.om.portlet.DisplayName;
+import org.apache.pluto.container.om.portlet.InitParam;
+import org.apache.pluto.container.om.portlet.PortletApplicationDefinition;
+import org.apache.pluto.container.om.portlet.PortletDefinition;
+import org.apache.pluto.container.om.portlet.PortletInfo;
+import org.apache.pluto.container.om.portlet.Preference;
+import org.apache.pluto.container.om.portlet.Preferences;
+import org.apache.pluto.container.om.portlet.SecurityConstraint;
+import org.apache.pluto.container.om.portlet.SecurityRoleRef;
+import org.apache.pluto.container.om.portlet.Supports;
+import org.apache.pluto.container.om.portlet.UserAttribute;
+
+/**
+ * <p>Java class for portlet-appType complex type.</p> <p>The following schema fragment specifies the expected
+ * content contained within this class.</p>
+ * 
+ * <pre>
+ * &lt;complexType name=&quot;portlet-appType&quot;&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base=&quot;{http://www.w3.org/2001/XMLSchema}anyType&quot;&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name=&quot;portlet&quot; type=&quot;{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}portletType&quot; maxOccurs=&quot;unbounded&quot; minOccurs=&quot;0&quot;/&gt;
+ *         &lt;element name=&quot;custom-portlet-mode&quot; type=&quot;{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}custom-portlet-modeType&quot; maxOccurs=&quot;unbounded&quot; minOccurs=&quot;0&quot;/&gt;
+ *         &lt;element name=&quot;custom-window-state&quot; type=&quot;{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}custom-window-stateType&quot; maxOccurs=&quot;unbounded&quot; minOccurs=&quot;0&quot;/&gt;
+ *         &lt;element name=&quot;user-attribute&quot; type=&quot;{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}user-attributeType&quot; maxOccurs=&quot;unbounded&quot; minOccurs=&quot;0&quot;/&gt;
+ *         &lt;element name=&quot;security-constraint&quot; type=&quot;{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}security-constraintType&quot; maxOccurs=&quot;unbounded&quot; minOccurs=&quot;0&quot;/&gt;
+ *       &lt;/sequence&gt;
+ *       &lt;attribute name=&quot;version&quot; use=&quot;required&quot; type=&quot;{http://www.w3.org/2001/XMLSchema}string&quot; /&gt;
+ *       &lt;attribute name=&quot;id&quot; type=&quot;{http://www.w3.org/2001/XMLSchema}string&quot; /&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ * 
+ * @version $Id$
+ */
+@XmlRootElement(name = "portlet-app")
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "portlet-appType", propOrder = { "portlet", "customPortletMode", "customWindowState", "userAttribute",
+                                                "securityConstraint" })
+public class PortletAppType
+{
+    @XmlElement(name = "portlet")
+    List<PortletType> portlet;
+    @XmlElement(name = "custom-portlet-mode")
+    List<CustomPortletModeType> customPortletMode;
+    @XmlElement(name = "custom-window-state")
+    List<CustomWindowStateType> customWindowState;
+    @XmlElement(name = "user-attribute")
+    List<UserAttributeType> userAttribute;
+    @XmlElement(name = "security-constraint")
+    List<SecurityConstraintType> securityConstraint;
+    @XmlAttribute(required = true)
+    String version = PortletApplicationDefinition.JSR_168_VERSION;
+    
+    public PortletAppType()
+    {
+    }
+    
+    public PortletAppType(PortletApplicationDefinition app)
+    {
+        // downgrade
+        for (PortletDefinition pd : app.getPortlets())
+        {
+            if (portlet == null)
+            {
+                portlet = new ArrayList<PortletType>();
+            }
+            PortletType pt = new PortletType();
+            downgradePortlet(pd, pt);
+            portlet.add(pt);            
+        }
+        for (CustomPortletMode cpm : app.getCustomPortletModes())
+        {
+            if (customPortletMode == null)
+            {
+                customPortletMode = new ArrayList<CustomPortletModeType>();
+            }
+            CustomPortletModeType cpmt = new CustomPortletModeType();
+            cpmt.portletMode = cpm.getPortletMode();
+            for (Description d : cpm.getDescriptions())
+            {
+                if (cpmt.description == null)
+                {
+                    cpmt.description = new ArrayList<DescriptionType>();
+                }
+                DescriptionType dt = new DescriptionType();
+                dt.lang = d.getLang();
+                dt.value = d.getDescription();
+                cpmt.description.add(dt);
+            }
+        }
+        for (CustomWindowState cws : app.getCustomWindowStates())
+        {
+            if (customWindowState == null)
+            {
+                customWindowState = new ArrayList<CustomWindowStateType>();
+            }
+            CustomWindowStateType cwst = new CustomWindowStateType();
+            cwst.windowState = cws.getWindowState();
+            for (Description d : cws.getDescriptions())
+            {
+                if (cwst.description == null)
+                {
+                    cwst.description = new ArrayList<DescriptionType>();
+                }
+                DescriptionType dt = new DescriptionType();
+                dt.lang = d.getLang();
+                dt.value = d.getDescription();
+                cwst.description.add(dt);
+            }
+        }
+    }
+    
+    public PortletApplicationDefinition upgrade()
+    {
+        PortletApplicationDefinition app = new org.apache.pluto.container.om.portlet.impl.PortletAppType();
+        app.setVersion(version);
+        if (portlet != null)
+        {
+            for (PortletType src : portlet)
+            {
+                PortletDefinition target = app.addPortlet(src.portletName);
+                upgradePortlet(src, target);
+            }
+        }
+        if (customPortletMode != null)
+        {
+            for (CustomPortletModeType src : customPortletMode)
+            {
+                CustomPortletMode target = app.addCustomPortletMode(src.portletMode);
+                if (src.description != null)
+                {
+                    for (DescriptionType d : src.description)
+                    {
+                        Description desc = target.addDescription(d.lang);
+                        desc.setDescription(d.value);
+                    }
+                }
+            }
+        }
+        if (customWindowState != null)
+        {
+            for (CustomWindowStateType src : customWindowState)
+            {
+                CustomWindowState target = app.addCustomWindowState(src.windowState);
+                if (src.description != null)
+                {
+                    for (DescriptionType d : src.description)
+                    {
+                        Description desc = target.addDescription(d.lang);
+                        desc.setDescription(d.value);
+                    }
+                }
+            }
+        }
+        if (userAttribute != null)
+        {
+            for (UserAttributeType src : userAttribute)
+            {
+                UserAttribute target = app.addUserAttribute(src.name);
+                if (src.description != null)
+                {
+                    for (DescriptionType d : src.description)
+                    {
+                        Description desc = target.addDescription(d.lang);
+                        desc.setDescription(d.value);
+                    }
+                }
+            }
+        }
+        if (securityConstraint != null)
+        {
+            for (SecurityConstraintType src : securityConstraint)
+            {
+                SecurityConstraint target = app.addSecurityConstraint(src.userDataConstraint.transportGuarantee);
+                if (src.displayName != null)
+                {
+                    for (DisplayNameType d : src.displayName)
+                    {
+                        DisplayName dname = target.addDisplayName(d.lang);
+                        dname.setDisplayName(d.value);
+                    }
+                }
+                if (src.portletCollection != null && src.portletCollection.portletName != null)
+                {
+                    for (String pname : src.portletCollection.portletName)
+                    {
+                        target.addPortletName(pname);
+                    }
+                }
+            }
+        }
+        return app;
+    }
+    
+    private void downgradePortlet(PortletDefinition src, PortletType target)
+    {
+        for (Description d : src.getDescriptions())
+        {
+            if (target.description == null)
+            {
+                target.description = new ArrayList<DescriptionType>();
+            }
+            DescriptionType dt = new DescriptionType();
+            dt.lang = d.getLang();
+            dt.value = d.getDescription();
+            target.description.add(dt);
+        }
+        for (DisplayName d : src.getDisplayNames())
+        {
+            if (target.displayName == null)
+            {
+                target.displayName = new ArrayList<DisplayNameType>();
+            }
+            DisplayNameType dnt = new DisplayNameType();
+            dnt.lang = d.getLang();
+            dnt.value = d.getDisplayName();
+            target.displayName.add(dnt);
+        }
+        target.portletClass = src.getPortletClass();
+        if (src.getExpirationCache() != 0)
+        {
+            target.expirationCache = new Integer(src.getExpirationCache());
+        }
+        for (InitParam p : src.getInitParams())
+        {
+            if (target.initParam == null)
+            {
+                target.initParam = new ArrayList<InitParamType>();
+            }
+            InitParamType pt = new InitParamType();
+            pt.name = p.getParamName();
+            pt.value = p.getParamValue();
+            for (Description d : p.getDescriptions())
+            {
+                if (pt.description == null)
+                {
+                    pt.description = new ArrayList<DescriptionType>();
+                }
+                DescriptionType dt = new DescriptionType();
+                dt.lang = d.getLang();
+                dt.value = d.getDescription();
+                pt.description.add(dt);
+            }
+            target.initParam.add(pt);
+        }
+        for (Supports s : src.getSupports())
+        {
+            if (target.supports == null)
+            {
+                target.supports = new ArrayList<SupportsType>();
+            }
+            SupportsType st = new SupportsType();
+            st.mimeType = s.getMimeType();
+            for (String name : s.getPortletModes())
+            {
+                if (st.portletMode == null)
+                {
+                    st.portletMode = new ArrayList<String>();
+                }
+                st.portletMode.add(name);
+            }
+            target.supports.add(st);
+        }
+        for (String lang : src.getSupportedLocales())
+        {
+            if (target.supportedLocale == null)
+            {
+                target.supportedLocale = new ArrayList<String>();
+            }
+            target.supportedLocale.add(lang);
+        }
+        target.resourceBundle = src.getResourceBundle();
+        PortletInfoType pit = new PortletInfoType();
+        pit.title = src.getPortletInfo().getTitle();
+        pit.shortTitle = src.getPortletInfo().getShortTitle();
+        pit.keywords = src.getPortletInfo().getKeywords();
+        if (pit.title != null || pit.shortTitle != null || pit.keywords != null)
+        {
+            target.portletInfo = pit;
+        }
+        PortletPreferencesType ppt = new PortletPreferencesType();
+        ppt.preferencesValidator = src.getPortletPreferences().getPreferencesValidator();
+        for (Preference p : src.getPortletPreferences().getPortletPreferences())
+        {
+            if (ppt.preference == null)
+            {
+                ppt.preference = new ArrayList<PreferenceType>();                
+            }
+            PreferenceType pt = new PreferenceType();
+            pt.name = p.getName();
+            pt.readOnly = p.isReadOnly() ? Boolean.TRUE : null;
+            for (String value : p.getValues())
+            {
+                if (pt.value == null)
+                {
+                    pt.value = new ArrayList<String>();
+                }
+                pt.value.add(value);
+            }
+            ppt.preference.add(pt);
+        }
+        if (ppt.preferencesValidator != null || ppt.preference != null)
+        {
+            target.portletPreferences = ppt;
+        }
+        for (SecurityRoleRef srr : src.getSecurityRoleRefs())
+        {
+            if (target.securityRoleRef == null)
+            {
+                target.securityRoleRef = new ArrayList<SecurityRoleRefType>();                
+            }
+            SecurityRoleRefType srrt = new SecurityRoleRefType();
+            srrt.roleName = srr.getRoleName();
+            srrt.roleLink = srr.getRoleLink();
+            for (Description d : srr.getDescriptions())
+            {
+                if (srrt.description == null)
+                {
+                    srrt.description = new ArrayList<DescriptionType>();
+                }
+                DescriptionType dt = new DescriptionType();
+                dt.lang = d.getLang();
+                dt.value = d.getDescription();
+                srrt.description.add(dt);
+            }
+            target.securityRoleRef.add(srrt);
+        }
+    }
+    
+    private void upgradePortlet(PortletType src, PortletDefinition target)
+    {
+        if (src.description != null)
+        {
+            for (DescriptionType d : src.description)
+            {
+                Description desc = target.addDescription(d.lang);
+                desc.setDescription(d.value);
+            }
+        }
+        if (src.displayName != null)
+        {
+            for (DisplayNameType d : src.displayName)
+            {
+                DisplayName dname = target.addDisplayName(d.lang);
+                dname.setDisplayName(d.value);
+            }
+        }
+        target.setPortletClass(src.portletClass);
+        if (src.expirationCache != null)
+        {
+            target.setExpirationCache(src.expirationCache.intValue());
+        }
+        if (src.initParam != null)
+        {
+            for (InitParamType p : src.initParam)
+            {
+                InitParam param = target.addInitParam(p.name);
+                param.setParamValue(p.value);
+                if (p.description != null)
+                {
+                    for (DescriptionType d : p.description)
+                    {
+                        Description desc = param.addDescription(d.lang);
+                        desc.setDescription(d.value);
+                    }
+                }
+            }
+        }
+        if (src.supports != null)
+        {
+            for (SupportsType st : src.supports)
+            {
+                Supports s = target.addSupports(st.mimeType);
+                if (st.portletMode != null)
+                {
+                    for (String mode : st.portletMode)
+                    {
+                        s.addPortletMode(mode);
+                    }
+                }
+            }
+        }
+        if (src.supportedLocale != null)
+        {
+            for (String lang : src.supportedLocale)
+            {
+                target.addSupportedLocale(lang);
+            }
+        }
+        target.setResourceBundle(src.resourceBundle);
+        if (src.portletInfo != null)
+        {
+            PortletInfo pi = target.getPortletInfo();
+            pi.setTitle(src.portletInfo.title);
+            pi.setShortTitle(src.portletInfo.shortTitle);
+            pi.setKeywords(src.portletInfo.keywords);
+        }
+        if (src.portletPreferences != null)
+        {
+            Preferences prefs = target.getPortletPreferences();
+            prefs.setPreferencesValidator(src.portletPreferences.preferencesValidator);
+            if (src.portletPreferences.preference != null)
+            {
+                for (PreferenceType p : src.portletPreferences.preference)
+                {
+                    Preference pref = prefs.addPreference(p.name);
+                    if (p.value != null)
+                    {
+                        for (String value : p.value)
+                        {
+                            pref.addValue(value);
+                        }
+                    }
+                    if (p.readOnly != null)
+                    {
+                        pref.setReadOnly(p.readOnly.booleanValue());
+                    }
+                }
+            }
+        }
+        if (src.securityRoleRef != null)
+        {
+            for (SecurityRoleRefType rrt : src.securityRoleRef)
+            {
+                SecurityRoleRef srr = target.addSecurityRoleRef(rrt.roleName);
+                srr.setRoleLink(rrt.roleLink);
+                if (rrt.description != null)
+                {
+                    for (DescriptionType d : rrt.description)
+                    {
+                        Description desc = srr.addDescription(d.lang);
+                        desc.setDescription(d.value);
+                    }
+                }
+            }
+        }
+    }
+}

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletAppType.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletAppType.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletAppType.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletCollectionType.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletCollectionType.java?rev=812877&view=auto
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletCollectionType.java (added)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletCollectionType.java Wed Sep  9 10:38:41 2009
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jetspeed.descriptor.om.portlet10.impl;
+
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+/**
+ * The portlet-collectionType is used to identify a subset of portlets within a portlet application to which a security
+ * constraint applies. Used in: security-constraint <p>Java class for portlet-collectionType complex type. <p>The
+ * following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="portlet-collectionType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="portlet-name" type="{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}portlet-nameType" maxOccurs="unbounded"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * @version $Id$
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "portlet-collectionType", propOrder = { "portletName" })
+public class PortletCollectionType
+{
+    @XmlElement(name = "portlet-name", required = true)
+    @XmlJavaTypeAdapter(value=CollapsedStringAdapter.class)
+    List<String> portletName;
+}

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletCollectionType.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletCollectionType.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletCollectionType.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletInfoType.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletInfoType.java?rev=812877&view=auto
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletInfoType.java (added)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletInfoType.java Wed Sep  9 10:38:41 2009
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jetspeed.descriptor.om.portlet10.impl;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+/**
+ * <p>Java class for portlet-infoType complex type. <p>The following schema fragment specifies the expected content
+ * contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name=&quot;portlet-infoType&quot;&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base=&quot;{http://www.w3.org/2001/XMLSchema}anyType&quot;&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name=&quot;title&quot; type=&quot;{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}titleType&quot;/&gt;
+ *         &lt;element name=&quot;short-title&quot; type=&quot;{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}short-titleType&quot; minOccurs=&quot;0&quot;/&gt;
+ *         &lt;element name=&quot;keywords&quot; type=&quot;{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}keywordsType&quot; minOccurs=&quot;0&quot;/&gt;
+ *       &lt;/sequence&gt;
+ *       &lt;attribute name=&quot;id&quot; type=&quot;{http://www.w3.org/2001/XMLSchema}string&quot; /&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ * 
+ * @version $Id$
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "portlet-infoType", propOrder = { "title", "shortTitle", "keywords" })
+public class PortletInfoType
+{
+    @XmlElement(name = "title")
+    @XmlJavaTypeAdapter(value = CollapsedStringAdapter.class)
+    String title;
+    @XmlElement(name = "short-title")
+    @XmlJavaTypeAdapter(value = CollapsedStringAdapter.class)
+    String shortTitle;
+    @XmlElement(name = "keywords")
+    @XmlJavaTypeAdapter(value = CollapsedStringAdapter.class)
+    String keywords;
+}

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletInfoType.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletInfoType.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletInfoType.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletPreferencesType.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletPreferencesType.java?rev=812877&view=auto
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletPreferencesType.java (added)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletPreferencesType.java Wed Sep  9 10:38:41 2009
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jetspeed.descriptor.om.portlet10.impl;
+
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * Portlet persistent preference store. Used in: portlet <p>Java class for portlet-preferencesType complex type. <p>The
+ * following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="portlet-preferencesType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="preference" type="{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}preferenceType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="preferences-validator" type="{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}preferences-validatorType" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * @version $Id$
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "portlet-preferencesType", propOrder = { "preference", "preferencesValidator" })
+public class PortletPreferencesType
+{
+    @XmlElement(name = "preference")
+    List<PreferenceType> preference;
+    @XmlElement(name = "preferences-validator")
+    String preferencesValidator;
+}

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletPreferencesType.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletPreferencesType.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletPreferencesType.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletType.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletType.java?rev=812877&view=auto
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletType.java (added)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletType.java Wed Sep  9 10:38:41 2009
@@ -0,0 +1,97 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jetspeed.descriptor.om.portlet10.impl;
+
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+/**
+ * The portlet element contains the declarative data of a portlet. Used in: portlet-app <p>Java class for portletType
+ * complex type. <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name=&quot;portletType&quot;&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base=&quot;{http://www.w3.org/2001/XMLSchema}anyType&quot;&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name=&quot;description&quot; type=&quot;{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}descriptionType&quot; maxOccurs=&quot;unbounded&quot; minOccurs=&quot;0&quot;/&gt;
+ *         &lt;element name=&quot;portlet-name&quot; type=&quot;{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}portlet-nameType&quot;/&gt;
+ *         &lt;element name=&quot;display-name&quot; type=&quot;{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}display-nameType&quot; maxOccurs=&quot;unbounded&quot; minOccurs=&quot;0&quot;/&gt;
+ *         &lt;element name=&quot;portlet-class&quot; type=&quot;{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}portlet-classType&quot;/&gt;
+ *         &lt;element name=&quot;init-param&quot; type=&quot;{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}init-paramType&quot; maxOccurs=&quot;unbounded&quot; minOccurs=&quot;0&quot;/&gt;
+ *         &lt;element name=&quot;expiration-cache&quot; type=&quot;{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}expiration-cacheType&quot; minOccurs=&quot;0&quot;/&gt;
+ *         &lt;element name=&quot;supports&quot; type=&quot;{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}supportsType&quot; maxOccurs=&quot;unbounded&quot;/&gt;
+ *         &lt;element name=&quot;supported-locale&quot; type=&quot;{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}supported-localeType&quot; maxOccurs=&quot;unbounded&quot; minOccurs=&quot;0&quot;/&gt;
+ *         &lt;choice&gt;
+ *           &lt;sequence&gt;
+ *             &lt;element name=&quot;resource-bundle&quot; type=&quot;{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}resource-bundleType&quot;/&gt;
+ *             &lt;element name=&quot;portlet-info&quot; type=&quot;{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}portlet-infoType&quot; minOccurs=&quot;0&quot;/&gt;
+ *           &lt;/sequence&gt;
+ *           &lt;element name=&quot;portlet-info&quot; type=&quot;{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}portlet-infoType&quot;/&gt;
+ *         &lt;/choice&gt;
+ *         &lt;element name=&quot;portlet-preferences&quot; type=&quot;{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}portlet-preferencesType&quot; minOccurs=&quot;0&quot;/&gt;
+ *         &lt;element name=&quot;security-role-ref&quot; type=&quot;{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}security-role-refType&quot; maxOccurs=&quot;unbounded&quot; minOccurs=&quot;0&quot;/&gt;
+ *       &lt;/sequence&gt;
+ *       &lt;attribute name=&quot;id&quot; type=&quot;{http://www.w3.org/2001/XMLSchema}string&quot; /&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ * 
+ * @version $Id$
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "portletType", propOrder = { "description", "portletName", "displayName", "portletClass", "initParam",
+                                            "expirationCache", "supports", "supportedLocale", "resourceBundle",
+                                            "portletInfo", "portletPreferences", "securityRoleRef" })
+public class PortletType
+{
+    @XmlElement(name = "description")
+    List<DescriptionType> description;
+    @XmlElement(name = "portlet-name", required = true)
+    @XmlJavaTypeAdapter(value = CollapsedStringAdapter.class)
+    String portletName;
+    @XmlElement(name = "display-name")
+    List<DisplayNameType> displayName;
+    @XmlElement(name = "portlet-class", required = true)
+    @XmlJavaTypeAdapter(value = CollapsedStringAdapter.class)
+    String portletClass;
+    @XmlElement(name = "init-param")
+    List<InitParamType> initParam;
+    @XmlElement(name = "expiration-cache")
+    Integer expirationCache;
+    @XmlElement(required = true)
+    List<SupportsType> supports;
+    @XmlElement(name = "supported-locale")
+    @XmlJavaTypeAdapter(value = CollapsedStringAdapter.class)
+    List<String> supportedLocale;
+    @XmlElement(name = "resource-bundle")
+    @XmlJavaTypeAdapter(value = CollapsedStringAdapter.class)
+    String resourceBundle;
+    @XmlElement(name = "portlet-info")
+    PortletInfoType portletInfo;
+    @XmlElement(name = "portlet-preferences")
+    PortletPreferencesType portletPreferences;
+    @XmlElement(name = "security-role-ref")
+    List<SecurityRoleRefType> securityRoleRef;
+}

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletType.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletType.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PortletType.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PreferenceType.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PreferenceType.java?rev=812877&view=auto
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PreferenceType.java (added)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PreferenceType.java Wed Sep  9 10:38:41 2009
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jetspeed.descriptor.om.portlet10.impl;
+
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+/**
+ * Persistent preference values that may be used for customization and personalization by the portlet. Used in:
+ * portlet-preferences <p>Java class for preferenceType complex type. <p>The following schema fragment specifies the
+ * expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="preferenceType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="name" type="{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}nameType"/>
+ *         &lt;element name="value" type="{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}valueType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="read-only" type="{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}read-onlyType" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * @version $Id$
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "preferenceType", propOrder = { "name", "value", "readOnly" })
+public class PreferenceType
+{
+    @XmlElement(required = true)
+    @XmlJavaTypeAdapter(value=CollapsedStringAdapter.class)
+    String name;
+    @XmlJavaTypeAdapter(value=CollapsedStringAdapter.class)
+    List<String> value;
+    @XmlElement(name = "read-only")
+    Boolean readOnly;
+}

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PreferenceType.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PreferenceType.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/descriptor/om/portlet10/impl/PreferenceType.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain



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