Author: julien(a)jboss.com
Date: 2008-01-12 18:16:50 -0500 (Sat, 12 Jan 2008)
New Revision: 9486
Added:
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr286/
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr286/tck/
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr286/tck/portletconfig/
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr286/tck/portletconfig/NoEventTestCase.java
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr286/tck/portletconfig/ProcessingEventTestCase.java
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr286/tck/portletconfig/PublishingEventTestCase.java
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr286/tck/portletconfig/PublishingProcessingEventTestCase.java
modules/portlet/trunk/test/src/test/resources/jsr286/
modules/portlet/trunk/test/src/test/resources/jsr286/tck/
modules/portlet/trunk/test/src/test/resources/jsr286/tck/portletconfig-war/
modules/portlet/trunk/test/src/test/resources/jsr286/tck/portletconfig-war/WEB-INF/
modules/portlet/trunk/test/src/test/resources/jsr286/tck/portletconfig-war/WEB-INF/portlet.xml
modules/portlet/trunk/test/src/test/resources/jsr286/tck/portletconfig-war/WEB-INF/web.xml
Modified:
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/info/ContainerEventInfo.java
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/info/ContainerInfoBuilder.java
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/info/ContainerInfoBuilderContext.java
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/info/ContainerPortletInfo.java
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/jsr168/ContainerInfoBuilderContextImpl.java
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/jsr168/PortletContainerImpl.java
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/jsr168/api/PortletConfigImpl.java
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/info/EventInfo.java
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr168/tck/dispatcher/IncludedRequestParametersTestCase.java
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/state/AbstractStatefulPortletInvokerTestCase.java
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/unit/Assertion.java
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/unit/PortletTestSuite.java
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/unit/base/AbstractUniversalTestPortlet.java
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/PortletApplicationDeployment.java
modules/portlet/trunk/test/src/test/build.xml
modules/portlet/trunk/test/src/test/resources/test/remote-jboss-unit.xml
Log:
- fixed a couple of bugs in the portlet container test framework
- improved the build.xml (DRY) and jsr 286 support
- implement getPublishingEventQName() and getProcessingEventQNames() in PortletConfig
- unit tests for getPublishingEventQName() and getProcessingEventQNames()
Modified:
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/info/ContainerEventInfo.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/info/ContainerEventInfo.java 2008-01-12
22:17:37 UTC (rev 9485)
+++
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/info/ContainerEventInfo.java 2008-01-12
23:16:50 UTC (rev 9486)
@@ -38,19 +38,19 @@
{
/** . */
- private QName name;
+ private final QName name;
/** . */
- private ContainerTypeInfo type;
+ private final ContainerTypeInfo type;
/** . */
- private LocalizedString displayName;
+ private final LocalizedString displayName;
/** . */
- private LocalizedString description;
+ private final LocalizedString description;
/** . */
- private List<QName> aliases;
+ private final List<QName> aliases;
public ContainerEventInfo(
QName name,
Modified:
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/info/ContainerInfoBuilder.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/info/ContainerInfoBuilder.java 2008-01-12
22:17:37 UTC (rev 9485)
+++
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/info/ContainerInfoBuilder.java 2008-01-12
23:16:50 UTC (rev 9486)
@@ -30,6 +30,7 @@
import org.jboss.portal.portlet.impl.metadata.portlet.SecurityRoleRefMetaData;
import org.jboss.portal.portlet.impl.metadata.portlet.PortletPreferencesMetaData;
import org.jboss.portal.portlet.impl.metadata.portlet.WindowStateMetaData;
+import org.jboss.portal.portlet.impl.metadata.portlet.PortletInfoMetaData;
import org.jboss.portal.portlet.impl.metadata.security.SecurityConstraintMetaData;
import org.jboss.portal.portlet.impl.metadata.common.InitParamMetaData;
import org.jboss.portal.portlet.impl.metadata.event.EventDefinitionReferenceMetaData;
@@ -41,9 +42,12 @@
import org.jboss.portal.common.value.StringValue;
import org.jboss.portal.common.i18n.LocalizedString;
import org.jboss.portal.common.i18n.ResourceBundleManager;
+import org.jboss.portal.common.reflect.NoSuchClassException;
import org.jboss.portal.Mode;
+import org.apache.log4j.Logger;
import javax.xml.namespace.QName;
+import javax.xml.XMLConstants;
import java.util.Locale;
import java.util.Map;
import java.util.HashMap;
@@ -51,6 +55,8 @@
import java.util.ResourceBundle;
import java.util.MissingResourceException;
import java.util.ArrayList;
+import java.net.URI;
+import java.net.URISyntaxException;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
@@ -80,6 +86,9 @@
/** . */
private final Map<QName, ContainerEventInfo> events;
+ /** . */
+ private final Logger log = Logger.getLogger(ContainerInfoBuilder.class);
+
public ContainerInfoBuilder(
PortletApplication10MetaData portletApplicationMD,
ContainerInfoBuilderContext context)
@@ -104,6 +113,17 @@
{
tmp.setEvents(new ArrayList<EventDefinitionMetaData>());
}
+ if (tmp.getDefaultNamespace() == null)
+ {
+ try
+ {
+ tmp.setDefaultNamespace(new URI(XMLConstants.NULL_NS_URI));
+ }
+ catch (URISyntaxException e)
+ {
+ throw new Error(e);
+ }
+ }
}
}
@@ -202,8 +222,15 @@
//
for (EventDefinitionMetaData eventDefinitionMD : tmp.getEvents())
{
- ContainerEventInfo event = build(eventDefinitionMD);
- events.put(event.getName(), event);
+ try
+ {
+ ContainerEventInfo event = build(eventDefinitionMD);
+ events.put(event.getName(), event);
+ }
+ catch (NoSuchClassException e)
+ {
+ log.error("Cannot load event class " + e.getClassName(), e);
+ }
}
}
@@ -215,21 +242,26 @@
}
}
- private ContainerEventInfo build(EventDefinitionMetaData eventDefinitionMD)
+ private ContainerEventInfo build(EventDefinitionMetaData eventDefinitionMD) throws
NoSuchClassException
{
QName name = getName(eventDefinitionMD.getQname(), eventDefinitionMD.getName());
ResourceBundleManager bundleMgr = context.getBundleManager();
//
String valueType = eventDefinitionMD.getValueType();
- Class clazz = context.getClass(valueType);
+ ContainerTypeInfo type = null;
+ if (valueType != null)
+ {
+ Class clazz = context.getClass(valueType);
+ type = new ContainerTypeInfo(clazz);
+ }
+
//
LocalizedString displayName =
bundleMgr.getLocalizedValue("javax.portlet.app.event-definition.." + name +
".display-name", "Event " + name);
LocalizedString description =
bundleMgr.getLocalizedValue("javax.portlet.app.event-definition." + name +
".description", "Description of event " + name);
//
- ContainerTypeInfo type = new ContainerTypeInfo(clazz);
return new ContainerEventInfo(name, type, displayName, description);
}
@@ -249,6 +281,9 @@
ContainerPortletInfo containerPortletInfo;
if (portletApplicationMD instanceof PortletApplication20MetaData)
{
+ PortletApplication20MetaData tmp =
(PortletApplication20MetaData)portletApplicationMD;
+
+ //
ContainerEventsInfo containerEvents = buildContainerEventsInfo(portletMD);
//
@@ -263,6 +298,7 @@
portletMD.getPortletName(),
portletMD.getPortletClass(),
false,
+ tmp.getDefaultNamespace().toString(),
context.getBundleManager(portletMD)
);
}
@@ -392,11 +428,16 @@
ResourceBundleManager bundleMgr = context.getBundleManager(portletMD);
// Capture inline values
- String[] inlines = {
- portletMD.getPortletInfo().getTitle(),
- portletMD.getPortletInfo().getShortTitle(),
- portletMD.getPortletInfo().getKeywords()
- };
+ PortletInfoMetaData portletInfoMD = portletMD.getPortletInfo();
+ String[] inlines = null;
+ if (portletInfoMD != null)
+ {
+ inlines = new String[]{
+ portletMD.getPortletInfo().getTitle(),
+ portletMD.getPortletInfo().getShortTitle(),
+ portletMD.getPortletInfo().getKeywords()
+ };
+ }
// Construct info from resource bundle manager
for (int i = 0; i < KEYS.length; i++)
@@ -432,7 +473,7 @@
}
// Add the inline value if it is present
- if (inlines[i] != null)
+ if (inlines != null && inlines[i] != null)
{
tmp.put(Locale.ENGLISH, inlines[i]);
}
Modified:
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/info/ContainerInfoBuilderContext.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/info/ContainerInfoBuilderContext.java 2008-01-12
22:17:37 UTC (rev 9485)
+++
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/info/ContainerInfoBuilderContext.java 2008-01-12
23:16:50 UTC (rev 9486)
@@ -23,6 +23,7 @@
package org.jboss.portal.portlet.impl.info;
import org.jboss.portal.common.i18n.ResourceBundleManager;
+import org.jboss.portal.common.reflect.NoSuchClassException;
import org.jboss.portal.portlet.impl.metadata.portlet.PortletMetaData;
/**
@@ -36,6 +37,14 @@
ResourceBundleManager getBundleManager(PortletMetaData portletMD);
- Class getClass(String className);
+ /**
+ * Obtains a class.
+ *
+ * @param className the class name
+ * @return the specified class
+ * @throws IllegalArgumentException if the className argument is null
+ * @throws NoSuchClassException is the class cannot be loaded
+ */
+ Class getClass(String className) throws IllegalArgumentException,
NoSuchClassException;
}
Modified:
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/info/ContainerPortletInfo.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/info/ContainerPortletInfo.java 2008-01-12
22:17:37 UTC (rev 9485)
+++
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/info/ContainerPortletInfo.java 2008-01-12
23:16:50 UTC (rev 9486)
@@ -25,6 +25,7 @@
import org.jboss.portal.portlet.info.PortletInfo;
import org.jboss.portal.common.i18n.ResourceBundleManager;
+import javax.xml.XMLConstants;
import java.util.Map;
import java.util.HashMap;
import java.util.Set;
@@ -73,8 +74,11 @@
private final Boolean remotable;
/** . */
- private ResourceBundleManager bundleManager;
+ private final String defaultNamespace;
+ /** . */
+ private final ResourceBundleManager bundleManager;
+
public ContainerPortletInfo(
ContainerCapabilitiesInfo capabilities,
ContainerPreferencesInfo preferences,
@@ -93,11 +97,12 @@
this.security = security;
this.cache = cache;
this.session = session;
- this.events = null;
+ this.events = new ContainerEventsInfo();
this.name = name;
this.className = className;
this.initParameters = new HashMap<String, String>();
this.remotable = remotable;
+ this.defaultNamespace = XMLConstants.NULL_NS_URI;
this.bundleManager = bundleManager;
}
@@ -112,6 +117,7 @@
String name,
String className,
Boolean remotable,
+ String defaultNamespace,
ResourceBundleManager bundleManager)
{
this.capabilities = capabilities;
@@ -125,6 +131,7 @@
this.className = className;
this.initParameters = new HashMap<String, String>();
this.remotable = remotable;
+ this.defaultNamespace = defaultNamespace;
this.bundleManager = bundleManager;
}
@@ -133,6 +140,11 @@
return name;
}
+ public String getDefaultNamespace()
+ {
+ return defaultNamespace;
+ }
+
public ResourceBundleManager getBundleManager()
{
return bundleManager;
Modified:
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/jsr168/ContainerInfoBuilderContextImpl.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/jsr168/ContainerInfoBuilderContextImpl.java 2008-01-12
22:17:37 UTC (rev 9485)
+++
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/jsr168/ContainerInfoBuilderContextImpl.java 2008-01-12
23:16:50 UTC (rev 9486)
@@ -29,6 +29,7 @@
import org.jboss.portal.web.WebApp;
import org.jboss.portal.common.i18n.ResourceBundleManager;
import org.jboss.portal.common.i18n.ResourceBundleFactory;
+import org.jboss.portal.common.reflect.NoSuchClassException;
import java.util.Map;
import java.util.HashMap;
@@ -78,18 +79,23 @@
return bundleMgr;
}
- public Class getClass(String className)
+ public Class getClass(String className) throws IllegalArgumentException,
NoSuchClassException
{
+ if (className == null)
+ {
+ throw new IllegalArgumentException("No null class name accepted");
+ }
try
{
return webApp.getClassLoader().loadClass(className);
}
catch (ClassNotFoundException e)
{
- e.printStackTrace();
-
- // todo
- return null;
+ throw new NoSuchClassException(className, e);
}
+ catch (NoClassDefFoundError e)
+ {
+ throw new NoSuchClassException(className, e);
+ }
}
}
Modified:
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/jsr168/PortletContainerImpl.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/jsr168/PortletContainerImpl.java 2008-01-12
22:17:37 UTC (rev 9485)
+++
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/jsr168/PortletContainerImpl.java 2008-01-12
23:16:50 UTC (rev 9486)
@@ -67,6 +67,9 @@
/** Logger. */
protected final Logger log;
+ /** Return info. */
+ protected final ContainerPortletInfo info;
+
/** . */
protected PortletApplicationImpl application;
@@ -88,9 +91,6 @@
/** User data constraint. */
protected Set userDataConstraints;
- /** Return info. */
- protected ContainerPortletInfo info;
-
/**
* The preference validator, this is not exposed as runtime meta data as it is only
used by the JSR 168 portlet
* container implementation.
@@ -99,6 +99,12 @@
public PortletContainerImpl(ContainerPortletInfo info)
{
+ if (info == null)
+ {
+ throw new IllegalArgumentException("No null info is accepted");
+ }
+
+ //
this.info = info;
this.valve = new Valve();
this.log = Logger.getLogger("org.jboss.portal.portlet.container." +
info.getClassName().replace('.', '_'));
@@ -244,7 +250,6 @@
portlet = null;
config = null;
userDataConstraints = null;
- info = null;
}
}
Modified:
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/jsr168/api/PortletConfigImpl.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/jsr168/api/PortletConfigImpl.java 2008-01-12
22:17:37 UTC (rev 9485)
+++
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/impl/jsr168/api/PortletConfigImpl.java 2008-01-12
23:16:50 UTC (rev 9486)
@@ -24,7 +24,9 @@
import org.jboss.portal.common.i18n.ResourceBundleManager;
import org.jboss.portal.common.NotYetImplemented;
+import org.jboss.portal.common.util.Tools;
import org.jboss.portal.portlet.impl.info.ContainerPortletInfo;
+import org.jboss.portal.portlet.info.EventInfo;
import javax.portlet.PortletConfig;
import javax.portlet.PortletContext;
@@ -34,6 +36,8 @@
import java.util.Locale;
import java.util.ResourceBundle;
import java.util.Map;
+import java.util.List;
+import java.util.ArrayList;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
@@ -42,15 +46,40 @@
public class PortletConfigImpl implements PortletConfig
{
+ /** . */
private PortletContext portletContext;
+
+ /** . */
private ContainerPortletInfo info;
+
+ /** . */
private ResourceBundleManager bundleMgr;
+ /** . */
+ private List<QName> publishingEventQNames;
+
+ /** . */
+ private List<QName> processingEventQNames;
+
public PortletConfigImpl(PortletContext portletContext, ContainerPortletInfo info,
ResourceBundleManager bundleMgr)
{
+ List<QName> publishingEventQNames = new ArrayList<QName>();
+ for (EventInfo event : info.getEvents().getProducedEvents())
+ {
+ publishingEventQNames.add(event.getName());
+ }
+
+ List<QName> processingEventQNames = new ArrayList<QName>();
+ for (EventInfo event : info.getEvents().getConsumedEvents())
+ {
+ processingEventQNames.add(event.getName());
+ }
+
this.portletContext = portletContext;
this.info = info;
this.bundleMgr = bundleMgr;
+ this.publishingEventQNames = publishingEventQNames;
+ this.processingEventQNames = processingEventQNames;
}
public String getPortletName()
@@ -90,17 +119,17 @@
public String getDefaultNamespace()
{
- throw new NotYetImplemented();
+ return info.getDefaultNamespace();
}
public Enumeration<QName> getPublishingEventQNames()
{
- throw new NotYetImplemented();
+ return Tools.toEnumeration(publishingEventQNames.iterator());
}
public Enumeration<QName> getProcessingEventQNames()
{
- throw new NotYetImplemented();
+ return Tools.toEnumeration(processingEventQNames.iterator());
}
public Enumeration<Locale> getSupportedLocales()
Modified:
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/info/EventInfo.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/info/EventInfo.java 2008-01-12
22:17:37 UTC (rev 9485)
+++
modules/portlet/trunk/portlet/src/main/java/org/jboss/portal/portlet/info/EventInfo.java 2008-01-12
23:16:50 UTC (rev 9486)
@@ -40,6 +40,11 @@
LocalizedString getDescription();
+ /**
+ * Returns the type of the event or null if the event does not declare a type.
+ *
+ * @return the type of the event
+ */
TypeInfo getType();
Collection<QName> getAliases();
Modified:
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr168/tck/dispatcher/IncludedRequestParametersTestCase.java
===================================================================
---
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr168/tck/dispatcher/IncludedRequestParametersTestCase.java 2008-01-12
22:17:37 UTC (rev 9485)
+++
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr168/tck/dispatcher/IncludedRequestParametersTestCase.java 2008-01-12
23:16:50 UTC (rev 9486)
@@ -68,8 +68,8 @@
try
{
dispatcher.include(request, response);
-
assertEquals("/test-jsr168-dispatcher/universalServletA/pathinfo",
UTP1.local1.get());
- assertEquals("/test-jsr168-dispatcher", UTP1.local2.get());
+
assertEquals("/test-jsr168-tck-dispatcher/universalServletA/pathinfo",
UTP1.local1.get());
+ assertEquals("/test-jsr168-tck-dispatcher", UTP1.local2.get());
assertEquals("/universalServletA", UTP1.local3.get());
assertEquals("/pathinfo", UTP1.local4.get());
assertEquals("foo=bar", UTP1.local5.get());
Added:
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr286/tck/portletconfig/NoEventTestCase.java
===================================================================
---
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr286/tck/portletconfig/NoEventTestCase.java
(rev 0)
+++
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr286/tck/portletconfig/NoEventTestCase.java 2008-01-12
23:16:50 UTC (rev 9486)
@@ -0,0 +1,73 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2006, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as *
+ * published by the Free Software Foundation; either version 2.1 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This software is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.test.portlet.jsr286.tck.portletconfig;
+
+import org.jboss.portal.unit.annotations.TestCase;
+import org.jboss.portal.unit.Assertion;
+import org.jboss.portal.unit.PortletTestCase;
+import org.jboss.portal.unit.PortletTestContext;
+import org.jboss.portal.unit.base.AbstractUniversalTestPortlet;
+import org.jboss.portal.unit.actions.PortletRenderTestAction;
+import org.jboss.portal.test.portlet.framework.UTP1;
+import static org.jboss.unit.api.Assert.*;
+import org.jboss.unit.driver.DriverResponse;
+import org.jboss.unit.driver.response.EndTestResponse;
+
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import javax.portlet.Portlet;
+import javax.portlet.PortletConfig;
+import javax.xml.namespace.QName;
+import java.util.Enumeration;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+(a)TestCase({Assertion.JSR168_1000})
+public class NoEventTestCase
+{
+ public NoEventTestCase(PortletTestCase seq)
+ {
+ seq.bindAction(0, UTP1.RENDER_JOIN_POINT, new PortletRenderTestAction()
+ {
+ protected DriverResponse run(Portlet portlet, RenderRequest request,
RenderResponse response, PortletTestContext context)
+ {
+ PortletConfig cfg =
((AbstractUniversalTestPortlet)portlet).getPortletConfig();
+
+ //
+ Enumeration<QName> publishingEvents = cfg.getPublishingEventQNames();
+ assertNotNull(publishingEvents);
+ assertFalse(publishingEvents.hasMoreElements());
+
+ //
+ Enumeration<QName> processingEvents = cfg.getProcessingEventQNames();
+ assertNotNull(processingEvents);
+ assertFalse(processingEvents.hasMoreElements());
+
+ //
+ return new EndTestResponse();
+ }
+ });
+ }
+}
Added:
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr286/tck/portletconfig/ProcessingEventTestCase.java
===================================================================
---
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr286/tck/portletconfig/ProcessingEventTestCase.java
(rev 0)
+++
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr286/tck/portletconfig/ProcessingEventTestCase.java 2008-01-12
23:16:50 UTC (rev 9486)
@@ -0,0 +1,80 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2006, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as *
+ * published by the Free Software Foundation; either version 2.1 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This software is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.test.portlet.jsr286.tck.portletconfig;
+
+import org.jboss.portal.unit.PortletTestCase;
+import org.jboss.portal.unit.PortletTestContext;
+import org.jboss.portal.unit.Assertion;
+import org.jboss.portal.unit.annotations.TestCase;
+import org.jboss.portal.unit.base.AbstractUniversalTestPortlet;
+import org.jboss.portal.unit.actions.PortletRenderTestAction;
+import org.jboss.portal.test.portlet.framework.UTP3;
+import org.jboss.portal.common.util.Tools;
+import org.jboss.unit.driver.DriverResponse;
+import org.jboss.unit.driver.response.EndTestResponse;
+import static org.jboss.unit.api.Assert.assertNotNull;
+import static org.jboss.unit.api.Assert.assertFalse;
+import static org.jboss.unit.api.Assert.assertEquals;
+
+import javax.portlet.Portlet;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import javax.portlet.PortletConfig;
+import javax.xml.namespace.QName;
+import java.util.Enumeration;
+import java.util.List;
+import java.util.HashSet;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+(a)TestCase({Assertion.JSR168_1000})
+public class ProcessingEventTestCase
+{
+ public ProcessingEventTestCase(PortletTestCase seq)
+ {
+ seq.bindAction(0, UTP3.RENDER_JOIN_POINT, new PortletRenderTestAction()
+ {
+ protected DriverResponse run(Portlet portlet, RenderRequest request,
RenderResponse response, PortletTestContext context)
+ {
+ PortletConfig cfg =
((AbstractUniversalTestPortlet)portlet).getPortletConfig();
+
+ //
+ Enumeration<QName> publishingEvents = cfg.getPublishingEventQNames();
+ assertNotNull(publishingEvents);
+ assertFalse(publishingEvents.hasMoreElements());
+
+ //
+ Enumeration<QName> processingEvents = cfg.getProcessingEventQNames();
+ assertNotNull(processingEvents);
+ List<QName> processingEventList = Tools.toList(processingEvents);
+ assertEquals(6, processingEventList.size());
+ assertEquals(PublishingEventTestCase.EVENT_NAMES, new
HashSet<QName>(processingEventList));
+
+ //
+ return new EndTestResponse();
+ }
+ });
+ }
+}
\ No newline at end of file
Added:
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr286/tck/portletconfig/PublishingEventTestCase.java
===================================================================
---
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr286/tck/portletconfig/PublishingEventTestCase.java
(rev 0)
+++
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr286/tck/portletconfig/PublishingEventTestCase.java 2008-01-12
23:16:50 UTC (rev 9486)
@@ -0,0 +1,91 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2006, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as *
+ * published by the Free Software Foundation; either version 2.1 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This software is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.test.portlet.jsr286.tck.portletconfig;
+
+import org.jboss.portal.unit.PortletTestCase;
+import org.jboss.portal.unit.PortletTestContext;
+import org.jboss.portal.unit.Assertion;
+import org.jboss.portal.unit.annotations.TestCase;
+import org.jboss.portal.unit.base.AbstractUniversalTestPortlet;
+import org.jboss.portal.unit.actions.PortletRenderTestAction;
+import org.jboss.portal.test.portlet.framework.UTP2;
+import org.jboss.portal.common.util.Tools;
+import org.jboss.unit.driver.DriverResponse;
+import org.jboss.unit.driver.response.EndTestResponse;
+import static org.jboss.unit.api.Assert.*;
+
+import javax.portlet.Portlet;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import javax.portlet.PortletConfig;
+import javax.xml.namespace.QName;
+import java.util.Enumeration;
+import java.util.List;
+import java.util.HashSet;
+import java.util.Set;
+import java.util.Collections;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+(a)TestCase({Assertion.JSR168_1000})
+public class PublishingEventTestCase
+{
+
+ static final Set<QName> EVENT_NAMES = Collections.unmodifiableSet(Tools.toSet(
+ new QName("urn:explicit-namespace-1", "event1"),
+ new QName("urn:explicit-namespace-2", "event2"),
+ new QName("urn:default-namespace", "event3"),
+ new QName("urn:default-namespace", "event4"),
+ new QName("urn:default-namespace", "event5"),
+ new QName("urn:default-namespace", "event6")
+ ));
+
+
+ public PublishingEventTestCase(PortletTestCase seq)
+ {
+ seq.bindAction(0, UTP2.RENDER_JOIN_POINT, new PortletRenderTestAction()
+ {
+ protected DriverResponse run(Portlet portlet, RenderRequest request,
RenderResponse response, PortletTestContext context)
+ {
+ PortletConfig cfg =
((AbstractUniversalTestPortlet)portlet).getPortletConfig();
+
+ //
+ Enumeration<QName> publishingEvents = cfg.getPublishingEventQNames();
+ assertNotNull(publishingEvents);
+ List<QName> publishingEventList = Tools.toList(publishingEvents);
+ assertEquals(6, publishingEventList.size());
+ assertEquals(EVENT_NAMES, new HashSet<QName>(publishingEventList));
+
+ //
+ Enumeration<QName> processingEvents = cfg.getProcessingEventQNames();
+ assertNotNull(processingEvents);
+ assertFalse(processingEvents.hasMoreElements());
+
+ //
+ return new EndTestResponse();
+ }
+ });
+ }
+}
Added:
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr286/tck/portletconfig/PublishingProcessingEventTestCase.java
===================================================================
---
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr286/tck/portletconfig/PublishingProcessingEventTestCase.java
(rev 0)
+++
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/jsr286/tck/portletconfig/PublishingProcessingEventTestCase.java 2008-01-12
23:16:50 UTC (rev 9486)
@@ -0,0 +1,82 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2006, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as *
+ * published by the Free Software Foundation; either version 2.1 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This software is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.test.portlet.jsr286.tck.portletconfig;
+
+import org.jboss.portal.unit.PortletTestCase;
+import org.jboss.portal.unit.PortletTestContext;
+import org.jboss.portal.unit.Assertion;
+import org.jboss.portal.unit.annotations.TestCase;
+import org.jboss.portal.unit.base.AbstractUniversalTestPortlet;
+import org.jboss.portal.unit.actions.PortletRenderTestAction;
+import org.jboss.portal.test.portlet.framework.UTP4;
+import org.jboss.portal.common.util.Tools;
+import org.jboss.unit.driver.DriverResponse;
+import org.jboss.unit.driver.response.EndTestResponse;
+import static org.jboss.unit.api.Assert.assertNotNull;
+import static org.jboss.unit.api.Assert.assertFalse;
+import static org.jboss.unit.api.Assert.assertEquals;
+
+import javax.portlet.Portlet;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import javax.portlet.PortletConfig;
+import javax.xml.namespace.QName;
+import java.util.Enumeration;
+import java.util.List;
+import java.util.HashSet;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+(a)TestCase({Assertion.JSR168_1000})
+public class PublishingProcessingEventTestCase
+{
+ public PublishingProcessingEventTestCase(PortletTestCase seq)
+ {
+ seq.bindAction(0, UTP4.RENDER_JOIN_POINT, new PortletRenderTestAction()
+ {
+ protected DriverResponse run(Portlet portlet, RenderRequest request,
RenderResponse response, PortletTestContext context)
+ {
+ PortletConfig cfg =
((AbstractUniversalTestPortlet)portlet).getPortletConfig();
+
+ //
+ Enumeration<QName> publishingEvents = cfg.getPublishingEventQNames();
+ assertNotNull(publishingEvents);
+ List<QName> publishingEventList = Tools.toList(publishingEvents);
+ assertEquals(6, publishingEventList.size());
+ assertEquals(PublishingEventTestCase.EVENT_NAMES, new
HashSet<QName>(publishingEventList));
+
+ //
+ Enumeration<QName> processingEvents = cfg.getProcessingEventQNames();
+ assertNotNull(processingEvents);
+ List<QName> processingEventList = Tools.toList(processingEvents);
+ assertEquals(6, processingEventList.size());
+ assertEquals(PublishingEventTestCase.EVENT_NAMES, new
HashSet<QName>(processingEventList));
+
+ //
+ return new EndTestResponse();
+ }
+ });
+ }
+}
\ No newline at end of file
Modified:
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/state/AbstractStatefulPortletInvokerTestCase.java
===================================================================
---
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/state/AbstractStatefulPortletInvokerTestCase.java 2008-01-12
22:17:37 UTC (rev 9485)
+++
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/test/portlet/state/AbstractStatefulPortletInvokerTestCase.java 2008-01-12
23:16:50 UTC (rev 9486)
@@ -315,7 +315,7 @@
public void testClonePortlet() throws Exception
{
PortletInfoSupport info = new PortletInfoSupport();
- info.getMetaSupport().setDisplayName("MyPortlet");
+ info.getMeta().setDisplayName("MyPortlet");
PortletContext popCtx = createPOPRef(info);
addPreference(popCtx, "abc", new StringValue("def"));
Modified:
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/unit/Assertion.java
===================================================================
---
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/unit/Assertion.java 2008-01-12
22:17:37 UTC (rev 9485)
+++
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/unit/Assertion.java 2008-01-12
23:16:50 UTC (rev 9486)
@@ -425,6 +425,10 @@
" a PortletException. The root cause of the exception must be set to the
original exception before being" +
" propagated."),
+
+ //
******************************************************************************************************************
+ JSR168_1000(new TCK(1000), "todo ???"),
+
;
/**
Modified:
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/unit/PortletTestSuite.java
===================================================================
---
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/unit/PortletTestSuite.java 2008-01-12
22:17:37 UTC (rev 9485)
+++
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/unit/PortletTestSuite.java 2008-01-12
23:16:50 UTC (rev 9486)
@@ -58,7 +58,7 @@
{
/** . */
- private final Logger log = Logger.getLogger(getClass());
+ private static final Logger log = Logger.getLogger(PortletTestSuite.class);
/** . */
private PortletTestDriver driver;
@@ -113,7 +113,7 @@
if (assertion.getStatus() instanceof Assertion.Inactive)
{
active = false;
- log.error("Skip test case " + clazz.getName() +
" because the assertion " + assertion.getRef() + " is not enabled");
+ log.debug("Skip test case " + clazz.getName() +
" because the assertion " + assertion.getRef() + " is not enabled");
}
}
@@ -203,32 +203,38 @@
public void file(URL url, String name)
{
- try
+ StringBuffer tmp = new StringBuffer();
+ Iterator<String> i = packages.iterator();
+
+ // Skip "classes"
+ i.next();
+
+ // Iterate package names
+ while (i.hasNext())
{
- StringBuffer tmp = new StringBuffer();
- Iterator<String> i = packages.iterator();
+ tmp.append(i.next());
+ tmp.append('.');
+ }
- // Skip "classes"
- i.next();
+ // Append class name
+ tmp.append(name.substring(0, name.length() - ".class".length()));
- // Iterate package names
- while (i.hasNext())
- {
- tmp.append(i.next());
- tmp.append('.');
- }
+ //
+ String classname = tmp.toString();
- // Append class name
- tmp.append(name.substring(0, name.length() - ".class".length()));
-
- //
- String classname = tmp.toString();
+ //
+ try
+ {
Class clazz = loader.loadClass(classname);
classes.add(clazz);
}
+ catch (NoClassDefFoundError e)
+ {
+ log.error("Was not able to load class " + classname, e);
+ }
catch (ClassNotFoundException e)
{
- e.printStackTrace();
+ log.error("Was not able to load class " + classname, e);
}
}
Modified:
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/unit/base/AbstractUniversalTestPortlet.java
===================================================================
---
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/unit/base/AbstractUniversalTestPortlet.java 2008-01-12
22:17:37 UTC (rev 9485)
+++
modules/portlet/trunk/portlet/src/test/java/org/jboss/portal/unit/base/AbstractUniversalTestPortlet.java 2008-01-12
23:16:50 UTC (rev 9486)
@@ -56,6 +56,18 @@
public abstract class AbstractUniversalTestPortlet implements Portlet
{
+ public static String getPortletName()
+ {
+ StackTraceElement elt = new Throwable().getStackTrace()[1];
+ String className = elt.getClassName();
+ int index = className.indexOf('.');
+ if (index != -1)
+ {
+ className = className.substring(index + 1);
+ }
+ return className;
+ }
+
/** . */
private final Logger log = createLogger();
Modified:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/PortletApplicationDeployment.java
===================================================================
---
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/PortletApplicationDeployment.java 2008-01-12
22:17:37 UTC (rev 9485)
+++
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/PortletApplicationDeployment.java 2008-01-12
23:16:50 UTC (rev 9486)
@@ -57,6 +57,8 @@
import java.util.Collections;
import java.util.LinkedList;
import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.Set;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
@@ -78,13 +80,13 @@
private final PortletApplication10MetaData metaData;
/** . */
- private final LinkedList<String> installed;
+ private final LinkedHashMap<String, KernelControllerContext> installed;
/** . */
- private KernelControllerContext portletApplicationControllerContext;
+// private KernelControllerContext portletApplicationControllerContext;
/** . */
- private List<KernelControllerContext> portletContainerControllerContexts = new
ArrayList<KernelControllerContext>();
+// private List<KernelControllerContext> portletContainerControllerContexts = new
ArrayList<KernelControllerContext>();
/** . */
@@ -94,7 +96,7 @@
this.webApp = webApp;
this.metaData = metaData;
this.log = Logger.getLogger(PortletApplicationDeployment.class + "." +
webApp.getContextPath().replace('.', '_'));
- this.installed = new LinkedList<String>();
+ this.installed = new LinkedHashMap<String, KernelControllerContext>();
}
void start()
@@ -114,19 +116,22 @@
builder.build();
//
+ List<AbstractBeanMetaData> toInstall = new
ArrayList<AbstractBeanMetaData>();
+
+ //
for (ContainerPortletInfo containerInfo : builder.getContainerInfos())
{
//
String portletContainerId = "PortletContainer[" +
webApp.getContextPath() + "," + containerInfo.getName() + "]";
//
- AbstractBeanMetaData bmd = new AbstractBeanMetaData(portletContainerId,
PortletContainerImpl.class.getName());
+ AbstractBeanMetaData portletBMD = new AbstractBeanMetaData(portletContainerId,
PortletContainerImpl.class.getName());
AbstractConstructorMetaData ctormd = new AbstractConstructorMetaData();
ctormd.setParameters(Tools.toList((ParameterMetaData)new
AbstractParameterMetaData(ContainerPortletInfo.class.getName(), containerInfo)));
- bmd.setConstructor(ctormd);
- bmd.setStart(new AbstractLifecycleMetaData("start"));
- bmd.setStop(new AbstractLifecycleMetaData("stop"));
- bmd.setProperties(Collections.singleton((PropertyMetaData)new
AbstractPropertyMetaData("application", new
AbstractDependencyValueMetaData(portletApplicationId))));
+ portletBMD.setConstructor(ctormd);
+ portletBMD.setStart(new AbstractLifecycleMetaData("start"));
+ portletBMD.setStop(new AbstractLifecycleMetaData("stop"));
+ portletBMD.setProperties(Collections.singleton((PropertyMetaData)new
AbstractPropertyMetaData("application", new
AbstractDependencyValueMetaData(portletApplicationId))));
AbstractInstallMetaData deployerinstallmd = new AbstractInstallMetaData();
deployerinstallmd.setBean("PortletApplicationDeployer");
deployerinstallmd.setParameters(Collections.singletonList((ParameterMetaData)new
AbstractParameterMetaData(new ThisValueMetaData())));
@@ -135,7 +140,7 @@
applicationinstallmd.setBean(portletApplicationId);
applicationinstallmd.setParameters(Collections.singletonList((ParameterMetaData)new
AbstractParameterMetaData(new ThisValueMetaData())));
applicationinstallmd.setMethodName("addContainer");
- bmd.setInstalls(Tools.toList((InstallMetaData)deployerinstallmd,
applicationinstallmd));
+ portletBMD.setInstalls(Tools.toList((InstallMetaData)deployerinstallmd,
applicationinstallmd));
AbstractInstallMetaData deployeruninstallmd = new AbstractInstallMetaData();
deployeruninstallmd.setBean("PortletApplicationDeployer");
deployeruninstallmd.setParameters(Collections.singletonList((ParameterMetaData)new
AbstractParameterMetaData(new ThisValueMetaData())));
@@ -144,56 +149,56 @@
applicationuninstallmd.setBean(portletApplicationId);
applicationuninstallmd.setParameters(Collections.singletonList((ParameterMetaData)new
AbstractParameterMetaData(new ThisValueMetaData())));
applicationuninstallmd.setMethodName("removeContainer");
- bmd.setUninstalls(Tools.toList((InstallMetaData)deployeruninstallmd,
applicationuninstallmd));
- try
- {
- installed.addFirst(portletContainerId);
- KernelControllerContext portletContainerControllerContext =
kernel.getController().install(bmd);
- portletContainerControllerContexts.add(portletContainerControllerContext);
- }
- catch (Throwable t)
- {
- log.debug("Cannot install portlet container " +
containerInfo.getName() + " produced an error", t);
- }
+ portletBMD.setUninstalls(Tools.toList((InstallMetaData)deployeruninstallmd,
applicationuninstallmd));
+ toInstall.add(portletBMD);
}
//
- AbstractBeanMetaData bmd = new AbstractBeanMetaData(portletApplicationId,
PortletApplicationImpl.class.getName());
+ AbstractBeanMetaData applicationBMD = new
AbstractBeanMetaData(portletApplicationId, PortletApplicationImpl.class.getName());
AbstractConstructorMetaData ctormd = new AbstractConstructorMetaData();
ctormd.setParameters(Tools.toList(
(ParameterMetaData)new
AbstractParameterMetaData(PortletApplication10MetaData.class.getName(), metaData),
new AbstractParameterMetaData(JBossApplicationMetaData.class.getName(),
(Object)null),
new AbstractParameterMetaData(PortletApplicationContext.class.getName(), this),
new AbstractParameterMetaData(PortletAPIFactory.class.getName(), new
AbstractDependencyValueMetaData("PortletAPIFactory"))));
- bmd.setConstructor(ctormd);
- bmd.setStart(new AbstractLifecycleMetaData("start"));
- bmd.setStop(new AbstractLifecycleMetaData("stop"));
+ applicationBMD.setConstructor(ctormd);
+ applicationBMD.setStart(new AbstractLifecycleMetaData("start"));
+ applicationBMD.setStop(new AbstractLifecycleMetaData("stop"));
AbstractInstallMetaData installmd = new AbstractInstallMetaData();
installmd.setBean("PortletApplicationDeployer");
installmd.setParameters(Collections.singletonList((ParameterMetaData)new
AbstractParameterMetaData(new ThisValueMetaData())));
installmd.setMethodName("installPortletApplication");
- bmd.setInstalls(Collections.singletonList((InstallMetaData)installmd));
+ applicationBMD.setInstalls(Collections.singletonList((InstallMetaData)installmd));
AbstractInstallMetaData uninstallmd = new AbstractInstallMetaData();
uninstallmd.setBean("PortletApplicationDeployer");
uninstallmd.setParameters(Collections.singletonList((ParameterMetaData)new
AbstractParameterMetaData(new ThisValueMetaData())));
uninstallmd.setMethodName("uninstallPortletApplication");
- bmd.setUninstalls(Collections.singletonList((InstallMetaData)uninstallmd));
+
applicationBMD.setUninstalls(Collections.singletonList((InstallMetaData)uninstallmd));
+ toInstall.add(applicationBMD);
//
- try
+ for (AbstractBeanMetaData beanMetaData : toInstall)
{
- installed.addFirst(portletApplicationId);
- portletApplicationControllerContext = controller.install(bmd);
+ String beanName = beanMetaData.getName();
+ try
+ {
+ log.debug("Installing bean " + beanName);
+ KernelControllerContext kcc = controller.install(beanMetaData);
+ installed.put(beanName, kcc);
+ log.debug("Installed bean " + beanName);
+ logBeanFailure(kcc);
+ }
+ catch (Throwable throwable)
+ {
+ log.debug("Installation of bean " + beanName + " produced an
error", throwable);
+ }
}
- catch (Throwable throwable)
+
+ // Print bean names
+ for (KernelControllerContext kcc : installed.values())
{
- log.debug("Installation of portlet application produced an error",
throwable);
- }
- logBeanFailure(portletApplicationControllerContext);
- for (KernelControllerContext portletContainerControllerContext :
portletContainerControllerContexts)
- {
- logBeanFailure(portletContainerControllerContext);
+ log.debug("Bean " + kcc.getName() + " was installed with
state" + kcc.getState());
}
}
@@ -208,17 +213,21 @@
void stop()
{
- log.debug("Stopping installation");
+ log.debug("Uninstalling");
+ //
KernelController controller = kernel.getController();
- for (Iterator<String> i = installed.iterator();i.hasNext();)
+ //
+ List<String> beanNames = new ArrayList<String>(installed.keySet());
+ Collections.reverse(beanNames);
+ for (String beanName : beanNames)
{
- String beanName = i.next();
- i.remove();
try
{
+ log.debug("Uninstalling bean " + beanName);
controller.uninstall(beanName);
+ log.debug("Uninstalled bean " + beanName);
}
catch (Throwable t)
{
@@ -229,8 +238,11 @@
}
//
- portletApplicationControllerContext = null;
- portletContainerControllerContexts = null;
+ log.debug("Uninstalled");
+
+ //
+// portletApplicationControllerContext = null;
+// portletContainerControllerContexts = null;
}
public ServletContext getServletContext()
Modified: modules/portlet/trunk/test/src/test/build.xml
===================================================================
--- modules/portlet/trunk/test/src/test/build.xml 2008-01-12 22:17:37 UTC (rev 9485)
+++ modules/portlet/trunk/test/src/test/build.xml 2008-01-12 23:16:50 UTC (rev 9486)
@@ -103,74 +103,59 @@
<macrodef name="package-misc-test">
<attribute name="test"/>
<sequential>
- <mkdir
dir="${target}/test-classes/jsr168/misc/@{test}-war/WEB-INF/classes"/>
- <copy
todir="${target}/test-classes/jsr168/misc/@{test}-war/WEB-INF/classes">
- <fileset dir="${test.temp.portlet}"
includes="org/jboss/portal/test/portlet/jsr168/misc/@{test}/**"/>
- <fileset dir="${test.temp.portlet}"
includes="org/jboss/portal/test/portlet/framework/**"/>
- </copy>
- <mkdir
dir="${target}/test-classes/jsr168/misc/@{test}-war/WEB-INF/lib"/>
- <jar jarfile="${test.temp.lib}/test-jsr168-misc-(a){test}.war">
- <fileset
dir="${target}/test-classes/jsr168/misc/@{test}-war"/>
- </jar>
+ <package-testsuite testsuiteversion="jsr168"
testsuitetype="misc" testsuitename="@{test}"/>
</sequential>
</macrodef>
<macrodef name="package-ext-test">
<attribute name="test"/>
<sequential>
- <mkdir
dir="${target}/test-classes/jsr168/ext/@{test}-war/WEB-INF/classes"/>
- <copy
todir="${target}/test-classes/jsr168/ext/@{test}-war/WEB-INF/classes">
- <fileset dir="${test.temp.portlet}"
includes="org/jboss/portal/test/portlet/jsr168/ext/common/**"/>
- <fileset dir="${test.temp.portlet}"
includes="org/jboss/portal/test/portlet/jsr168/ext/@{test}/**"/>
- <fileset dir="${test.temp.portlet}"
includes="org/jboss/portal/test/portlet/framework/**"/>
- </copy>
- <mkdir
dir="${target}/test-classes/jsr168/ext/@{test}-war/WEB-INF/lib"/>
- <copy
todir="${target}/test-classes/jsr168/ext/@{test}-war/WEB-INF/lib">
- <fileset dir="${test.temp.lib}"
includes="portal-portlet-test-framework-lib.jar"/>
- </copy>
- <jar jarfile="${test.temp.lib}/test-jsr168-ext-(a){test}.war">
- <fileset
dir="${target}/test-classes/jsr168/ext/@{test}-war"/>
- </jar>
+ <package-testsuite testsuiteversion="jsr168"
testsuitetype="ext" testsuitename="@{test}"/>
</sequential>
</macrodef>
<macrodef name="package-tck-test">
<attribute name="test"/>
<sequential>
- <mkdir
dir="${target}/test-classes/jsr168/tck/@{test}-war/WEB-INF/classes"/>
- <copy
todir="${target}/test-classes/jsr168/tck/@{test}-war/WEB-INF/classes">
- <fileset dir="${test.temp.portlet}"
includes="org/jboss/portal/test/portlet/jsr168/tck/@{test}/**"/>
- <fileset dir="${test.temp.portlet}"
includes="org/jboss/portal/test/portlet/framework/**"/>
- </copy>
- <mkdir
dir="${target}/test-classes/jsr168/tck/@{test}-war/WEB-INF/lib"/>
- <copy
todir="${target}/test-classes/jsr168/tck/@{test}-war/WEB-INF/lib">
- <fileset dir="${test.temp.lib}"
includes="portal-portlet-test-framework-lib.jar"/>
- </copy>
- <jar jarfile="${test.temp.lib}/test-jsr168-(a){test}.war">
- <fileset
dir="${target}/test-classes/jsr168/tck/@{test}-war"/>
- </jar>
+ <package-testsuite testsuiteversion="jsr168"
testsuitetype="tck" testsuitename="@{test}"/>
</sequential>
</macrodef>
<macrodef name="package-api-test">
<attribute name="test"/>
<sequential>
- <mkdir
dir="${target}/test-classes/jsr168/api/@{test}-war/WEB-INF/classes"/>
- <copy
todir="${target}/test-classes/jsr168/api/@{test}-war/WEB-INF/classes">
- <fileset dir="${test.temp.portlet}"
includes="org/jboss/portal/test/portlet/jsr168/api/@{test}/**"/>
+ <package-testsuite testsuiteversion="jsr168"
testsuitetype="api" testsuitename="@{test}"/>
+ </sequential>
+ </macrodef>
+
+ <macrodef name="package-jsr286-tck-test">
+ <attribute name="test"/>
+ <sequential>
+ <package-testsuite testsuiteversion="jsr286"
testsuitetype="tck" testsuitename="@{test}"/>
+ </sequential>
+ </macrodef>
+
+ <macrodef name="package-testsuite">
+ <attribute name="testsuiteversion"/>
+ <attribute name="testsuitetype"/>
+ <attribute name="testsuitename"/>
+ <sequential>
+ <mkdir
dir="${target}/test-classes/@{testsuiteversion}/@{testsuitetype}/@{testsuitename}-war/WEB-INF/classes"/>
+ <copy
todir="${target}/test-classes/@{testsuiteversion}/@{testsuitetype}/@{testsuitename}-war/WEB-INF/classes">
+ <fileset dir="${test.temp.portlet}"
includes="org/jboss/portal/test/portlet/@{testsuiteversion}/@{testsuitetype}/common/**"/>
+ <fileset dir="${test.temp.portlet}"
includes="org/jboss/portal/test/portlet/@{testsuiteversion}/@{testsuitetype}/@{testsuitename}/**"/>
<fileset dir="${test.temp.portlet}"
includes="org/jboss/portal/test/portlet/framework/**"/>
</copy>
- <mkdir
dir="${target}/test-classes/jsr168/api/@{test}-war/WEB-INF/lib"/>
- <copy
todir="${target}/test-classes/jsr168/api/@{test}-war/WEB-INF/lib">
+ <mkdir
dir="${target}/test-classes/@{testsuiteversion}/@{testsuitetype}/@{testsuitename}-war/WEB-INF/lib"/>
+ <copy
todir="${target}/test-classes/@{testsuiteversion}/@{testsuitetype}/@{testsuitename}-war/WEB-INF/lib">
<fileset dir="${test.temp.lib}"
includes="portal-portlet-test-framework-lib.jar"/>
</copy>
- <jar jarfile="${test.temp.lib}/test-jsr168-api-(a){test}.war">
- <fileset
dir="${target}/test-classes/jsr168/api/@{test}-war"/>
+ <jar
jarfile="${test.temp.lib}/test-@{testsuiteversion}-@{testsuitetype}-(a){testsuitename}.war">
+ <fileset
dir="${target}/test-classes/@{testsuiteversion}/@{testsuitetype}/@{testsuitename}-war"/>
</jar>
</sequential>
</macrodef>
-
<target name="package-tests">
<unjar src="${dependency.portal-portlet-tests.test-jar}"
dest="${test.temp.portlet}"/>
@@ -233,6 +218,7 @@
<package-misc-test test="log4j"/>
+ <package-jsr286-tck-test test="portletconfig"/>
<jar jarfile="${test.temp.lib}/portlet-test-lib.jar">
<fileset dir="${target}/test-classes"/>
@@ -539,7 +525,7 @@
<configuration>
<property name="cargo.servlet.port" value="8080"/>
<property name="cargo.logging" value="high"/>
- <!--<property name="cargo.jvmargs" value="-Xdebug
-Xnoagent -Djava.compiler=NONE
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000"/>-->
+ <!--<property name="cargo.jvmargs" value="-Xdebug
-Xnoagent -Djava.compiler=NONE
-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000"/>-->
<deployable type="war"
file="${test.temp.lib}/manager.war"/>
<deployable type="war"
file="${test.temp.lib}/tomcat-6.0/portlet-test.war"/>
</configuration>
@@ -587,7 +573,6 @@
<taskdef name="jboss-unit"
classname="org.jboss.unit.tooling.ant.JBossUnitTask"
classpath="${plugin_classpath}"/>
-
<jboss-unit>
<tests config="${target}/test-classes/test/remote-jboss-unit.xml"
jpda="false">
Added:
modules/portlet/trunk/test/src/test/resources/jsr286/tck/portletconfig-war/WEB-INF/portlet.xml
===================================================================
---
modules/portlet/trunk/test/src/test/resources/jsr286/tck/portletconfig-war/WEB-INF/portlet.xml
(rev 0)
+++
modules/portlet/trunk/test/src/test/resources/jsr286/tck/portletconfig-war/WEB-INF/portlet.xml 2008-01-12
23:16:50 UTC (rev 9486)
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ ~ JBoss, a division of Red Hat ~
+ ~ Copyright 2006, Red Hat Middleware, LLC, and individual ~
+ ~ contributors as indicated by the @authors tag. See the ~
+ ~ copyright.txt in the distribution for a full listing of ~
+ ~ individual contributors. ~
+ ~ ~
+ ~ This is free software; you can redistribute it and/or modify it ~
+ ~ under the terms of the GNU Lesser General Public License as ~
+ ~ published by the Free Software Foundation; either version 2.1 of ~
+ ~ the License, or (at your option) any later version. ~
+ ~ ~
+ ~ This software is distributed in the hope that it will be useful, ~
+ ~ but WITHOUT ANY WARRANTY; without even the implied warranty of ~
+ ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ~
+ ~ Lesser General Public License for more details. ~
+ ~ ~
+ ~ You should have received a copy of the GNU Lesser General Public ~
+ ~ License along with this software; if not, write to the Free ~
+ ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA ~
+ ~ 02110-1301 USA, or see the FSF site:
http://www.fsf.org. ~
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
+
+<portlet-app
xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2...
http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
+ version="2.0">
+
+ <portlet>
+ <portlet-name>UniversalTestPortletA</portlet-name>
+
<portlet-class>org.jboss.portal.test.portlet.framework.UTP1</portlet-class>
+ <supports>
+ <mime-type>text/html</mime-type>
+ </supports>
+ </portlet>
+
+ <portlet>
+ <portlet-name>UniversalTestPortletB</portlet-name>
+
<portlet-class>org.jboss.portal.test.portlet.framework.UTP2</portlet-class>
+ <supports>
+ <mime-type>text/html</mime-type>
+ </supports>
+ <supported-publishing-event>
+ <qname
xmlns:a="urn:explicit-namespace-1">a:event1</qname>
+ </supported-publishing-event>
+ <supported-publishing-event>
+ <qname
xmlns:a="urn:explicit-namespace-2">a:event2</qname>
+ </supported-publishing-event>
+ <supported-publishing-event>
+ <name>event3</name>
+ </supported-publishing-event>
+ <supported-publishing-event>
+ <qname xmlns:a="urn:default-namespace">a:event4</qname>
+ </supported-publishing-event>
+ <supported-publishing-event>
+ <name>event5</name>
+ </supported-publishing-event>
+ <supported-publishing-event>
+ <qname xmlns:a="urn:default-namespace">a:event6</qname>
+ </supported-publishing-event>
+ </portlet>
+
+ <portlet>
+ <portlet-name>UniversalTestPortletC</portlet-name>
+
<portlet-class>org.jboss.portal.test.portlet.framework.UTP3</portlet-class>
+ <supports>
+ <mime-type>text/html</mime-type>
+ </supports>
+ <supported-processing-event>
+ <qname
xmlns:a="urn:explicit-namespace-1">a:event1</qname>
+ </supported-processing-event>
+ <supported-processing-event>
+ <qname
xmlns:a="urn:explicit-namespace-2">a:event2</qname>
+ </supported-processing-event>
+ <supported-processing-event>
+ <name>event3</name>
+ </supported-processing-event>
+ <supported-processing-event>
+ <qname xmlns:a="urn:default-namespace">a:event4</qname>
+ </supported-processing-event>
+ <supported-processing-event>
+ <name>event5</name>
+ </supported-processing-event>
+ <supported-processing-event>
+ <qname xmlns:a="urn:default-namespace">a:event6</qname>
+ </supported-processing-event>
+ </portlet>
+
+ <portlet>
+ <portlet-name>UniversalTestPortletD</portlet-name>
+
<portlet-class>org.jboss.portal.test.portlet.framework.UTP4</portlet-class>
+ <supports>
+ <mime-type>text/html</mime-type>
+ </supports>
+ <supported-processing-event>
+ <qname
xmlns:a="urn:explicit-namespace-1">a:event1</qname>
+ </supported-processing-event>
+ <supported-processing-event>
+ <qname
xmlns:a="urn:explicit-namespace-2">a:event2</qname>
+ </supported-processing-event>
+ <supported-processing-event>
+ <name>event3</name>
+ </supported-processing-event>
+ <supported-processing-event>
+ <qname xmlns:a="urn:default-namespace">a:event4</qname>
+ </supported-processing-event>
+ <supported-processing-event>
+ <name>event5</name>
+ </supported-processing-event>
+ <supported-processing-event>
+ <qname xmlns:a="urn:default-namespace">a:event6</qname>
+ </supported-processing-event>
+ <supported-publishing-event>
+ <qname
xmlns:a="urn:explicit-namespace-1">a:event1</qname>
+ </supported-publishing-event>
+ <supported-publishing-event>
+ <qname
xmlns:a="urn:explicit-namespace-2">a:event2</qname>
+ </supported-publishing-event>
+ <supported-publishing-event>
+ <name>event3</name>
+ </supported-publishing-event>
+ <supported-publishing-event>
+ <qname xmlns:a="urn:default-namespace">a:event4</qname>
+ </supported-publishing-event>
+ <supported-publishing-event>
+ <name>event5</name>
+ </supported-publishing-event>
+ <supported-publishing-event>
+ <qname xmlns:a="urn:default-namespace">a:event6</qname>
+ </supported-publishing-event>
+ </portlet>
+
+ <default-namespace>urn:default-namespace</default-namespace>
+
+ <event-definition>
+ <qname xmlns:a="urn:explicit-namespace-1">a:event1</qname>
+ </event-definition>
+
+ <event-definition>
+ <qname xmlns:a="urn:explicit-namespace-2">a:event2</qname>
+ </event-definition>
+
+ <event-definition>
+ <name>event3</name>
+ </event-definition>
+
+ <event-definition>
+ <name>event4</name>
+ </event-definition>
+
+ <event-definition>
+ <qname xmlns:a="urn:default-namespace">a:event5</qname>
+ </event-definition>
+
+ <event-definition>
+ <qname xmlns:a="urn:default-namespace">a:event6</qname>
+ </event-definition>
+
+</portlet-app>
Added:
modules/portlet/trunk/test/src/test/resources/jsr286/tck/portletconfig-war/WEB-INF/web.xml
===================================================================
---
modules/portlet/trunk/test/src/test/resources/jsr286/tck/portletconfig-war/WEB-INF/web.xml
(rev 0)
+++
modules/portlet/trunk/test/src/test/resources/jsr286/tck/portletconfig-war/WEB-INF/web.xml 2008-01-12
23:16:50 UTC (rev 9486)
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ ~ JBoss, a division of Red Hat ~
+ ~ Copyright 2006, Red Hat Middleware, LLC, and individual ~
+ ~ contributors as indicated by the @authors tag. See the ~
+ ~ copyright.txt in the distribution for a full listing of ~
+ ~ individual contributors. ~
+ ~ ~
+ ~ This is free software; you can redistribute it and/or modify it ~
+ ~ under the terms of the GNU Lesser General Public License as ~
+ ~ published by the Free Software Foundation; either version 2.1 of ~
+ ~ the License, or (at your option) any later version. ~
+ ~ ~
+ ~ This software is distributed in the hope that it will be useful, ~
+ ~ but WITHOUT ANY WARRANTY; without even the implied warranty of ~
+ ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ~
+ ~ Lesser General Public License for more details. ~
+ ~ ~
+ ~ You should have received a copy of the GNU Lesser General Public ~
+ ~ License along with this software; if not, write to the Free ~
+ ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA ~
+ ~ 02110-1301 USA, or see the FSF site:
http://www.fsf.org. ~
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
+
+<!DOCTYPE web-app PUBLIC
+ "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+ "http://java.sun.com/dtd/web-app_2_3.dtd">
+<web-app>
+ <listener>
+
<listener-class>org.jboss.portal.unit.PortletTestSuite</listener-class>
+ </listener>
+</web-app>
Modified: modules/portlet/trunk/test/src/test/resources/test/remote-jboss-unit.xml
===================================================================
--- modules/portlet/trunk/test/src/test/resources/test/remote-jboss-unit.xml 2008-01-12
22:17:37 UTC (rev 9485)
+++ modules/portlet/trunk/test/src/test/resources/test/remote-jboss-unit.xml 2008-01-12
23:16:50 UTC (rev 9486)
@@ -7,47 +7,47 @@
<!--Spec TCK Assertions tests-->
<generic>
<class
name="org.jboss.unit.remote.driver.RemoteTestDriverClient"/>
- <property name="archiveId"
value="test-jsr168-dispatcher.war"/>
+ <property name="archiveId"
value="test-jsr168-tck-dispatcher.war"/>
</generic>
<generic>
<class
name="org.jboss.unit.remote.driver.RemoteTestDriverClient"/>
- <property name="archiveId"
value="test-jsr168-portletconfig.war"/>
+ <property name="archiveId"
value="test-jsr168-tck-portletconfig.war"/>
</generic>
<generic>
<class
name="org.jboss.unit.remote.driver.RemoteTestDriverClient"/>
- <property name="archiveId"
value="test-jsr168-portletcontext.war"/>
+ <property name="archiveId"
value="test-jsr168-tck-portletcontext.war"/>
</generic>
<generic>
<class
name="org.jboss.unit.remote.driver.RemoteTestDriverClient"/>
- <property name="archiveId"
value="test-jsr168-portletinterface.war"/>
+ <property name="archiveId"
value="test-jsr168-tck-portletinterface.war"/>
</generic>
<generic>
<class
name="org.jboss.unit.remote.driver.RemoteTestDriverClient"/>
- <property name="archiveId"
value="test-jsr168-portletmode.war"/>
+ <property name="archiveId"
value="test-jsr168-tck-portletmode.war"/>
</generic>
<generic>
<class
name="org.jboss.unit.remote.driver.RemoteTestDriverClient"/>
- <property name="archiveId"
value="test-jsr168-portletrequests.war"/>
+ <property name="archiveId"
value="test-jsr168-tck-portletrequests.war"/>
</generic>
<generic>
<class
name="org.jboss.unit.remote.driver.RemoteTestDriverClient"/>
- <property name="archiveId"
value="test-jsr168-portletresponses.war"/>
+ <property name="archiveId"
value="test-jsr168-tck-portletresponses.war"/>
</generic>
<generic>
<class
name="org.jboss.unit.remote.driver.RemoteTestDriverClient"/>
- <property name="archiveId"
value="test-jsr168-portletsession.war"/>
+ <property name="archiveId"
value="test-jsr168-tck-portletsession.war"/>
</generic>
<generic>
<class
name="org.jboss.unit.remote.driver.RemoteTestDriverClient"/>
- <property name="archiveId"
value="test-jsr168-portleturl.war"/>
+ <property name="archiveId"
value="test-jsr168-tck-portleturl.war"/>
</generic>
<generic>
<class
name="org.jboss.unit.remote.driver.RemoteTestDriverClient"/>
- <property name="archiveId"
value="test-jsr168-preferences.war"/>
+ <property name="archiveId"
value="test-jsr168-tck-preferences.war"/>
</generic>
<generic>
<class
name="org.jboss.unit.remote.driver.RemoteTestDriverClient"/>
- <property name="archiveId"
value="test-jsr168-windowstates.war"/>
+ <property name="archiveId"
value="test-jsr168-tck-windowstates.war"/>
</generic>
<!--API Tests-->
@@ -146,6 +146,12 @@
<property name="archiveId"
value="test-jsr168-ext-nocache.war"/>
</generic>
+ <!--Spec TCK Assertions tests-->
+ <generic>
+ <class
name="org.jboss.unit.remote.driver.RemoteTestDriverClient"/>
+ <property name="archiveId"
value="test-jsr286-tck-portletconfig.war"/>
+ </generic>
+
<!--Misc Tests-->
<!--
<generic>