[jboss-cvs] jboss-portal/core/src/main/org/jboss/portal/test/core/model/instance ...
Julien Viet
julien at jboss.com
Sun Jul 30 08:36:21 EDT 2006
User: julien
Date: 06/07/30 08:36:21
Modified: core/src/main/org/jboss/portal/test/core/model/instance
InstanceContainerTestCase.java
Added: core/src/main/org/jboss/portal/test/core/model/instance
SimpleActionContext.java SimpleUserContext.java
Removed: core/src/main/org/jboss/portal/test/core/model/instance
MockPortletInvoker.java
Log:
JBPORTAL-973 : Portlet instance container integration testing
JBPORTAL-972 : Portlet stateful invoker testing
Revision Changes Path
1.12 +310 -153 jboss-portal/core/src/main/org/jboss/portal/test/core/model/instance/InstanceContainerTestCase.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: InstanceContainerTestCase.java
===================================================================
RCS file: /cvsroot/jboss/jboss-portal/core/src/main/org/jboss/portal/test/core/model/instance/InstanceContainerTestCase.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- InstanceContainerTestCase.java 9 Jul 2006 12:04:15 -0000 1.11
+++ InstanceContainerTestCase.java 30 Jul 2006 12:36:21 -0000 1.12
@@ -7,77 +7,92 @@
package org.jboss.portal.test.core.model.instance;
import junit.framework.TestSuite;
+import junit.framework.TestCase;
import org.hibernate.Session;
import org.jboss.portal.core.impl.model.instance.PersistentInstanceContainer;
+import org.jboss.portal.core.impl.model.instance.InstanceImpl;
+import org.jboss.portal.core.impl.model.instance.UserInstance;
import org.jboss.portal.core.impl.portlet.state.PersistentStateStore;
+import org.jboss.portal.core.impl.portlet.state.PersistentStateEntry;
+import org.jboss.portal.core.impl.portlet.state.PersistentState;
import org.jboss.portal.core.model.instance.Instance;
-import org.jboss.portal.portlet.NoSuchPortletException;
+import org.jboss.portal.portlet.test.support.info.PreferencesInfoSupport;
+import org.jboss.portal.portlet.test.support.PortletInvokerSupport;
+import org.jboss.portal.portlet.test.support.PortletSupport;
+import org.jboss.portal.portlet.state.producer.StatefulPortletInvoker;
+import org.jboss.portal.portlet.state.AbstractPropertyContext;
+import org.jboss.portal.portlet.state.PropertyChange;
import org.jboss.portal.portlet.Mode;
-import org.jboss.portal.portlet.support.spi.ActionContextSupport;
-import org.jboss.portal.portlet.support.spi.UserContextSupport;
+import org.jboss.portal.portlet.NoSuchPortletException;
import org.jboss.portal.portlet.invocation.ActionInvocation;
import org.jboss.portal.portlet.invocation.PortletInvocation;
-import org.jboss.portal.portlet.state.producer.StatefulPortletInvoker;
-import org.jboss.portal.portlet.test.support.info.PortletInfoSupport;
-import org.jboss.portal.security.impl.JBossAuthorizationDomainRegistryImpl;
-import org.jboss.portal.security.impl.jacc.JACCPortalAuthorizationManagerFactory;
-import org.jboss.portal.test.core.PortalBaseTestCase;
import org.jboss.portal.test.framework.embedded.DataSourceSupport;
+import org.jboss.portal.test.framework.embedded.HibernateSupport;
+import org.jboss.portal.test.framework.junit.DatabaseTestSuite;
+import org.jboss.portal.test.framework.junit.TransactionAssert;
+import org.jboss.portal.test.framework.TestRuntimeContext;
import org.jboss.portal.common.value.SimpleValueMap;
+import org.jboss.portal.common.value.StringValue;
+import org.apache.log4j.Appender;
+import org.apache.log4j.ConsoleAppender;
+import org.apache.log4j.SimpleLayout;
+import org.apache.log4j.Logger;
+import org.apache.log4j.Level;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
+import javax.transaction.UserTransaction;
+import javax.transaction.Status;
import java.net.URL;
+import java.util.List;
+import java.util.Set;
+import java.util.Map;
/**
* Test Case that tests the authorization for instances
* via the instance container
*
+ * todo : test InstanceContainer with cloneOnCreate=true
+ * todo : configure instance with POP
+ * todo : configure instance with CCP
+ * todo : duplicate instance name
+ * todo : clone before write without creating instance
+ * todo : destroy instance and all its children !!!!
+ *
* @author <a href="mailto:Anil.Saldhana at jboss.org">Anil Saldhana</a>
- * @version $Revision: 1.11 $
+ * @author <a href="mailto:julien at jboss.org">Julien Viet</a>
+ * @version $Revision: 1.12 $
* @since Apr 4, 2006
*/
-public class InstanceContainerTestCase extends PortalBaseTestCase
+public class InstanceContainerTestCase extends TestCase
{
- private static final String type = "instance";
- private static final String CONTEXT_ID = "test-portal";
+ static
+ {
+ Appender appender = new ConsoleAppender(new SimpleLayout());
+ Logger.getRoot().addAppender(appender);
+ Logger.getRoot().setLevel(Level.DEBUG);
+ Logger.getLogger("org.hibernate").setLevel(Level.ERROR);
+ }
public static TestSuite suite() throws Exception
{
-
- TestSuite suite = new TestSuite();
URL configsURL = Thread.currentThread().getContextClassLoader().getResource("datasources.xml");
DataSourceSupport.Config[] configs = DataSourceSupport.Config.fromXML(configsURL);
- for (int i = 0; i < configs.length; i++)
- {
- DataSourceSupport.Config config = configs[i];
- //
- Method[] methods = InstanceContainerTestCase.class.getMethods();
- for (int j = 0; j < methods.length; j++)
- {
- Method method = methods[j];
- int modifiers = method.getModifiers();
- if (Modifier.isPublic(modifiers) && !Modifier.isAbstract(modifiers)
- && !Modifier.isStatic(modifiers) && method.getName().startsWith("test"))
- {
- PortalBaseTestCase testCase = new InstanceContainerTestCase(config);
- testCase.setName(method.getName());
- suite.addTest(testCase);
-
- }
- }
- }
-
- //
+ DatabaseTestSuite suite = new DatabaseTestSuite(configs);
+ suite.addTestCase(InstanceContainerTestCase.class);
return suite;
}
+ /** . */
+ private TestRuntimeContext runtimeContext;
- public InstanceContainerTestCase(DataSourceSupport.Config config)
- {
- this.dsCfg = config;
- }
+ /** . */
+ private DataSourceSupport.Config dsCfg;
+
+ /** . */
+ private HibernateSupport instanceHibernateSupport;
+
+ /** . */
+ private HibernateSupport portletHibernateSupport;
/** . */
private PersistentInstanceContainer instanceContainer;
@@ -89,13 +104,37 @@
private StatefulPortletInvoker statefulPortletInvoker;
/** . */
- private MockPortletInvoker mockPortletInvoker;
+ private PortletInvokerSupport nextPortletInvoker;
- /** . */
- private JBossAuthorizationDomainRegistryImpl authorizationDomainRegistry;
+ public InstanceContainerTestCase(DataSourceSupport.Config config)
+ {
+ this.dsCfg = config;
+ }
- /** . */
- private JACCPortalAuthorizationManagerFactory authorizationManagerFactory;
+ public String getName()
+ {
+ return super.getName() + "_" + dsCfg.getDriverClass().replaceAll("\\.", "_");
+ }
+
+ public HibernateSupport getInstanceHibernateSupport()
+ {
+ return instanceHibernateSupport;
+ }
+
+ public void setInstanceHibernateSupport(HibernateSupport instanceHibernateSupport)
+ {
+ this.instanceHibernateSupport = instanceHibernateSupport;
+ }
+
+ public HibernateSupport getPortletHibernateSupport()
+ {
+ return portletHibernateSupport;
+ }
+
+ public void setPortletHibernateSupport(HibernateSupport portletHibernateSupport)
+ {
+ this.portletHibernateSupport = portletHibernateSupport;
+ }
public PersistentInstanceContainer getInstanceContainer()
{
@@ -127,157 +166,269 @@
this.statefulPortletInvoker = statefulPortletInvoker;
}
- public JBossAuthorizationDomainRegistryImpl getAuthorizationDomainRegistry()
+ public PortletInvokerSupport getNextPortletInvoker()
{
- return authorizationDomainRegistry;
+ return nextPortletInvoker;
}
- public void setAuthorizationDomainRegistry(JBossAuthorizationDomainRegistryImpl authorizationDomainRegistry)
+ public void setNextPortletInvoker(PortletInvokerSupport nextPortletInvoker)
{
- this.authorizationDomainRegistry = authorizationDomainRegistry;
+ this.nextPortletInvoker = nextPortletInvoker;
}
- public JACCPortalAuthorizationManagerFactory getAuthorizationManagerFactory()
+ protected void setUp() throws Exception
{
- return authorizationManagerFactory;
+ runtimeContext = new TestRuntimeContext("org/jboss/portal/test/core/model/instance/jboss-beans.xml");
+ runtimeContext.addBean("TestBean", this);
+ runtimeContext.addBean("DataSourceConfig", dsCfg);
+ runtimeContext.start();
}
- public void setAuthorizationManagerFactory(JACCPortalAuthorizationManagerFactory authorizationManagerFactory)
+ protected void tearDown() throws Exception
{
- this.authorizationManagerFactory = authorizationManagerFactory;
- }
-
- public MockPortletInvoker getMockPortletInvoker()
+ // Cleanup any pending transaction
+ UserTransaction ut = TransactionAssert.getUserTransaction();
+ if (ut.getStatus() != Status.STATUS_NO_TRANSACTION)
{
- return mockPortletInvoker;
+ ut.commit();
}
- public void setMockPortletInvoker(MockPortletInvoker mockPortletInvoker)
- {
- this.mockPortletInvoker = mockPortletInvoker;
+ runtimeContext.stop();
}
- protected void setUp() throws Exception
+ public void testConfigureInstance() throws Exception
{
- super.setUp();
+ instanceContainer.setCloneOnCreate(true);
+ nextPortletInvoker.addPortlet(new PortletSupport("MyPortlet")
+ {
+ {
+ PreferencesInfoSupport prefs = info.getPreferencesSupport();
+ prefs.addPreference("_abc", new StringValue("_def"));
}
+ });
- protected void tearDown() throws Exception
- {
- super.tearDown();
+ //
+ Instance instance = instanceContainer.createInstance("MyInstance", "MyPortlet");
+ assertNotNull(instance);
+
+ //
+ TransactionAssert.beginTransaction();
+ Session session = instanceHibernateSupport.getCurrentSession();
+ List instances = session.createQuery("from InstanceImpl").list();
+ assertEquals(1, instances.size());
+ InstanceImpl instanceImpl = (InstanceImpl)instances.get(0);
+ assertEquals(true, instanceImpl.isModifiable());
+ List states = portletHibernateSupport.getCurrentSession().createQuery("from PersistentState").list();
+ assertEquals(1, states.size());
+ PersistentState state = (PersistentState)states.get(0);
+ assertEquals(0, state.getChildren().size());
+ assertEquals(null, state.getParent());
+ assertEquals("MyPortlet", state.getPortletId());
+ TransactionAssert.commitTransaction();
+
+ //
+ TransactionAssert.beginTransaction();
+ instance.setPreferences(new SimpleValueMap());
+ TransactionAssert.commitTransaction();
+
+ //
+ TransactionAssert.beginTransaction();
+ session = instanceHibernateSupport.getCurrentSession();
+ instances = session.createQuery("from InstanceImpl").list();
+ assertEquals(1, instances.size());
+ instanceImpl = (InstanceImpl)instances.get(0);
+ assertEquals(true, instanceImpl.isModifiable());
+ TransactionAssert.commitTransaction();
}
-/*
- public void testCreateInstanceWithoutPortlet() throws Exception
+ public void testConfigureInstanceWithoutPortlet() throws Exception
{
try
{
+ TransactionAssert.beginTransaction();
instanceContainer.createInstance("MyInstance", "UnknownPortlet");
fail("Was expecting NoSuchPortletException");
}
catch (NoSuchPortletException expected)
{
+ // We expect that the transaction is marked for rollback
+ TransactionAssert.rollbackTransaction();
}
- Session session = hibernate.openSession();
+ //
+ TransactionAssert.beginTransaction();
+ Session session = instanceHibernateSupport.getCurrentSession();
assertEquals(0, session.createQuery("from InstanceImpl").list().size());
- assertEquals(0, session.createQuery("from PersistentState").list().size());
- assertTrue(hibernate.commitTransaction());
+ assertEquals(0, portletHibernateSupport.getCurrentSession().createQuery("from PersistentState").list().size());
+ TransactionAssert.commitTransaction();
+ }
- // Same but with an already existing transaction
- try
+ /**
+ * Runtime clone of a producer offered portlet.
+ */
+ public void testCloneBeforeWrite() throws Exception
{
- hibernate.openSession();
- instanceContainer.createInstance("MyInstance", "UnknownPortlet");
- fail("Was expecting NoSuchPortletException");
+ nextPortletInvoker.addPortlet(new PortletSupport("MyPortlet")
+ {
+ {
+ PreferencesInfoSupport prefs = info.getPreferencesSupport();
+ prefs.addPreference("_abc", new StringValue("_def"));
}
- catch (NoSuchPortletException expected)
+ public void invoke(PortletInvocation invocation)
{
- assertTrue(hibernate.commitTransaction());
+ AbstractPropertyContext props = (AbstractPropertyContext)invocation.getAttribute(PortletInvocation.PREFERENCES_ATTRIBUTE);
+ props.update(new PropertyChange[]{new PropertyChange(PropertyChange.PREF_SET, "abc", new StringValue("def"))});
}
+ });
- session = hibernate.openSession();
- assertEquals(0, session.createQuery("from InstanceImpl").list().size());
- assertEquals(0, session.createQuery("from PersistentState").list().size());
- assertTrue(hibernate.commitTransaction());
+ //
+ TransactionAssert.beginTransaction();
+ Instance instance = instanceContainer.createInstance("MyInstance", "MyPortlet");
+ // Force a clone
+ instance.setPreferences(instance.getPreferences());
+ TransactionAssert.commitTransaction();
+
+ //
+ TransactionAssert.beginTransaction();
+ instance = instanceContainer.getInstance("MyInstance");
+ PortletInvocation action = new ActionInvocation(new SimpleActionContext(Mode.VIEW));
+ action.setUserContext(new SimpleUserContext("julien"));
+ instance.invoke(action);
+ TransactionAssert.commitTransaction();
+
+ // Check state
+ TransactionAssert.beginTransaction();
+ Session session = instanceHibernateSupport.getCurrentSession();
+ List instances = session.createQuery("from InstanceImpl").list();
+ assertEquals(1, instances.size());
+ InstanceImpl instanceImpl = (InstanceImpl)instances.get(0);
+ String ccpId = statefulPortletInvoker.unwrapCCPId(instanceImpl.getPortletRef());
+ Long instanceStateKey = new Long(ccpId);
+ PersistentState instanceState = (PersistentState)portletHibernateSupport.getCurrentSession().get(PersistentState.class, instanceStateKey);
+ Set userInstances = instanceImpl.getUserInstances();
+ assertNotNull(userInstances);
+ assertEquals(1, userInstances.size());
+ UserInstance userInstance = (UserInstance)userInstances.iterator().next();
+ assertEquals("julien", userInstance.getUserId());
+ assertNotNull(userInstance.getInstance());
+ String portletRef = userInstance.getPortletRef();
+ assertNotNull(portletRef);
+ assertTrue(portletRef.startsWith("_"));
+ Long userInstanceStateKey = new Long(portletRef.substring(1));
+ PersistentState userInstanceState = (PersistentState)portletHibernateSupport.getCurrentSession().get(PersistentState.class, userInstanceStateKey);
+ assertNotNull(userInstanceState);
+ assertEquals("MyPortlet", userInstanceState.getPortletId());
+ assertNotNull(userInstanceState.getParent());
+ assertEquals(instanceState.getKey(), userInstanceState.getParent().getKey());
+ assertEquals(0, userInstanceState.getChildren().size());
+ Map entries = userInstanceState.getEntries();
+ assertNotNull(entries);
+ assertEquals(2, entries.size());
+ PersistentStateEntry abcEntry = (PersistentStateEntry)entries.get("abc");
+ assertEquals(new StringValue("def"), abcEntry.getValue());
+ PersistentStateEntry _abcEntry = (PersistentStateEntry)entries.get("_abc");
+ assertEquals(new StringValue("_def"), _abcEntry.getValue());
+ TransactionAssert.commitTransaction();
}
-*/
- public void testConfigureInstanceWithoutPortletNoTx() throws Exception
+ /**
+ * Runtime clone of a producer offered portlet.
+ */
+ public void testCloneBeforeWriteRollback() throws Exception
{
- // Create the instance
- Instance instance = instanceContainer.createInstance("MyInstance", "UnknownPortlet");
- assertNotNull(instance);
-
- // Configure the instance
- try
+ nextPortletInvoker.addPortlet(new PortletSupport("MyPortlet")
{
- hibernate.openSession();
- instance.setPreferences(new SimpleValueMap());
- fail("Was expecting NoSuchPortletException");
+ {
+ PreferencesInfoSupport prefs = info.getPreferencesSupport();
+ prefs.addPreference("_abc", new StringValue("_def"));
}
- catch (NoSuchPortletException expected)
+ public void invoke(PortletInvocation invocation)
{
- assertTrue(hibernate.commitTransaction());
+ AbstractPropertyContext props = (AbstractPropertyContext)invocation.getAttribute(PortletInvocation.PREFERENCES_ATTRIBUTE);
+ props.update(new PropertyChange[]{new PropertyChange(PropertyChange.PREF_SET, "abc", new StringValue("def"))});
}
+ });
+
+ //
+ TransactionAssert.beginTransaction();
+ instanceContainer.createInstance("MyInstance", "MyPortlet");
+ TransactionAssert.commitTransaction();
- // Check the state
- Session session = hibernate.openSession();
- assertEquals(1, session.createQuery("from InstanceImpl").list().size());
- assertEquals(0, session.createQuery("from PersistentState").list().size());
- assertTrue(hibernate.commitTransaction());
+ //
+ TransactionAssert.beginTransaction();
+ Instance instance = instanceContainer.getInstance("MyInstance");
+
+ //
+ PortletInvocation action = new ActionInvocation(new SimpleActionContext(Mode.VIEW));
+ action.setUserContext(new SimpleUserContext("julien"));
+ instance.invoke(action);
+ TransactionAssert.rollbackTransaction(false);
+
+ // Check state
+ TransactionAssert.beginTransaction();
+ Session session = instanceHibernateSupport.getCurrentSession();
+ List instances = session.createQuery("from InstanceImpl").list();
+ assertEquals(1, instances.size());
+ InstanceImpl instanceImpl = (InstanceImpl)instances.get(0);
+ Set userInstances = instanceImpl.getUserInstances();
+ assertNotNull(userInstances);
+ assertEquals(0, userInstances.size());
+ List states = portletHibernateSupport.getCurrentSession().createQuery("from PersistentState").list();
+ assertEquals(0, states.size());
+ TransactionAssert.commitTransaction();
}
- public void testConfigureInstanceWithoutPortlet() throws Exception
+ public void testCloneBeforeWriteThrowable() throws Exception
{
- Instance instance = instanceContainer.createInstance("MyInstance", "UnknownPortlet");
- assertNotNull(instance);
-
- try
+ nextPortletInvoker.addPortlet(new PortletSupport("MyPortlet")
{
- hibernate.openSession();
- instance.setPreferences(new SimpleValueMap());
- fail("Was expecting NoSuchPortletException");
- }
- catch (NoSuchPortletException expected)
{
- assertTrue(hibernate.commitTransaction());
+ PreferencesInfoSupport prefs = info.getPreferencesSupport();
+ prefs.addPreference("_abc", new StringValue("_def"));
}
-
- Session session = hibernate.openSession();
- assertEquals(1, session.createQuery("from InstanceImpl").list().size());
- assertEquals(0, session.createQuery("from PersistentState").list().size());
- assertTrue(hibernate.commitTransaction());
+ public void invoke(PortletInvocation invocation)
+ {
+ AbstractPropertyContext props = (AbstractPropertyContext)invocation.getAttribute(PortletInvocation.PREFERENCES_ATTRIBUTE);
+ props.update(new PropertyChange[]{new PropertyChange(PropertyChange.PREF_SET, "abc", new StringValue("def"))});
+ throw new RuntimeException("custom_message");
}
+ });
- public void testCloneBeforeWriteNoTx() throws Exception
- {
- hibernate.openSession();
- mockPortletInvoker.add("MyPortlet", new PortletInfoSupport());
+ //
+ TransactionAssert.beginTransaction();
instanceContainer.createInstance("MyInstance", "MyPortlet");
- assertTrue(hibernate.commitTransaction());
+ TransactionAssert.commitTransaction();
//
- hibernate.openSession();
+ TransactionAssert.beginTransaction();
Instance instance = instanceContainer.getInstance("MyInstance");
//
- PortletInvocation action = new ActionInvocation(new ActionContextSupport()
- {
- public Mode getMode()
+ PortletInvocation action = new ActionInvocation(new SimpleActionContext(Mode.VIEW));
+ action.setUserContext(new SimpleUserContext("julien"));
+ try
{
- return Mode.VIEW;
+ instance.invoke(action);
+ fail("Was expecting runtime exception");
}
- });
- action.setUserContext(new UserContextSupport()
+ catch (RuntimeException e)
{
- public String getId()
- {
- return "julien";
+ assertEquals("custom_message", e.getMessage());
}
- });
- instance.invoke(action);
- assertTrue(hibernate.commitTransaction());
+ TransactionAssert.commitTransaction();
+
+ // Check state
+// beginTransaction();
+// Session session = instanceHibernateSupport.getCurrentSession();
+// List instances = session.createQuery("from InstanceImpl").list();
+// assertEquals(1, instances.size());
+// InstanceImpl instanceImpl = (InstanceImpl)instances.get(0);
+// Set userInstances = instanceImpl.getUserInstances();
+// assertNotNull(userInstances);
+// assertEquals(0, userInstances.size());
+// List states = portletHibernateSupport.getCurrentSession().createQuery("from PersistentState").list();
+// assertEquals(1, states.size());
+// commitTransaction();
}
@@ -290,6 +441,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
// /**Tests the authorization of portal objects */
// public void _testInstanceAuthorization() throws Exception
// {
@@ -341,13 +504,7 @@
// }
//
- /**
- *
- */
- protected String getConfigLocation()
- {
- return "org/jboss/portal/test/core/model/instance/jboss-beans.xml";
- }
+
//
//
// /**
1.1 date: 2006/07/30 12:36:21; author: julien; state: Exp;jboss-portal/core/src/main/org/jboss/portal/test/core/model/instance/SimpleActionContext.java
Index: SimpleActionContext.java
===================================================================
/*
* JBoss, Home of Professional Open Source
* Copyright 2005, JBoss Inc., 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.core.model.instance;
import org.jboss.portal.portlet.support.spi.ActionContextSupport;
import org.jboss.portal.portlet.Mode;
/**
* @author <a href="mailto:julien at jboss.org">Julien Viet</a>
* @version $Revision: 1.1 $
*/
public class SimpleActionContext extends ActionContextSupport
{
/** . */
private final Mode mode;
public SimpleActionContext(Mode mode)
{
this.mode = mode;
}
public Mode getMode()
{
return mode;
}
}
1.1 date: 2006/07/30 12:36:21; author: julien; state: Exp;jboss-portal/core/src/main/org/jboss/portal/test/core/model/instance/SimpleUserContext.java
Index: SimpleUserContext.java
===================================================================
/*
* JBoss, Home of Professional Open Source
* Copyright 2005, JBoss Inc., 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.core.model.instance;
import org.jboss.portal.portlet.support.spi.UserContextSupport;
/**
* @author <a href="mailto:julien at jboss.org">Julien Viet</a>
* @version $Revision: 1.1 $
*/
public class SimpleUserContext extends UserContextSupport
{
/** . */
private final String id;
public SimpleUserContext(String id)
{
this.id = id;
}
public String getId()
{
return id;
}
}
More information about the jboss-cvs-commits
mailing list