Author: woonsan
Date: Fri Nov 27 14:17:56 2009
New Revision: 884883
URL: http://svn.apache.org/viewvc?rev=884883&view=rev
Log:
JS2-1087: Removing '%20' path parameter
Following urls with json marshaling are available.
(You can use '?_type=xml' instead for xml marshaling. If you don't specify this
parameter, then the ACCEPT http header is used to decide the best marshaling
type.)
Also, replace the '::' separated portlet unique name by path segments separated
by slash.
(1) GET all PA infos:
http://localhost:8080/jetspeed/services/portletregistry/application/?_type=json
(2) GET demo PA info:
http://localhost:8080/jetspeed/services/portletregistry/application/demo/?_type=json
(3) GET all PD infos:
http://localhost:8080/jetspeed/services/portletregistry/definition/?_type=json
(4) GET all PD infos of demo PA:
http://localhost:8080/jetspeed/services/portletregistry/definition/demo/?_type=json
(5) GET demo::PickANumberPortlet PD info:
http://localhost:8080/jetspeed/services/portletregistry/definition/demo/PickANumberPortlet/?_type=json
TODO: support search query.
Added:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/ContainerRuntimeOptionBean.java
(with props)
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/GenericMetadataBean.java
(with props)
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/LocalizedFieldBean.java
(with props)
Modified:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/DescriptionBean.java
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/DisplayNameBean.java
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletApplicationBean.java
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBean.java
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PortletRegistryService.java
Added:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/ContainerRuntimeOptionBean.java
URL:
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/ContainerRuntimeOptionBean.java?rev=884883&view=auto
==============================================================================
---
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/ContainerRuntimeOptionBean.java
(added)
+++
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/ContainerRuntimeOptionBean.java
Fri Nov 27 14:17:56 2009
@@ -0,0 +1,75 @@
+/*
+ * 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.services.beans;
+
+import java.io.Serializable;
+import java.util.Collection;
+
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElementWrapper;
+import javax.xml.bind.annotation.XmlElements;
+import javax.xml.bind.annotation.XmlRootElement;
+
+import org.apache.jetspeed.om.portlet.ContainerRuntimeOption;
+
+/**
+ * ContainerRuntimeOptionBean
+ *
+ * @version $Id$
+ */
+...@xmlrootelement(name="containerRuntimeOption")
+public class ContainerRuntimeOptionBean implements Serializable
+{
+ private static final long serialVersionUID = 1L;
+
+ private String name;
+ private Collection<String> values;
+
+ public ContainerRuntimeOptionBean()
+ {
+
+ }
+
+ public ContainerRuntimeOptionBean(final ContainerRuntimeOption
containerRuntimeOption)
+ {
+ name = containerRuntimeOption.getName();
+ values = containerRuntimeOption.getValues();
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+ @XmlElementWrapper(name="values")
+ @XmlElements(@XmlElement(name="value"))
+ public Collection<String> getValues()
+ {
+ return values;
+ }
+
+ public void setValues(Collection<String> values)
+ {
+ this.values = values;
+ }
+
+}
Propchange:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/ContainerRuntimeOptionBean.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/ContainerRuntimeOptionBean.java
------------------------------------------------------------------------------
svn:keywords = Id
Propchange:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/ContainerRuntimeOptionBean.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/DescriptionBean.java
URL:
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/DescriptionBean.java?rev=884883&r1=884882&r2=884883&view=diff
==============================================================================
---
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/DescriptionBean.java
(original)
+++
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/DescriptionBean.java
Fri Nov 27 14:17:56 2009
@@ -33,7 +33,7 @@
{
private static final long serialVersionUID = 1L;
- private String description;
+ private String value;
private String lang;
private String localeString;
@@ -44,7 +44,7 @@
public DescriptionBean(final Description description)
{
- this.description = description.getDescription();
+ this.value = description.getDescription();
lang = description.getLang();
Locale locale = description.getLocale();
@@ -55,14 +55,14 @@
}
}
- public String getDescription()
+ public String getValue()
{
- return description;
+ return value;
}
- public void setDescription(String description)
+ public void setValue(String value)
{
- this.description = description;
+ this.value = value;
}
public String getLang()
Modified:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/DisplayNameBean.java
URL:
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/DisplayNameBean.java?rev=884883&r1=884882&r2=884883&view=diff
==============================================================================
---
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/DisplayNameBean.java
(original)
+++
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/DisplayNameBean.java
Fri Nov 27 14:17:56 2009
@@ -33,7 +33,7 @@
{
private static final long serialVersionUID = 1L;
- private String displayName;
+ private String value;
private String lang;
private String localeString;
@@ -44,7 +44,7 @@
public DisplayNameBean(final DisplayName displayName)
{
- this.displayName = displayName.getDisplayName();
+ this.value = displayName.getDisplayName();
lang = displayName.getLang();
Locale locale = displayName.getLocale();
@@ -55,14 +55,14 @@
}
}
- public String getDisplayName()
+ public String getValue()
{
- return displayName;
+ return value;
}
- public void setDisplayName(String displayName)
+ public void setValue(String value)
{
- this.displayName = displayName;
+ this.value = value;
}
public String getLang()
Added:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/GenericMetadataBean.java
URL:
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/GenericMetadataBean.java?rev=884883&view=auto
==============================================================================
---
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/GenericMetadataBean.java
(added)
+++
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/GenericMetadataBean.java
Fri Nov 27 14:17:56 2009
@@ -0,0 +1,73 @@
+/*
+ * 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.services.beans;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElementWrapper;
+import javax.xml.bind.annotation.XmlElements;
+import javax.xml.bind.annotation.XmlRootElement;
+
+import org.apache.jetspeed.om.portlet.GenericMetadata;
+import org.apache.jetspeed.om.portlet.LocalizedField;
+
+/**
+ * GenericMetadataBean
+ *
+ * @version $Id$
+ */
+...@xmlrootelement(name="metadata")
+public class GenericMetadataBean implements Serializable
+{
+ private static final long serialVersionUID = 1L;
+
+ private Collection<LocalizedFieldBean> localizedFieldBeans;
+
+ public GenericMetadataBean()
+ {
+
+ }
+
+ public GenericMetadataBean(final GenericMetadata metadata)
+ {
+ List<LocalizedFieldBean> localizedFieldBeanList = new
ArrayList<LocalizedFieldBean>();
+
+ for (LocalizedField field : metadata.getFields())
+ {
+ localizedFieldBeanList.add(new LocalizedFieldBean(field));
+ }
+
+ localizedFieldBeans = localizedFieldBeanList;
+ }
+
+ @XmlElementWrapper(name="fields")
+ @XmlElements(@XmlElement(name="field"))
+ public Collection<LocalizedFieldBean> getLocalizedFieldBeans()
+ {
+ return localizedFieldBeans;
+ }
+
+ public void setLocalizedFieldBeans(Collection<LocalizedFieldBean>
localizedFieldBeans)
+ {
+ this.localizedFieldBeans = localizedFieldBeans;
+ }
+
+}
Propchange:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/GenericMetadataBean.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/GenericMetadataBean.java
------------------------------------------------------------------------------
svn:keywords = Id
Propchange:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/GenericMetadataBean.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/LocalizedFieldBean.java
URL:
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/LocalizedFieldBean.java?rev=884883&view=auto
==============================================================================
---
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/LocalizedFieldBean.java
(added)
+++
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/LocalizedFieldBean.java
Fri Nov 27 14:17:56 2009
@@ -0,0 +1,88 @@
+/*
+ * 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.services.beans;
+
+import java.io.Serializable;
+import java.util.Locale;
+
+import javax.xml.bind.annotation.XmlRootElement;
+
+import org.apache.jetspeed.om.portlet.LocalizedField;
+
+/**
+ * LocalizedFieldBean
+ *
+ * @version $Id$
+ */
+...@xmlrootelement(name="field")
+public class LocalizedFieldBean implements Serializable
+{
+ private static final long serialVersionUID = 1L;
+
+ private String name;
+ private String value;
+ private String localeString;
+
+ public LocalizedFieldBean()
+ {
+
+ }
+
+ public LocalizedFieldBean(final LocalizedField localizedField)
+ {
+ name = localizedField.getName();
+ value = localizedField.getValue();
+
+ Locale locale = localizedField.getLocale();
+
+ if (locale != null)
+ {
+ localeString = locale.toString();
+ }
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+ public String getValue()
+ {
+ return value;
+ }
+
+ public void setValue(String value)
+ {
+ this.value = value;
+ }
+
+ public String getLocaleString()
+ {
+ return localeString;
+ }
+
+ public void setLocaleString(String localeString)
+ {
+ this.localeString = localeString;
+ }
+
+}
Propchange:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/LocalizedFieldBean.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/LocalizedFieldBean.java
------------------------------------------------------------------------------
svn:keywords = Id
Propchange:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/LocalizedFieldBean.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletApplicationBean.java
URL:
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletApplicationBean.java?rev=884883&r1=884882&r2=884883&view=diff
==============================================================================
---
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletApplicationBean.java
(original)
+++
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletApplicationBean.java
Fri Nov 27 14:17:56 2009
@@ -25,6 +25,7 @@
import javax.xml.bind.annotation.XmlElements;
import javax.xml.bind.annotation.XmlRootElement;
+import org.apache.jetspeed.om.portlet.ContainerRuntimeOption;
import org.apache.jetspeed.om.portlet.Description;
import org.apache.jetspeed.om.portlet.DisplayName;
import org.apache.jetspeed.om.portlet.PortletApplication;
@@ -41,12 +42,15 @@
private String name;
private String contextPath;
+ private String localContextPath;
private String defaultNamespace;
private int applicationType;
private long checksum;
private long revision;
private Collection<DisplayNameBean> displayNameBeans;
private Collection<DescriptionBean> descriptionBeans;
+ private GenericMetadataBean metadataBean;
+ private Collection<ContainerRuntimeOptionBean> containerRuntimeOptionBeans;
public PortletApplicationBean()
{
@@ -57,6 +61,7 @@
{
name = portletApplication.getName();
contextPath = portletApplication.getContextPath();
+ localContextPath = portletApplication.getLocalContextPath();
defaultNamespace = portletApplication.getDefaultNamespace();
applicationType = portletApplication.getApplicationType();
checksum = portletApplication.getChecksum();
@@ -75,6 +80,15 @@
descriptionBeanList.add(new DescriptionBean(description));
}
descriptionBeans = descriptionBeanList;
+
+ metadataBean = new
GenericMetadataBean(portletApplication.getMetadata());
+
+ ArrayList<ContainerRuntimeOptionBean> containerRuntimeOptionBeanList =
new ArrayList<ContainerRuntimeOptionBean>();
+ for (ContainerRuntimeOption containerRuntimeOption :
portletApplication.getContainerRuntimeOptions())
+ {
+ containerRuntimeOptionBeanList.add(new
ContainerRuntimeOptionBean(containerRuntimeOption));
+ }
+ containerRuntimeOptionBeans = containerRuntimeOptionBeanList;
}
public String getName()
@@ -97,6 +111,16 @@
this.contextPath = contextPath;
}
+ public String getLocalContextPath()
+ {
+ return localContextPath;
+ }
+
+ public void setLocalContextPath(String localContextPath)
+ {
+ this.localContextPath = localContextPath;
+ }
+
public String getDefaultNamespace()
{
return defaultNamespace;
@@ -161,4 +185,26 @@
this.descriptionBeans = descriptionBeans;
}
+ @XmlElement(name="metadata")
+ public GenericMetadataBean getMetadataBean()
+ {
+ return metadataBean;
+ }
+
+ public void setMetadataBean(GenericMetadataBean metadataBean)
+ {
+ this.metadataBean = metadataBean;
+ }
+
+ @XmlElementWrapper(name="containerRuntimeOptions")
+ @XmlElements(@XmlElement(name="containerRuntimeOption"))
+ public Collection<ContainerRuntimeOptionBean>
getContainerRuntimeOptionBeans()
+ {
+ return containerRuntimeOptionBeans;
+ }
+
+ public void
setContainerRuntimeOptionBeans(Collection<ContainerRuntimeOptionBean>
containerRuntimeOptionBeans)
+ {
+ this.containerRuntimeOptionBeans = containerRuntimeOptionBeans;
+ }
}
Modified:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBean.java
URL:
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBean.java?rev=884883&r1=884882&r2=884883&view=diff
==============================================================================
---
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBean.java
(original)
+++
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/beans/PortletDefinitionBean.java
Fri Nov 27 14:17:56 2009
@@ -25,6 +25,7 @@
import javax.xml.bind.annotation.XmlElements;
import javax.xml.bind.annotation.XmlRootElement;
+import org.apache.jetspeed.om.portlet.ContainerRuntimeOption;
import org.apache.jetspeed.om.portlet.Description;
import org.apache.jetspeed.om.portlet.DisplayName;
import org.apache.jetspeed.om.portlet.Language;
@@ -43,11 +44,14 @@
private String applicationName;
private String portletName;
+ private String uniqueName;
private PortletInfoBean portletInfoBean;
private Collection<DisplayNameBean> displayNameBeans;
private Collection<DescriptionBean> descriptionBeans;
private Collection<SupportsBean> supportsBeans;
private Collection<LanguageBean> languageBeans;
+ private GenericMetadataBean metadataBean;
+ private Collection<ContainerRuntimeOptionBean> containerRuntimeOptionBeans;
public PortletDefinitionBean()
{
@@ -58,6 +62,7 @@
{
applicationName = portletDefinition.getApplication().getName();
portletName = portletDefinition.getPortletName();
+ uniqueName = portletDefinition.getUniqueName();
portletInfoBean = new
PortletInfoBean(portletDefinition.getPortletInfo());
ArrayList<DisplayNameBean> displayNameBeanList = new
ArrayList<DisplayNameBean>();
@@ -87,6 +92,15 @@
languageBeanList.add(new LanguageBean(language));
}
languageBeans = languageBeanList;
+
+ metadataBean = new
GenericMetadataBean(portletDefinition.getMetadata());
+
+ ArrayList<ContainerRuntimeOptionBean> containerRuntimeOptionBeanList =
new ArrayList<ContainerRuntimeOptionBean>();
+ for (ContainerRuntimeOption containerRuntimeOption :
portletDefinition.getContainerRuntimeOptions())
+ {
+ containerRuntimeOptionBeanList.add(new
ContainerRuntimeOptionBean(containerRuntimeOption));
+ }
+ containerRuntimeOptionBeans = containerRuntimeOptionBeanList;
}
public String getApplicationName()
@@ -109,6 +123,16 @@
this.portletName = portletName;
}
+ public String getUniqueName()
+ {
+ return uniqueName;
+ }
+
+ public void setUniqueName(String uniqueName)
+ {
+ this.uniqueName = uniqueName;
+ }
+
@XmlElement(name="portletInfo")
public PortletInfoBean getPortletInfoBean()
{
@@ -168,4 +192,27 @@
this.languageBeans = languageBeans;
}
+ @XmlElement(name="metadata")
+ public GenericMetadataBean getMetadataBean()
+ {
+ return metadataBean;
+ }
+
+ public void setMetadataBean(GenericMetadataBean metadataBean)
+ {
+ this.metadataBean = metadataBean;
+ }
+
+ @XmlElementWrapper(name="containerRuntimeOptions")
+ @XmlElements(@XmlElement(name="containerRuntimeOption"))
+ public Collection<ContainerRuntimeOptionBean>
getContainerRuntimeOptionBeans()
+ {
+ return containerRuntimeOptionBeans;
+ }
+
+ public void
setContainerRuntimeOptionBeans(Collection<ContainerRuntimeOptionBean>
containerRuntimeOptionBeans)
+ {
+ this.containerRuntimeOptionBeans = containerRuntimeOptionBeans;
+ }
+
}
Modified:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PortletRegistryService.java
URL:
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PortletRegistryService.java?rev=884883&r1=884882&r2=884883&view=diff
==============================================================================
---
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PortletRegistryService.java
(original)
+++
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/PortletRegistryService.java
Fri Nov 27 14:17:56 2009
@@ -26,6 +26,7 @@
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.core.Context;
+import javax.ws.rs.core.PathSegment;
import javax.ws.rs.core.UriInfo;
import org.apache.commons.lang.StringUtils;
@@ -72,13 +73,20 @@
}
@GET
- @Path("/application/{name}")
- public PortletApplicationBeans getPortletApplication(@PathParam("name")
String name)
+ @Path("/application/{path:.*}")
+ public PortletApplicationBeans getPortletApplication(@PathParam("path")
List<PathSegment> pathSegments)
{
+ String applicationName = null;
+
+ if (pathSegments != null && !pathSegments.isEmpty())
+ {
+ applicationName = pathSegments.get(0).getPath();
+ }
+
PortletApplicationBeans paBeans = new PortletApplicationBeans();
List<PortletApplicationBean> paBeanList = new
ArrayList<PortletApplicationBean>();
- if (StringUtils.isBlank(name))
+ if (StringUtils.isBlank(applicationName))
{
for (PortletApplication pa :
portletRegistry.getPortletApplications())
{
@@ -87,7 +95,7 @@
}
else
{
- PortletApplication pa =
portletRegistry.getPortletApplication(name, true);
+ PortletApplication pa =
portletRegistry.getPortletApplication(applicationName, true);
if (pa != null)
{
@@ -100,13 +108,29 @@
}
@GET
- @Path("/definition/{uniqueName}")
- public PortletDefinitionBeans
getPortletDefinition(@PathParam("uniqueName") String uniqueName)
+ @Path("/definition/{path:.*}")
+ public PortletDefinitionBeans getPortletDefinition(@PathParam("path")
List<PathSegment> pathSegments)
{
+ String applicationName = null;
+ String definitionName = null;
+
+ if (pathSegments != null)
+ {
+ if (pathSegments.size() > 0)
+ {
+ applicationName = pathSegments.get(0).getPath();
+ }
+
+ if (pathSegments.size() > 1)
+ {
+ definitionName = pathSegments.get(1).getPath();
+ }
+ }
+
PortletDefinitionBeans pdBeans = new PortletDefinitionBeans();
List<PortletDefinitionBean> pdBeanList = new
ArrayList<PortletDefinitionBean>();
- if (StringUtils.isBlank(uniqueName))
+ if (StringUtils.isBlank(applicationName) &&
StringUtils.isBlank(definitionName))
{
for (PortletDefinition pd :
portletRegistry.getAllPortletDefinitions())
{
@@ -115,24 +139,25 @@
}
else
{
- int offset = uniqueName.indexOf("::");
+ PortletApplication pa =
portletRegistry.getPortletApplication(applicationName, true);
- if (offset != -1)
+ if (pa != null)
{
- PortletDefinition pd =
portletRegistry.getPortletDefinitionByUniqueName(uniqueName, true);
-
- if (pd != null)
+ if (StringUtils.isBlank(definitionName))
{
- pdBeanList.add(new PortletDefinitionBean(pd));
+ if (pa != null)
+ {
+ for (PortletDefinition pd : pa.getPortlets())
+ {
+ pdBeanList.add(new PortletDefinitionBean(pd));
+ }
+ }
}
- }
- else
- {
- PortletApplication pa =
portletRegistry.getPortletApplication(uniqueName, true);
-
- if (pa != null)
+ else
{
- for (PortletDefinition pd : pa.getPortlets())
+ PortletDefinition pd = pa.getPortlet(definitionName);
+
+ if (pd != null)
{
pdBeanList.add(new PortletDefinitionBean(pd));
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]