[webbeans-commits] Webbeans SVN: r1704 - tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event.
by webbeans-commits@lists.jboss.org
Author: dallen6
Date: 2009-02-25 08:55:06 -0500 (Wed, 25 Feb 2009)
New Revision: 1704
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/MultiBindingType.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/ObservedType1.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/ObservedType2.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/OrangeCheekedWaxbill.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/SweeWaxbill.java
Removed:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/SweeWaxbill_Broken.java
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BullTerrier.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/EventTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/Farmer.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/TeaCupPomeranian.java
Log:
Finished refactoring the Event tests for new artifact framework.
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BullTerrier.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BullTerrier.java 2009-02-25 13:00:20 UTC (rev 1703)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BullTerrier.java 2009-02-25 13:55:06 UTC (rev 1704)
@@ -1,12 +1,10 @@
package org.jboss.jsr299.tck.unit.event;
-import javax.ejb.Stateless;
import javax.event.Observes;
-@Stateless
class BullTerrier
{
- public void observesBadEvent(@Observes @Role("Admin") @Tame String someEvent)
+ public void observesBadEvent(@Observes @Role("Admin") @Tame MultiBindingType someEvent)
{
}
}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/EventTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/EventTest.java 2009-02-25 13:00:20 UTC (rev 1703)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/EventTest.java 2009-02-25 13:55:06 UTC (rev 1704)
@@ -114,7 +114,7 @@
/**
* The Manager interface provides a method for firing events:
*/
- @Test(groups = { "events", "broken" })
+ @Test(groups = { "events" })
@SpecAssertion(section = "7.2", id = "unknown")
public void testManagerFireEvent()
{
@@ -126,19 +126,15 @@
getCurrentManager().fireEvent(anEvent, new RoleBinding("Admin"));
}
- @Test(groups = { "events", "broken" })
+ @Test(groups = { "events" })
@SpecAssertion(section = "7.5", id = "e")
public void testMultipleObserverMethodsOK()
{
- // This bean has a couple observer methods
- Set<Bean<Object>> beans = getCurrentManager().resolveByType(Object.class);
- assert beans.size() >= 2;
-
- // Resolve the observers for String and Integer
- Set<Observer<String>> resolvedStringObservers = getCurrentManager().resolveObservers("A new event");
+ // Resolve the observers for types 1 and 2
+ Set<Observer<ObservedType1>> resolvedStringObservers = getCurrentManager().resolveObservers(new ObservedType1());
assert resolvedStringObservers.size() == 1;
- Set<Observer<Integer>> resolvedIntegerObservers = getCurrentManager().resolveObservers(new Integer(42));
+ Set<Observer<ObservedType2>> resolvedIntegerObservers = getCurrentManager().resolveObservers(new ObservedType2());
assert resolvedIntegerObservers.size() == 1;
}
@@ -159,7 +155,7 @@
assert resolvedObservers.size() == 2;
}
- @Test(groups = { "events", "broken" })
+ @Test(groups = { "events" })
@SpecAssertion(section = "7.5.2", id = "g")
public void testObserverMethodMayHaveMultipleBindingTypes()
{
@@ -167,7 +163,7 @@
assert beans != null;
// If we can resolve the observer with the two binding types,
// then it worked
- Set<Observer<String>> resolvedObservers = getCurrentManager().resolveObservers("An event object", new RoleBinding("Admin"), new TameAnnotationLiteral());
+ Set<Observer<MultiBindingType>> resolvedObservers = getCurrentManager().resolveObservers(new MultiBindingType(), new RoleBinding("Admin"), new TameAnnotationLiteral());
assert resolvedObservers.size() == 1;
}
@@ -253,16 +249,12 @@
assert false;
}
- @Test(groups = { "events", "broken" })
+ @Test(groups = { "events" })
@SpecAssertion(section = "7.5.8", id = "a")
public void testObserverMethodRegistration()
{
- // This bean has two observer methods, one static and one non-static
- Set<Bean<Object>> beans = getCurrentManager().resolveByType(Object.class);
- assert beans.size() >= 2;
-
// Resolve registered observers with an event containing no binding types
- Set<Observer<String>> resolvedObservers = getCurrentManager().resolveObservers("A new event");
+ Set<Observer<SimpleEventType>> resolvedObservers = getCurrentManager().resolveObservers(new SimpleEventType());
assert resolvedObservers.size() == 2;
}
@@ -352,7 +344,7 @@
@Override
protected void execute() throws Exception
{
- SweeWaxbill_Broken bean = getCurrentManager().getInstanceByType(SweeWaxbill_Broken.class);
+ SweeWaxbill bean = getCurrentManager().getInstanceByType(SweeWaxbill.class);
bean.methodThatFiresEvent();
}
@@ -369,7 +361,7 @@
@Override
protected void execute() throws Exception
{
- SweeWaxbill_Broken bean = getCurrentManager().getInstanceByType(SweeWaxbill_Broken.class);
+ SweeWaxbill bean = getCurrentManager().getInstanceByType(SweeWaxbill.class);
bean.methodThatRegistersObserver();
}
@@ -429,7 +421,7 @@
}.run();
}
- @Test(groups = { "events", "broken" })
+ @Test(groups = { "events" })
@SpecAssertion(section = "7.6", id = "n")
public void testImplicitEventBeanMatchesBindingAnnotationsOfInjectionPoint() throws Exception
{
@@ -441,7 +433,7 @@
{
// Retrieve the implicit event bean from the manager
// by its binding types (uses OrangeCheekedWaxbill)
- Set<?> eventBeans = getCurrentManager().resolveByType(Event.class, new FiresBinding(), new TameAnnotationLiteral());
+ Set<?> eventBeans = getCurrentManager().resolveByType(Event.class, new FiresBinding(), new TameAnnotationLiteral(), new RoleBinding("Admin"));
assert !eventBeans.isEmpty();
}
@@ -597,12 +589,28 @@
* By default, Java implementation reuse is assumed. In this case, the
* producer, disposal and observer methods of the first bean are not
* inherited by the second bean.
+ * @throws Exception
*/
- @Test(groups = { "events", "inheritance", "broken" })
+ @Test(groups = { "events", "inheritance" })
@SpecAssertion(section = "4", id = "a")
- public void testNonStaticObserverMethodNotInherited()
+ public void testNonStaticObserverMethodNotInherited() throws Exception
{
- assert getCurrentManager().resolveObservers(new Egg()).isEmpty();
+ new RunInDependentContext()
+ {
+
+ @Override
+ protected void execute() throws Exception
+ {
+ Set<Observer<Egg>> observers = getCurrentManager().resolveObservers(new Egg());
+ assert observers.size() == 1;
+
+ // Notify the observer so we can confirm that it
+ // is a method only on Farmer, and not LazyFarmer
+ observers.iterator().next().notify(new Egg());
+ assert Farmer.getObserverClazz().equals(Farmer.class);
+ }
+
+ }.run();
}
}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/Farmer.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/Farmer.java 2009-02-25 13:00:20 UTC (rev 1703)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/Farmer.java 2009-02-25 13:55:06 UTC (rev 1704)
@@ -4,10 +4,16 @@
class Farmer
{
+ private static Class<?> observerClazz;
public void observeEggLaying(@Observes Egg egg)
{
-
+ observerClazz = this.getClass();
}
+
+ public static Class<?> getObserverClazz()
+ {
+ return observerClazz;
+ }
}
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/MultiBindingType.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/MultiBindingType.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/MultiBindingType.java 2009-02-25 13:55:06 UTC (rev 1704)
@@ -0,0 +1,6 @@
+package org.jboss.jsr299.tck.unit.event;
+
+class MultiBindingType
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/MultiBindingType.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/ObservedType1.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/ObservedType1.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/ObservedType1.java 2009-02-25 13:55:06 UTC (rev 1704)
@@ -0,0 +1,6 @@
+package org.jboss.jsr299.tck.unit.event;
+
+class ObservedType1
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/ObservedType1.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/ObservedType2.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/ObservedType2.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/ObservedType2.java 2009-02-25 13:55:06 UTC (rev 1704)
@@ -0,0 +1,6 @@
+package org.jboss.jsr299.tck.unit.event;
+
+class ObservedType2
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/ObservedType2.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/OrangeCheekedWaxbill.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/OrangeCheekedWaxbill.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/OrangeCheekedWaxbill.java 2009-02-25 13:55:06 UTC (rev 1704)
@@ -0,0 +1,12 @@
+package org.jboss.jsr299.tck.unit.event;
+
+import javax.event.Event;
+import javax.event.Fires;
+
+
+class OrangeCheekedWaxbill
+{
+ @Fires @Role("Admin") @Tame
+ protected Event<String> simpleEvent;
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/OrangeCheekedWaxbill.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/SweeWaxbill.java (from rev 1700, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/SweeWaxbill_Broken.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/SweeWaxbill.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/SweeWaxbill.java 2009-02-25 13:55:06 UTC (rev 1704)
@@ -0,0 +1,28 @@
+package org.jboss.jsr299.tck.unit.event;
+
+import javax.event.Event;
+import javax.event.Fires;
+import javax.event.Observer;
+
+
+class SweeWaxbill
+{
+ @Fires @Role("Admin")
+ private Event<String> simpleEvent;
+
+ public void methodThatFiresEvent()
+ {
+ simpleEvent.fire("An event", new RoleBinding("Admin"));
+ }
+
+ public void methodThatRegistersObserver()
+ {
+ simpleEvent.observe(new Observer<String>()
+ {
+
+ public void notify(String event)
+ {
+ }
+ }, new RoleBinding("Admin"));
+ }
+}
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/SweeWaxbill_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/SweeWaxbill_Broken.java 2009-02-25 13:00:20 UTC (rev 1703)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/SweeWaxbill_Broken.java 2009-02-25 13:55:06 UTC (rev 1704)
@@ -1,28 +0,0 @@
-package org.jboss.jsr299.tck.unit.event;
-
-import javax.event.Event;
-import javax.event.Fires;
-import javax.event.Observer;
-
-
-class SweeWaxbill_Broken
-{
- @Fires @Role("Admin")
- private Event<String> simpleEvent;
-
- public void methodThatFiresEvent()
- {
- simpleEvent.fire("An event", new RoleBinding("Admin"));
- }
-
- public void methodThatRegistersObserver()
- {
- simpleEvent.observe(new Observer<String>()
- {
-
- public void notify(String event)
- {
- }
- }, new RoleBinding("Admin"));
- }
-}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/TeaCupPomeranian.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/TeaCupPomeranian.java 2009-02-25 13:00:20 UTC (rev 1703)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/TeaCupPomeranian.java 2009-02-25 13:55:06 UTC (rev 1704)
@@ -18,12 +18,12 @@
private static final long serialVersionUID = 1L;
}
- public void observeSimpleEvent(@Observes String someEvent)
+ public void observeSimpleEvent(@Observes ObservedType1 someEvent)
{
throw new OversizedException();
}
- public void observeAnotherSimpleEvent(@Observes Integer someEvent) throws TooSmallException
+ public void observeAnotherSimpleEvent(@Observes ObservedType2 someEvent) throws TooSmallException
{
throw new TooSmallException();
}
17 years, 1 month
[webbeans-commits] Webbeans SVN: r1703 - ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas.
by webbeans-commits@lists.jboss.org
Author: alesj
Date: 2009-02-25 08:00:20 -0500 (Wed, 25 Feb 2009)
New Revision: 1703
Modified:
ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/AbstractContainersImpl.java
ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/JBossTestServicesContainersImpl.java
ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/ProfileServiceContainersImpl.java
Log:
Make it portable with JDK5
Modified: ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/AbstractContainersImpl.java
===================================================================
--- ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/AbstractContainersImpl.java 2009-02-25 11:46:12 UTC (rev 1702)
+++ ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/AbstractContainersImpl.java 2009-02-25 13:00:20 UTC (rev 1703)
@@ -2,6 +2,7 @@
import java.io.DataOutputStream;
import java.io.File;
+import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
@@ -18,33 +19,33 @@
import org.jboss.webbeans.tck.integration.jbossas.util.DeploymentProperties;
/**
- *
+ *
* @author jeffgenender
* @author Pete Muir
*
*/
public abstract class AbstractContainersImpl implements Configurable, Containers
{
-
+
public static String JAVA_OPTS = " -ea";
-
+
public static final String JBOSS_HOME_PROPERTY_NAME = "jboss.home";
public static final String JAVA_OPTS_PROPERTY_NAME = "java.opts";
public static final String JBOSS_AS_DIR_PROPERTY_NAME = "jboss-as.dir";
public static final String JBOSS_BOOT_TIMEOUT_PROPERTY_NAME = "jboss.boot.timeout";
public static final String FORCE_RESTART_PROPERTY_NAME = "jboss.force.restart";
-
+
private static Logger log = Logger.getLogger(AbstractContainersImpl.class);
-
+
private final DeploymentProperties properties;
-
+
private Configuration configuration;
protected String jbossHome;
private String jbossHttpUrl;
private boolean jbossWasStarted;
private long bootTimeout;
private String javaOpts;
-
+
public AbstractContainersImpl()
{
this.properties = new DeploymentProperties();
@@ -53,21 +54,21 @@
protected static void copy(InputStream inputStream, File file) throws IOException
{
OutputStream os = new FileOutputStream(file);
- try
+ try
{
byte[] buf = new byte[1024];
int i = 0;
- while ((i = inputStream.read(buf)) != -1)
+ while ((i = inputStream.read(buf)) != -1)
{
os.write(buf, 0, i);
}
- }
- finally
+ }
+ finally
{
os.close();
}
- }
-
+ }
+
public void setConfiguration(Configuration configuration)
{
this.configuration = configuration;
@@ -91,14 +92,14 @@
return false;
}
}
- catch (Exception e)
+ catch (Exception e)
{
return false;
}
log.info("Successfully connected to JBoss AS at " + jbossHttpUrl);
return true;
}
-
+
public void setup() throws IOException
{
String jbossAsPath = properties.getStringValue(JBOSS_AS_DIR_PROPERTY_NAME, "../jboss-as", false);
@@ -110,14 +111,14 @@
File buildProperties = new File(jbossAsDir, "build.properties");
if (buildProperties.exists())
{
- System.getProperties().load(new FileReader(buildProperties));
+ loadProperties(buildProperties);
}
File localBuildProperties = new File(jbossAsDir, "local.build.properties");
if (localBuildProperties.exists())
{
- System.getProperties().load(new FileReader(localBuildProperties));
+ loadProperties(localBuildProperties);
}
- }
+ }
}
jbossHome = properties.getStringValue(JBOSS_HOME_PROPERTY_NAME, null, true);
javaOpts = properties.getStringValue(JAVA_OPTS_PROPERTY_NAME, "", false);
@@ -152,7 +153,7 @@
boolean interrupted = false;
while (timeoutTime > System.currentTimeMillis())
{
- if (isJBossUp())
+ if (isJBossUp())
{
log.info("Started JBoss instance");
return;
@@ -180,12 +181,25 @@
return;
}
}
-
- public String getJbossHome()
+
+ protected void loadProperties(File file) throws IOException
{
+ InputStream is = new FileInputStream(file);
+ try
+ {
+ System.getProperties().load(is);
+ }
+ finally
+ {
+ is.close();
+ }
+ }
+
+ public String getJbossHome()
+ {
return jbossHome;
}
-
+
public void cleanup() throws IOException
{
if (jbossWasStarted)
@@ -194,20 +208,20 @@
shutDownJBoss();
}
}
-
+
private void shutDownJBoss() throws IOException
{
launch("shutdown", "-S");
log.info("Shut down JBoss AS");
}
-
+
private void launch(String scriptFileName, String params) throws IOException
{
String osName = System.getProperty("os.name");
Runtime runtime = Runtime.getRuntime();
Process p = null;
- if (osName.startsWith("Windows"))
+ if (osName.startsWith("Windows"))
{
String command[] = {
"cmd.exe",
@@ -216,7 +230,7 @@
};
p = runtime.exec(command);
}
- else
+ else
{
String command[] = {
"sh",
@@ -229,24 +243,24 @@
dump(p.getInputStream());
}
- protected void dump(final InputStream is)
+ protected void dump(final InputStream is)
{
- new Thread(new Runnable()
+ new Thread(new Runnable()
{
- public void run()
+ public void run()
{
- try
+ try
{
DataOutputStream out = new DataOutputStream(new FileOutputStream(configuration.getOutputDirectory() + File.separator + "jboss.log"));
int c;
- while((c = is.read()) != -1)
+ while((c = is.read()) != -1)
{
out.writeByte(c);
}
is.close();
out.close();
}
- catch(IOException e)
+ catch(IOException e)
{
System.err.println("Error Writing/Reading Streams.");
}
@@ -254,5 +268,5 @@
}).start();
}
-
+
}
\ No newline at end of file
Modified: ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/JBossTestServicesContainersImpl.java
===================================================================
--- ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/JBossTestServicesContainersImpl.java 2009-02-25 11:46:12 UTC (rev 1702)
+++ ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/JBossTestServicesContainersImpl.java 2009-02-25 13:00:20 UTC (rev 1703)
@@ -10,12 +10,12 @@
public class JBossTestServicesContainersImpl extends AbstractContainersImpl
{
-
+
private Logger log = Logger.getLogger(JBossTestServicesContainersImpl.class);
-
+
private final JBossTestServices testServices;
private final File tmpdir;
-
+
public JBossTestServicesContainersImpl() throws Exception
{
this.testServices = new JBossTestServices(JBossTestServicesContainersImpl.class);
@@ -25,7 +25,7 @@
tmpdir.mkdir();
tmpdir.deleteOnExit();
}
-
+
public void deploy(InputStream archiveStream, String name) throws DeploymentException, IOException
{
File archive = new File(tmpdir, name);
@@ -38,9 +38,9 @@
catch (Exception e)
{
throw new DeploymentException("Error deploying " + name, e);
- }
+ }
}
-
+
public void undeploy(String name) throws IOException
{
try
@@ -49,14 +49,16 @@
}
catch (Exception e)
{
- throw new IOException("Error undeploying " + name, e);
+ IOException ioe = new IOException("Error undeploying " + name);
+ ioe.initCause(e);
+ throw ioe;
}
}
-
+
private String getTmpArchiveName(String name)
{
File file = new File(tmpdir, name);
return file.toURI().toString();
}
-
+
}
Modified: ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/ProfileServiceContainersImpl.java
===================================================================
--- ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/ProfileServiceContainersImpl.java 2009-02-25 11:46:12 UTC (rev 1702)
+++ ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/ProfileServiceContainersImpl.java 2009-02-25 13:00:20 UTC (rev 1703)
@@ -21,16 +21,16 @@
public class ProfileServiceContainersImpl extends AbstractContainersImpl
{
-
+
private Logger log = Logger.getLogger(ProfileServiceContainersImpl.class);
-
+
private final List<String> failedUndeployments;
-
+
private DeploymentManager deploymentManager;
private JBossTestServices testServices;
private final File tmpdir;
-
-
+
+
public ProfileServiceContainersImpl() throws Exception
{
this.testServices = new JBossTestServices(JBossTestServicesContainersImpl.class);
@@ -41,22 +41,24 @@
tmpdir.deleteOnExit();
this.failedUndeployments = new ArrayList<String>();
}
-
-
+
+
@Override
public void setup() throws IOException
{
super.setup();
- try
+ try
{
initDeploymentManager();
}
- catch (Exception e)
+ catch (Exception e)
{
- throw new IOException(e);
+ IOException ioe = new IOException();
+ ioe.initCause(e);
+ throw ioe;
}
}
-
+
public void deploy(InputStream archiveStream, String name) throws DeploymentException, IOException
{
if (deploymentManager == null)
@@ -80,23 +82,25 @@
undeploy(name);
}
}
- catch (Exception e)
+ catch (Exception e)
{
- throw new IOException(e);
+ IOException ioe = new IOException();
+ ioe.initCause(e);
+ throw ioe;
}
if (failure != null)
{
throw new DeploymentException(failure);
}
}
-
+
public void undeploy(String name) throws IOException
{
try
{
DeploymentProgress stopProgress = deploymentManager.stop(DeploymentPhase.APPLICATION, name);
stopProgress.run();
-
+
DeploymentProgress undeployProgress = deploymentManager.undeploy(DeploymentPhase.APPLICATION, name);
undeployProgress.run();
if (undeployProgress.getDeploymentStatus().isFailed())
@@ -106,10 +110,12 @@
}
catch (Exception e)
{
- throw new IOException(e);
+ IOException ioe = new IOException();
+ ioe.initCause(e);
+ throw ioe;
}
}
-
+
/**
* Obtain the Deployment Manager
* @throws Exception
@@ -125,9 +131,9 @@
// Init the VFS to setup the vfs* protocol handlers
VFS.init();
}
-
+
@Override
- public void cleanup() throws IOException
+ public void cleanup() throws IOException
{
super.cleanup();
List<String> remainingDeployments = new ArrayList<String>();
@@ -142,9 +148,11 @@
remainingDeployments.add(name);
}
}
- catch (Exception e)
+ catch (Exception e)
{
- throw new IOException(e);
+ IOException ioe = new IOException();
+ ioe.initCause(e);
+ throw ioe;
}
}
if (remainingDeployments.size() > 0)
@@ -152,5 +160,5 @@
//log.error("Failed to undeploy these artifacts: " + remainingDeployments);
}
}
-
+
}
17 years, 1 month
[webbeans-commits] Webbeans SVN: r1702 - in tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event: firesall and 7 other directories.
by webbeans-commits@lists.jboss.org
Author: dallen6
Date: 2009-02-25 06:46:12 -0500 (Wed, 25 Feb 2009)
New Revision: 1702
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/ConditionalEvent.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/EJBEvent.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/SimpleEventType.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/AbstractEvent.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/AllEventTypesObserver.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/AllEventTypesTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/ComplexEvent.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/GeneralEvent.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/AnimalStereotype.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/AnimalStereotypeAnnotationLiteral.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/ConsumerNotifiedForEventTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/DuplicateBindingsToAddObserverTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/ManagerAddObserverTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/NonBindingTypesToAddObserverTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/ObserverExceptionAbortsTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/Role.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/RoleBinding.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/Tame.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/TameAnnotationLiteral.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/AnimalStereotype.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/AnimalStereotypeAnnotationLiteral.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/DuplicateBindingsToRemoveObserverTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/ManagerRemoveObserverTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/NonBindingTypesToRemoveObserverTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/Role.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/RoleBinding.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/Tame.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/TameAnnotationLiteral.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeA.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeABinding.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeB.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeBBinding.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeC.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeCBinding.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/DuplicateBindingTypesWhenResolvingTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/ResolvingChecksBindingTypeMembersTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/ResolvingChecksBindingTypeTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/nonbinding/
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/nonbinding/AnimalStereotype.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/nonbinding/AnimalStereotypeAnnotationLiteral.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/nonbinding/NonBindingTypesWhenResolvingTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/type/
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/type/ChecksEventTypeWhenResolvingTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/type/ChecksTypeParametersWhenResolvingTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/type/UnusedEventType.java
Removed:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/AbstractEvent.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/AllEventTypesObserver.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeA.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeABinding.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeB.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeBBinding.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeC.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeCBinding.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/ComplexEvent.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/GeneralEvent.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/UnusedEventType.java
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/EventTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/Pomeranian.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/PomeranianInterface.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/RecluseSpider.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/Spitz.java
Log:
Refactored event tests which interfere with one another
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/AbstractEvent.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/AbstractEvent.java 2009-02-25 11:16:30 UTC (rev 1701)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/AbstractEvent.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -1,28 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.jsr299.tck.unit.event;
-
-/**
- * Abstract level of event hierarchy used to test firing
- * a concrete type and observing each of the event types
- * associated with that concrete type.
- *
- * @author David Allen
- *
- */
-abstract class AbstractEvent implements GeneralEvent {}
\ No newline at end of file
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/AllEventTypesObserver.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/AllEventTypesObserver.java 2009-02-25 11:16:30 UTC (rev 1701)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/AllEventTypesObserver.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -1,62 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.jsr299.tck.unit.event;
-
-import javax.event.Observes;
-
-/**
- * This class declares observer methods for every superclass and interface
- * contained in the hierarchy for the {@link ComplexEvent} event type.
- *
- * @author David Allen
- *
- */
-class AllEventTypesObserver
-{
- private static int objectEventQuantity = 0;
- private static int generalEventQuantity = 0;
- private static int abstractEventQuantity = 0;
- private static int complexEventQuantity = 0;
-
- public void observeObject(@Observes Object event)
- {
- // Avoid counting implicit container events
- if (event instanceof ComplexEvent)
- objectEventQuantity++;
- }
-
- public void observeGeneralEvent(@Observes GeneralEvent event)
- {
- generalEventQuantity++;
- }
-
- public void observeAbstractEvent(@Observes AbstractEvent event)
- {
- abstractEventQuantity++;
- }
-
- public void observeComplexEvent(@Observes ComplexEvent event)
- {
- complexEventQuantity++;
- }
-
- public int getTotalEventsObserved()
- {
- return objectEventQuantity + generalEventQuantity + abstractEventQuantity + complexEventQuantity;
- }
-}
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeA.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeA.java 2009-02-25 11:16:30 UTC (rev 1701)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeA.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -1,22 +0,0 @@
-package org.jboss.jsr299.tck.unit.event;
-
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-import javax.inject.BindingType;
-
-@Target( { TYPE, METHOD, PARAMETER, FIELD })
-@Retention(RUNTIME)
-@Documented
-@BindingType
-@interface BindingTypeA
-{
-
-}
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeABinding.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeABinding.java 2009-02-25 11:16:30 UTC (rev 1701)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeABinding.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -1,5 +0,0 @@
-package org.jboss.jsr299.tck.unit.event;
-
-import javax.inject.AnnotationLiteral;
-
-public class BindingTypeABinding extends AnnotationLiteral<BindingTypeA> implements BindingTypeA {}
\ No newline at end of file
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeB.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeB.java 2009-02-25 11:16:30 UTC (rev 1701)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeB.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -1,22 +0,0 @@
-package org.jboss.jsr299.tck.unit.event;
-
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-import javax.inject.BindingType;
-
-@Target( { TYPE, METHOD, PARAMETER, FIELD })
-@Retention(RUNTIME)
-@Documented
-@BindingType
-@interface BindingTypeB
-{
-
-}
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeBBinding.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeBBinding.java 2009-02-25 11:16:30 UTC (rev 1701)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeBBinding.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -1,5 +0,0 @@
-package org.jboss.jsr299.tck.unit.event;
-
-import javax.inject.AnnotationLiteral;
-
-public class BindingTypeBBinding extends AnnotationLiteral<BindingTypeB> implements BindingTypeB {}
\ No newline at end of file
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeC.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeC.java 2009-02-25 11:16:30 UTC (rev 1701)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeC.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -1,22 +0,0 @@
-package org.jboss.jsr299.tck.unit.event;
-
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-import javax.inject.BindingType;
-
-@Target( { TYPE, METHOD, PARAMETER, FIELD })
-@Retention(RUNTIME)
-@Documented
-@BindingType
-@interface BindingTypeC
-{
- public String value();
-}
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeCBinding.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeCBinding.java 2009-02-25 11:16:30 UTC (rev 1701)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeCBinding.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -1,19 +0,0 @@
-package org.jboss.jsr299.tck.unit.event;
-
-import javax.inject.AnnotationLiteral;
-
-public class BindingTypeCBinding extends AnnotationLiteral<BindingTypeC> implements BindingTypeC
-{
-
- private String stringValue;
-
- public BindingTypeCBinding(String value)
- {
- this.stringValue = value;
- }
-
- public String value()
- {
- return this.stringValue;
- }
-}
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/ComplexEvent.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/ComplexEvent.java 2009-02-25 11:16:30 UTC (rev 1701)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/ComplexEvent.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -1,30 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.jsr299.tck.unit.event;
-
-/**
- * An event type with a class/interface hierarchy complex enough
- * to test observing all event types.
- *
- * @author David Allen
- *
- */
-public class ComplexEvent extends AbstractEvent implements GeneralEvent
-{
-
-}
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/ConditionalEvent.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/ConditionalEvent.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/ConditionalEvent.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,6 @@
+package org.jboss.jsr299.tck.unit.event;
+
+class ConditionalEvent
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/ConditionalEvent.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/EJBEvent.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/EJBEvent.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/EJBEvent.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,6 @@
+package org.jboss.jsr299.tck.unit.event;
+
+class EJBEvent
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/EJBEvent.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/EventTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/EventTest.java 2009-02-25 11:16:30 UTC (rev 1701)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/EventTest.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -1,6 +1,5 @@
package org.jboss.jsr299.tck.unit.event;
-import java.lang.annotation.Annotation;
import java.util.ArrayList;
import java.util.Set;
@@ -9,7 +8,6 @@
import javax.event.Observer;
import javax.inject.DuplicateBindingTypeException;
import javax.inject.Standard;
-import javax.inject.TypeLiteral;
import javax.inject.manager.Bean;
import org.hibernate.tck.annotations.SpecAssertion;
@@ -82,31 +80,6 @@
}
}
- /**
- * The event types of the event include all superclasses and interfaces of
- * the class of the event object.
- *
- * @throws Exception
- */
- @Test(groups = { "events", "broken" })
- @SpecAssertion(section = "7.1", id = "b")
- public void testEventTypeIncludesAllSuperclassesAndInterfacesOfEventObject() throws Exception
- {
- // Fire a single complex type of event with many observers
- new RunInDependentContext()
- {
-
- @Override
- protected void execute() throws Exception
- {
- AllEventTypesObserver theObserver = getCurrentManager().getInstanceByType(AllEventTypesObserver.class);
- getCurrentManager().fireEvent(new ComplexEvent());
- assert theObserver.getTotalEventsObserved() == 4;
- }
-
- }.run();
- }
-
@Test(groups = { "events" }, expectedExceptions = { IllegalArgumentException.class })
@SpecAssertions( { @SpecAssertion(section = "7.1", id = "a"),
@SpecAssertion(section = "7.2", id = "b") })
@@ -154,166 +127,6 @@
}
@Test(groups = { "events", "broken" })
- @SpecAssertion(section = "7.3", id = "b")
- public void testManagerAddObserver()
- {
- Observer<AnEventType> observer1 = new AnObserver();
-
- // First test with the Class<T> of the event type
- getCurrentManager().addObserver(observer1, AnEventType.class);
- Set<Observer<AnEventType>> resolvedObservers = getCurrentManager().resolveObservers(new AnEventType());
- assert resolvedObservers.size() == 1;
- assert resolvedObservers.iterator().next() == observer1;
-
- // Now test with the TypeLiteral<T> of the event type
- Observer<AnEventType> observer2 = new AnObserver();
- getCurrentManager().addObserver(observer2, new TypeLiteral<AnEventType>()
- {
- });
- resolvedObservers = getCurrentManager().resolveObservers(new AnEventType());
- assert resolvedObservers.size() == 2;
- boolean foundObserver = false;
- for (Observer<AnEventType> obs : resolvedObservers)
- {
- if (obs == observer2)
- {
- foundObserver = true;
- break;
- }
- }
- assert foundObserver;
-
- // Try adding an observer with some binding types
- Observer<AnEventType> observer3 = new AnObserver();
- Annotation[] bindingTypes = new Annotation[] { new RoleBinding("Admin"), new RoleBinding("Manager") };
- getCurrentManager().addObserver(observer3, AnEventType.class, bindingTypes);
- resolvedObservers = getCurrentManager().resolveObservers(new AnEventType(), bindingTypes);
- assert resolvedObservers.size() == 3;
- foundObserver = false;
- for (Observer<AnEventType> obs : resolvedObservers)
- {
- if (obs == observer3)
- {
- foundObserver = true;
- break;
- }
- }
- assert foundObserver;
- }
-
- @Test(groups = { "events", "broken" })
- @SpecAssertion(section = "7.3", id = "e")
- public void testManagerRemoveObserver()
- {
- Observer<AnEventType> observer = new AnObserver();
-
- // First test with the Class<T> of the event type
- getCurrentManager().addObserver(observer, AnEventType.class);
- getCurrentManager().removeObserver(observer, AnEventType.class);
- Set<Observer<AnEventType>> resolvedObservers = getCurrentManager().resolveObservers(new AnEventType());
- assert resolvedObservers.isEmpty();
-
- // Now test with the TypeLiteral<T> of the event type
- observer = new AnObserver();
- getCurrentManager().addObserver(observer, new TypeLiteral<AnEventType>()
- {
- });
- getCurrentManager().removeObserver(observer, new TypeLiteral<AnEventType>()
- {
- });
- resolvedObservers = getCurrentManager().resolveObservers(new AnEventType());
- assert resolvedObservers.isEmpty();
-
- // Also test with binding types
- Annotation[] bindings = new Annotation[] { new RoleBinding("Admin") };
- getCurrentManager().addObserver(observer, AnEventType.class, bindings);
- getCurrentManager().removeObserver(observer, AnEventType.class);
- resolvedObservers = getCurrentManager().resolveObservers(new AnEventType(), bindings);
- assert !resolvedObservers.isEmpty();
- getCurrentManager().removeObserver(observer, AnEventType.class, new RoleBinding("Admin"));
- resolvedObservers = getCurrentManager().resolveObservers(new AnEventType(), bindings);
- assert resolvedObservers.isEmpty();
- }
-
- @Test(groups = { "events" }, expectedExceptions = { DuplicateBindingTypeException.class })
- @SpecAssertion(section = "7.3", id = "g")
- public void testMultipleInstancesOfSameBindingTypeWhenAddingObserverFails()
- {
- Observer<AnEventType> observer = new AnObserver();
- getCurrentManager().addObserver(observer, AnEventType.class, new RoleBinding("Admin"), new TameAnnotationLiteral(), new TameAnnotationLiteral());
- }
-
- @Test(groups = { "events" }, expectedExceptions = { IllegalArgumentException.class })
- @SpecAssertion(section = "7.3", id = "h")
- public void testNonBindingTypePassedToAddObserverFails()
- {
- Observer<AnEventType> observer = new AnObserver();
- getCurrentManager().addObserver(observer, AnEventType.class, new AnimalStereotypeAnnotationLiteral());
- }
-
- @Test(groups = { "events" }, expectedExceptions = { DuplicateBindingTypeException.class })
- @SpecAssertion(section = "7.3", id = "g")
- public void testMultipleInstancesOfSameBindingTypeWhenRemovingObserverFails()
- {
- Observer<AnEventType> observer = new AnObserver();
- getCurrentManager().addObserver(observer, AnEventType.class);
- getCurrentManager().removeObserver(observer, AnEventType.class, new RoleBinding("Admin"), new TameAnnotationLiteral(), new TameAnnotationLiteral());
- }
-
- @Test(groups = { "events" }, expectedExceptions = { IllegalArgumentException.class })
- @SpecAssertion(section = "7.3", id = "h")
- public void testNonBindingTypePassedToRemoveObserverFails()
- {
- Observer<AnEventType> observer = new AnObserver();
- getCurrentManager().addObserver(observer, AnEventType.class);
- getCurrentManager().removeObserver(observer, AnEventType.class, new AnimalStereotypeAnnotationLiteral());
- }
-
- @Test(groups = { "events", "broken" })
- @SpecAssertions( { @SpecAssertion(section = "7.1", id = "e"), @SpecAssertion(section = "7.4", id = "b") })
- public void testConsumerNotifiedWhenEventTypeAndAllBindingsMatch()
- {
- AnObserver observer1 = new AnObserver();
- AnObserver observer2 = new AnObserver();
- getCurrentManager().addObserver(observer1, AnEventType.class);
- getCurrentManager().addObserver(observer2, AnEventType.class);
-
- // Fire an event that will be delivered to the two above observers
- AnEventType anEvent = new AnEventType();
- getCurrentManager().fireEvent(anEvent);
-
- assert observer1.wasNotified;
- assert observer2.wasNotified;
- }
-
- @Test(groups = { "events" })
- @SpecAssertion(section = "7.4", id = "c")
- public void testObserverThrowsExceptionAbortsNotifications()
- {
- AnObserverWithException observer = new AnObserverWithException();
- AnObserverWithException anotherObserver = new AnObserverWithException();
- getCurrentManager().addObserver(anotherObserver, AnEventType.class);
- getCurrentManager().addObserver(observer, AnEventType.class);
-
- // Fire an event that will be delivered to the two above observers
- AnEventType anEvent = new AnEventType();
- boolean fireFailed = false;
- try
- {
- getCurrentManager().fireEvent(anEvent);
- }
- catch (Exception e)
- {
- if (e.equals(observer.theException) || e.equals(anotherObserver.theException))
- fireFailed = true;
- }
- assert fireFailed;
- // Only one of the observers can be notified if processing
- // is aborted
- assert observer.wasNotified ^ anotherObserver.wasNotified;
- }
-
- @Test(groups = { "events", "broken" })
@SpecAssertion(section = "7.5", id = "e")
public void testMultipleObserverMethodsOK()
{
@@ -329,24 +142,20 @@
assert resolvedIntegerObservers.size() == 1;
}
- @Test(groups = { "events", "ejb", "broken" })
+ @Test(groups = { "events", "ejb" })
@SpecAssertion(section = "7.5", id = "d")
public void testObserverMethodOnEnterpriseBeanIsBusinessMethodOrStatic()
{
- Set<Observer<String>> observers = getCurrentManager().resolveObservers("An event");
+ Set<Observer<EJBEvent>> observers = getCurrentManager().resolveObservers(new EJBEvent());
assert observers.size() == 2;
}
- @Test(groups = { "events", "broken" })
+ @Test(groups = { "events" })
@SpecAssertion(section = "7.5.1", id = "b")
public void testObserverMethodWithoutBindingTypesObservesEventsWithoutBindingTypes()
{
- // This observer has no binding types specified
- Set<Bean<Object>> beans = getCurrentManager().resolveByType(Object.class);
- assert beans.size() >= 2;
-
// Resolve registered observers with an event containing no binding types
- Set<Observer<String>> resolvedObservers = getCurrentManager().resolveObservers("A new event");
+ Set<Observer<SimpleEventType>> resolvedObservers = getCurrentManager().resolveObservers(new SimpleEventType());
assert resolvedObservers.size() == 2;
}
@@ -396,12 +205,13 @@
assert beans != null;
}
+ //TODO This test was working well in January 2009 but no longer creates the observer
@Test(groups = { "events", "broken" })
@SpecAssertion(section = "7.5.5", id = "a")
public void testConditionalObserver() throws Exception
{
RecluseSpider.notified = false;
- getCurrentManager().fireEvent("New string event");
+ getCurrentManager().fireEvent(new ConditionalEvent());
// Should not be notified since bean is not instantiated yet
assert !RecluseSpider.notified;
@@ -415,7 +225,7 @@
RecluseSpider bean = getCurrentManager().getInstanceByType(RecluseSpider.class);
assert bean != null;
- getCurrentManager().fireEvent("Another event");
+ getCurrentManager().fireEvent(new ConditionalEvent());
assert RecluseSpider.notified;
}
@@ -471,7 +281,7 @@
assert false;
}
- @Test(groups = { "events", "broken" })
+ @Test(groups = { "events" })
@SpecAssertion(section = "7.5.8", id = "i")
public void testStaticObserverMethodInvoked()
{
@@ -777,85 +587,12 @@
eventObjectContainsWildcards(new ArrayList<String>());
}
- private void eventObjectContainsWildcards(ArrayList<? extends Object> eventToFire)
+ private void eventObjectContainsWildcards(ArrayList<?> eventToFire)
{
// TODO There does not seem to be a way to get wildcarded types passed
getCurrentManager().resolveObservers(eventToFire);
}
- @Test(groups = { "events" }, expectedExceptions = { DuplicateBindingTypeException.class })
- @SpecAssertion(section = "7.7", id = "d")
- public void testDuplicateBindingTypesWhenResolvingFails()
- {
- AnObserver observer = new AnObserver();
- getCurrentManager().addObserver(observer, AnEventType.class, new BindingTypeABinding());
- getCurrentManager().resolveObservers(new AnEventType(), new BindingTypeABinding(), new BindingTypeABinding());
- }
-
- @Test(groups = { "events" }, expectedExceptions = { IllegalArgumentException.class })
- @SpecAssertion(section = "7.7", id = "e")
- public void testNonBindingTypeAnnotationWhenResolvingFails()
- {
- AnObserver observer = new AnObserver();
- getCurrentManager().addObserver(observer, new TypeLiteral<AnEventType>()
- {
- });
- Set<Observer<AnEventType>> resolvedObservers = getCurrentManager().resolveObservers(new AnEventType(), new AnimalStereotypeAnnotationLiteral());
- assert !resolvedObservers.isEmpty();
- }
-
- @Test(groups = { "events" })
- @SpecAssertion(section = "7.7", id = "f")
- public void testResolvingChecksEventType()
- {
- Observer<AnEventType> observer = new AnObserver();
- getCurrentManager().addObserver(observer, AnEventType.class);
- Set<Observer<AnEventType>> resolvedObservers = getCurrentManager().resolveObservers(new AnEventType());
- assert !resolvedObservers.isEmpty();
- Set<?> emptyObserverSet = getCurrentManager().resolveObservers(new UnusedEventType("name"));
- assert emptyObserverSet.size() == 1;
- }
-
- @Test(groups = { "broken", "events" })
- @SpecAssertion(section = "7.7", id = "f")
- public void testResolvingChecksTypeParameters()
- {
- AListObserver observer = new AListObserver();
- AnotherListObserver anotherObserver = new AnotherListObserver();
- getCurrentManager().addObserver(observer, new TypeLiteral<ArrayList<String>>()
- {
- });
- getCurrentManager().addObserver(anotherObserver, new TypeLiteral<ArrayList<Integer>>()
- {
- });
- Set<Observer<ArrayList<String>>> resolvedObservers = getCurrentManager().resolveObservers(new ArrayList<String>());
- assert resolvedObservers.size() == 1;
- }
-
- @Test(groups = { "events", "broken" })
- @SpecAssertion(section = "7.7", id = "g")
- public void testResolvingChecksBindingTypes()
- {
- AnObserver observer = new AnObserver();
- AnObserver anotherObserver = new AnObserver();
- getCurrentManager().addObserver(observer, AnEventType.class, new BindingTypeABinding());
- getCurrentManager().addObserver(anotherObserver, AnEventType.class, new BindingTypeBBinding());
- Set<Observer<AnEventType>> resolvedObservers = getCurrentManager().resolveObservers(new AnEventType(), new BindingTypeABinding());
- assert resolvedObservers.size() == 1;
- }
-
- @Test(groups = { "events", "broken" })
- @SpecAssertion(section = "7.7", id = "g")
- public void testResolvingChecksBindingTypeMembers()
- {
- AnObserver observer = new AnObserver();
- AnObserver anotherObserver = new AnObserver();
- getCurrentManager().addObserver(observer, AnEventType.class, new BindingTypeCBinding("first-observer"));
- getCurrentManager().addObserver(anotherObserver, AnEventType.class, new BindingTypeCBinding("second-observer"));
- Set<Observer<AnEventType>> resolvedObservers = getCurrentManager().resolveObservers(new AnEventType(), new BindingTypeCBinding("first-observer"));
- assert resolvedObservers.size() == 1;
- }
-
/**
* By default, Java implementation reuse is assumed. In this case, the
* producer, disposal and observer methods of the first bean are not
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/GeneralEvent.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/GeneralEvent.java 2009-02-25 11:16:30 UTC (rev 1701)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/GeneralEvent.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -1,27 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.jsr299.tck.unit.event;
-
-/**
- * Arbitrary interface to test firing events and observing all
- * event types.
- *
- * @author David Allen
- *
- */
-interface GeneralEvent {}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/Pomeranian.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/Pomeranian.java 2009-02-25 11:16:30 UTC (rev 1701)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/Pomeranian.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -8,12 +8,12 @@
{
public static Thread notificationThread;
- public void observeSimpleEvent(@Observes String someEvent)
+ public void observeSimpleEvent(@Observes SimpleEventType someEvent)
{
notificationThread = Thread.currentThread();
}
- public static void staticallyObserveEvent(@Observes String someEvent)
+ public static void staticallyObserveEvent(@Observes SimpleEventType someEvent)
{
}
}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/PomeranianInterface.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/PomeranianInterface.java 2009-02-25 11:16:30 UTC (rev 1701)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/PomeranianInterface.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -1,6 +1,10 @@
package org.jboss.jsr299.tck.unit.event;
+import javax.ejb.Local;
+import javax.event.Observes;
+
+@Local
public interface PomeranianInterface
{
-
+ public void observeSimpleEvent(@Observes EJBEvent someEvent);
}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/RecluseSpider.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/RecluseSpider.java 2009-02-25 11:16:30 UTC (rev 1701)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/RecluseSpider.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -1,6 +1,5 @@
package org.jboss.jsr299.tck.unit.event;
-import javax.context.RequestScoped;
import javax.event.IfExists;
import javax.event.Observes;
@@ -8,12 +7,11 @@
* Simple web bean that conditionally listens to events.
*
*/
-@RequestScoped
class RecluseSpider
{
public static boolean notified = false;
- public void observe(@Observes @IfExists String someEvent)
+ public void observe(@Observes @IfExists ConditionalEvent someEvent)
{
notified = true;
}
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/SimpleEventType.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/SimpleEventType.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/SimpleEventType.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,6 @@
+package org.jboss.jsr299.tck.unit.event;
+
+class SimpleEventType
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/SimpleEventType.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/Spitz.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/Spitz.java 2009-02-25 11:16:30 UTC (rev 1701)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/Spitz.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -9,14 +9,11 @@
@Named("Teddy")
public class Spitz implements PomeranianInterface
{
- public static Thread notificationThread;
-
- public void observeSimpleEvent(@Observes String someEvent)
+ public void observeSimpleEvent(@Observes EJBEvent someEvent)
{
- notificationThread = Thread.currentThread();
}
- public static void staticallyObserveEvent(@Observes String someEvent)
+ public static void staticallyObserveEvent(@Observes EJBEvent someEvent)
{
}
}
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/UnusedEventType.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/UnusedEventType.java 2009-02-25 11:16:30 UTC (rev 1701)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/UnusedEventType.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -1,9 +0,0 @@
-package org.jboss.jsr299.tck.unit.event;
-
-class UnusedEventType
-{
- public UnusedEventType(String name)
- {
-
- }
-}
Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/AbstractEvent.java (from rev 1700, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/AbstractEvent.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/AbstractEvent.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/AbstractEvent.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,29 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.jboss.jsr299.tck.unit.event.firesall;
+
+
+/**
+ * Abstract level of event hierarchy used to test firing
+ * a concrete type and observing each of the event types
+ * associated with that concrete type.
+ *
+ * @author David Allen
+ *
+ */
+abstract class AbstractEvent implements GeneralEvent {}
\ No newline at end of file
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/AbstractEvent.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/AllEventTypesObserver.java (from rev 1700, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/AllEventTypesObserver.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/AllEventTypesObserver.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/AllEventTypesObserver.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,63 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.jboss.jsr299.tck.unit.event.firesall;
+
+import javax.event.Observes;
+
+
+/**
+ * This class declares observer methods for every superclass and interface
+ * contained in the hierarchy for the {@link ComplexEvent} event type.
+ *
+ * @author David Allen
+ *
+ */
+class AllEventTypesObserver
+{
+ private static int objectEventQuantity = 0;
+ private static int generalEventQuantity = 0;
+ private static int abstractEventQuantity = 0;
+ private static int complexEventQuantity = 0;
+
+ public void observeObject(@Observes Object event)
+ {
+ // Avoid counting implicit container events
+ if (event instanceof ComplexEvent)
+ objectEventQuantity++;
+ }
+
+ public void observeGeneralEvent(@Observes GeneralEvent event)
+ {
+ generalEventQuantity++;
+ }
+
+ public void observeAbstractEvent(@Observes AbstractEvent event)
+ {
+ abstractEventQuantity++;
+ }
+
+ public void observeComplexEvent(@Observes ComplexEvent event)
+ {
+ complexEventQuantity++;
+ }
+
+ public int getTotalEventsObserved()
+ {
+ return objectEventQuantity + generalEventQuantity + abstractEventQuantity + complexEventQuantity;
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/AllEventTypesObserver.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/AllEventTypesTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/AllEventTypesTest.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/AllEventTypesTest.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,35 @@
+package org.jboss.jsr299.tck.unit.event.firesall;
+
+import org.hibernate.tck.annotations.SpecAssertion;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
+import org.jboss.jsr299.tck.impl.packaging.Artifact;
+import org.testng.annotations.Test;
+
+@Artifact
+public class AllEventTypesTest extends AbstractDeclarativeTest
+{
+ /**
+ * The event types of the event include all superclasses and interfaces of
+ * the class of the event object.
+ *
+ * @throws Exception
+ */
+ @Test(groups = { "events" })
+ @SpecAssertion(section = "7.1", id = "b")
+ public void testEventTypeIncludesAllSuperclassesAndInterfacesOfEventObject() throws Exception
+ {
+ // Fire a single complex type of event with many observers
+ new RunInDependentContext()
+ {
+
+ @Override
+ protected void execute() throws Exception
+ {
+ AllEventTypesObserver theObserver = getCurrentManager().getInstanceByType(AllEventTypesObserver.class);
+ getCurrentManager().fireEvent(new ComplexEvent());
+ assert theObserver.getTotalEventsObserved() == 4;
+ }
+
+ }.run();
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/AllEventTypesTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/ComplexEvent.java (from rev 1700, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/ComplexEvent.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/ComplexEvent.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/ComplexEvent.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,31 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.jboss.jsr299.tck.unit.event.firesall;
+
+
+/**
+ * An event type with a class/interface hierarchy complex enough
+ * to test observing all event types.
+ *
+ * @author David Allen
+ *
+ */
+public class ComplexEvent extends AbstractEvent implements GeneralEvent
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/ComplexEvent.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/GeneralEvent.java (from rev 1700, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/GeneralEvent.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/GeneralEvent.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/GeneralEvent.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,27 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.jboss.jsr299.tck.unit.event.firesall;
+
+/**
+ * Arbitrary interface to test firing events and observing all
+ * event types.
+ *
+ * @author David Allen
+ *
+ */
+interface GeneralEvent {}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/firesall/GeneralEvent.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/AnimalStereotype.java (from rev 1689, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/AnimalStereotype.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/AnimalStereotype.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/AnimalStereotype.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,21 @@
+package org.jboss.jsr299.tck.unit.event.register.observer1;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.annotation.Stereotype;
+import javax.context.RequestScoped;
+
+@Stereotype()
+@Target( { TYPE, METHOD, FIELD })
+@Retention(RUNTIME)
+@RequestScoped
+@interface AnimalStereotype
+{
+
+}
Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/AnimalStereotypeAnnotationLiteral.java (from rev 1689, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/AnimalStereotypeAnnotationLiteral.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/AnimalStereotypeAnnotationLiteral.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/AnimalStereotypeAnnotationLiteral.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,8 @@
+package org.jboss.jsr299.tck.unit.event.register.observer1;
+
+import javax.inject.AnnotationLiteral;
+
+class AnimalStereotypeAnnotationLiteral extends AnnotationLiteral<AnimalStereotype> implements AnimalStereotype
+{
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/ConsumerNotifiedForEventTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/ConsumerNotifiedForEventTest.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/ConsumerNotifiedForEventTest.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,46 @@
+package org.jboss.jsr299.tck.unit.event.register.observer1;
+
+import javax.event.Observer;
+
+import org.hibernate.tck.annotations.SpecAssertion;
+import org.hibernate.tck.annotations.SpecAssertions;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
+import org.jboss.jsr299.tck.impl.packaging.Artifact;
+import org.testng.annotations.Test;
+
+@Artifact
+public class ConsumerNotifiedForEventTest extends AbstractDeclarativeTest
+{
+ public static class AnEventType
+ {
+ }
+
+ public static class AnObserver implements Observer<AnEventType>
+ {
+ public boolean wasNotified = false;
+
+ public void notify(AnEventType event)
+ {
+ wasNotified = true;
+ }
+ }
+
+ @Test(groups = { "events" })
+ @SpecAssertions( { @SpecAssertion(section = "7.1", id = "e"), @SpecAssertion(section = "7.4", id = "b") })
+ public void testConsumerNotifiedWhenEventTypeAndAllBindingsMatch()
+ {
+ AnObserver observer1 = new AnObserver();
+ AnObserver observer2 = new AnObserver();
+ getCurrentManager().addObserver(observer1, AnEventType.class);
+ getCurrentManager().addObserver(observer2, AnEventType.class);
+
+ // Fire an event that will be delivered to the two above observers
+ AnEventType anEvent = new AnEventType();
+ getCurrentManager().fireEvent(anEvent);
+
+ assert observer1.wasNotified;
+ assert observer2.wasNotified;
+ }
+
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/ConsumerNotifiedForEventTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/DuplicateBindingsToAddObserverTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/DuplicateBindingsToAddObserverTest.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/DuplicateBindingsToAddObserverTest.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,35 @@
+package org.jboss.jsr299.tck.unit.event.register.observer1;
+
+import javax.event.Observer;
+import javax.inject.DuplicateBindingTypeException;
+
+import org.hibernate.tck.annotations.SpecAssertion;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
+import org.jboss.jsr299.tck.impl.packaging.Artifact;
+import org.testng.annotations.Test;
+
+@Artifact
+public class DuplicateBindingsToAddObserverTest extends AbstractDeclarativeTest
+{
+ public static class AnEventType
+ {
+ }
+
+ public static class AnObserver implements Observer<AnEventType>
+ {
+ public boolean wasNotified = false;
+
+ public void notify(AnEventType event)
+ {
+ wasNotified = true;
+ }
+ }
+
+ @Test(groups = { "events" }, expectedExceptions = { DuplicateBindingTypeException.class })
+ @SpecAssertion(section = "7.3", id = "g")
+ public void testMultipleInstancesOfSameBindingTypeWhenAddingObserverFails()
+ {
+ Observer<AnEventType> observer = new AnObserver();
+ getCurrentManager().addObserver(observer, AnEventType.class, new RoleBinding("Admin"), new TameAnnotationLiteral(), new TameAnnotationLiteral());
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/DuplicateBindingsToAddObserverTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/ManagerAddObserverTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/ManagerAddObserverTest.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/ManagerAddObserverTest.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,101 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.jboss.jsr299.tck.unit.event.register.observer1;
+
+import java.lang.annotation.Annotation;
+import java.util.Set;
+
+import javax.event.Observer;
+import javax.inject.TypeLiteral;
+
+import org.hibernate.tck.annotations.SpecAssertion;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
+import org.jboss.jsr299.tck.impl.packaging.Artifact;
+import org.testng.annotations.Test;
+
+/**
+ * Tests for the manager.addObserver() method.
+ *
+ * @author David Allen
+ *
+ */
+@Artifact
+public class ManagerAddObserverTest extends AbstractDeclarativeTest
+{
+ public static class AnEventType
+ {
+ }
+
+ public static class AnObserver implements Observer<AnEventType>
+ {
+ public boolean wasNotified = false;
+
+ public void notify(AnEventType event)
+ {
+ wasNotified = true;
+ }
+ }
+
+ @Test(groups = { "events" })
+ @SpecAssertion(section = "7.3", id = "b")
+ public void testManagerAddObserver()
+ {
+ Observer<AnEventType> observer1 = new AnObserver();
+
+ // First test with the Class<T> of the event type
+ getCurrentManager().addObserver(observer1, AnEventType.class);
+ Set<Observer<AnEventType>> resolvedObservers = getCurrentManager().resolveObservers(new AnEventType());
+ assert resolvedObservers.size() == 1;
+ assert resolvedObservers.iterator().next() == observer1;
+
+ // Now test with the TypeLiteral<T> of the event type
+ Observer<AnEventType> observer2 = new AnObserver();
+ getCurrentManager().addObserver(observer2, new TypeLiteral<AnEventType>()
+ {
+ });
+ resolvedObservers = getCurrentManager().resolveObservers(new AnEventType());
+ assert resolvedObservers.size() == 2;
+ boolean foundObserver = false;
+ for (Observer<AnEventType> obs : resolvedObservers)
+ {
+ if (obs == observer2)
+ {
+ foundObserver = true;
+ break;
+ }
+ }
+ assert foundObserver;
+
+ // Try adding an observer with some binding types
+ Observer<AnEventType> observer3 = new AnObserver();
+ Annotation[] bindingTypes = new Annotation[] { new RoleBinding("Admin"), new RoleBinding("Manager") };
+ getCurrentManager().addObserver(observer3, AnEventType.class, bindingTypes);
+ resolvedObservers = getCurrentManager().resolveObservers(new AnEventType(), bindingTypes);
+ assert resolvedObservers.size() == 3;
+ foundObserver = false;
+ for (Observer<AnEventType> obs : resolvedObservers)
+ {
+ if (obs == observer3)
+ {
+ foundObserver = true;
+ break;
+ }
+ }
+ assert foundObserver;
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/ManagerAddObserverTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/NonBindingTypesToAddObserverTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/NonBindingTypesToAddObserverTest.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/NonBindingTypesToAddObserverTest.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,35 @@
+package org.jboss.jsr299.tck.unit.event.register.observer1;
+
+import javax.event.Observer;
+
+import org.hibernate.tck.annotations.SpecAssertion;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
+import org.jboss.jsr299.tck.impl.packaging.Artifact;
+import org.testng.annotations.Test;
+
+@Artifact
+public class NonBindingTypesToAddObserverTest extends AbstractDeclarativeTest
+{
+ public static class AnEventType
+ {
+ }
+
+ public static class AnObserver implements Observer<AnEventType>
+ {
+ public boolean wasNotified = false;
+
+ public void notify(AnEventType event)
+ {
+ wasNotified = true;
+ }
+ }
+
+ @Test(groups = { "events" }, expectedExceptions = { IllegalArgumentException.class })
+ @SpecAssertion(section = "7.3", id = "h")
+ public void testNonBindingTypePassedToAddObserverFails()
+ {
+ Observer<AnEventType> observer = new AnObserver();
+ getCurrentManager().addObserver(observer, AnEventType.class, new AnimalStereotypeAnnotationLiteral());
+ }
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/NonBindingTypesToAddObserverTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/ObserverExceptionAbortsTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/ObserverExceptionAbortsTest.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/ObserverExceptionAbortsTest.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,65 @@
+package org.jboss.jsr299.tck.unit.event.register.observer1;
+
+import javax.event.Observer;
+
+import org.hibernate.tck.annotations.SpecAssertion;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
+import org.jboss.jsr299.tck.impl.packaging.Artifact;
+import org.testng.annotations.Test;
+
+@Artifact
+public class ObserverExceptionAbortsTest extends AbstractDeclarativeTest
+{
+ public static class AnEventType
+ {
+ }
+
+ public static class AnObserver implements Observer<AnEventType>
+ {
+ public boolean wasNotified = false;
+
+ public void notify(AnEventType event)
+ {
+ wasNotified = true;
+ }
+ }
+
+ public static class AnObserverWithException implements Observer<AnEventType>
+ {
+ public boolean wasNotified = false;
+ public RuntimeException theException = new RuntimeException("RE1");
+
+ public void notify(AnEventType event)
+ {
+ wasNotified = true;
+ throw theException;
+ }
+ }
+
+ @Test(groups = { "events" })
+ @SpecAssertion(section = "7.4", id = "c")
+ public void testObserverThrowsExceptionAbortsNotifications()
+ {
+ AnObserverWithException observer = new AnObserverWithException();
+ AnObserverWithException anotherObserver = new AnObserverWithException();
+ getCurrentManager().addObserver(anotherObserver, AnEventType.class);
+ getCurrentManager().addObserver(observer, AnEventType.class);
+
+ // Fire an event that will be delivered to the two above observers
+ AnEventType anEvent = new AnEventType();
+ boolean fireFailed = false;
+ try
+ {
+ getCurrentManager().fireEvent(anEvent);
+ }
+ catch (Exception e)
+ {
+ if (e.equals(observer.theException) || e.equals(anotherObserver.theException))
+ fireFailed = true;
+ }
+ assert fireFailed;
+ // Only one of the observers can be notified if processing
+ // is aborted
+ assert observer.wasNotified ^ anotherObserver.wasNotified;
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/ObserverExceptionAbortsTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/Role.java (from rev 1689, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/Role.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/Role.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/Role.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,14 @@
+package org.jboss.jsr299.tck.unit.event.register.observer1;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+
+import javax.inject.BindingType;
+
+@BindingType
+@Retention(RUNTIME)
+@interface Role
+{
+ String value();
+}
Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/RoleBinding.java (from rev 1689, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/RoleBinding.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/RoleBinding.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/RoleBinding.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,20 @@
+package org.jboss.jsr299.tck.unit.event.register.observer1;
+
+import javax.inject.AnnotationLiteral;
+
+
+class RoleBinding extends AnnotationLiteral<Role> implements Role
+{
+ private String value = null;
+
+ public RoleBinding(String value)
+ {
+ this.value = value;
+ }
+
+ public String value()
+ {
+ return value;
+ }
+
+}
Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/Tame.java (from rev 1689, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/Tame.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/Tame.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/Tame.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,22 @@
+package org.jboss.jsr299.tck.unit.event.register.observer1;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.BindingType;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@BindingType
+@interface Tame
+{
+
+}
Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/TameAnnotationLiteral.java (from rev 1689, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/TameAnnotationLiteral.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/TameAnnotationLiteral.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer1/TameAnnotationLiteral.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,8 @@
+package org.jboss.jsr299.tck.unit.event.register.observer1;
+
+import javax.inject.AnnotationLiteral;
+
+class TameAnnotationLiteral extends AnnotationLiteral<Tame> implements Tame
+{
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/AnimalStereotype.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/AnimalStereotype.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/AnimalStereotype.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,21 @@
+package org.jboss.jsr299.tck.unit.event.register.observer2;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.annotation.Stereotype;
+import javax.context.RequestScoped;
+
+@Stereotype()
+@Target( { TYPE, METHOD, FIELD })
+@Retention(RUNTIME)
+@RequestScoped
+@interface AnimalStereotype
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/AnimalStereotype.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/AnimalStereotypeAnnotationLiteral.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/AnimalStereotypeAnnotationLiteral.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/AnimalStereotypeAnnotationLiteral.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,8 @@
+package org.jboss.jsr299.tck.unit.event.register.observer2;
+
+import javax.inject.AnnotationLiteral;
+
+class AnimalStereotypeAnnotationLiteral extends AnnotationLiteral<AnimalStereotype> implements AnimalStereotype
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/AnimalStereotypeAnnotationLiteral.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/DuplicateBindingsToRemoveObserverTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/DuplicateBindingsToRemoveObserverTest.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/DuplicateBindingsToRemoveObserverTest.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,36 @@
+package org.jboss.jsr299.tck.unit.event.register.observer2;
+
+import javax.event.Observer;
+import javax.inject.DuplicateBindingTypeException;
+
+import org.hibernate.tck.annotations.SpecAssertion;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
+import org.jboss.jsr299.tck.impl.packaging.Artifact;
+import org.testng.annotations.Test;
+
+@Artifact
+public class DuplicateBindingsToRemoveObserverTest extends AbstractDeclarativeTest
+{
+ public static class AnEventType
+ {
+ }
+
+ public static class AnObserver implements Observer<AnEventType>
+ {
+ public boolean wasNotified = false;
+
+ public void notify(AnEventType event)
+ {
+ wasNotified = true;
+ }
+ }
+
+ @Test(groups = { "events" }, expectedExceptions = { DuplicateBindingTypeException.class })
+ @SpecAssertion(section = "7.3", id = "g")
+ public void testMultipleInstancesOfSameBindingTypeWhenRemovingObserverFails()
+ {
+ Observer<AnEventType> observer = new AnObserver();
+ getCurrentManager().addObserver(observer, AnEventType.class);
+ getCurrentManager().removeObserver(observer, AnEventType.class, new RoleBinding("Admin"), new TameAnnotationLiteral(), new TameAnnotationLiteral());
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/DuplicateBindingsToRemoveObserverTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/ManagerRemoveObserverTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/ManagerRemoveObserverTest.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/ManagerRemoveObserverTest.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,85 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.jboss.jsr299.tck.unit.event.register.observer2;
+
+import java.lang.annotation.Annotation;
+import java.util.Set;
+
+import javax.event.Observer;
+import javax.inject.TypeLiteral;
+
+import org.hibernate.tck.annotations.SpecAssertion;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
+import org.testng.annotations.Test;
+
+/**
+ * Tests the manager.removeObserver() method.
+ *
+ * @author David Allen
+ *
+ */
+public class ManagerRemoveObserverTest extends AbstractDeclarativeTest
+{
+ public static class AnEventType
+ {
+ }
+
+ public static class AnObserver implements Observer<AnEventType>
+ {
+ public boolean wasNotified = false;
+
+ public void notify(AnEventType event)
+ {
+ wasNotified = true;
+ }
+ }
+
+ @Test(groups = { "events" })
+ @SpecAssertion(section = "7.3", id = "e")
+ public void testManagerRemoveObserver()
+ {
+ Observer<AnEventType> observer = new AnObserver();
+
+ // First test with the Class<T> of the event type
+ getCurrentManager().addObserver(observer, AnEventType.class);
+ getCurrentManager().removeObserver(observer, AnEventType.class);
+ Set<Observer<AnEventType>> resolvedObservers = getCurrentManager().resolveObservers(new AnEventType());
+ assert resolvedObservers.isEmpty();
+
+ // Now test with the TypeLiteral<T> of the event type
+ observer = new AnObserver();
+ getCurrentManager().addObserver(observer, new TypeLiteral<AnEventType>()
+ {
+ });
+ getCurrentManager().removeObserver(observer, new TypeLiteral<AnEventType>()
+ {
+ });
+ resolvedObservers = getCurrentManager().resolveObservers(new AnEventType());
+ assert resolvedObservers.isEmpty();
+
+ // Also test with binding types
+ Annotation[] bindings = new Annotation[] { new RoleBinding("Admin") };
+ getCurrentManager().addObserver(observer, AnEventType.class, bindings);
+ getCurrentManager().removeObserver(observer, AnEventType.class);
+ resolvedObservers = getCurrentManager().resolveObservers(new AnEventType(), bindings);
+ assert !resolvedObservers.isEmpty();
+ getCurrentManager().removeObserver(observer, AnEventType.class, new RoleBinding("Admin"));
+ resolvedObservers = getCurrentManager().resolveObservers(new AnEventType(), bindings);
+ assert resolvedObservers.isEmpty();
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/ManagerRemoveObserverTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/NonBindingTypesToRemoveObserverTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/NonBindingTypesToRemoveObserverTest.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/NonBindingTypesToRemoveObserverTest.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,35 @@
+package org.jboss.jsr299.tck.unit.event.register.observer2;
+
+import javax.event.Observer;
+
+import org.hibernate.tck.annotations.SpecAssertion;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
+import org.jboss.jsr299.tck.impl.packaging.Artifact;
+import org.testng.annotations.Test;
+
+@Artifact
+public class NonBindingTypesToRemoveObserverTest extends AbstractDeclarativeTest
+{
+ public static class AnEventType
+ {
+ }
+
+ public static class AnObserver implements Observer<AnEventType>
+ {
+ public boolean wasNotified = false;
+
+ public void notify(AnEventType event)
+ {
+ wasNotified = true;
+ }
+ }
+
+ @Test(groups = { "events" }, expectedExceptions = { IllegalArgumentException.class })
+ @SpecAssertion(section = "7.3", id = "h")
+ public void testNonBindingTypePassedToRemoveObserverFails()
+ {
+ Observer<AnEventType> observer = new AnObserver();
+ getCurrentManager().addObserver(observer, AnEventType.class);
+ getCurrentManager().removeObserver(observer, AnEventType.class, new AnimalStereotypeAnnotationLiteral());
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/NonBindingTypesToRemoveObserverTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/Role.java (from rev 1689, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/Role.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/Role.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/Role.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,14 @@
+package org.jboss.jsr299.tck.unit.event.register.observer2;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+
+import javax.inject.BindingType;
+
+@BindingType
+@Retention(RUNTIME)
+@interface Role
+{
+ String value();
+}
Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/RoleBinding.java (from rev 1689, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/RoleBinding.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/RoleBinding.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/RoleBinding.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,20 @@
+package org.jboss.jsr299.tck.unit.event.register.observer2;
+
+import javax.inject.AnnotationLiteral;
+
+
+class RoleBinding extends AnnotationLiteral<Role> implements Role
+{
+ private String value = null;
+
+ public RoleBinding(String value)
+ {
+ this.value = value;
+ }
+
+ public String value()
+ {
+ return value;
+ }
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/Tame.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/Tame.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/Tame.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,22 @@
+package org.jboss.jsr299.tck.unit.event.register.observer2;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.BindingType;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@BindingType
+@interface Tame
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/Tame.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/TameAnnotationLiteral.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/TameAnnotationLiteral.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/TameAnnotationLiteral.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,8 @@
+package org.jboss.jsr299.tck.unit.event.register.observer2;
+
+import javax.inject.AnnotationLiteral;
+
+class TameAnnotationLiteral extends AnnotationLiteral<Tame> implements Tame
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/register/observer2/TameAnnotationLiteral.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeA.java (from rev 1700, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeA.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeA.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeA.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,22 @@
+package org.jboss.jsr299.tck.unit.event.resolve.binding;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.BindingType;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@BindingType
+@interface BindingTypeA
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeA.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeABinding.java (from rev 1700, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeABinding.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeABinding.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeABinding.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,5 @@
+package org.jboss.jsr299.tck.unit.event.resolve.binding;
+
+import javax.inject.AnnotationLiteral;
+
+public class BindingTypeABinding extends AnnotationLiteral<BindingTypeA> implements BindingTypeA {}
\ No newline at end of file
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeABinding.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeB.java (from rev 1700, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeB.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeB.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeB.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,22 @@
+package org.jboss.jsr299.tck.unit.event.resolve.binding;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.BindingType;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@BindingType
+@interface BindingTypeB
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeB.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeBBinding.java (from rev 1700, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeBBinding.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeBBinding.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeBBinding.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,5 @@
+package org.jboss.jsr299.tck.unit.event.resolve.binding;
+
+import javax.inject.AnnotationLiteral;
+
+public class BindingTypeBBinding extends AnnotationLiteral<BindingTypeB> implements BindingTypeB {}
\ No newline at end of file
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeBBinding.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeC.java (from rev 1700, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeC.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeC.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeC.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,22 @@
+package org.jboss.jsr299.tck.unit.event.resolve.binding;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.BindingType;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@BindingType
+@interface BindingTypeC
+{
+ public String value();
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeC.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeCBinding.java (from rev 1700, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BindingTypeCBinding.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeCBinding.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeCBinding.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,19 @@
+package org.jboss.jsr299.tck.unit.event.resolve.binding;
+
+import javax.inject.AnnotationLiteral;
+
+public class BindingTypeCBinding extends AnnotationLiteral<BindingTypeC> implements BindingTypeC
+{
+
+ private String stringValue;
+
+ public BindingTypeCBinding(String value)
+ {
+ this.stringValue = value;
+ }
+
+ public String value()
+ {
+ return this.stringValue;
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/BindingTypeCBinding.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/DuplicateBindingTypesWhenResolvingTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/DuplicateBindingTypesWhenResolvingTest.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/DuplicateBindingTypesWhenResolvingTest.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,36 @@
+package org.jboss.jsr299.tck.unit.event.resolve.binding;
+
+import javax.event.Observer;
+import javax.inject.DuplicateBindingTypeException;
+
+import org.hibernate.tck.annotations.SpecAssertion;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
+import org.jboss.jsr299.tck.impl.packaging.Artifact;
+import org.testng.annotations.Test;
+
+@Artifact
+public class DuplicateBindingTypesWhenResolvingTest extends AbstractDeclarativeTest
+{
+ public static class AnEventType
+ {
+ }
+
+ public static class AnObserver implements Observer<AnEventType>
+ {
+ public boolean wasNotified = false;
+
+ public void notify(AnEventType event)
+ {
+ wasNotified = true;
+ }
+ }
+
+ @Test(groups = { "events" }, expectedExceptions = { DuplicateBindingTypeException.class })
+ @SpecAssertion(section = "7.7", id = "d")
+ public void testDuplicateBindingTypesWhenResolvingFails()
+ {
+ AnObserver observer = new AnObserver();
+ getCurrentManager().addObserver(observer, AnEventType.class, new BindingTypeABinding());
+ getCurrentManager().resolveObservers(new AnEventType(), new BindingTypeABinding(), new BindingTypeABinding());
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/DuplicateBindingTypesWhenResolvingTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/ResolvingChecksBindingTypeMembersTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/ResolvingChecksBindingTypeMembersTest.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/ResolvingChecksBindingTypeMembersTest.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,40 @@
+package org.jboss.jsr299.tck.unit.event.resolve.binding;
+
+import java.util.Set;
+
+import javax.event.Observer;
+
+import org.hibernate.tck.annotations.SpecAssertion;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
+import org.jboss.jsr299.tck.impl.packaging.Artifact;
+import org.testng.annotations.Test;
+
+@Artifact
+public class ResolvingChecksBindingTypeMembersTest extends AbstractDeclarativeTest
+{
+ public static class AnEventType
+ {
+ }
+
+ public static class AnObserver implements Observer<AnEventType>
+ {
+ public boolean wasNotified = false;
+
+ public void notify(AnEventType event)
+ {
+ wasNotified = true;
+ }
+ }
+
+ @Test(groups = { "events" })
+ @SpecAssertion(section = "7.7", id = "g")
+ public void testResolvingChecksBindingTypeMembers()
+ {
+ AnObserver observer = new AnObserver();
+ AnObserver anotherObserver = new AnObserver();
+ getCurrentManager().addObserver(observer, AnEventType.class, new BindingTypeCBinding("first-observer"));
+ getCurrentManager().addObserver(anotherObserver, AnEventType.class, new BindingTypeCBinding("second-observer"));
+ Set<Observer<AnEventType>> resolvedObservers = getCurrentManager().resolveObservers(new AnEventType(), new BindingTypeCBinding("first-observer"));
+ assert resolvedObservers.size() == 1;
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/ResolvingChecksBindingTypeMembersTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/ResolvingChecksBindingTypeTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/ResolvingChecksBindingTypeTest.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/ResolvingChecksBindingTypeTest.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,42 @@
+package org.jboss.jsr299.tck.unit.event.resolve.binding;
+
+import java.util.Set;
+
+import javax.event.Observer;
+
+import org.hibernate.tck.annotations.SpecAssertion;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
+import org.jboss.jsr299.tck.impl.packaging.Artifact;
+import org.testng.annotations.Test;
+
+@Artifact
+public class ResolvingChecksBindingTypeTest extends AbstractDeclarativeTest
+{
+ public static class AnEventType
+ {
+ }
+
+ public static class AnObserver implements Observer<AnEventType>
+ {
+ public boolean wasNotified = false;
+
+ public void notify(AnEventType event)
+ {
+ wasNotified = true;
+ }
+ }
+
+ @Test(groups = { "events" })
+ @SpecAssertion(section = "7.7", id = "g")
+ public void testResolvingChecksBindingTypes()
+ {
+ AnObserver observer = new AnObserver();
+ AnObserver anotherObserver = new AnObserver();
+ getCurrentManager().addObserver(observer, AnEventType.class, new BindingTypeABinding());
+ getCurrentManager().addObserver(anotherObserver, AnEventType.class, new BindingTypeBBinding());
+ Set<Observer<AnEventType>> resolvedObservers = getCurrentManager().resolveObservers(new AnEventType(), new BindingTypeABinding());
+ assert resolvedObservers.size() == 1;
+ }
+
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/binding/ResolvingChecksBindingTypeTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/nonbinding/AnimalStereotype.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/nonbinding/AnimalStereotype.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/nonbinding/AnimalStereotype.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,21 @@
+package org.jboss.jsr299.tck.unit.event.resolve.nonbinding;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.annotation.Stereotype;
+import javax.context.RequestScoped;
+
+@Stereotype()
+@Target( { TYPE, METHOD, FIELD })
+@Retention(RUNTIME)
+@RequestScoped
+@interface AnimalStereotype
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/nonbinding/AnimalStereotype.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/nonbinding/AnimalStereotypeAnnotationLiteral.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/nonbinding/AnimalStereotypeAnnotationLiteral.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/nonbinding/AnimalStereotypeAnnotationLiteral.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,8 @@
+package org.jboss.jsr299.tck.unit.event.resolve.nonbinding;
+
+import javax.inject.AnnotationLiteral;
+
+class AnimalStereotypeAnnotationLiteral extends AnnotationLiteral<AnimalStereotype> implements AnimalStereotype
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/nonbinding/AnimalStereotypeAnnotationLiteral.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/nonbinding/NonBindingTypesWhenResolvingTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/nonbinding/NonBindingTypesWhenResolvingTest.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/nonbinding/NonBindingTypesWhenResolvingTest.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,29 @@
+package org.jboss.jsr299.tck.unit.event.resolve.nonbinding;
+
+import java.util.Set;
+
+import javax.event.Observer;
+import javax.inject.TypeLiteral;
+
+import org.hibernate.tck.annotations.SpecAssertion;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
+import org.jboss.jsr299.tck.impl.packaging.Artifact;
+import org.jboss.jsr299.tck.unit.event.EventTest.AnEventType;
+import org.jboss.jsr299.tck.unit.event.EventTest.AnObserver;
+import org.testng.annotations.Test;
+
+@Artifact
+public class NonBindingTypesWhenResolvingTest extends AbstractDeclarativeTest
+{
+ @Test(groups = { "events" }, expectedExceptions = { IllegalArgumentException.class })
+ @SpecAssertion(section = "7.7", id = "e")
+ public void testNonBindingTypeAnnotationWhenResolvingFails()
+ {
+ AnObserver observer = new AnObserver();
+ getCurrentManager().addObserver(observer, new TypeLiteral<AnEventType>()
+ {
+ });
+ Set<Observer<AnEventType>> resolvedObservers = getCurrentManager().resolveObservers(new AnEventType(), new AnimalStereotypeAnnotationLiteral());
+ assert !resolvedObservers.isEmpty();
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/nonbinding/NonBindingTypesWhenResolvingTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/type/ChecksEventTypeWhenResolvingTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/type/ChecksEventTypeWhenResolvingTest.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/type/ChecksEventTypeWhenResolvingTest.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,40 @@
+package org.jboss.jsr299.tck.unit.event.resolve.type;
+
+import java.util.Set;
+
+import javax.event.Observer;
+
+import org.hibernate.tck.annotations.SpecAssertion;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
+import org.jboss.jsr299.tck.impl.packaging.Artifact;
+import org.testng.annotations.Test;
+
+@Artifact
+public class ChecksEventTypeWhenResolvingTest extends AbstractDeclarativeTest
+{
+ public static class AnEventType
+ {
+ }
+
+ public static class AnObserver implements Observer<AnEventType>
+ {
+ public boolean wasNotified = false;
+
+ public void notify(AnEventType event)
+ {
+ wasNotified = true;
+ }
+ }
+
+ @Test(groups = { "events" })
+ @SpecAssertion(section = "7.7", id = "f")
+ public void testResolvingChecksEventType()
+ {
+ Observer<AnEventType> observer = new AnObserver();
+ getCurrentManager().addObserver(observer, AnEventType.class);
+ Set<Observer<AnEventType>> resolvedObservers = getCurrentManager().resolveObservers(new AnEventType());
+ assert !resolvedObservers.isEmpty();
+ Set<?> emptyObserverSet = getCurrentManager().resolveObservers(new UnusedEventType("name"));
+ assert emptyObserverSet.isEmpty();
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/type/ChecksEventTypeWhenResolvingTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/type/ChecksTypeParametersWhenResolvingTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/type/ChecksTypeParametersWhenResolvingTest.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/type/ChecksTypeParametersWhenResolvingTest.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,53 @@
+package org.jboss.jsr299.tck.unit.event.resolve.type;
+
+import java.util.ArrayList;
+import java.util.Set;
+
+import javax.event.Observer;
+import javax.inject.TypeLiteral;
+
+import org.hibernate.tck.annotations.SpecAssertion;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
+import org.jboss.jsr299.tck.impl.packaging.Artifact;
+import org.testng.annotations.Test;
+
+@Artifact
+public class ChecksTypeParametersWhenResolvingTest extends AbstractDeclarativeTest
+{
+ public static class AListObserver implements Observer<ArrayList<String>>
+ {
+ public boolean wasNotified = false;
+
+ public void notify(ArrayList<String> event)
+ {
+ wasNotified = true;
+ }
+ }
+
+ public static class AnotherListObserver implements Observer<ArrayList<Integer>>
+ {
+ public boolean wasNotified = false;
+
+ public void notify(ArrayList<Integer> event)
+ {
+ wasNotified = true;
+ }
+ }
+
+ @Test(groups = { "broken", "events" })
+ @SpecAssertion(section = "7.7", id = "f")
+ public void testResolvingChecksTypeParameters()
+ {
+ AListObserver observer = new AListObserver();
+ AnotherListObserver anotherObserver = new AnotherListObserver();
+ getCurrentManager().addObserver(observer, new TypeLiteral<ArrayList<String>>()
+ {
+ });
+ getCurrentManager().addObserver(anotherObserver, new TypeLiteral<ArrayList<Integer>>()
+ {
+ });
+ Set<Observer<ArrayList<String>>> resolvedObservers = getCurrentManager().resolveObservers(new ArrayList<String>());
+ //TODO The RI is returning both of the observers above
+ assert resolvedObservers.size() == 1;
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/type/ChecksTypeParametersWhenResolvingTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/type/UnusedEventType.java (from rev 1689, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/UnusedEventType.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/type/UnusedEventType.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/type/UnusedEventType.java 2009-02-25 11:46:12 UTC (rev 1702)
@@ -0,0 +1,9 @@
+package org.jboss.jsr299.tck.unit.event.resolve.type;
+
+class UnusedEventType
+{
+ public UnusedEventType(String name)
+ {
+
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/resolve/type/UnusedEventType.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
17 years, 1 month
[webbeans-commits] Webbeans SVN: r1701 - ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean.
by webbeans-commits@lists.jboss.org
Author: nickarls
Date: 2009-02-25 06:16:30 -0500 (Wed, 25 Feb 2009)
New Revision: 1701
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/RIBean.java
Log:
Move DependentInstancesStore from RIBean to AbstractBean
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java 2009-02-25 07:47:43 UTC (rev 1700)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java 2009-02-25 11:16:30 UTC (rev 1701)
@@ -36,6 +36,7 @@
import javax.inject.manager.Bean;
import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.context.DependentInstancesStore;
import org.jboss.webbeans.injection.AnnotatedInjectionPoint;
import org.jboss.webbeans.introspector.AnnotatedField;
import org.jboss.webbeans.introspector.AnnotatedItem;
@@ -64,7 +65,9 @@
private static Set<Class<?>> STANDARD_WEB_BEAN_CLASSES = new HashSet<Class<?>>(Arrays.asList(Event.class, ManagerImpl.class));
private boolean proxyable;
-
+
+ protected final DependentInstancesStore dependentInstancesStore;
+
/**
* Helper class for getting deployment type
*
@@ -123,6 +126,7 @@
super(manager);
this.manager = manager;
injectionPoints = new HashSet<AnnotatedInjectionPoint<?, ?>>();
+ dependentInstancesStore = new DependentInstancesStore();
}
/**
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/RIBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/RIBean.java 2009-02-25 07:47:43 UTC (rev 1700)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/RIBean.java 2009-02-25 11:16:30 UTC (rev 1701)
@@ -22,7 +22,6 @@
import javax.inject.manager.Bean;
import org.jboss.webbeans.ManagerImpl;
-import org.jboss.webbeans.context.DependentInstancesStore;
import org.jboss.webbeans.injection.AnnotatedInjectionPoint;
/**
@@ -33,13 +32,11 @@
public abstract class RIBean<T> extends Bean<T>
{
private final ManagerImpl manager;
- protected final DependentInstancesStore dependentInstancesStore;
protected RIBean(ManagerImpl manager)
{
super(manager);
this.manager = manager;
- this.dependentInstancesStore = new DependentInstancesStore();
}
@Override
17 years, 1 month
[webbeans-commits] Webbeans SVN: r1700 - ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context and 6 other directories.
by webbeans-commits@lists.jboss.org
Author: nickarls
Date: 2009-02-25 02:47:43 -0500 (Wed, 25 Feb 2009)
New Revision: 1700
Added:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/DependentStorageRequest.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/RIBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/AbstractContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/AbstractMapContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/AbstractThreadLocalMapContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/ApplicationContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/ConversationContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/DependentContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/DependentInstancesStore.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/RequestContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/SessionContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanstore/AbstractBeanStore.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanstore/BeanStoreNamingScheme.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanstore/PrefixBeanStoreNamingScheme.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanstore/SimpleBeanStore.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/el/WebBeansELResolver.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/ObserverImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotationStore.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ApplicationBeanStore.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ConversationBeanStore.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/HttpSessionBeanStore.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/dependent/DependentContextTest.java
Log:
WBRI-147 + enabled test in TCK
Moving DependentInstancesStore -> RIBean
Some "bean map" -> "bean store" renames, header blocks, comments etc.
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -39,7 +39,7 @@
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.context.CreationalContextImpl;
import org.jboss.webbeans.context.DependentContext;
-import org.jboss.webbeans.context.DependentInstancesStore;
+import org.jboss.webbeans.context.DependentStorageRequest;
import org.jboss.webbeans.log.LogProvider;
import org.jboss.webbeans.log.Logging;
import org.jboss.webbeans.metadata.MetaDataCache;
@@ -123,7 +123,7 @@
throw new RuntimeException(" Cannot cast producer type " + getAnnotatedItem().getType() + " to bean type " + (getDeclaredBeanType() == null ? " unknown " : getDeclaredBeanType()), e);
}
}
-
+
/**
* Gets the declared bean type
*
@@ -274,7 +274,7 @@
return;
}
}
-
+
@Override
protected void initSerializable()
{
@@ -288,7 +288,7 @@
*/
protected Object getReceiver(CreationalContext<?> creationalContext)
{
- // This is a bit dangerous, as it means that producer methods can end of
+ // This is a bit dangerous, as it means that producer methods can end of
// executing on partially constructed instances. Also, it's not required
// by the spec...
if (creationalContext instanceof CreationalContextImpl)
@@ -310,12 +310,12 @@
*/
public T create(CreationalContext<T> creationalContext)
{
- Object dependentCollector = new Object();
+ DependentStorageRequest dependentStorageRequest = DependentStorageRequest.of(dependentInstancesStore, new Object());
try
{
if (getDeclaringBean().isDependent())
{
- DependentContext.INSTANCE.startCollecting(dependentCollector);
+ DependentContext.INSTANCE.startCollectingDependents(dependentStorageRequest);
}
DependentContext.INSTANCE.setActive(true);
T instance = produceInstance(creationalContext);
@@ -326,8 +326,8 @@
{
if (getDeclaringBean().isDependent())
{
- DependentContext.INSTANCE.stopCollecting(dependentCollector);
- DependentInstancesStore.instance().destroyDependentInstances(dependentCollector);
+ DependentContext.INSTANCE.stopCollectingDependents(dependentStorageRequest);
+ dependentInstancesStore.destroyDependentInstances(dependentStorageRequest.getKey());
}
DependentContext.INSTANCE.setActive(false);
}
@@ -335,14 +335,10 @@
public void destroy(T instance)
{
- /*try
- {
- DependentContext.INSTANCE.setActive(true);
- }
- finally
- {
- DependentContext.INSTANCE.setActive(false);
- }*/
+ /*
+ * try { DependentContext.INSTANCE.setActive(true); } finally {
+ * DependentContext.INSTANCE.setActive(false); }
+ */
}
protected abstract T produceInstance(CreationalContext<T> creationalContext);
@@ -369,7 +365,7 @@
buffer.append(" API types " + getTypes() + ", binding types " + getBindings() + "\n");
return buffer.toString();
}
-
+
@Override
public boolean equals(Object other)
{
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -38,6 +38,7 @@
import org.jboss.webbeans.bean.proxy.EnterpriseBeanInstance;
import org.jboss.webbeans.bean.proxy.EnterpriseBeanProxyMethodHandler;
import org.jboss.webbeans.context.DependentContext;
+import org.jboss.webbeans.context.DependentStorageRequest;
import org.jboss.webbeans.ejb.InternalEjbDescriptor;
import org.jboss.webbeans.ejb.spi.BusinessInterfaceDescriptor;
import org.jboss.webbeans.introspector.AnnotatedClass;
@@ -285,6 +286,7 @@
public void postConstruct(T instance)
{
+ DependentStorageRequest dependentStorageRequest = DependentStorageRequest.of(dependentInstancesStore, instance);
try
{
CreationalContext<T> creationalContext = new CreationalContext<T>()
@@ -293,14 +295,14 @@
public void push(T incompleteInstance) {};
};
- DependentContext.INSTANCE.startCollecting(instance);
+ DependentContext.INSTANCE.startCollectingDependents(dependentStorageRequest);
DependentContext.INSTANCE.setActive(true);
injectBoundFields(instance, creationalContext);
callInitializers(instance, creationalContext);
}
finally
{
- DependentContext.INSTANCE.stopCollecting(instance);
+ DependentContext.INSTANCE.stopCollectingDependents(dependentStorageRequest);
DependentContext.INSTANCE.setActive(false);
}
@@ -308,6 +310,7 @@
public void preDestroy(T instance)
{
+ dependentInstancesStore.destroyDependentInstances(instance);
}
@Override
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/RIBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/RIBean.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/RIBean.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -1,3 +1,19 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package org.jboss.webbeans.bean;
import java.util.Set;
@@ -6,40 +22,47 @@
import javax.inject.manager.Bean;
import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.context.DependentInstancesStore;
import org.jboss.webbeans.injection.AnnotatedInjectionPoint;
+/**
+ * Abstract base class with functions specific to RI built-in beans
+ *
+ * @author Pete Muir
+ */
public abstract class RIBean<T> extends Bean<T>
{
+ private final ManagerImpl manager;
+ protected final DependentInstancesStore dependentInstancesStore;
- private final ManagerImpl manager;
-
protected RIBean(ManagerImpl manager)
{
super(manager);
this.manager = manager;
+ this.dependentInstancesStore = new DependentInstancesStore();
}
-
+
@Override
protected ManagerImpl getManager()
{
return manager;
}
-
+
public abstract Class<T> getType();
-
+
public abstract boolean isSpecializing();
-
+
public boolean isDependent()
{
return getScopeType().equals(Dependent.class);
}
-
+
public abstract boolean isProxyable();
-
+
public abstract boolean isPrimitive();
-
+
public abstract Set<AnnotatedInjectionPoint<?, ?>> getInjectionPoints();
-
+
public abstract RIBean<?> getSpecializedBean();
-
+
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -32,7 +32,7 @@
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.context.DependentContext;
-import org.jboss.webbeans.context.DependentInstancesStore;
+import org.jboss.webbeans.context.DependentStorageRequest;
import org.jboss.webbeans.injection.AnnotatedInjectionPoint;
import org.jboss.webbeans.injection.ConstructorInjectionPoint;
import org.jboss.webbeans.injection.FieldInjectionPoint;
@@ -69,11 +69,11 @@
private AnnotatedMethod<?> postConstruct;
// The pre-destroy method
private AnnotatedMethod<?> preDestroy;
-
+
private Set<AnnotatedInjectionPoint<?, ?>> ejbInjectionPoints;
private Set<AnnotatedInjectionPoint<?, ?>> persistenceUnitInjectionPoints;
private Set<AnnotatedInjectionPoint<?, ?>> resourceInjectionPoints;
-
+
private SimpleBean<?> specializedBean;
/**
@@ -125,11 +125,13 @@
{
DependentContext.INSTANCE.setActive(true);
T instance = null;
+ DependentStorageRequest dependentStorageRequest = null;
try
{
instance = constructor.newInstance(manager, creationalContext);
creationalContext.push(instance);
- DependentContext.INSTANCE.startCollecting(instance);
+ dependentStorageRequest = DependentStorageRequest.of(dependentInstancesStore, instance);
+ DependentContext.INSTANCE.startCollectingDependents(dependentStorageRequest);
injectEjbAndCommonFields(instance);
injectBoundFields(instance, creationalContext);
callInitializers(instance, creationalContext);
@@ -137,7 +139,7 @@
}
finally
{
- DependentContext.INSTANCE.stopCollecting(instance);
+ DependentContext.INSTANCE.stopCollectingDependents(dependentStorageRequest);
}
return instance;
}
@@ -158,7 +160,7 @@
{
DependentContext.INSTANCE.setActive(true);
callPreDestroy(instance);
- DependentInstancesStore.instance().destroyDependentInstances(instance);
+ dependentInstancesStore.destroyDependentInstances(instance);
}
catch (Exception e)
{
@@ -212,24 +214,24 @@
}
}
}
-
+
protected void initEjbInjectionPoints()
{
- this.ejbInjectionPoints = new HashSet<AnnotatedInjectionPoint<?,?>>();
+ this.ejbInjectionPoints = new HashSet<AnnotatedInjectionPoint<?, ?>>();
for (AnnotatedField<?> field : annotatedItem.getAnnotatedFields(manager.getEjbResolver().getEJBAnnotation()))
{
this.ejbInjectionPoints.add(FieldInjectionPoint.of(this, field));
}
-
+
for (AnnotatedMethod<?> method : annotatedItem.getAnnotatedMethods(manager.getEjbResolver().getEJBAnnotation()))
{
this.ejbInjectionPoints.add(MethodInjectionPoint.of(this, method));
}
}
-
+
protected void initPersistenceUnitInjectionPoints()
{
- this.persistenceUnitInjectionPoints = new HashSet<AnnotatedInjectionPoint<?,?>>();
+ this.persistenceUnitInjectionPoints = new HashSet<AnnotatedInjectionPoint<?, ?>>();
for (AnnotatedField<?> field : annotatedItem.getAnnotatedFields(manager.getEjbResolver().getPersistenceContextAnnotation()))
{
if (field.getAnnotation(PersistenceContext.class).type().equals(PersistenceContextType.EXTENDED))
@@ -238,7 +240,7 @@
}
this.persistenceUnitInjectionPoints.add(FieldInjectionPoint.of(this, field));
}
-
+
for (AnnotatedMethod<?> method : annotatedItem.getAnnotatedMethods(manager.getEjbResolver().getPersistenceContextAnnotation()))
{
if (method.getAnnotation(PersistenceContext.class).type().equals(PersistenceContextType.EXTENDED))
@@ -248,10 +250,10 @@
this.persistenceUnitInjectionPoints.add(MethodInjectionPoint.of(this, method));
}
}
-
+
protected void initResourceInjectionPoints()
{
- this.resourceInjectionPoints = new HashSet<AnnotatedInjectionPoint<?,?>>();
+ this.resourceInjectionPoints = new HashSet<AnnotatedInjectionPoint<?, ?>>();
for (AnnotatedField<?> field : annotatedItem.getAnnotatedFields(manager.getEjbResolver().getResourceAnnotation()))
{
this.resourceInjectionPoints.add(FieldInjectionPoint.of(this, field));
@@ -263,7 +265,7 @@
*/
protected void injectEjbAndCommonFields(T beanInstance)
{
-
+
for (AnnotatedInjectionPoint<?, ?> injectionPoint : ejbInjectionPoints)
{
Object ejbInstance = manager.getEjbResolver().resolveEjb(injectionPoint, manager.getNaming());
@@ -333,7 +335,7 @@
throw new DefinitionException("Simple bean declaring a passivating scope must have a serializable implementation class " + toString());
}
}
-
+
@Override
protected void checkBeanImplementation()
{
@@ -349,7 +351,7 @@
}
}
}
-
+
@Override
protected void preSpecialize()
{
@@ -359,7 +361,7 @@
throw new DefinitionException("Simple bean must specialize a simple bean");
}
}
-
+
@Override
protected void specialize()
{
@@ -440,7 +442,7 @@
return;
}
}
-
+
/**
* Initializes the bean type
*/
@@ -520,7 +522,7 @@
return checkInjectionPointsAreSerializable();
}
}
-
+
@Override
public SimpleBean<?> getSpecializedBean()
{
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/AbstractContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/AbstractContext.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/AbstractContext.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -14,7 +14,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.jboss.webbeans.context;
import java.lang.annotation.Annotation;
@@ -26,7 +25,7 @@
*
* @author Nicklas Karlsson
* @author Pete Muir
- *
+ *
*/
public abstract class AbstractContext implements Context
{
@@ -49,7 +48,7 @@
protected Boolean initialValue()
{
return Boolean.FALSE;
- }
+ }
};
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/AbstractMapContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/AbstractMapContext.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/AbstractMapContext.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -69,7 +69,7 @@
{
throw new ContextNotActiveException();
}
- T instance = getBeanStorage().get(contextual);
+ T instance = getBeanStore().get(contextual);
if (instance != null)
{
return instance;
@@ -79,7 +79,7 @@
instance = contextual.create(creationalContext);
if (instance != null)
{
- getBeanStorage().put(contextual, instance);
+ getBeanStore().put(contextual, instance);
}
return instance;
}
@@ -103,7 +103,7 @@
private <T> void destroy(Contextual<T> bean)
{
log.trace("Destroying " + bean);
- bean.destroy(getBeanStorage().get(bean));
+ bean.destroy(getBeanStore().get(bean));
}
/**
@@ -112,18 +112,18 @@
public void destroy()
{
log.trace("Destroying context");
- for (Contextual<? extends Object> bean : getBeanStorage().getBeans())
+ for (Contextual<? extends Object> bean : getBeanStore().getBeans())
{
destroy(bean);
}
- getBeanStorage().clear();
+ getBeanStore().clear();
}
/**
- * A method that should return the actual bean map implementation
+ * A method that returns the actual bean store implementation
*
- * @return The actual bean map
+ * @return The bean store
*/
- protected abstract BeanStore getBeanStorage();
+ protected abstract BeanStore getBeanStore();
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/AbstractThreadLocalMapContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/AbstractThreadLocalMapContext.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/AbstractThreadLocalMapContext.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -1,3 +1,19 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package org.jboss.webbeans.context;
import java.lang.annotation.Annotation;
@@ -4,9 +20,13 @@
import org.jboss.webbeans.context.api.BeanStore;
+/**
+ * Abstract base class for representing contexts with thread local bean storage
+ *
+ * @author Pete Muir
+ */
public abstract class AbstractThreadLocalMapContext extends AbstractMapContext
{
-
private final ThreadLocal<BeanStore> beanStore;
public AbstractThreadLocalMapContext(Class<? extends Annotation> scopeType)
@@ -16,20 +36,20 @@
}
/**
- * Gets the bean map
+ * Gets the bean store
*
- * @returns The bean map
+ * @returns The bean store
*/
@Override
- public BeanStore getBeanStorage()
+ public BeanStore getBeanStore()
{
return beanStore.get();
}
/**
- * Sets the bean map
+ * Sets the bean store
*
- * @param beanStore The bean map
+ * @param beanStore The bean store
*/
public void setBeanStore(BeanStore beanStore)
{
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/ApplicationContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/ApplicationContext.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/ApplicationContext.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -56,20 +56,20 @@
}
/**
- * Gets the bean map
+ * Gets the bean store
*
- * @return The bean map
+ * @return The bean store
*/
@Override
- public BeanStore getBeanStorage()
+ public BeanStore getBeanStore()
{
return this.beanStore;
}
/**
- * Sets the bean map
+ * Sets the bean store
*
- * @param applicationBeanStore The bean map
+ * @param applicationBeanStore The bean store
*/
public void setBeanStore(BeanStore applicationBeanStore)
{
@@ -102,7 +102,7 @@
public String toString()
{
String active = isActive() ? "Active " : "Inactive ";
- String beanStoreInfo = getBeanStorage() == null ? "" : getBeanStorage().toString();
+ String beanStoreInfo = getBeanStore() == null ? "" : getBeanStore().toString();
return active + "application context " + beanStoreInfo;
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/ConversationContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/ConversationContext.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/ConversationContext.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -52,7 +52,7 @@
public String toString()
{
String active = isActive() ? "Active " : "Inactive ";
- String beanStoreInfo = getBeanStorage() == null ? "" : getBeanStorage().toString();
+ String beanStoreInfo = getBeanStore() == null ? "" : getBeanStore().toString();
return active + "conversation context " + beanStoreInfo;
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/DependentContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/DependentContext.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/DependentContext.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -32,7 +32,7 @@
public class DependentContext extends AbstractContext
{
public static DependentContext INSTANCE;
-
+
public static DependentContext create()
{
INSTANCE = new DependentContext();
@@ -40,8 +40,8 @@
}
private ThreadLocal<AtomicInteger> reentrantActiveCount;
- // Key to collect instances under in DependentInstacesStore
- private ThreadLocal<Object> dependentsKey;
+ // A (possible null) request to store dependents created
+ private ThreadLocal<DependentStorageRequest> dependentStorageRequest;
/**
* Constructor
@@ -58,7 +58,7 @@
return new AtomicInteger(0);
}
};
- this.dependentsKey = new ThreadLocal<Object>();
+ this.dependentStorageRequest = new ThreadLocal<DependentStorageRequest>();
}
/**
@@ -76,9 +76,9 @@
if (creationalContext != null)
{
T instance = contextual.create(creationalContext);
- if (dependentsKey.get() != null)
+ if (dependentStorageRequest.get() != null)
{
- DependentInstancesStore.instance().addDependentInstance(dependentsKey.get(), ContextualInstance.of(contextual, instance));
+ dependentStorageRequest.get().getDependentInstancesStore().addDependentInstance(dependentStorageRequest.get().getKey(), ContextualInstance.of(contextual, instance));
}
return instance;
}
@@ -87,7 +87,7 @@
return null;
}
}
-
+
public <T> T get(Contextual<T> contextual)
{
return get(contextual, null);
@@ -120,31 +120,34 @@
}
/**
- * Sets the current injection instance. If there is already an instance
- * registered, nothing is done.
+ * Starts collecting dependent instances created by placing in the dependent
+ * instances store specified in the request. The request is only honored if
+ * there are no current request present.
*
- * @param dependentsKey The current injection instance to register
- * dependent objects under
+ * @param dependentStorageRequest The storage request
*/
- public void startCollecting(Object dependentsKey)
+ public void startCollectingDependents(DependentStorageRequest dependentStorageRequest)
{
- if (this.dependentsKey.get() == null)
+ if (this.dependentStorageRequest.get() == null)
{
- this.dependentsKey.set(dependentsKey);
+ this.dependentStorageRequest.set(dependentStorageRequest);
}
}
/**
- * Clears the current injection instance. Can only be done by passing in the instance
- * of the current instance.
+ * Stops collecting dependent instances created. The request is only honored
+ * if the request passed is the same that was used for starting the
+ * collection
*
- * @param dependentsKey The instance to free
+ * @param dependentStorageRequest The storage request
*/
- public void stopCollecting(Object dependentsKey)
+ public void stopCollectingDependents(DependentStorageRequest dependentStorageRequest)
{
- if (this.dependentsKey.get() == dependentsKey)
+ // Could also be null if we hit the finally block before the collection
+ // has started
+ if (this.dependentStorageRequest.get() != null && this.dependentStorageRequest.get().equals(dependentStorageRequest))
{
- this.dependentsKey.set(null);
+ this.dependentStorageRequest.set(null);
}
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/DependentInstancesStore.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/DependentInstancesStore.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/DependentInstancesStore.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -21,6 +21,9 @@
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
+import org.jboss.webbeans.log.LogProvider;
+import org.jboss.webbeans.log.Logging;
+
/**
* A store for dependent instances created under a given key
*
@@ -28,29 +31,19 @@
*/
public class DependentInstancesStore
{
- private static DependentInstancesStore instance;
-
+ private static LogProvider log = Logging.getLogProvider(DependentInstancesStore.class);
+
// A object -> List of contextual instances mapping
private Map<Object, List<ContextualInstance<?>>> dependentInstances;
/**
* Creates a new DependentInstancesStore
*/
- protected DependentInstancesStore()
+ public DependentInstancesStore()
{
dependentInstances = new ConcurrentHashMap<Object, List<ContextualInstance<?>>>();
}
- static
- {
- instance = new DependentInstancesStore();
- }
-
- public static DependentInstancesStore instance()
- {
- return instance;
- }
-
/**
* Adds a dependent instance under a given key
*
@@ -65,17 +58,19 @@
instances = new CopyOnWriteArrayList<ContextualInstance<?>>();
dependentInstances.put(key, instances);
}
+ log.trace("Registered dependent instance " + contextualInstance + " under key " + key);
instances.add(contextualInstance);
}
/**
* Destroys all dependent objects associated with a particular key and remove
- * that key from the map
+ * that key from the store
*
* @param key The key to remove
*/
public void destroyDependentInstances(Object key)
{
+ log.trace("Destroying dependent instances under key " + key);
if (!dependentInstances.containsKey(key))
{
return;
@@ -86,4 +81,5 @@
}
dependentInstances.remove(key);
}
+
}
Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/DependentStorageRequest.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/DependentStorageRequest.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/DependentStorageRequest.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -0,0 +1,91 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.context;
+
+/**
+ * A dependent instance store and storage key combination for selecting the correct receiving
+ * store and holding key for dependent instances in the dependent context
+ *
+ * @author Nicklas Karlsson
+ */
+public class DependentStorageRequest
+{
+ // The dependent instances store to target
+ private DependentInstancesStore dependentInstancesStore;
+ // The key in the store
+ private Object key;
+
+ /**
+ * Create a new DependentStoreKey
+ *
+ * @param dependentInstancesStore The dependent instances store
+ * @param key The storage key
+ */
+ protected DependentStorageRequest(DependentInstancesStore dependentInstancesStore, Object key)
+ {
+ this.dependentInstancesStore = dependentInstancesStore;
+ this.key = key;
+ }
+
+ /**
+ * Static factory method
+ *
+ * @param scopeType The scope type of the dependent instances store
+ * @param key The storage key
+ * @return A new DependentStoreKey
+ */
+ public static DependentStorageRequest of(DependentInstancesStore dependentInstancesStore, Object key)
+ {
+ return new DependentStorageRequest(dependentInstancesStore, key);
+ }
+
+ /**
+ * Gets the store
+ *
+ * @return The store
+ */
+ public DependentInstancesStore getDependentInstancesStore()
+ {
+ return dependentInstancesStore;
+ }
+
+ /**
+ * Gets the key
+ *
+ * @return The key
+ */
+ public Object getKey()
+ {
+ return key;
+ }
+
+ @Override
+ public boolean equals(Object other)
+ {
+ DependentStorageRequest otherRequest = (DependentStorageRequest) other;
+ if (dependentInstancesStore != otherRequest.getDependentInstancesStore())
+ {
+ return false;
+ }
+ if (!key.equals(otherRequest.getKey()))
+ {
+ return false;
+ }
+ return true;
+ }
+
+}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/RequestContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/RequestContext.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/RequestContext.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -47,7 +47,7 @@
public String toString()
{
String active = isActive() ? "Active " : "Inactive ";
- String beanStoreInfo = getBeanStorage() == null ? "" : getBeanStorage().toString();
+ String beanStoreInfo = getBeanStore() == null ? "" : getBeanStore().toString();
return active + "request context " + beanStoreInfo;
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/SessionContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/SessionContext.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/SessionContext.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -52,7 +52,7 @@
public String toString()
{
String active = isActive() ? "Active " : "Inactive ";
- String beanStoreInfo = getBeanStorage() == null ? "" : getBeanStorage().toString();
+ String beanStoreInfo = getBeanStore() == null ? "" : getBeanStore().toString();
return active + "session context " + beanStoreInfo;
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanstore/AbstractBeanStore.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanstore/AbstractBeanStore.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanstore/AbstractBeanStore.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -42,7 +42,7 @@
private static LogProvider log = Logging.getLogProvider(AbstractBeanStore.class);
/**
- * Gets a bean from the map
+ * Gets a bean from the store
*
* @param contextual The bean to get
* @return The instance
@@ -50,14 +50,14 @@
@SuppressWarnings("unchecked")
public <T> T get(Contextual<? extends T> contextual)
{
- String key = getBeanNamingScheme().getContextualKey(contextual);
+ String key = getNamingScheme().getContextualKey(contextual);
T instance = (T) getAttribute(key);
log.trace("Looked for " + key + " and got " + instance);
return instance;
}
/**
- * Removes an instance from the map
+ * Removes an instance from the store
*
* @param contextual The bean of the instance to remove
* @return The removed instance
@@ -65,14 +65,14 @@
public <T> T remove(Contextual<? extends T> contextual)
{
T instance = get(contextual);
- String key = getBeanNamingScheme().getContextualKey(contextual);
+ String key = getNamingScheme().getContextualKey(contextual);
removeAttribute(key);
log.trace("Removed bean under key " + key);
return instance;
}
/**
- * Clears the bean map
+ * Clears the bean store
*/
public void clear()
{
@@ -80,18 +80,18 @@
{
removeAttribute(attributeName);
}
- log.trace("Bean Map cleared");
+ log.trace("Bean store cleared");
}
/**
- * Returns the beans present in the map
+ * Returns the beans present in the store
*
* @return The beans
*/
public Iterable<Contextual<? extends Object>> getBeans()
{
List<Contextual<?>> contextuals = new ArrayList<Contextual<?>>();
- BeanStoreNamingScheme namingScheme = getBeanNamingScheme();
+ BeanStoreNamingScheme namingScheme = getNamingScheme();
for (String attributeName : getFilteredAttributeNames())
{
int beanIndex = namingScheme.getBeanIndexFromKey(attributeName);
@@ -102,14 +102,14 @@
}
/**
- * Gets the list of attribute names that is held by the bean map
+ * Gets the list of attribute names that is held by the bean store
*
* @return The list of attribute names
*/
private List<String> getFilteredAttributeNames()
{
List<String> attributeNames = new ArrayList<String>();
- BeanStoreNamingScheme namingScheme = getBeanNamingScheme();
+ BeanStoreNamingScheme namingScheme = getNamingScheme();
for (String attributeName : new EnumerationIterable<String>(getAttributeNames()))
{
if (namingScheme.acceptKey(attributeName))
@@ -121,7 +121,7 @@
}
/**
- * Puts an instance of a bean in the map
+ * Puts an instance of a bean in the store
*
* @param bean The key bean
* @param instance The instance
@@ -129,7 +129,7 @@
*/
public <T> void put(Contextual<? extends T> bean, T instance)
{
- String key = getBeanNamingScheme().getContextualKey(bean);
+ String key = getNamingScheme().getContextualKey(bean);
setAttribute(key, instance);
log.trace("Added bean " + bean + " under key " + key);
}
@@ -166,11 +166,11 @@
protected abstract void setAttribute(String key, Object instance);
/**
- * Gets an naming scheme for handling keys in a bean map
+ * Gets an naming scheme for handling keys in a bean store
*
* @return The naming scheme
*/
- protected abstract BeanStoreNamingScheme getBeanNamingScheme();
+ protected abstract BeanStoreNamingScheme getNamingScheme();
@Override
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanstore/BeanStoreNamingScheme.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanstore/BeanStoreNamingScheme.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanstore/BeanStoreNamingScheme.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -27,7 +27,7 @@
public interface BeanStoreNamingScheme
{
/**
- * Checks if a key is handled by the bean map
+ * Checks if a key is handled by the bean store
*
* @param key The key to match
* @return True if match, false otherwise
@@ -35,7 +35,7 @@
public abstract boolean acceptKey(String key);
/**
- * Gets a bean map key for a contextual
+ * Gets a bean store key for a contextual
*
* @param contextual The contextual to make the key for
* @return A map key
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanstore/PrefixBeanStoreNamingScheme.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanstore/PrefixBeanStoreNamingScheme.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanstore/PrefixBeanStoreNamingScheme.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -21,7 +21,7 @@
import org.jboss.webbeans.CurrentManager;
/**
- * Simple prefix-based implementation of a bean map naming scheme
+ * Simple prefix-based implementation of a bean store naming scheme
*
* @author Nicklas Karlsson
*/
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanstore/SimpleBeanStore.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanstore/SimpleBeanStore.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanstore/SimpleBeanStore.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -51,7 +51,7 @@
}
/**
- * Gets an instance from the map
+ * Gets an instance from the store
*
* @param The bean to look for
* @return An instance, if found
@@ -62,12 +62,12 @@
{
@SuppressWarnings("unchecked")
T instance = (T) super.get(bean);
- log.trace("Searched bean map for " + bean + " and got " + instance);
+ log.trace("Searched bean store for " + bean + " and got " + instance);
return instance;
}
/**
- * Gets the delegate for the map
+ * Gets the delegate for the store
*
* @return The delegate
*/
@@ -78,7 +78,7 @@
}
/**
- * Removed a instance from the map
+ * Removed a instance from the store
*
* @param bean the bean to remove
* @return The instance removed
@@ -89,23 +89,23 @@
{
@SuppressWarnings("unchecked")
T instance = (T) super.remove(bean);
- log.trace("Removed instace " + instance + " for bean " + bean + " from the bean map");
+ log.trace("Removed instace " + instance + " for bean " + bean + " from the bean store");
return instance;
}
/**
- * Clears the map
+ * Clears the store
*
* @see org.jboss.webbeans.context.api.BeanStore#clear()
*/
public void clear()
{
delegate.clear();
- log.trace("Bean map cleared");
+ log.trace("Bean store cleared");
}
/**
- * Returns the beans contained in the map
+ * Returns the beans contained in the store
*
* @return The beans present
*
@@ -117,7 +117,7 @@
}
/**
- * Puts a bean instance under the bean key in the map
+ * Puts a bean instance under the bean key in the store
*
* @param bean The bean
* @param instance the instance
@@ -127,7 +127,7 @@
public <T> void put(Contextual<? extends T> bean, T instance)
{
delegate.put(bean, instance);
- log.trace("Stored instance " + instance + " for bean " + bean + " in bean map");
+ log.trace("Stored instance " + instance + " for bean " + bean + " in bean store");
}
@Override
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/el/WebBeansELResolver.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/el/WebBeansELResolver.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/el/WebBeansELResolver.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -25,7 +25,14 @@
import org.jboss.webbeans.CurrentManager;
import org.jboss.webbeans.context.DependentContext;
+import org.jboss.webbeans.context.DependentInstancesStore;
+import org.jboss.webbeans.context.DependentStorageRequest;
+/**
+ * An EL-resolver against the named beans
+ *
+ * @author Pete Muir
+ */
public class WebBeansELResolver extends ELResolver
{
@@ -64,13 +71,11 @@
{
if (base == null && property != null)
{
- // TODO Any other way than creating a dummy parent to collect the created dependent objects under?
- // TODO temp disabled
- Object dependentsCollector = new Object();
+ DependentStorageRequest dependentStorageRequest = DependentStorageRequest.of(new DependentInstancesStore(), new Object());
try
{
DependentContext.INSTANCE.setActive(true);
- DependentContext.INSTANCE.startCollecting(dependentsCollector);
+ DependentContext.INSTANCE.startCollectingDependents(dependentStorageRequest);
Object value = CurrentManager.rootManager().getInstanceByName(property.toString());
if (value != null)
{
@@ -80,7 +85,9 @@
}
finally
{
- DependentContext.INSTANCE.stopCollecting(dependentsCollector);
+ DependentContext.INSTANCE.stopCollectingDependents(dependentStorageRequest);
+ // TODO kinky
+ dependentStorageRequest.getDependentInstancesStore().destroyDependentInstances(dependentStorageRequest.getKey());
DependentContext.INSTANCE.setActive(false);
}
}
@@ -108,3 +115,4 @@
}
}
+
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/ObserverImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/ObserverImpl.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/ObserverImpl.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -43,6 +43,7 @@
import org.jboss.webbeans.bean.RIBean;
import org.jboss.webbeans.context.DependentContext;
import org.jboss.webbeans.context.DependentInstancesStore;
+import org.jboss.webbeans.context.DependentStorageRequest;
import org.jboss.webbeans.injection.MethodInjectionPoint;
import org.jboss.webbeans.introspector.AnnotatedMethod;
import org.jboss.webbeans.introspector.AnnotatedParameter;
@@ -192,12 +193,12 @@
public void notify(final T event)
{
Object instance = null;
- Object dependentsCollector = new Object();
+ DependentStorageRequest dependentStorageRequest = DependentStorageRequest.of(new DependentInstancesStore(), new Object());
try
{
if (Dependent.class.equals(observerBean.getScopeType()) && observerBean instanceof RIBean)
{
- DependentContext.INSTANCE.startCollecting(dependentsCollector);
+ DependentContext.INSTANCE.startCollectingDependents(dependentStorageRequest);
}
// Get the most specialized instance of the component
instance = getInstance(observerBean);
@@ -218,8 +219,8 @@
{
if (Dependent.class.equals(observerBean.getScopeType()))
{
- DependentInstancesStore.instance().destroyDependentInstances(dependentsCollector);
- DependentContext.INSTANCE.stopCollecting(instance);
+ DependentContext.INSTANCE.stopCollectingDependents(dependentStorageRequest);
+ dependentStorageRequest.getDependentInstancesStore().destroyDependentInstances(dependentStorageRequest.getKey());
}
}
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotationStore.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotationStore.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotationStore.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -48,7 +48,7 @@
}
/**
- * Gets a string representation of the Map
+ * Gets a string representation of the map
*
* @return A string representation
*/
@@ -112,7 +112,7 @@
}
/**
- * Gets a string representation of the Map
+ * Gets a string representation of the map
*
* @return A string representation
*/
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ApplicationBeanStore.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ApplicationBeanStore.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ApplicationBeanStore.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -87,7 +87,7 @@
}
@Override
- protected BeanStoreNamingScheme getBeanNamingScheme()
+ protected BeanStoreNamingScheme getNamingScheme()
{
return new PrefixBeanStoreNamingScheme(ApplicationContext.class.getName(), "#");
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ConversationBeanStore.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ConversationBeanStore.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ConversationBeanStore.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -24,7 +24,7 @@
import org.jboss.webbeans.context.beanstore.PrefixBeanStoreNamingScheme;
/**
- * A HTTP session backed bean map for the conversational scope
+ * A HTTP session backed bean store for the conversational scope
*
* @author Nicklas Karlsson
*/
@@ -39,7 +39,7 @@
}
@Override
- protected BeanStoreNamingScheme getBeanNamingScheme()
+ protected BeanStoreNamingScheme getNamingScheme()
{
return new PrefixBeanStoreNamingScheme(ConversationContext.class.getName() + "[" + cid + "]", "#");
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/HttpSessionBeanStore.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/HttpSessionBeanStore.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/HttpSessionBeanStore.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -86,7 +86,7 @@
}
@Override
- protected BeanStoreNamingScheme getBeanNamingScheme()
+ protected BeanStoreNamingScheme getNamingScheme()
{
return new PrefixBeanStoreNamingScheme(SessionContext.class.getName(), "#");
}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/dependent/DependentContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/dependent/DependentContextTest.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/dependent/DependentContextTest.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -285,11 +285,10 @@
assert foxRun.fox != null;
}
- @Test(groups = { "contexts", "beanDestruction", "ri-broken" })
+ @Test(groups = { "contexts", "beanDestruction"})
@SpecAssertion(section = "8.3.2", id = "a")
public void testDestroyingParentDestroysDependents() throws Exception
{
- // WBRI-147
new RunInDependentContext()
{
17 years, 1 month
[webbeans-commits] Webbeans SVN: r1699 - tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating and 3 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-02-24 20:34:45 -0500 (Tue, 24 Feb 2009)
New Revision: 1699
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/AnotherDeploymentType.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/MaarianhaminaLocal_Broken.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/PassivatingContextIntegrationTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/Turku.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/TurkuLocal.java
Removed:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/City.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/CityBinding.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/CityInterface.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/CityProducer.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/CityProducer3.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Espoo_Broken.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Forssa_Broken.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Hamina_Broken.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Helsinki.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Hyvinkaa.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Jamsa_Broken.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Joensuu.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Jyvaskyla.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Kaarina_Broken.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Kotka_Broken.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Kuopio_Broken.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Loviisa_Broken.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Mikkeli_Broken.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Nokia_Broken.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Peraseinajoki.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Pietarsaari_Broken.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Porvoo_Broken.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Raisio_Broken.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Salo_Broken.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Uusikaupunki_Broken.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Vaasa.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Vantaa_Broken.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Violation2.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/AbstractLifecycle.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/HttpSessionManager.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletLifecycle.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/CityProducer2.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Maarianhamina_Broken.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/PassivatingContextTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/TurkuLocal.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/GetOnInactiveContextTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/GetTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/GetWithNoCreationalContextTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/NormalContextTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/PassivatingContextTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/broken/observer1/EJBObserverMethodNotBusinessMethodTest.java
Log:
remove undeploy exceptions, fix remaining incontainer tests
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/AbstractLifecycle.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/AbstractLifecycle.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/AbstractLifecycle.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -88,6 +88,7 @@
protected void endSession(String id, BeanStore sessionBeanStore)
{
log.trace("Ending session " + id);
+ SessionContext.INSTANCE.setActive(true);
ConversationManager conversationManager = CurrentManager.rootManager().getInstanceByType(ConversationManager.class);
conversationManager.destroyAllConversations();
SessionContext.INSTANCE.destroy();
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/HttpSessionManager.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/HttpSessionManager.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/HttpSessionManager.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -19,7 +19,6 @@
@Produces
@RequestScoped
- @WebBean
public HttpSession getSession()
{
return session;
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletLifecycle.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletLifecycle.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletLifecycle.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -103,7 +103,10 @@
*/
public void endSession(HttpSession session)
{
+ BeanStore mockRequest = new SimpleBeanStore();
+ super.beginRequest("endSession-" + session.getId(), mockRequest);
super.endSession(session.getId(), restoreSessionContext(session));
+ super.endRequest("endSession-" + session.getId(), mockRequest);
}
/**
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/AnotherDeploymentType.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/AnotherDeploymentType.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/AnotherDeploymentType.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -0,0 +1,20 @@
+package org.jboss.jsr299.tck.integration.context.passivating;
+
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.DeploymentType;
+
+@Target( { TYPE, METHOD })
+@Retention(RUNTIME)
+@Documented
+@DeploymentType
+@interface AnotherDeploymentType
+{
+
+}
\ No newline at end of file
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/AnotherDeploymentType.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/City.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/City.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/City.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -1,8 +0,0 @@
-package org.jboss.jsr299.tck.integration.context.passivating;
-
-class City
-{
- public void ping() {
-
- }
-}
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/CityBinding.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/CityBinding.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/CityBinding.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -1,20 +0,0 @@
-package org.jboss.jsr299.tck.integration.context.passivating;
-
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-import javax.context.Dependent;
-import javax.interceptor.InterceptorBindingType;
-
-@InterceptorBindingType
-@Dependent
-@Target({TYPE, METHOD})
-@Retention(RUNTIME)
-@interface CityBinding
-{
-
-}
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/CityInterface.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/CityInterface.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/CityInterface.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -1,6 +0,0 @@
-package org.jboss.jsr299.tck.integration.context.passivating;
-
-interface CityInterface
-{
- public void foo();
-}
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/CityProducer.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/CityProducer.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/CityProducer.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -1,9 +0,0 @@
-package org.jboss.jsr299.tck.integration.context.passivating;
-
-import javax.context.Dependent;
-import javax.inject.Produces;
-
-class CityProducer
-{
- @Produces @Dependent public Violation reference = new Violation();
-}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/CityProducer2.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/CityProducer2.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/CityProducer2.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -3,6 +3,7 @@
import javax.context.Dependent;
import javax.inject.Produces;
+@AnotherDeploymentType
class CityProducer2
{
@Produces
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/CityProducer3.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/CityProducer3.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/CityProducer3.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -1,17 +0,0 @@
-package org.jboss.jsr299.tck.integration.context.passivating;
-
-import javax.context.Dependent;
-import javax.inject.Current;
-import javax.inject.Produces;
-
-
-class CityProducer3
-{
- @Produces
- @Dependent
- public Violation create(@Current Violation reference)
- {
- return new Violation();
- }
-
-}
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Espoo_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Espoo_Broken.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Espoo_Broken.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -1,18 +0,0 @@
-package org.jboss.jsr299.tck.integration.context.passivating;
-
-import javax.context.SessionScoped;
-import javax.ejb.Remove;
-import javax.ejb.Stateful;
-import javax.inject.Current;
-
-@Stateful
-@SessionScoped
-class Espoo_Broken
-{
- @Current
- Violation reference;
-
- @Remove
- public void bye() {
- }
-}
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Forssa_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Forssa_Broken.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Forssa_Broken.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -1,19 +0,0 @@
-package org.jboss.jsr299.tck.integration.context.passivating;
-
-import java.io.Serializable;
-
-import javax.context.SessionScoped;
-import javax.inject.Current;
-import javax.inject.Initializer;
-
-@SessionScoped
-class Forssa_Broken implements Serializable
-{
- public Forssa_Broken() {
- }
-
- @Initializer
- public Forssa_Broken(@Current Violation reference) {
- }
-
-}
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Hamina_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Hamina_Broken.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Hamina_Broken.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -1,9 +0,0 @@
-package org.jboss.jsr299.tck.integration.context.passivating;
-
-import javax.context.SessionScoped;
-
-@SessionScoped
-class Hamina_Broken
-{
-
-}
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Helsinki.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Helsinki.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Helsinki.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -1,11 +0,0 @@
-package org.jboss.jsr299.tck.integration.context.passivating;
-
-import javax.context.Dependent;
-import javax.ejb.Stateful;
-
-@Dependent
-@Stateful
-class Helsinki
-{
-
-}
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Hyvinkaa.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Hyvinkaa.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Hyvinkaa.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -1,15 +0,0 @@
-package org.jboss.jsr299.tck.integration.context.passivating;
-
-import java.io.Serializable;
-
-import javax.context.SessionScoped;
-import javax.inject.Current;
-
-@SuppressWarnings("serial")
-@SessionScoped
-class Hyvinkaa implements Serializable
-{
- @SuppressWarnings("unused")
- @Current
- private transient Violation reference;
-}
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Jamsa_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Jamsa_Broken.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Jamsa_Broken.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -1,22 +0,0 @@
-package org.jboss.jsr299.tck.integration.context.passivating;
-
-import java.io.Serializable;
-
-import javax.context.SessionScoped;
-import javax.inject.Current;
-import javax.inject.Produces;
-
-@SessionScoped
-class Jamsa_Broken extends City implements Serializable
-{
- public Jamsa_Broken()
- {
- }
-
- @Produces
- @SessionScoped
- public Violation create(@Current Violation violation)
- {
- return violation;
- }
-}
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Joensuu.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Joensuu.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Joensuu.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -1,16 +0,0 @@
-package org.jboss.jsr299.tck.integration.context.passivating;
-
-import java.io.Serializable;
-
-import javax.context.SessionScoped;
-import javax.inject.Current;
-
-@SuppressWarnings("serial")
-@SessionScoped
-class Joensuu implements Serializable
-{
- @SuppressWarnings("unused")
- @Current
- private transient Violation reference;
-
-}
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Jyvaskyla.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Jyvaskyla.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Jyvaskyla.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -1,12 +0,0 @@
-package org.jboss.jsr299.tck.integration.context.passivating;
-
-import java.io.Serializable;
-
-import javax.context.SessionScoped;
-
-@SuppressWarnings("serial")
-@SessionScoped
-class Jyvaskyla implements Serializable
-{
-
-}
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Kaarina_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Kaarina_Broken.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Kaarina_Broken.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -1,20 +0,0 @@
-package org.jboss.jsr299.tck.integration.context.passivating;
-
-import javax.context.SessionScoped;
-import javax.ejb.Remove;
-import javax.ejb.Stateful;
-
-@Stateful
-@SessionScoped
-class Kaarina_Broken
-{
- @CityBinding
- public void foo()
- {
- }
-
- @Remove
- public void bye()
- {
- }
-}
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Kotka_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Kotka_Broken.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Kotka_Broken.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -1,14 +0,0 @@
-package org.jboss.jsr299.tck.integration.context.passivating;
-
-import java.io.Serializable;
-
-import javax.context.SessionScoped;
-
-@SessionScoped
-class Kotka_Broken implements Serializable
-{
- @CityBinding
- public void foo() {
-
- }
-}
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Kuopio_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Kuopio_Broken.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Kuopio_Broken.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -1,20 +0,0 @@
-package org.jboss.jsr299.tck.integration.context.passivating;
-
-import java.io.Serializable;
-
-import javax.context.SessionScoped;
-import javax.inject.Current;
-import javax.inject.Initializer;
-
-@SessionScoped
-class Kuopio_Broken extends City implements Serializable
-{
- public Kuopio_Broken() {
-
- }
-
- @Initializer
- public void init(@Current Violation reference) {
-
- }
-}
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Loviisa_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Loviisa_Broken.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Loviisa_Broken.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -1,19 +0,0 @@
-package org.jboss.jsr299.tck.integration.context.passivating;
-
-import java.io.Serializable;
-
-import javax.context.SessionScoped;
-import javax.inject.Current;
-import javax.inject.Initializer;
-
-@SessionScoped
-class Loviisa_Broken extends City implements Serializable
-{
- public Loviisa_Broken() {
- }
-
- @Initializer
- public Loviisa_Broken(@Current Violation reference) {
-
- }
-}
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/MaarianhaminaLocal_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/MaarianhaminaLocal_Broken.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/MaarianhaminaLocal_Broken.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -0,0 +1,9 @@
+package org.jboss.jsr299.tck.integration.context.passivating;
+
+import javax.ejb.Local;
+
+@Local
+public interface MaarianhaminaLocal_Broken
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/MaarianhaminaLocal_Broken.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Maarianhamina_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Maarianhamina_Broken.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Maarianhamina_Broken.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -7,7 +7,7 @@
@Stateful
@SessionScoped
-class Maarianhamina_Broken
+class Maarianhamina_Broken implements MaarianhaminaLocal_Broken
{
@Current
private Violation reference;
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Mikkeli_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Mikkeli_Broken.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Mikkeli_Broken.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -1,21 +0,0 @@
-package org.jboss.jsr299.tck.integration.context.passivating;
-
-import java.io.Serializable;
-
-import javax.context.SessionScoped;
-import javax.inject.Current;
-import javax.inject.Initializer;
-
-@SessionScoped
-class Mikkeli_Broken extends City implements Serializable
-{
- public Mikkeli_Broken()
- {
- }
-
- @Initializer
- public Mikkeli_Broken(@Current Violation reference)
- {
- }
-
-}
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Nokia_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Nokia_Broken.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Nokia_Broken.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -1,13 +0,0 @@
-package org.jboss.jsr299.tck.integration.context.passivating;
-
-import java.io.Serializable;
-
-import javax.context.SessionScoped;
-import javax.inject.Current;
-
-@SessionScoped
-class Nokia_Broken extends City implements Serializable
-{
- @Current
- private Violation reference;
-}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/PassivatingContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/PassivatingContextTest.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/PassivatingContextTest.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -1,14 +1,10 @@
package org.jboss.jsr299.tck.integration.context.passivating;
-import java.io.IOException;
-
-import javax.inject.IllegalProductException;
-
-import org.hibernate.tck.annotations.SpecAssertion;
import org.jboss.jsr299.tck.AbstractDeclarativeTest;
import org.jboss.jsr299.tck.impl.packaging.Artifact;
import org.jboss.jsr299.tck.impl.packaging.IntegrationTest;
-import org.testng.annotations.Test;
+import org.jboss.jsr299.tck.impl.packaging.Packaging;
+import org.jboss.jsr299.tck.impl.packaging.PackagingType;
/**
*
@@ -18,47 +14,9 @@
*/
@Artifact
@IntegrationTest
+(a)Packaging(PackagingType.EAR)
public class PassivatingContextTest extends AbstractDeclarativeTest
{
- @Test(groups = { "contexts", "passivation", "enterpriseBean", "integration" })
- @SpecAssertion(section = "8.4", id = "a")
- public void testEJBWebBeanCanDeclarePassivatingScope()
- {
- assert getCurrentManager().resolveByType(Turku.class).size() == 1;
- }
+
- @Test(groups = { "stub", "contexts", "passivation", "jms" })
- @SpecAssertion(section = "8.4", id = "u")
- public void testJMSEndpointProxyIsSerializable()
- {
- assert false;
- }
-
- @Test(groups = { "contexts", "passivation", "integration", "broken" }, expectedExceptions = IllegalProductException.class)
- @SpecAssertion(section = "8.4", id = "p")
- public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoStatefulSessionBeanFails() throws SecurityException, NoSuchMethodException
- {
- deployBeans(CityProducer2.class, Maarianhamina_Broken.class);
- getCurrentManager().getInstanceByType(Maarianhamina_Broken.class);
- }
-
- /**
- * the Web Bean is an EJB stateful session bean, and it is passivated by the
- * EJB container.
- */
- // TODO requires an EJB instance
- @Test(groups = { "contexts", "passivation", "stub", "integration" })
- @SpecAssertion(section = "8.4", id = "g")
- public void testStatefulEJBIsSerializedWhenPassivatedByEJBContainer() throws IOException, ClassNotFoundException
- {
- assert false;
- }
-
- @Test(groups = { "contexts", "passivation", "stub", "integration" }, expectedExceptions = IllegalProductException.class)
- @SpecAssertion(section = "8.4", id = "p")
- public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoStatefulSessionBeanFails() throws Exception
- {
- assert false;
- }
-
}
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Peraseinajoki.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Peraseinajoki.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Peraseinajoki.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -1,16 +0,0 @@
-package org.jboss.jsr299.tck.integration.context.passivating;
-
-import javax.context.SessionScoped;
-import javax.inject.Current;
-import javax.inject.Produces;
-
-class Peraseinajoki extends City
-{
-
- @Produces @SessionScoped
- public Violation2 create(@Current Violation reference)
- {
- return new Violation2();
- }
-
-}
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Pietarsaari_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Pietarsaari_Broken.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Pietarsaari_Broken.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -1,22 +0,0 @@
-package org.jboss.jsr299.tck.integration.context.passivating;
-
-import java.io.Serializable;
-
-import javax.context.SessionScoped;
-import javax.ejb.Remove;
-import javax.ejb.Stateful;
-import javax.inject.Current;
-
-@Stateful
-@SessionScoped
-class Pietarsaari_Broken extends City implements Serializable
-{
- @Current
- private Violation reference;
-
- @Remove
- public void bye() {
-
- }
-
-}
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Porvoo_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Porvoo_Broken.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Porvoo_Broken.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -1,19 +0,0 @@
-package org.jboss.jsr299.tck.integration.context.passivating;
-
-import javax.context.SessionScoped;
-import javax.ejb.Remove;
-import javax.ejb.Stateful;
-
-@Stateful
-@SessionScoped
-class Porvoo_Broken implements CityInterface
-{
- public void foo()
- {
- }
-
- @Remove
- public void bye()
- {
- }
-}
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Raisio_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Raisio_Broken.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Raisio_Broken.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -1,13 +0,0 @@
-package org.jboss.jsr299.tck.integration.context.passivating;
-
-import java.io.Serializable;
-
-import javax.context.SessionScoped;
-
-@SessionScoped
-class Raisio_Broken implements CityInterface, Serializable
-{
- public void foo()
- {
- }
-}
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Salo_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Salo_Broken.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Salo_Broken.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -1,14 +0,0 @@
-package org.jboss.jsr299.tck.integration.context.passivating;
-
-import java.io.Serializable;
-
-import javax.context.SessionScoped;
-import javax.inject.Current;
-
-@SessionScoped
-class Salo_Broken extends City implements Serializable
-{
- @Current
- private transient Violation reference;
-
-}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/TurkuLocal.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/TurkuLocal.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/TurkuLocal.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -1,5 +1,8 @@
package org.jboss.jsr299.tck.integration.context.passivating;
+import javax.ejb.Local;
+
+@Local
public interface TurkuLocal
{
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Uusikaupunki_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Uusikaupunki_Broken.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Uusikaupunki_Broken.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -1,14 +0,0 @@
-package org.jboss.jsr299.tck.integration.context.passivating;
-
-import java.io.Serializable;
-
-import javax.context.SessionScoped;
-import javax.inject.Current;
-
-@SessionScoped
-class Uusikaupunki_Broken extends City implements Serializable
-{
- @Current
- private Violation reference;
-
-}
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Vaasa.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Vaasa.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Vaasa.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -1,14 +0,0 @@
-package org.jboss.jsr299.tck.integration.context.passivating;
-
-import java.io.Serializable;
-
-import javax.context.SessionScoped;
-import javax.inject.Current;
-
-@SuppressWarnings("serial")
-@SessionScoped
-class Vaasa implements Serializable
-{
- @SuppressWarnings("unused")
- @Current private Helsinki ejb;
-}
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Vantaa_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Vantaa_Broken.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Vantaa_Broken.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -1,28 +0,0 @@
-package org.jboss.jsr299.tck.integration.context.passivating;
-
-import java.io.Serializable;
-
-import javax.context.SessionScoped;
-import javax.inject.Current;
-
-@SessionScoped
-class Vantaa_Broken implements Serializable
-{
- @Current
- private Violation reference;
-
- public Violation getReference()
- {
- return reference;
- }
-
- public void setReference(Violation reference)
- {
- this.reference = reference;
- }
-
- public String test() {
- return reference.toString();
- }
-
-}
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Violation2.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Violation2.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/Violation2.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -1,9 +0,0 @@
-package org.jboss.jsr299.tck.integration.context.passivating;
-
-import javax.context.Dependent;
-
-@Dependent
-class Violation2
-{
-
-}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/GetOnInactiveContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/GetOnInactiveContextTest.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/GetOnInactiveContextTest.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -8,7 +8,6 @@
import org.hibernate.tck.annotations.SpecAssertion;
import org.jboss.jsr299.tck.AbstractDeclarativeTest;
import org.jboss.jsr299.tck.impl.packaging.Artifact;
-import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
@Artifact
@@ -18,9 +17,9 @@
Context context;
- @BeforeMethod(dependsOnMethods = "beforeMethod")
public void initContext()
{
+ initContext();
if (context == null)
{
context = new DummyContext();
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/GetTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/GetTest.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/GetTest.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -9,7 +9,6 @@
import org.hibernate.tck.annotations.SpecAssertion;
import org.jboss.jsr299.tck.AbstractDeclarativeTest;
import org.jboss.jsr299.tck.impl.packaging.Artifact;
-import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
@Artifact
@@ -18,7 +17,6 @@
Context context;
- @BeforeMethod(dependsOnMethods = "beforeMethod")
public void initContext()
{
if (context == null)
@@ -33,6 +31,7 @@
@SpecAssertion(section = "8.1", id = "e")
public void testGetMayNotCreateNewInstanceUnlessCreationalContextGiven()
{
+ initContext();
Contextual<MySessionBean> mySessionBean = getCurrentManager().resolveByType(MySessionBean.class).iterator().next();
assert getCurrentManager().getContext(SessionScoped.class).get(mySessionBean) == null;
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/GetWithNoCreationalContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/GetWithNoCreationalContextTest.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/GetWithNoCreationalContextTest.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -7,7 +7,6 @@
import org.hibernate.tck.annotations.SpecAssertion;
import org.jboss.jsr299.tck.AbstractDeclarativeTest;
import org.jboss.jsr299.tck.impl.packaging.Artifact;
-import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
@Artifact
@@ -16,7 +15,6 @@
Context context;
- @BeforeMethod(dependsOnMethods = "beforeMethod")
public void initContext()
{
if (context == null)
@@ -31,6 +29,7 @@
@SpecAssertion(section = "8.1", id = "b")
public void testGetWithoutCreationalContextReturnsNull()
{
+ initContext();
Contextual<MySessionBean> mySessionBean = getCurrentManager().resolveByType(MySessionBean.class).iterator().next();
assert getCurrentManager().getContext(SessionScoped.class).get(mySessionBean) == null;
}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/NormalContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/NormalContextTest.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/NormalContextTest.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -8,7 +8,6 @@
import org.hibernate.tck.annotations.SpecAssertion;
import org.jboss.jsr299.tck.AbstractDeclarativeTest;
import org.jboss.jsr299.tck.impl.packaging.Artifact;
-import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
/**
@@ -28,7 +27,6 @@
Context context;
- @BeforeMethod(dependsOnMethods = "beforeMethod")
public void initContext()
{
if (context == null)
@@ -42,6 +40,7 @@
@SpecAssertion(section = "8.1", id = "a")
public void testGetReturnsExistingInstance()
{
+ initContext();
Contextual<MySessionBean> mySessionBean = getCurrentManager().resolveByType(MySessionBean.class).iterator().next();
MyCreationalContext<MySessionBean> myCreationalContext = new MyCreationalContext<MySessionBean>();
MySessionBean beanInstance = getCurrentManager().getContext(SessionScoped.class).get(mySessionBean, myCreationalContext);
@@ -54,6 +53,7 @@
@SpecAssertion(section = "8.1", id = "c")
public void testGetWithCreationalContextReturnsNewInstance()
{
+ initContext();
MyContextual bean = new MyContextual(getCurrentManager());
bean.setShouldReturnNullInstances(false);
getCurrentManager().addBean(bean);
@@ -67,6 +67,7 @@
@SpecAssertion(section = "8.1", id = "d")
public void testGetMayNotReturnNullUnlessNoCreationalContextOrContextualCreateReturnsNull()
{
+ initContext();
// The case of no creational context is already tested where a null is
// returned. Here we just test that the contextual create can return null.
MyContextual bean = new MyContextual(getCurrentManager());
@@ -82,6 +83,7 @@
@SpecAssertion(section = "8.1", id = "f")
public void testContextDestroysBeansWhenDestroyed()
{
+ initContext();
MyContextual bean = new MyContextual(getCurrentManager());
bean.setShouldReturnNullInstances(false);
getCurrentManager().addBean(bean);
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/PassivatingContextIntegrationTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/PassivatingContextIntegrationTest.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/PassivatingContextIntegrationTest.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -0,0 +1,54 @@
+package org.jboss.jsr299.tck.unit.context.passivating;
+
+import java.io.IOException;
+
+import javax.inject.IllegalProductException;
+
+import org.hibernate.tck.annotations.SpecAssertion;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
+import org.jboss.jsr299.tck.impl.packaging.Artifact;
+import org.jboss.jsr299.tck.impl.packaging.IntegrationTest;
+import org.jboss.jsr299.tck.impl.packaging.Packaging;
+import org.jboss.jsr299.tck.impl.packaging.PackagingType;
+import org.testng.annotations.Test;
+
+@Artifact
+@IntegrationTest
+(a)Packaging(PackagingType.EAR)
+public class PassivatingContextIntegrationTest extends AbstractDeclarativeTest
+{
+
+ @Test(groups = { "stub", "contexts", "passivation", "jms" })
+ @SpecAssertion(section = "8.4", id = "u")
+ public void testJMSEndpointProxyIsSerializable()
+ {
+ assert false;
+ }
+
+ @Test(groups = { "contexts", "passivation", "integration", "broken" }, expectedExceptions = IllegalProductException.class)
+ @SpecAssertion(section = "8.4", id = "p")
+ public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoStatefulSessionBeanFails() throws SecurityException, NoSuchMethodException
+ {
+ getCurrentManager().getInstanceByType(MaarianHaminaLocal_Broken.class);
+ }
+
+ /**
+ * the Web Bean is an EJB stateful session bean, and it is passivated by the
+ * EJB container.
+ */
+ // TODO requires an EJB instance
+ @Test(groups = { "contexts", "passivation", "stub", "integration" })
+ @SpecAssertion(section = "8.4", id = "g")
+ public void testStatefulEJBIsSerializedWhenPassivatedByEJBContainer() throws IOException, ClassNotFoundException
+ {
+ assert false;
+ }
+
+ @Test(groups = { "contexts", "passivation", "stub", "integration" }, expectedExceptions = IllegalProductException.class)
+ @SpecAssertion(section = "8.4", id = "p")
+ public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoStatefulSessionBeanFails() throws Exception
+ {
+ assert false;
+ }
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/PassivatingContextIntegrationTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/PassivatingContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/PassivatingContextTest.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/PassivatingContextTest.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -180,4 +180,12 @@
{
getCurrentManager().getInstanceByType(Violation2.class, BIG_LITERAL).ping();
}
+
+ @Test(groups = { "contexts", "passivation", "enterpriseBean", "integration" })
+ @SpecAssertion(section = "8.4", id = "a")
+ public void testEJBWebBeanCanDeclarePassivatingScope()
+ {
+ assert getCurrentManager().resolveByType(TurkuLocal.class).size() == 1;
+ }
+
}
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/Turku.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/Turku.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/Turku.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -0,0 +1,15 @@
+package org.jboss.jsr299.tck.unit.context.passivating;
+
+import javax.context.SessionScoped;
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+
+@Stateful
+@SessionScoped
+class Turku implements TurkuLocal
+{
+ @Remove
+ public void bye() {
+
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/Turku.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/TurkuLocal.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/TurkuLocal.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/TurkuLocal.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -0,0 +1,9 @@
+package org.jboss.jsr299.tck.unit.context.passivating;
+
+import javax.ejb.Local;
+
+@Local
+public interface TurkuLocal
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/TurkuLocal.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/broken/observer1/EJBObserverMethodNotBusinessMethodTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/broken/observer1/EJBObserverMethodNotBusinessMethodTest.java 2009-02-24 23:54:21 UTC (rev 1698)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/broken/observer1/EJBObserverMethodNotBusinessMethodTest.java 2009-02-25 01:34:45 UTC (rev 1699)
@@ -23,6 +23,8 @@
import org.jboss.jsr299.tck.AbstractDeclarativeTest;
import org.jboss.jsr299.tck.impl.packaging.Artifact;
import org.jboss.jsr299.tck.impl.packaging.ExpectedDeploymentException;
+import org.jboss.jsr299.tck.impl.packaging.Packaging;
+import org.jboss.jsr299.tck.impl.packaging.PackagingType;
import org.testng.annotations.Test;
/**
@@ -34,6 +36,7 @@
*/
@Artifact
@ExpectedDeploymentException(DefinitionException.class)
+(a)Packaging(PackagingType.EAR)
public class EJBObserverMethodNotBusinessMethodTest extends AbstractDeclarativeTest
{
@Test(groups = { "events" })
17 years, 1 month
[webbeans-commits] Webbeans SVN: r1698 - tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating and 1 other directory.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-02-24 18:54:21 -0500 (Tue, 24 Feb 2009)
New Revision: 1698
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/HelsinkiLocal.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/MaarianHaminaLocal_Broken.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/Helsinki.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/Maarianhamina_Broken.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/PassivatingContextTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/Vaasa.java
Log:
Incontainer fixes
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java 2009-02-24 23:32:35 UTC (rev 1697)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java 2009-02-24 23:54:21 UTC (rev 1698)
@@ -321,16 +321,16 @@
{
if (getAnnotatedItem().isNonStaticMemberClass())
{
- throw new DefinitionException("Simple Web Bean " + type + " cannot be a non-static inner class");
+ throw new DefinitionException("Simple bean " + type + " cannot be a non-static inner class");
}
if (getAnnotatedItem().isParameterizedType())
{
- throw new DefinitionException("Simple Web Bean " + type + " cannot be a parameterized type");
+ throw new DefinitionException("Simple bean " + type + " cannot be a parameterized type");
}
boolean passivating = MetaDataCache.instance().getScopeModel(scopeType).isPassivating();
if (passivating && !Reflections.isSerializable(type))
{
- throw new DefinitionException("Simple Web Beans declaring a passivating scope must have a serializable implementation class");
+ throw new DefinitionException("Simple bean declaring a passivating scope must have a serializable implementation class " + toString());
}
}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/Helsinki.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/Helsinki.java 2009-02-24 23:32:35 UTC (rev 1697)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/Helsinki.java 2009-02-24 23:54:21 UTC (rev 1698)
@@ -5,7 +5,7 @@
@Dependent
@Stateful
-class Helsinki
+class Helsinki implements HelsinkiLocal
{
}
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/HelsinkiLocal.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/HelsinkiLocal.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/HelsinkiLocal.java 2009-02-24 23:54:21 UTC (rev 1698)
@@ -0,0 +1,9 @@
+package org.jboss.jsr299.tck.unit.context.passivating;
+
+import javax.ejb.Local;
+
+@Local
+public interface HelsinkiLocal
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/HelsinkiLocal.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/MaarianHaminaLocal_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/MaarianHaminaLocal_Broken.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/MaarianHaminaLocal_Broken.java 2009-02-24 23:54:21 UTC (rev 1698)
@@ -0,0 +1,9 @@
+package org.jboss.jsr299.tck.unit.context.passivating;
+
+import javax.ejb.Local;
+
+@Local
+public interface MaarianHaminaLocal_Broken
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/MaarianHaminaLocal_Broken.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/Maarianhamina_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/Maarianhamina_Broken.java 2009-02-24 23:32:35 UTC (rev 1697)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/Maarianhamina_Broken.java 2009-02-24 23:54:21 UTC (rev 1698)
@@ -7,7 +7,7 @@
@Stateful
@SessionScoped
-class Maarianhamina_Broken
+class Maarianhamina_Broken implements MaarianHaminaLocal_Broken
{
@SuppressWarnings("unused")
@Current
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/PassivatingContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/PassivatingContextTest.java 2009-02-24 23:32:35 UTC (rev 1697)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/PassivatingContextTest.java 2009-02-24 23:54:21 UTC (rev 1698)
@@ -15,6 +15,8 @@
import org.hibernate.tck.annotations.SpecAssertions;
import org.jboss.jsr299.tck.AbstractDeclarativeTest;
import org.jboss.jsr299.tck.impl.packaging.Artifact;
+import org.jboss.jsr299.tck.impl.packaging.Packaging;
+import org.jboss.jsr299.tck.impl.packaging.PackagingType;
import org.jboss.jsr299.tck.impl.packaging.jsr299.BeansXml;
import org.testng.annotations.Test;
@@ -27,6 +29,7 @@
*/
@Artifact
@BeansXml("beans.xml")
+(a)Packaging(PackagingType.EAR)
public class PassivatingContextTest extends AbstractDeclarativeTest
{
@@ -82,7 +85,7 @@
* @throws ClassNotFoundException
* @throws IOException
*/
- @Test(groups = { "contexts", "passivation" })
+ @Test(groups = { "contexts", "passivation", "incontainer-ri-broken" })
@SpecAssertion(section = "8.4", id = "j")
public void testDependentEJBsAreSerializable() throws IOException, ClassNotFoundException
{
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/Vaasa.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/Vaasa.java 2009-02-24 23:32:35 UTC (rev 1697)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/Vaasa.java 2009-02-24 23:54:21 UTC (rev 1698)
@@ -10,5 +10,5 @@
class Vaasa implements Serializable
{
@SuppressWarnings("unused")
- @Current private Helsinki ejb;
+ @Current private HelsinkiLocal ejb;
}
17 years, 1 month
[webbeans-commits] Webbeans SVN: r1695 - ri/trunk/jboss-as.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-02-24 18:27:33 -0500 (Tue, 24 Feb 2009)
New Revision: 1695
Modified:
ri/trunk/jboss-as/build.properties
ri/trunk/jboss-as/build.xml
Log:
update for jboss 5.0.1
Modified: ri/trunk/jboss-as/build.properties
===================================================================
--- ri/trunk/jboss-as/build.properties 2009-02-24 23:05:26 UTC (rev 1694)
+++ ri/trunk/jboss-as/build.properties 2009-02-24 23:27:33 UTC (rev 1695)
@@ -1,4 +1,4 @@
-#jboss.home=/Applications/jboss-5.0.0.GA
+#jboss.home=/Applications/jboss-5.0.1.GA
java.opts=-Xms128m -Xmx256m -XX:MaxPermSize=128m -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000
webbeans-ri-int.version=5.2.0-SNAPSHOT
webbeans-ri.version=1.0.0-SNAPSHOT
Modified: ri/trunk/jboss-as/build.xml
===================================================================
--- ri/trunk/jboss-as/build.xml 2009-02-24 23:05:26 UTC (rev 1694)
+++ ri/trunk/jboss-as/build.xml 2009-02-24 23:27:33 UTC (rev 1695)
@@ -13,7 +13,7 @@
<delete dir="target" failonerror="false"/>
</target>
- <target name="update" depends="install-jboss-ejb3-update, install-webbeans.deployer" description="Update JBoss 5 for the Web Beans RI" />
+ <target name="update" depends="install-webbeans.deployer" description="Update JBoss 5 for the Web Beans RI" />
<target name="install-webbeans.deployer">
17 years, 1 month