[jboss-svn-commits] JBL Code SVN: r9734 - in labs/jbosslabs/trunk/portal-extensions: forge-common/src/java/org/jboss/forge/common/ejb3 and 10 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sat Feb 24 10:27:39 EST 2007
Author: adamw
Date: 2007-02-24 10:27:39 -0500 (Sat, 24 Feb 2007)
New Revision: 9734
Removed:
labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/freezone/TestServlet.java
Modified:
labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ForgeHelper.java
labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ejb3/LabsServices.java
labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ejb3/ProjectPagesService.java
labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsDescriptor.java
labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/portlets/ObjectFactory.java
labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/portlets/ProjectsPortlet.java
labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/portlets/ProjectsPortletPreference.java
labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/portlets/ProjectsPortlets.java
labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/portlets/package-info.java
labs/jbosslabs/trunk/portal-extensions/forge-common/src/web/WEB-INF/projectsPortlets.xsd
labs/jbosslabs/trunk/portal-extensions/forge-ejb3/src/java/org/jboss/forge/ejb3/projectpages/ProjectPagesServiceBean.java
labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/PathParser.java
labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/LabsPortalObjectCommandFactory.java
labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/LabsPortalObjectCommandFactoryImpl.java
labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/WikiCommandFactory.java
labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/url/LabsMainUrlFactory.java
labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/url/WikiUrlFactory.java
labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/freezone/TestServlet3.java
labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/info/ProjectInfoBean.java
labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/info/ProjectInfoTools.java
labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/web/WEB-INF/web.xml
Log:
http://jira.jboss.com/jira/browse/JBLAB-818
Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ForgeHelper.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ForgeHelper.java 2007-02-24 09:35:16 UTC (rev 9733)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ForgeHelper.java 2007-02-24 15:27:39 UTC (rev 9734)
@@ -564,6 +564,7 @@
StringBuilder result = new StringBuilder("");
for (String word : words) {
if (word == null) { continue; }
+ if (word.length() == 0) { continue; }
if (word.length() == 1) {
result.append(word.toUpperCase());
continue;
Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ejb3/LabsServices.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ejb3/LabsServices.java 2007-02-24 09:35:16 UTC (rev 9733)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ejb3/LabsServices.java 2007-02-24 15:27:39 UTC (rev 9734)
@@ -56,9 +56,13 @@
return (PropertyService) getStatelessBean(PropertyService.PROPERTY_SERVICE);
}
- public static ProjectsService getProjectsService() throws MalformedObjectNameException {
- return (ProjectsService) getService(ProjectsService.class,
- ProjectsService.PROJECTS_SERVICE);
+ public static ProjectsService getProjectsService() throws ServiceRetrievalException {
+ try {
+ return (ProjectsService) getService(ProjectsService.class,
+ ProjectsService.PROJECTS_SERVICE);
+ } catch (MalformedObjectNameException e) {
+ throw new ServiceRetrievalException(e);
+ }
}
public static ProjectsServiceRW getProjectsServiceRW() throws MalformedObjectNameException {
Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ejb3/ProjectPagesService.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ejb3/ProjectPagesService.java 2007-02-24 09:35:16 UTC (rev 9733)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ejb3/ProjectPagesService.java 2007-02-24 15:27:39 UTC (rev 9734)
@@ -1,27 +1,26 @@
package org.jboss.forge.common.ejb3;
-import java.util.Set;
+import org.jboss.forge.common.projects.project.Project;
+import java.util.Collection;
+
/**
+ * A service which automatically creates pages with portlets for projects,
+ * as specified in a descriptor.
* @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
*/
public interface ProjectPagesService {
public static final String PROJECT_PAGES_SERVICE = "ProjectPagesServiceBean/local";
/**
- * Updates pages and portlets for the given project.
- * @param projectId Project for which to update the pages.
+ * Updates pages and portlets for all projects. All portlet instances and
+ * protal objects that are handeled by Labs, but are not used by any
+ * of the given projects, will be removed.
+ * @param projects Projects, for which to update the pages.
*/
- public void updatePages(String projectId);
+ public void updatePages(Collection<Project> projects);
/**
- * Removes pages belonging to projects, which are not in the given set.
- * @param projectIds Set of project ids, for which pages shouldn't be
- * deleted.
- */
- public void removeExcessPages(Set<String> projectIds);
-
- /**
* Creates name of a portal window for the given portlet.
* @param portletName Name of the portlet.
* @param projectId Id of the project.
Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsDescriptor.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsDescriptor.java 2007-02-24 09:35:16 UTC (rev 9733)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsDescriptor.java 2007-02-24 15:27:39 UTC (rev 9734)
@@ -34,7 +34,6 @@
import org.jboss.forge.common.XmlTools;
import org.jboss.forge.common.exceptions.ServiceRetrievalException;
import org.jboss.forge.common.ejb3.LabsServices;
-import org.jboss.forge.common.ejb3.ProjectPagesService;
import org.jboss.forge.common.projects.XmlInputFactory.XmlNotFoundException;
import org.jboss.forge.common.projects.elements.BindingsHandlerIterSingleKey;
import org.jboss.forge.common.projects.elements.ElementDescriptor;
@@ -167,12 +166,7 @@
}
try {
- ProjectPagesService pps = LabsServices.getProjectPagesService();
- for (String projectId : getProjectIds()) {
- pps.updatePages(projectId);
- }
-
- pps.removeExcessPages(getProjectIds());
+ LabsServices.getProjectPagesService().updatePages(getNewProjects().values());
} catch (ServiceRetrievalException e) {
log.error("Error getting labs project pages service.", e);
}
@@ -379,8 +373,7 @@
projectWithErrorsDescriptors.add(projectId + "/"
+ ProjectsHelper.PROJECT_DESC);
- log.warn("Project " + projectId + " parse error: " + e);
- e.printStackTrace();
+ log.warn("Project " + projectId + " parse error.", e);
}
}
@@ -408,8 +401,7 @@
projectWithErrorsDescriptors.add(projectId + "/"
+ ProjectsHelper.PROJECT_DESC);
- log.warn("Project " + projectId + " (RW mode) parse error: " + e);
- e.printStackTrace();
+ log.warn("Project " + projectId + " (RW mode) parse error.", e);
}
}
Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/portlets/ObjectFactory.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/portlets/ObjectFactory.java 2007-02-24 09:35:16 UTC (rev 9733)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/portlets/ObjectFactory.java 2007-02-24 15:27:39 UTC (rev 9734)
@@ -2,7 +2,7 @@
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.1.2-b01-fcs
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
-// Generated on: 2007.02.15 at 11:54:09 PM CET
+// Generated on: 2007.02.24 at 01:04:17 AM CET
//
@@ -37,6 +37,14 @@
}
/**
+ * Create an instance of {@link ProjectsPortlet }
+ *
+ */
+ public ProjectsPortlet createProjectsPortlet() {
+ return new ProjectsPortlet();
+ }
+
+ /**
* Create an instance of {@link ProjectsPortlets }
*
*/
@@ -52,12 +60,4 @@
return new ProjectsPortletPreference();
}
- /**
- * Create an instance of {@link ProjectsPortlet }
- *
- */
- public ProjectsPortlet createProjectsPortlet() {
- return new ProjectsPortlet();
- }
-
}
Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/portlets/ProjectsPortlet.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/portlets/ProjectsPortlet.java 2007-02-24 09:35:16 UTC (rev 9733)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/portlets/ProjectsPortlet.java 2007-02-24 15:27:39 UTC (rev 9734)
@@ -2,7 +2,7 @@
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.1.2-b01-fcs
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
-// Generated on: 2007.02.15 at 11:54:09 PM CET
+// Generated on: 2007.02.24 at 01:04:17 AM CET
//
Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/portlets/ProjectsPortletPreference.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/portlets/ProjectsPortletPreference.java 2007-02-24 09:35:16 UTC (rev 9733)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/portlets/ProjectsPortletPreference.java 2007-02-24 15:27:39 UTC (rev 9734)
@@ -2,7 +2,7 @@
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.1.2-b01-fcs
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
-// Generated on: 2007.02.15 at 11:54:09 PM CET
+// Generated on: 2007.02.24 at 01:04:17 AM CET
//
@@ -30,7 +30,6 @@
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "preference", propOrder = {
"name",
- "required",
"_default",
"values"
})
@@ -41,8 +40,6 @@
private final static long serialVersionUID = 1L;
@XmlElement(required = true)
protected String name;
- @XmlElement(defaultValue = "false")
- protected Boolean required;
@XmlElement(name = "default")
protected String _default;
@XmlElement(name = "value")
@@ -73,30 +70,6 @@
}
/**
- * Gets the value of the required property.
- *
- * @return
- * possible object is
- * {@link Boolean }
- *
- */
- public Boolean isRequired() {
- return required;
- }
-
- /**
- * Sets the value of the required property.
- *
- * @param value
- * allowed object is
- * {@link Boolean }
- *
- */
- public void setRequired(Boolean value) {
- this.required = value;
- }
-
- /**
* Gets the value of the default property.
*
* @return
Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/portlets/ProjectsPortlets.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/portlets/ProjectsPortlets.java 2007-02-24 09:35:16 UTC (rev 9733)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/portlets/ProjectsPortlets.java 2007-02-24 15:27:39 UTC (rev 9734)
@@ -2,7 +2,7 @@
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.1.2-b01-fcs
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
-// Generated on: 2007.02.15 at 11:54:09 PM CET
+// Generated on: 2007.02.24 at 01:04:17 AM CET
//
Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/portlets/package-info.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/portlets/package-info.java 2007-02-24 09:35:16 UTC (rev 9733)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/portlets/package-info.java 2007-02-24 15:27:39 UTC (rev 9734)
@@ -2,7 +2,7 @@
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.1.2-b01-fcs
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
-// Generated on: 2007.02.15 at 11:54:09 PM CET
+// Generated on: 2007.02.24 at 01:04:17 AM CET
//
@javax.xml.bind.annotation.XmlSchema(namespace = "http://jboss.org", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/web/WEB-INF/projectsPortlets.xsd
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/web/WEB-INF/projectsPortlets.xsd 2007-02-24 09:35:16 UTC (rev 9733)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/web/WEB-INF/projectsPortlets.xsd 2007-02-24 15:27:39 UTC (rev 9734)
@@ -100,7 +100,6 @@
</xs:annotation>
<xs:sequence>
<xs:element name="name" type="xs:string" minOccurs="1" maxOccurs="1" />
- <xs:element name="required" type="xs:boolean" default="false" minOccurs="0" maxOccurs="1" />
<xs:element name="default" type="xs:string" minOccurs="0" maxOccurs="1" />
<xs:element name="value" type="xs:string" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
Modified: labs/jbosslabs/trunk/portal-extensions/forge-ejb3/src/java/org/jboss/forge/ejb3/projectpages/ProjectPagesServiceBean.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-ejb3/src/java/org/jboss/forge/ejb3/projectpages/ProjectPagesServiceBean.java 2007-02-24 09:35:16 UTC (rev 9733)
+++ labs/jbosslabs/trunk/portal-extensions/forge-ejb3/src/java/org/jboss/forge/ejb3/projectpages/ProjectPagesServiceBean.java 2007-02-24 15:27:39 UTC (rev 9734)
@@ -6,10 +6,14 @@
import org.jboss.forge.common.ForgeHelper;
import org.jboss.forge.common.exceptions.ServiceRetrievalException;
import org.jboss.forge.common.projects.portlets.ProjectsPortlet;
+import org.jboss.forge.common.projects.project.Project;
+import org.jboss.forge.common.projects.project.Pages;
+import org.jboss.forge.common.projects.project.Preference;
import org.jboss.portal.core.model.portal.*;
import org.jboss.portal.core.model.instance.InstanceContainer;
import org.jboss.portal.core.model.instance.DuplicateInstanceException;
import org.jboss.portal.core.model.instance.Instance;
+import org.jboss.portal.core.model.instance.NoSuchInstanceException;
import org.jboss.portal.core.model.content.ContentType;
import org.jboss.portal.security.spi.provider.DomainConfigurator;
import org.jboss.portal.security.RoleSecurityBinding;
@@ -21,13 +25,18 @@
import org.jboss.portal.common.value.StringValue;
import org.jboss.portal.theme.ThemeConstants;
import org.jboss.annotation.ejb.Depends;
+import org.jboss.shotoku.tools.Tools;
+import org.apache.log4j.Logger;
import javax.ejb.Stateless;
import javax.ejb.TransactionAttribute;
import javax.ejb.TransactionAttributeType;
import javax.ejb.Local;
+import javax.security.jacc.PolicyContext;
import java.util.Set;
import java.util.Collections;
+import java.util.HashSet;
+import java.util.Collection;
/**
* @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
@@ -36,6 +45,8 @@
@Local(ProjectPagesService.class)
@TransactionAttribute(TransactionAttributeType.REQUIRED)
public class ProjectPagesServiceBean implements ProjectPagesService {
+ private final static Logger log = Logger.getLogger(ProjectPagesService.class);
+
@Depends("portal:container=PortalObject")
private PortalObjectContainer poc;
@@ -83,7 +94,7 @@
Instance instDef = (Instance) o;
try {
result += (instDef.getId() + " | " + instDef.getPortlet().getContext().getId()) +
- "\n<br />";
+ "\n<br />";
} catch (PortletInvokerException e) {
e.printStackTrace();
}
@@ -113,7 +124,7 @@
result += printInstanceDefinitions();
result += "<br /><hr /><br />";
result += printPortlets();
-
+
return result;
}
@@ -123,13 +134,14 @@
* ****************************************
*/
+ private static final PortalObjectId LABS_PORTAL_ID = PortalObjectId.parse("/" +
+ Constants.LABS_PORTAL, PortalObjectId.CANONICAL_FORMAT);
+
/**
* @return Labs portal.
*/
private Portal getLabsPortal() {
- PortalObjectId id = PortalObjectId.parse("/" + Constants.LABS_PORTAL,
- PortalObjectId.CANONICAL_FORMAT);
- return (Portal) poc.getObject(id);
+ return (Portal) poc.getObject(LABS_PORTAL_ID);
}
/**
@@ -168,6 +180,37 @@
}
/**
+ * Checks if the given instance is handeled by Labs.
+ * @param po Portal object to check.
+ * @return True if the given portal object is handeled by Labs.
+ */
+ private boolean isLabsObject(PortalObject po) {
+ return po.getDeclaredProperty(Constants.PORTAL_OBJECT_LABS_MARKER) != null;
+ }
+
+ /**
+ * Marks the given instance as belonging to Labs-handeled objects.
+ * @param instance Instance to mark.
+ * @param projectId Project id, to which this instance belongs.
+ * @throws PortletInvokerException In case of a portal exception.
+ */
+ private void markAsLabsObject(Instance instance, String projectId)
+ throws PortletInvokerException {
+ setInstancePreference(instance, Constants.PORTAL_OBJECT_LABS_MARKER, projectId);
+ }
+
+ /**
+ * Checks if the given instance is handeled by Labs.
+ * @param instance Instance to check.
+ * @throws PortletInvokerException In case of a portal exception.
+ * @return True if the given instance is handeled by Labs.
+ */
+ private boolean isLabsObject(Instance instance)
+ throws PortletInvokerException {
+ return instance.getProperties().getProperty(Constants.PORTAL_OBJECT_LABS_MARKER) != null;
+ }
+
+ /**
* Set a preference in the given instance.
* @param instance Instance in which to set the preference.
* @param name Name on the preference.
@@ -181,36 +224,72 @@
}
/**
- * Marks the given instance as belonging to Labs-handeled objects.
- * @param instance Instance to mark.
- * @param projectId Project id, to which this instance belongs.
+ * Removes all portlet instances that are handeled by Labs, whose ids are not
+ * in the given set.
+ * @param portletIds Ids of portlet instances, which should be kept.
* @throws PortletInvokerException In case of a portal exception.
*/
- private void markAsLabsObject(Instance instance, String projectId)
- throws PortletInvokerException {
- setInstancePreference(instance, Constants.PORTAL_OBJECT_LABS_MARKER, projectId);
+ private void cleanupPortlets(Set<String> portletIds) throws PortletInvokerException {
+ //noinspection unchecked
+ Set<Instance> instances = new HashSet<Instance>(pic.getDefinitions());
+ for (Instance instance : instances) {
+ if ((isLabsObject(instance)) && (!portletIds.contains(instance.getId()))) {
+ try {
+ pic.destroyDefinition(instance.getId());
+ } catch (NoSuchInstanceException e) {
+ // Even better, no work to do.
+ }
+ }
+ }
}
/**
- * Gets a page, with the given name, for the gien project. If such a page
- * does not yet exists, it is created, marked as belonging to this project
- * and necessary security bindings are created.
+ * Removes all portal objects that are handeled by Labs, whose ids are not
+ * in the given set.
+ * @param portalObjIds Ids of portal objects, which should be kept.
+ * @param parent Current parent, whose children will be recursively checked
+ * (when scanning the portal object tree).
+ */
+ private void cleanupPortalObjects(Set<PortalObjectId> portalObjIds, PortalObject parent) {
+ //noinspection unchecked
+ for (PortalObject child : (Collection<PortalObject>) parent.getChildren()) {
+ if ((isLabsObject(child) && (!portalObjIds.contains(child.getId())))) {
+ try {
+ parent.destroyChild(child.getName());
+ } catch (NoSuchPortalObjectException e) {
+ // Even better, no work to do.
+ }
+ } else {
+ cleanupPortalObjects(portalObjIds, child);
+ }
+ }
+ }
+
+ /**
+ * Gets a page, with the given name, for the given project, which i s a
+ * parent of the given portal object. If such a page does not yet exist,
+ * it is created, marked as belonging to this project and necessary
+ * security bindings are created.
+ * @param parent Parent of the page.
* @param projectId Project to which the page should belong.
* @param pageName Name of the page.
+ * @param portalObjIds A set where the id of the page should be added, for
+ * later cleanup.
* @return A specified page for this project.
+ * @throws UnknownPortalException In case of a portal exception.
*/
- private Page getProjectPage(String projectId, String pageName) {
- Portal labsPortal = getLabsPortal();
-
+ private Page getPage(PortalObject parent, String projectId, String pageName,
+ Set<PortalObjectId> portalObjIds) throws UnknownPortalException {
// Checking if the page already exists.
- Page page = labsPortal.getPage(projectId);
+ Page page = (Page) parent.getChild(pageName);
if (page != null) {
+ portalObjIds.add(page.getId());
return page;
}
try {
// Trying to create a new page.
- page = labsPortal.createPage(projectId);
+ page = ((PageContainer) parent).createPage(pageName);
// Marking this page as belonging to this project.
markAsLabsObject(page, projectId);
@@ -218,14 +297,47 @@
// Allowing users to view the page.
setSecurityBindings(page);
+ portalObjIds.add(page.getId());
return page;
} catch (DuplicatePortalObjectException e) {
- throw new RuntimeException("WEIRD 1");
+ throw new UnknownPortalException(e);
}
}
+ /**
+ * Gets a page, with the given name, for the given project. If such a page
+ * does not yet exists, it is created, marked as belonging to this project
+ * and necessary security bindings are created.
+ * @param projectId Project to which the page should belong.
+ * @param pageName Name of the subpage.
+ * @param portalObjIds A set where the id of the page should be added, for
+ * later cleanup.
+ * @return A specified page for this project.
+ * @throws UnknownPortalException In case of a portal exception.
+ */
+ private Page getProjectPage(String projectId, String pageName, Set<PortalObjectId> portalObjIds)
+ throws UnknownPortalException {
+ Page page = getPage(getLabsPortal(), projectId, projectId, portalObjIds);
+ if (!Tools.isEmpty(pageName)) {
+ page = getPage(page, projectId, pageName, portalObjIds);
+ }
+
+ return page;
+ }
+
+ /**
+ * Gets a specified instance of a portlet for the specified project. If such
+ * an instances doesn't exist, it is created.
+ * @param projectId Project to which the instance should belong.
+ * @param pageName Name of the subpage, on which the instance will be placed.
+ * @param portletName Name of portlet, which the instance should reference.
+ * @param portletIds Set where ids of portlet instances objects should be added.
+ * @return The specified instance.
+ * @throws UnknownPortletException In case the portlet is not found.
+ * @throws UnknownPortalException In case of a portal exception.
+ */
private Instance getProjectPortletInstance(String projectId, String pageName,
- String portletName)
+ String portletName, Set<String> portletIds)
throws UnknownPortletException, UnknownPortalException {
// Determining the portlet id.
ProjectsPortlet portlet;
@@ -243,6 +355,7 @@
// Constructing the instance id.
String instanceId = ForgeHelper.createCamelCase(portletName, projectId, pageName, "instance");
+ portletIds.add(instanceId);
// Checking if the instance already exists.
Instance instance = pic.getDefinition(instanceId);
@@ -265,67 +378,142 @@
return instance;
} catch (DuplicateInstanceException e) {
- throw new RuntimeException("WEIRD 2");
+ throw new UnknownPortalException(e);
} catch (PortletInvokerException e) {
throw new UnknownPortalException(e);
}
}
+ /**
+ * Adds the given instance to the given page; if necessary, creates a portal
+ * window (unless one is already present).
+ * @param projectId Id of the project to which the new window will belong.
+ * @param pageName Name of the sub-page on which the window should be placed.
+ * @param portletName Name of portlet, which's instance is added.
+ * @param page Portal page object, to which the window referencing the given
+ * instances shuld be added.
+ * @param instance Instance, which should be added to the given page.
+ * @param region Region of the page, where the window should be placed.
+ * @param height Height on the page, where the window should be placed.
+ * @param portalObjIds Set where ids of used portal objects should be added.
+ */
private void addInstanceToPage(String projectId, String pageName, String portletName,
Page page, Instance instance,
- String region, int order) {
+ String region, int height, Set<PortalObjectId> portalObjIds) {
String windowId = createWindowId(portletName, projectId, pageName);
Window window = page.getWindow(windowId);
- if (window != null) {
- // The window exists, nothing to do.
- return;
+ if (window == null) {
+ try {
+ window = page.createWindow(windowId, ContentType.PORTLET, instance.getId());
+
+ // Marking this window as belonging to this project.
+ markAsLabsObject(window, projectId);
+
+ // Creating necessary security bindings.
+ //setSecurityBindings(window);
+ } catch (DuplicatePortalObjectException e) {
+ log.warn(e);
+ return;
+ }
}
-
- try {
- window = page.createWindow(windowId, ContentType.PORTLET, instance.getId());
- // Placing the window on the page, as required.
- window.setDeclaredProperty(ThemeConstants.PORTAL_PROP_REGION, region);
- window.setDeclaredProperty(ThemeConstants.PORTAL_PROP_ORDER, Integer.toString(order));
+ portalObjIds.add(window.getId());
- // Creating necessary security bindings.
- //setSecurityBindings(window);
-
- // Marking this window as belonging to this project.
- markAsLabsObject(window, projectId);
- } catch (DuplicatePortalObjectException e) {
- throw new RuntimeException("WEIRD 3");
- }
+ // Placing the window on the page, as required.
+ window.setDeclaredProperty(ThemeConstants.PORTAL_PROP_REGION, region);
+ window.setDeclaredProperty(ThemeConstants.PORTAL_PROP_ORDER, Integer.toString(height));
}
- private void updateProjectPage(String projectId, String pageName) {
- Page page = getProjectPage(projectId, pageName);
+ /**
+ * Updates one page for the given project.
+ * @param projectId Id of the project for which to update the pages.
+ * @param projectPage Page descriptor.
+ * @param portalObjIds Set where ids of used portal objects should be added.
+ * @param portletIds Set where ids of portlet instances objects should be added.
+ */
+ private void updateProjectPage(String projectId,
+ org.jboss.forge.common.projects.project.Page projectPage,
+ Set<PortalObjectId> portalObjIds, Set<String> portletIds) {
+ String pageName = projectPage.getName();
try {
- Instance freezone = getProjectPortletInstance(projectId, null, "freezone");
- Instance downloads = getProjectPortletInstance(projectId, null, "downloads");
- Instance info = getProjectPortletInstance(projectId, null, "info");
+ Page page = getProjectPage(projectId, pageName, portalObjIds);
+
+ for (org.jboss.forge.common.projects.project.Portlet portlet : projectPage.getPortlets()) {
+ // Getting the instance.
+ Instance instance = getProjectPortletInstance(projectId, pageName,
+ portlet.getName(), portletIds);
- addInstanceToPage(projectId, pageName, "freezone", page, freezone, "center", 0);
- addInstanceToPage(projectId, pageName, "downloads", page, downloads, "center", 1);
- addInstanceToPage(projectId, pageName, "info", page, info, "center", 2);
+ // Setting preferences.
+ for (Preference pref : portlet.getPreferences()) {
+ setInstancePreference(instance, pref.getName(), pref.getValue());
+ }
+
+ // Adding the window.
+ addInstanceToPage(projectId, pageName, portlet.getName(), page,instance,
+ portlet.getRegion(), Integer.parseInt(portlet.getHeight()), portalObjIds);
+ }
} catch (UnknownPortletException e) {
e.printStackTrace();
} catch (UnknownPortalException e) {
e.printStackTrace();
+ } catch (PortletInvokerException e) {
+ e.printStackTrace();
+ } catch (NumberFormatException e) {
+ e.printStackTrace();
}
+ }
+ /**
+ * Updates pages for the given project.
+ * @param projectId Id of the project for which to update the pages.
+ * @param pages A pages descriptor.
+ * @param portalObjIds Set where ids of used portal objects should be added.
+ * @param portletIds Set where ids of portlet instances objects should be added.
+ */
+ private void updateProject(String projectId, Pages pages,
+ Set<PortalObjectId> portalObjIds, Set<String> portletIds) {
+ if (pages == null) {
+ return;
+ }
+
+ // Updating each page.
+ for (org.jboss.forge.common.projects.project.Page page : pages.getPages()) {
+ updateProjectPage(projectId, page, portalObjIds, portletIds);
+ }
}
- public void updatePages(String projectId) {
- updateProjectPage(projectId, null);
+ public void updatePages(Collection<Project> projects) {
+ String ejbContextID = PolicyContext.getContextID();
+ try {
+ PolicyContext.setContextID("portal-server.war");
+
+ Set<PortalObjectId> portalObjIds = new HashSet<PortalObjectId>();
+ Set<String> portletIds = new HashSet<String>();
+
+ // Updating pages for each project; also, collecting used ids of portal
+ // objects and portlet ids. This way, we will later know which Labs-
+ // handeled objects can be safely deleted.
+ for (Project project : projects) {
+ updateProject(project.getId(), project.getPages(), portalObjIds, portletIds);
+ }
+
+ // Cleaning up portlet instances.
+ try {
+ cleanupPortlets(portletIds);
+ } catch (PortletInvokerException e) {
+ log.warn(e);
+ }
+
+ // Cleaning up portal objects.
+ cleanupPortalObjects(portalObjIds, poc.getRootObject());
+ } finally {
+ PolicyContext.setContextID(ejbContextID);
+ }
}
public String createWindowId(String portletName, String projectId, String pageName) {
- return ForgeHelper.createCamelCase(portletName, projectId, pageName, "window");
+ return ForgeHelper.createCamelCase(portletName, projectId, pageName, "window");
}
-
- public void removeExcessPages(Set<String> projectIds) {
- }
}
Modified: labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/PathParser.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/PathParser.java 2007-02-24 09:35:16 UTC (rev 9733)
+++ labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/PathParser.java 2007-02-24 15:27:39 UTC (rev 9734)
@@ -17,9 +17,9 @@
}
fullPath = path;
- path = normalize(path);
+ rest = normalize(path);
- doSplit(path);
+ doSplit();
}
private String normalize(String path) {
@@ -38,16 +38,16 @@
return path;
}
- private void doSplit(String path) {
+ private void doSplit() {
lastRest = rest;
- if (path == null) {
+ if (rest == null) {
firstToken = null;
rest = null;
return;
}
- String[] tokens = path.split("[/]", 2);
+ String[] tokens = rest.split("[/]", 2);
firstToken = tokens[0];
rest = (tokens.length > 1 ? tokens[1] : null);
}
@@ -90,9 +90,10 @@
*/
public void proceed() {
if (hasMoreTokens()) {
- doSplit(rest);
+ doSplit();
} else {
firstToken = null;
+ lastRest = null;
}
}
Modified: labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/LabsPortalObjectCommandFactory.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/LabsPortalObjectCommandFactory.java 2007-02-24 09:35:16 UTC (rev 9733)
+++ labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/LabsPortalObjectCommandFactory.java 2007-02-24 15:27:39 UTC (rev 9734)
@@ -21,5 +21,6 @@
Window window);
public ControllerCommand doMapping(ServerInvocation invocation, Window window,
- Map<String, Object> additionalParameters);
+ Map<String, Object> additionalParameters,
+ boolean overwrite);
}
Modified: labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/LabsPortalObjectCommandFactoryImpl.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/LabsPortalObjectCommandFactoryImpl.java 2007-02-24 09:35:16 UTC (rev 9733)
+++ labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/LabsPortalObjectCommandFactoryImpl.java 2007-02-24 15:27:39 UTC (rev 9734)
@@ -22,11 +22,11 @@
import org.jboss.labs.mapper.PathParser;
import org.jboss.shotoku.aop.Inject;
import org.jboss.shotoku.ContentManager;
+import org.jboss.shotoku.tools.Tools;
import org.jboss.shotoku.exceptions.ResourceDoesNotExist;
import java.util.Map;
import java.util.HashMap;
-import java.util.Collections;
/**
* @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
@@ -38,27 +38,26 @@
public ControllerCommand doMapping(ServerInvocation invocation, PathParser parser,
Window window) {
- return doMapping(invocation, window, null);
+ return doMapping(invocation, window, null, true);
}
public ControllerCommand doMapping(ServerInvocation invocation, Window window,
- Map<String, Object> additionalParameters) {
+ Map<String, Object> additionalParameters,
+ boolean overwrite) {
if (window == null) {
throw new IllegalArgumentException("Window cannot be null.");
}
- Map bodyParams = invocation.getServerContext().getBodyParameterMap();
- if (bodyParams == null) { bodyParams = Collections.emptyMap(); }
//noinspection unchecked
Map<String, String[]> queryParams = new HashMap<String, String[]>(
invocation.getServerContext().getQueryParameterMap());
-
- if (additionalParameters != null) {
+
+ if (additionalParameters != null) {
for (String key : additionalParameters.keySet()) {
- if (queryParams.containsKey(key) || bodyParams.containsKey(key)) {
+ if ((!overwrite) && (queryParams.containsKey(key))) {
continue;
}
-
+
Object value = additionalParameters.get(key);
if (value instanceof String[]) {
queryParams.put(key, (String[]) value);
@@ -70,7 +69,7 @@
// Decoding the window state.
PortletRequestDecoder decoder = new PortletRequestDecoder();
- decoder.decode(queryParams, bodyParams);
+ decoder.decode(queryParams, invocation.getServerContext().getBodyParameterMap());
// Get the window navigational state
WindowNavigationalState windowNavState = getWindowNavState(invocation, window);
@@ -116,8 +115,14 @@
return LabsServices.getProjectPagesService().createWindowId(
FREEZONE_PORTLET_NAME, null, page.getName());
} else {
+ String pageName = null;
+ if (!Tools.objectsEqual(projectId, page.getName())) {
+ // The page is not a main project page, but a subpage.
+ // So it must be considered when generating the window id.
+ pageName = page.getName();
+ }
return LabsServices.getProjectPagesService().createWindowId(
- FREEZONE_PORTLET_NAME, projectId, null);
+ FREEZONE_PORTLET_NAME, projectId, pageName);
}
} catch (ServiceRetrievalException e) {
return null;
@@ -154,7 +159,7 @@
// Checking the mime type of the requested resource.
try {
String absPath = ProjectsHelper.createAbsoluteFreezonePath(projectId,
- parser.getCurrent());
+ path);
if (!Constants.PAGES_MIME_TYPE.equals(cm.getNode(absPath).getMimeType())) {
// A binary request; redirecting to file-access.
sendRedirect(invocation, ForgeHelper.createFileAccessPath(absPath));
@@ -176,7 +181,7 @@
Map<String, Object> additionalParameters = new HashMap<String, Object>();
additionalParameters.put(Constants.FREEZONE_PATH_PARAM, path);
- return doMapping(invocation, freezone, additionalParameters);
+ return doMapping(invocation, freezone, additionalParameters, true);
}
// Otherwise, invoking a render command on the freezone window.
Modified: labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/WikiCommandFactory.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/WikiCommandFactory.java 2007-02-24 09:35:16 UTC (rev 9733)
+++ labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/WikiCommandFactory.java 2007-02-24 15:27:39 UTC (rev 9734)
@@ -111,11 +111,13 @@
Window wikiWindow = (Window) getContainer().getObject(windowId);
if (hasMetaParameter(invocation)) {
- return getPortalObjectCF().doMapping(invocation, wikiWindow, params.getMap());
+ return getPortalObjectCF().doMapping(invocation, wikiWindow, params.getMap(),
+ false);
} else {
params.setValue(PortletRequestDecoder.META_PARAMETER,
Integer.toString(PortletRequestDecoder.RENDER_MASK));
- return getPortalObjectCF().doMapping(invocation, wikiWindow, params.getMap());
+ return getPortalObjectCF().doMapping(invocation, wikiWindow, params.getMap(),
+ false);
}
}
}
Modified: labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/url/LabsMainUrlFactory.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/url/LabsMainUrlFactory.java 2007-02-24 09:35:16 UTC (rev 9733)
+++ labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/url/LabsMainUrlFactory.java 2007-02-24 15:27:39 UTC (rev 9734)
@@ -108,7 +108,6 @@
PortletParametersStateString ppss =
(PortletParametersStateString) navigationalState;
path = ppss.getParameters().getValue(Constants.FREEZONE_PATH_PARAM);
- ppss.getParameters().remove(Constants.FREEZONE_PATH_PARAM);
}
addToPath(sb, poc.getTargetId(), false);
@@ -146,6 +145,8 @@
url.getParameterMap().remove(PortletRequestDecoder.META_PARAMETER);
}
}
+
+ url.getParameterMap().remove(Constants.FREEZONE_PATH_PARAM);
}
}
Modified: labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/url/WikiUrlFactory.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/url/WikiUrlFactory.java 2007-02-24 09:35:16 UTC (rev 9733)
+++ labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/url/WikiUrlFactory.java 2007-02-24 15:27:39 UTC (rev 9734)
@@ -79,7 +79,21 @@
PortletRequestEncoder.encodeRender(url, navigationalState,
renderCmd.getMode(), renderCmd.getWindowState());
- url.getParameterMap().remove(PortletRequestDecoder.META_PARAMETER);
+ // If the request isn't only a render request, but also, for
+ // example, window state change, we leave the meta
+ // parameter intact. Otherwise, we remove it from the
+ // url.
+ Object meta = url.getParameterMap().get(
+ PortletRequestDecoder.META_PARAMETER);
+
+ if (meta != null) {
+ int metaInt = Integer.parseInt(((String []) meta)[0], 16);
+
+ if ((metaInt | PortletRequestDecoder.RENDER_MASK) ==
+ PortletRequestDecoder.RENDER_MASK) {
+ url.getParameterMap().remove(PortletRequestDecoder.META_PARAMETER);
+ }
+ }
}
String[] jsfPageParam = (String[]) url.getParameterMap().get(
Deleted: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/freezone/TestServlet.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/freezone/TestServlet.java 2007-02-24 09:35:16 UTC (rev 9733)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/freezone/TestServlet.java 2007-02-24 15:27:39 UTC (rev 9734)
@@ -1,29 +0,0 @@
-package org.jboss.forge.projects.freezone;
-
-import org.jboss.forge.common.ejb3.LabsServices;
-import org.jboss.forge.common.exceptions.ServiceRetrievalException;
-
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
-import javax.naming.NamingException;
-import java.io.IOException;
-
-/**
- * TO REMOVE! Just for testing.
- * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
- */
-public class TestServlet extends HttpServlet {
-
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- response.setContentType("text/html");
- response.getWriter().println("Calling project pages service bean.");
-
- try {
- LabsServices.getProjectPagesService().updatePages("jbossas");
- } catch (ServiceRetrievalException e) {
- e.printStackTrace();
- }
- }
-}
Modified: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/freezone/TestServlet3.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/freezone/TestServlet3.java 2007-02-24 09:35:16 UTC (rev 9733)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/freezone/TestServlet3.java 2007-02-24 15:27:39 UTC (rev 9734)
@@ -33,7 +33,6 @@
for (ProjectsPortletPreference ppp : portlet.getPreferences()) {
w.println(" " + ppp.getName() + "<br />");
w.println(" " + ppp.getDefault() + "<br />");
- w.println(" " + ppp.isRequired() + "<br />");
for (String value : ppp.getValues()) {
w.println(" " + value + "<br />");
Modified: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/info/ProjectInfoBean.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/info/ProjectInfoBean.java 2007-02-24 09:35:16 UTC (rev 9733)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/info/ProjectInfoBean.java 2007-02-24 15:27:39 UTC (rev 9734)
@@ -25,6 +25,7 @@
import javax.management.MalformedObjectNameException;
import org.jboss.forge.common.ForgeHelper;
+import org.jboss.forge.common.exceptions.ServiceRetrievalException;
import org.jboss.forge.common.projects.ProjectsHelper;
import org.jboss.forge.common.projects.project.Project;
import org.jboss.forge.common.ejb3.LabsServices;
@@ -74,7 +75,7 @@
ProjectsService service;
try {
service = LabsServices.getProjectsService();
- } catch (MalformedObjectNameException e) {
+ } catch (ServiceRetrievalException e) {
log.warn("Unable to obtain ProjectsService. " + e.getMessage());
return null;
}
Modified: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/info/ProjectInfoTools.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/info/ProjectInfoTools.java 2007-02-24 09:35:16 UTC (rev 9733)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/info/ProjectInfoTools.java 2007-02-24 15:27:39 UTC (rev 9734)
@@ -36,6 +36,7 @@
import org.jboss.forge.common.projects.project.DocumentationType;
import org.jboss.forge.common.projects.project.Project;
import org.jboss.forge.common.projects.project.rw.ProjectRW;
+import org.jboss.forge.common.exceptions.ServiceRetrievalException;
import org.jboss.logging.Logger;
@@ -52,6 +53,8 @@
projectsService = LabsServices.getProjectsService();
} catch (MalformedObjectNameException e) {
log.warn("Cannot get ProjectsServiceRW");
+ } catch (ServiceRetrievalException e) {
+ log.warn("Cannot get ProjectsServiceRW");
}
}
Modified: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/web/WEB-INF/web.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/web/WEB-INF/web.xml 2007-02-24 09:35:16 UTC (rev 9733)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/web/WEB-INF/web.xml 2007-02-24 15:27:39 UTC (rev 9734)
@@ -19,16 +19,7 @@
</filter-mapping>
<!-- DEBUG only -->
- <servlet>
- <servlet-name>Test1</servlet-name>
- <servlet-class>org.jboss.forge.projects.freezone.TestServlet</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>Test1</servlet-name>
- <url-pattern>/test1/*</url-pattern>
- </servlet-mapping>
-
<servlet>
<servlet-name>Test2</servlet-name>
<servlet-class>org.jboss.forge.projects.freezone.TestServlet2</servlet-class>
More information about the jboss-svn-commits
mailing list