[webbeans-commits] Webbeans SVN: r1473 - in tck/trunk/impl/src/main/java/org/jboss/jsr299/tck: unit/event and 1 other directory.
by webbeans-commits@lists.jboss.org
Author: dallen6
Date: 2009-02-09 16:39:49 -0500 (Mon, 09 Feb 2009)
New Revision: 1473
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/StaticObserver.java
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/event/EventTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BorderTerrier.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/EventTest.java
Log:
Added a few event tests
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/event/EventTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/event/EventTest.java 2009-02-09 20:18:28 UTC (rev 1472)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/event/EventTest.java 2009-02-09 21:39:49 UTC (rev 1473)
@@ -148,6 +148,18 @@
}
/**
+ * Otherwise, the observer method is called in the same transaction context,
+ * client security context and lifecycle contexts as the invocation of
+ * Event.fire().
+ */
+ @Test(groups = { "stub", "events", "integration" })
+ @SpecAssertion(section = "7.5.9", id = "unknown")
+ public void testObserverMethodCalledInSameContexts()
+ {
+ assert false;
+ }
+
+ /**
* Otherwise, if the observer method is a @BeforeTransactionCompletion
* transactional observer method, it is called within the context of the
* transaction that is about to complete and with the same client security
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BorderTerrier.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BorderTerrier.java 2009-02-09 20:18:28 UTC (rev 1472)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/BorderTerrier.java 2009-02-09 21:39:49 UTC (rev 1473)
@@ -10,7 +10,8 @@
class BorderTerrier
{
@Produces
- public void observeInitialized(@Observes @Initialized Manager manager)
+ public String observeInitialized(@Observes @Initialized Manager manager)
{
+ return "product";
}
}
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-09 20:18:28 UTC (rev 1472)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/EventTest.java 2009-02-09 21:39:49 UTC (rev 1473)
@@ -727,17 +727,20 @@
@SpecAssertion(section = "7.5.8", id = "unknown")
public void testObserverMethodCalledImmediately()
{
+
assert false;
}
/**
* If the observer method is static, the container must invoke the method.
*/
- @Test(groups = { "stub", "events" })
+ @Test(groups = { "events" })
@SpecAssertion(section = "7.5.8", id = "unknown")
public void testStaticObserverMethodInvoked()
{
- assert false;
+ deployBeans(StaticObserver.class);
+ manager.fireEvent(new Delivery());
+ assert StaticObserver.isDeliveryReceived();
}
/**
@@ -833,18 +836,6 @@
}
/**
- * Otherwise, the observer method is called in the same transaction context,
- * client security context and lifecycle contexts as the invocation of
- * Event.fire().
- */
- @Test(groups = { "stub", "events" })
- @SpecAssertion(section = "7.5.9", id = "unknown")
- public void testObserverMethodCalledInSameContexts()
- {
- assert false;
- }
-
- /**
* If two instances of the same binding type are passed to fire() or
* observes(), a DuplicateBindingTypeException is thrown.
*/
@@ -1168,49 +1159,79 @@
}
/**
- * @Dependent scope,
+ * the @Dependent scope,
+ * @throws Exception
*/
@Test(groups = { "events" })
@SpecAssertion(section = "7.6", id = "unknown")
- public void testImplicitEventBeanHasDependentScope()
+ public void testImplicitEventBeanHasDependentScope() throws Exception
{
deployBeans(BlueFacedParrotFinch.class);
- try
+ new RunInDependentContext()
{
- activateDependentContext();
- BlueFacedParrotFinch bean = manager.getInstanceByType(BlueFacedParrotFinch.class);
- assert bean != null;
- // Retrieve the implicit event bean from the manager only by its API
- // type
- Set<?> eventBeans = manager.resolveByType(Event.class, new FiresBinding());
- assert eventBeans.size() == 1;
- Bean<?> eventBean = (Bean<?>) eventBeans.iterator().next();
- assert eventBean.getScopeType().equals(Dependent.class);
- }
- finally
- {
- deactivateDependentContext();
- }
+ @Override
+ protected void execute() throws Exception
+ {
+ BlueFacedParrotFinch bean = manager.getInstanceByType(BlueFacedParrotFinch.class);
+ assert bean != null;
+ // Retrieve the implicit event bean from the manager only by its API
+ // type
+ Set<?> eventBeans = manager.resolveByType(Event.class, new FiresBinding());
+ assert eventBeans.size() == 1;
+ Bean<?> eventBean = (Bean<?>) eventBeans.iterator().next();
+ assert eventBean.getScopeType().equals(Dependent.class);
+ }
+ }.run();
}
/**
* no bean name, and
+ * @throws Exception
*/
- @Test(groups = { "events", "stub" })
+ @Test(groups = { "events" })
@SpecAssertion(section = "7.6", id = "unknown")
- public void testImplicitEventBeanHasNoName()
+ public void testImplicitEventBeanHasNoName() throws Exception
{
- assert false;
+ deployBeans(BlueFacedParrotFinch.class);
+ new RunInDependentContext()
+ {
+ @Override
+ protected void execute() throws Exception
+ {
+ BlueFacedParrotFinch bean = manager.getInstanceByType(BlueFacedParrotFinch.class);
+ assert bean != null;
+ // Retrieve the implicit event bean from the manager only by its API
+ // type
+ Set<?> eventBeans = manager.resolveByType(Event.class, new FiresBinding());
+ assert eventBeans.size() == 1;
+ Bean<?> eventBean = (Bean<?>) eventBeans.iterator().next();
+ assert eventBean.getName() == null;
+ }
+ }.run();
}
/**
* an implementation provided automatically by the container.
+ * @throws Exception
*/
- @Test(groups = { "events", "stub" })
+ @Test(groups = { "events" })
@SpecAssertion(section = "7.6", id = "unknown")
- public void testImplicitEventBeanProvidedByContainer()
+ public void testImplicitEventBeanProvidedByContainer() throws Exception
{
- assert false;
+ deployBeans(BlueFacedParrotFinch.class);
+ new RunInDependentContext()
+ {
+ @Override
+ protected void execute() throws Exception
+ {
+ BlueFacedParrotFinch bean = manager.getInstanceByType(BlueFacedParrotFinch.class);
+ assert bean != null;
+ // Retrieve the implicit event bean from the manager only by its API
+ // type
+ Set<?> eventBeans = manager.resolveByType(Event.class, new FiresBinding());
+ assert eventBeans.size() == 1;
+ }
+ }.run();
}
/**
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/StaticObserver.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/StaticObserver.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/StaticObserver.java 2009-02-09 21:39:49 UTC (rev 1473)
@@ -0,0 +1,23 @@
+package org.jboss.jsr299.tck.unit.event;
+
+import javax.event.Observes;
+
+class StaticObserver
+{
+ private static boolean deliveryReceived = false;
+
+ public static void accept(@Observes Delivery delivery)
+ {
+ setDeliveryReceived(true);
+ }
+
+ public static boolean isDeliveryReceived()
+ {
+ return deliveryReceived;
+ }
+
+ public static void setDeliveryReceived(boolean deliveryReceived)
+ {
+ StaticObserver.deliveryReceived = deliveryReceived;
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/StaticObserver.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
17 years, 2 months
[webbeans-commits] Webbeans SVN: r1472 - doc/trunk/reference/de-DE.
by webbeans-commits@lists.jboss.org
Author: jdimanos
Date: 2009-02-09 15:18:28 -0500 (Mon, 09 Feb 2009)
New Revision: 1472
Modified:
doc/trunk/reference/de-DE/events.po
Log:
update
Modified: doc/trunk/reference/de-DE/events.po
===================================================================
--- doc/trunk/reference/de-DE/events.po 2009-02-09 16:18:26 UTC (rev 1471)
+++ doc/trunk/reference/de-DE/events.po 2009-02-09 20:18:28 UTC (rev 1472)
@@ -7,7 +7,7 @@
"Project-Id-Version: events\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-10 14:18+0000\n"
-"PO-Revision-Date: 2009-02-09 22:13+1100\n"
+"PO-Revision-Date: 2009-02-10 07:17+1100\n"
"Last-Translator: \n"
"Language-Team: <en(a)li.org>\n"
"MIME-Version: 1.0\n"
@@ -144,7 +144,7 @@
msgid ""
"The observer method may have additional parameters, which are injected "
"according to the usual Web Beans method parameter injection semantics:"
-msgstr ""
+msgstr "Die Observer-Methode kann zusätzliche Parameter besitzen, die gemäß der üblichen Einspeisungssemantik Web Beans Methodenparameter eingespeist werden:"
#. Tag: programlisting
#: events.xml:56
@@ -160,7 +160,7 @@
#: events.xml:61
#, no-c-format
msgid "Event producers"
-msgstr ""
+msgstr "Ereignis-Producer"
#. Tag: para
#: events.xml:63
@@ -168,7 +168,7 @@
msgid ""
"The event producer may obtain an <emphasis>event notifier</emphasis> object "
"by injection:"
-msgstr ""
+msgstr "Der Ereignis-Producer kann ein <emphasis>Ereignisbenachrichtigungs</emphasis>-Objekt durch Einspeisung erhalten:"
#. Tag: programlisting
#: events.xml:66
@@ -185,6 +185,9 @@
"<literal>@Standard</literal>, with an implementation provided by the Web "
"Bean manager."
msgstr ""
+"Die <literal>@Observable</literal>-Annotation definiert implizit ein Web Bean "
+"mit Geltungsbereich <literal>@Dependent</literal> und Deployment-Typ "
+"<literal>@Standard</literal> mit einer durch den Web Bean Manager bereitgestellten Implementierung."
#. Tag: para
#: events.xml:72
@@ -193,7 +196,7 @@
"A producer raises events by calling the <literal>fire()</literal> method of "
"the <literal>Event</literal> interface, passing an <emphasis>event object</"
"emphasis>:"
-msgstr ""
+msgstr "Ein Producer bringt durch Aufruf der <literal>fire()</literal>-Methode des <literal>Event</literal>-Interface Ereignisse auf, wobei ein <emphasis>Ereignisobjekt</emphasis> weitergegeben wird:"
#. Tag: programlisting
#: events.xml:75
@@ -208,19 +211,19 @@
"An event object may be an instance of any Java class that has no type "
"variables or wildcard type parameters. The event will be delivered to every "
"observer method that:"
-msgstr ""
+msgstr "Ein Ereignis-Objekt kann eine Instanz einer beliebigen Java-Klasse sein, die keine Typ-Variablen oder Platzhalter-Typenparameter besitzt. Das Ereignis wird an jede Observer-Methode geliefert, die:"
#. Tag: para
#: events.xml:83 events.xml:107 events.xml:126
#, no-c-format
msgid "has an event parameter to which the event object is assignable, and"
-msgstr ""
+msgstr "einen Ereignisparameter besitzt, dem das Ereignisobjekt zugeschrieben werden kann und "
#. Tag: para
#: events.xml:86
#, no-c-format
msgid "specifies no event bindings."
-msgstr ""
+msgstr "keine Ereignis-Bindings festlegt."
#. Tag: para
#: events.xml:90
@@ -230,7 +233,7 @@
"event object as the value of the event parameter. If any observer method "
"throws an exception, the Web Bean manager stops calling observer methods, "
"and the exception is rethrown by the <literal>fire()</literal> method."
-msgstr ""
+msgstr "Der Web Bean Manager ruft einfach alle Observer-Methoden auf und gibt das Ereignis-Objekt als den Wert des Ereignisparameters weiter. Meldet eine Observer-Methode eine Ausnahme, so stoppt der Web Bean Manager den Aufruf von Observer-Methoden und die Ausnahme wird durch die <literal>fire()</literal>-Methode erneut gemeldet."
#. Tag: para
#: events.xml:95
@@ -238,7 +241,7 @@
msgid ""
"To specify a \"selector\", the event producer may pass an instance of the "
"event binding type to the <literal>fire()</literal> method:"
-msgstr ""
+msgstr "Um einen \"Selektor\" festzulegen kann der Ereignis-Producer eine Instanz des Ereignis-Binding-Typs an die <literal>fire()</literal>-Methode weitergeben:"
#. Tag: programlisting
#: events.xml:98
@@ -257,13 +260,13 @@
"The helper class <literal>AnnotationLiteral</literal> makes it possible to "
"instantiate binding types inline, since this is otherwise difficult to do in "
"Java."
-msgstr ""
+msgstr "Die Helferklasse <literal>AnnotationLiteral</literal> ermöglicht die Instanziierung der Binding-Typen inline, da es andernfalls schwierig ist, die in Java zu tun."
#. Tag: para
#: events.xml:103
#, no-c-format
msgid "The event will be delivered to every observer method that:"
-msgstr ""
+msgstr "Das Ereignis wird an jede Observer-Methode geliefert, die:"
#. Tag: para
#: events.xml:110
@@ -272,6 +275,8 @@
"does not specify any event binding <emphasis>except</emphasis> for the event "
"bindings passed to <literal>fire()</literal>."
msgstr ""
+"kein Ereignis-Binding festlegt <emphasis>außer</emphasis> für die an "
+"<literal>fire()</literal> weitergegebenen Ereignis-Bindings."
#. Tag: para
#: events.xml:115
@@ -279,7 +284,7 @@
msgid ""
"Alternatively, event bindings may be specified by annotating the event "
"notifier injection point:"
-msgstr ""
+msgstr "Alternativ können Ereignis-Bindings durch Festlegen des Einspeisungspunkts der Ereignisbenachrichtigung festgelegt werden:"
#. Tag: programlisting
#: events.xml:118
17 years, 2 months
[webbeans-commits] Webbeans SVN: r1471 - in ri/trunk: webbeans-ri/src/main/java/org/jboss/webbeans and 2 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-02-09 11:18:26 -0500 (Mon, 09 Feb 2009)
New Revision: 1471
Added:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/WebBeans.java
Modified:
ri/trunk/porting-package/src/main/java/org/jboss/webbeans/tck/ManagersImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/conversation/ConversationImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/conversation/JavaSEConversationTerminator.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/conversation/NumericConversationIdGenerator.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/conversation/ServletConversationManager.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/HttpSessionManager.java
Log:
Fix failing test
Modified: ri/trunk/porting-package/src/main/java/org/jboss/webbeans/tck/ManagersImpl.java
===================================================================
--- ri/trunk/porting-package/src/main/java/org/jboss/webbeans/tck/ManagersImpl.java 2009-02-09 15:51:01 UTC (rev 1470)
+++ ri/trunk/porting-package/src/main/java/org/jboss/webbeans/tck/ManagersImpl.java 2009-02-09 16:18:26 UTC (rev 1471)
@@ -1,12 +1,14 @@
package org.jboss.webbeans.tck;
import java.lang.annotation.Annotation;
+import java.util.ArrayList;
import java.util.List;
import javax.inject.manager.Manager;
import org.jboss.jsr299.tck.spi.Managers;
import org.jboss.webbeans.CurrentManager;
+import org.jboss.webbeans.WebBeans;
public class ManagersImpl implements Managers
{
@@ -23,7 +25,9 @@
public List<Class<? extends Annotation>> getEnabledDeploymentTypes()
{
- return CurrentManager.rootManager().getEnabledDeploymentTypes();
+ List<Class<? extends Annotation>> deploymentTypes = new ArrayList<Class<? extends Annotation>>(CurrentManager.rootManager().getEnabledDeploymentTypes());
+ deploymentTypes.remove(WebBeans.class);
+ return deploymentTypes;
}
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java 2009-02-09 15:51:01 UTC (rev 1470)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java 2009-02-09 16:18:26 UTC (rev 1471)
@@ -173,6 +173,14 @@
throw new DeploymentException("@Standard must be the lowest precedence deployment type");
}
}
+
+ protected void addWebBeansDeploymentTypes()
+ {
+ if (!this.enabledDeploymentTypes.contains(WebBeans.class))
+ {
+ this.enabledDeploymentTypes.add(1, WebBeans.class);
+ }
+ }
/**
* Registers a bean with the manager
@@ -263,8 +271,9 @@
*/
public void setEnabledDeploymentTypes(List<Class<? extends Annotation>> enabledDeploymentTypes)
{
- this.enabledDeploymentTypes = enabledDeploymentTypes;
+ this.enabledDeploymentTypes = new ArrayList<Class<? extends Annotation>>(enabledDeploymentTypes);
checkEnabledDeploymentTypes();
+ addWebBeansDeploymentTypes();
}
/**
Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/WebBeans.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/WebBeans.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/WebBeans.java 2009-02-09 16:18:26 UTC (rev 1471)
@@ -0,0 +1,26 @@
+package org.jboss.webbeans;
+
+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;
+
+/**
+ * Deployment type for Web Beans beans
+ *
+ * @author Pete Muir
+ *
+ */
+@Target( { TYPE, METHOD })
+@Retention(RUNTIME)
+@Documented
+@DeploymentType
+public @interface WebBeans
+{
+
+}
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/WebBeans.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/conversation/ConversationImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/conversation/ConversationImpl.java 2009-02-09 15:51:01 UTC (rev 1470)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/conversation/ConversationImpl.java 2009-02-09 16:18:26 UTC (rev 1471)
@@ -22,6 +22,7 @@
import javax.context.RequestScoped;
import javax.inject.Initializer;
+import org.jboss.webbeans.WebBeans;
import org.jboss.webbeans.conversation.bindings.ConversationInactivityTimeout;
/**
@@ -32,6 +33,7 @@
*/
@RequestScoped
@Named("conversation")
+@WebBeans
public class ConversationImpl implements Conversation
{
// The conversation ID
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/conversation/JavaSEConversationTerminator.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/conversation/JavaSEConversationTerminator.java 2009-02-09 15:51:01 UTC (rev 1470)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/conversation/JavaSEConversationTerminator.java 2009-02-09 16:18:26 UTC (rev 1471)
@@ -24,6 +24,8 @@
import javax.context.SessionScoped;
+import org.jboss.webbeans.WebBeans;
+
/**
* A ConversationTerminator implementation using Java SE scheduling
*
@@ -31,6 +33,7 @@
* @see org.jboss.webbeans.conversation.ConversationTerminator
*/
@SessionScoped
+@WebBeans
public class JavaSEConversationTerminator implements ConversationTerminator, Serializable
{
private ScheduledExecutorService terminator = Executors.newScheduledThreadPool(1);
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/conversation/NumericConversationIdGenerator.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/conversation/NumericConversationIdGenerator.java 2009-02-09 15:51:01 UTC (rev 1470)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/conversation/NumericConversationIdGenerator.java 2009-02-09 16:18:26 UTC (rev 1471)
@@ -21,6 +21,8 @@
import javax.context.SessionScoped;
+import org.jboss.webbeans.WebBeans;
+
/**
* A ConversationIdGenerator implementation using running numerical values
*
@@ -28,6 +30,7 @@
*
*/
@SessionScoped
+@WebBeans
public class NumericConversationIdGenerator implements ConversationIdGenerator, Serializable
{
// The next conversation ID
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/conversation/ServletConversationManager.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/conversation/ServletConversationManager.java 2009-02-09 15:51:01 UTC (rev 1470)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/conversation/ServletConversationManager.java 2009-02-09 16:18:26 UTC (rev 1471)
@@ -26,6 +26,7 @@
import javax.inject.Produces;
import javax.servlet.http.HttpSession;
+import org.jboss.webbeans.WebBeans;
import org.jboss.webbeans.bootstrap.WebBeansBootstrap;
import org.jboss.webbeans.context.ConversationContext;
import org.jboss.webbeans.conversation.bindings.ConversationConcurrentAccessTimeout;
@@ -40,6 +41,7 @@
*
*/
@SessionScoped
+@WebBeans
public class ServletConversationManager implements ConversationManager, Serializable
{
private static LogProvider log = Logging.getLogProvider(WebBeansBootstrap.class);
@@ -78,6 +80,7 @@
@Produces
@ConversationInactivityTimeout
+ @WebBeans
public long getConversationTimeoutInMilliseconds()
{
return 10 * 60 * 1000;
@@ -85,6 +88,7 @@
@Produces
@ConversationConcurrentAccessTimeout
+ @WebBeans
public long getConversationConcurrentAccessTimeout()
{
return 1 * 1000;
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-09 15:51:01 UTC (rev 1470)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/HttpSessionManager.java 2009-02-09 16:18:26 UTC (rev 1471)
@@ -4,7 +4,10 @@
import javax.inject.Produces;
import javax.servlet.http.HttpSession;
+import org.jboss.webbeans.WebBeans;
+
@RequestScoped
+@WebBeans
public class HttpSessionManager
{
private HttpSession session;
@@ -16,6 +19,7 @@
@Produces
@RequestScoped
+ @WebBeans
HttpSession produceSession()
{
return session;
17 years, 2 months
[webbeans-commits] Webbeans SVN: r1470 - ri/trunk/jboss-tck-runner/src/test/resources.
by webbeans-commits@lists.jboss.org
Author: dallen6
Date: 2009-02-09 10:51:01 -0500 (Mon, 09 Feb 2009)
New Revision: 1470
Modified:
ri/trunk/jboss-tck-runner/src/test/resources/log4j.xml
Log:
Changed logging to ERROR for RI logging.
Modified: ri/trunk/jboss-tck-runner/src/test/resources/log4j.xml
===================================================================
--- ri/trunk/jboss-tck-runner/src/test/resources/log4j.xml 2009-02-09 15:38:31 UTC (rev 1469)
+++ ri/trunk/jboss-tck-runner/src/test/resources/log4j.xml 2009-02-09 15:51:01 UTC (rev 1470)
@@ -44,7 +44,7 @@
<!-- ############### Web Beans logging ################### -->
<category name="org.jboss.webbeans">
- <priority value="INFO"/>
+ <priority value="ERROR"/>
</category>
<root>
17 years, 2 months
[webbeans-commits] Webbeans SVN: r1469 - tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api and 6 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-02-09 10:38:31 -0500 (Mon, 09 Feb 2009)
New Revision: 1469
Removed:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/runner/
Modified:
ri/trunk/jboss-tck-runner/src/test/resources/log4j.xml
tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/TestLauncher.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/TCKImpl.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/TestRunner.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/TestSuiteLauncher.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/servlet/ServletTestLauncher.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/servlet/ServletTestRunner.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/deployment/DefaultDeploymentTypeTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/EventTest.java
Log:
Fixes to tests
Modified: ri/trunk/jboss-tck-runner/src/test/resources/log4j.xml
===================================================================
--- ri/trunk/jboss-tck-runner/src/test/resources/log4j.xml 2009-02-09 15:00:55 UTC (rev 1468)
+++ ri/trunk/jboss-tck-runner/src/test/resources/log4j.xml 2009-02-09 15:38:31 UTC (rev 1469)
@@ -44,7 +44,7 @@
<!-- ############### Web Beans logging ################### -->
<category name="org.jboss.webbeans">
- <priority value="ERROR"/>
+ <priority value="INFO"/>
</category>
<root>
Modified: tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/TestLauncher.java
===================================================================
--- tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/TestLauncher.java 2009-02-09 15:00:55 UTC (rev 1468)
+++ tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/TestLauncher.java 2009-02-09 15:38:31 UTC (rev 1469)
@@ -1,14 +1,12 @@
package org.jboss.jsr299.tck.api;
-import java.util.List;
+import org.testng.ITestContext;
-import org.testng.ITestResult;
-
public interface TestLauncher
{
public static final String PROPERTY_NAME = TestLauncher.class.getName();
- public List<ITestResult> launchTest(Configuration configuration, Class<?> testClass) throws Exception;
+ public ITestContext launchTest(Configuration configuration, Class<?> testClass) throws Exception;
}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractTest.java 2009-02-09 15:00:55 UTC (rev 1468)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractTest.java 2009-02-09 15:38:31 UTC (rev 1469)
@@ -94,15 +94,19 @@
manager = containers.deploy(classes.toArray(EMPTY_CLASS_ARRAY));
}
}
+ else
+ {
+ deployBeans();
+ }
+ if (getEnabledDeploymentTypes().size() > 0)
+ {
+ ConfigurationImpl.get().getManagers().setEnabledDeploymentTypes(getEnabledDeploymentTypes());
+ }
}
- else
+ else
{
manager = ConfigurationImpl.get().getManagers().getManager();
}
- if (getEnabledDeploymentTypes().size() > 0)
- {
- ConfigurationImpl.get().getManagers().setEnabledDeploymentTypes(getEnabledDeploymentTypes());
- }
}
@AfterMethod
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/TCKImpl.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/TCKImpl.java 2009-02-09 15:00:55 UTC (rev 1468)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/TCKImpl.java 2009-02-09 15:38:31 UTC (rev 1469)
@@ -12,7 +12,7 @@
import org.jboss.jsr299.tck.api.TCK;
import org.jboss.jsr299.tck.impl.packaging.ArtifactGenerator;
import org.jboss.jsr299.tck.impl.runner.TestSuiteLauncher;
-import org.testng.ITestResult;
+import org.testng.ITestContext;
import org.testng.TestNG;
import org.testng.xml.Parser;
import org.testng.xml.XmlSuite;
@@ -73,7 +73,7 @@
{
log.error("Error executing in container tests", e);
}
- for (ITestResult result : suiteLauncher.getResults())
+ for (ITestContext result : suiteLauncher.getTestContet())
{
log.info(result);
}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/TestRunner.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/TestRunner.java 2009-02-09 15:00:55 UTC (rev 1468)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/TestRunner.java 2009-02-09 15:38:31 UTC (rev 1469)
@@ -1,5 +1,7 @@
package org.jboss.jsr299.tck.impl.runner;
+import java.io.Serializable;
+import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -7,6 +9,7 @@
import org.jboss.jsr299.tck.impl.util.DeploymentProperties;
import org.testng.ITestContext;
import org.testng.TestNG;
+import org.testng.internal.InvokedMethod;
import org.testng.xml.XmlClass;
import org.testng.xml.XmlSuite;
import org.testng.xml.XmlTest;
@@ -38,7 +41,8 @@
testNG.setXmlSuites(suites);
suites.add(createSuite());
testNG.run();
- return listener.getContext();
+
+ return makeITestContextSerializable(listener.getContext());
}
private XmlSuite createSuite()
@@ -56,4 +60,41 @@
return suite;
}
+ /**
+ * Unfortunately ITestContext isn't really serializable...
+ *
+ */
+ public static ITestContext makeITestContextSerializable(ITestContext context)
+ {
+ if (context instanceof org.testng.TestRunner)
+ {
+
+ try
+ {
+ List<InvokedMethod> methods = (List<InvokedMethod>) org.testng.TestRunner.class.getField("m_invokedMethods").get(context);
+ for (InvokedMethod method : methods)
+ {
+ Field parametersField = method.getClass().getField("m_parameters");
+ Object[] parameters = (Object[]) parametersField.get(method);
+ if (parameters != null)
+ {
+ for (int i = 0; i < parameters.length; i++)
+ {
+ if (!(parameters instanceof Serializable) || !parameters.getClass().isPrimitive())
+ {
+ parameters[i] = null;
+ }
+ }
+ }
+ parametersField.set(method, parameters);
+ }
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException("Error preparing ITestContext for serialization " + context, e);
+ }
+ }
+ return context;
+ }
+
}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/TestSuiteLauncher.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/TestSuiteLauncher.java 2009-02-09 15:00:55 UTC (rev 1468)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/TestSuiteLauncher.java 2009-02-09 15:38:31 UTC (rev 1469)
@@ -6,19 +6,19 @@
import org.jboss.jsr299.tck.api.Configuration;
import org.jboss.jsr299.tck.impl.packaging.ArtifactDescriptor;
import org.jboss.jsr299.tck.impl.packaging.ArtifactGenerator;
-import org.testng.ITestResult;
+import org.testng.ITestContext;
public class TestSuiteLauncher
{
private final Configuration configuration;
- private final List<ITestResult> contexts;
+ private final List<ITestContext> contexts;
public TestSuiteLauncher(Configuration configuration)
{
this.configuration = configuration;
- this.contexts = new ArrayList<ITestResult>();
+ this.contexts = new ArrayList<ITestContext>();
}
public void run() throws Exception
@@ -30,7 +30,7 @@
{
deployArtifact(artifact);
Thread.sleep(configuration.getDeploymentDelay());
- contexts.addAll(configuration.getInContainerTestLauncher().launchTest(configuration, artifact.getDeclaringClass()));
+ contexts.add(configuration.getInContainerTestLauncher().launchTest(configuration, artifact.getDeclaringClass()));
}
finally
{
@@ -46,7 +46,7 @@
jar.close();
}
- public List<ITestResult> getResults()
+ public List<ITestContext> getTestContet()
{
return contexts;
}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/servlet/ServletTestLauncher.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/servlet/ServletTestLauncher.java 2009-02-09 15:00:55 UTC (rev 1468)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/servlet/ServletTestLauncher.java 2009-02-09 15:38:31 UTC (rev 1469)
@@ -4,17 +4,15 @@
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
-import java.util.List;
import org.jboss.jsr299.tck.api.Configuration;
import org.jboss.jsr299.tck.api.TestLauncher;
import org.testng.ITestContext;
-import org.testng.ITestResult;
public class ServletTestLauncher implements TestLauncher
{
- public List<ITestResult> launchTest(Configuration configuration, Class<?> testClass) throws Exception
+ public ITestContext launchTest(Configuration configuration, Class<?> testClass) throws Exception
{
String url = "http://" + configuration.getHost() + "/" + testClass.getName() + "/?outputMode=serializedObject";
URLConnection connection = new URL(url).openConnection();
@@ -35,9 +33,9 @@
{
throw new IllegalStateException("Error reading test results - expected a ITestContext but got " + o);
}
- List<ITestResult> results = (List<ITestResult>) o;
+ ITestContext context = (ITestContext) o;
httpConnection.disconnect();
- return results;
+ return context;
}
else
{
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/servlet/ServletTestRunner.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/servlet/ServletTestRunner.java 2009-02-09 15:00:55 UTC (rev 1468)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/servlet/ServletTestRunner.java 2009-02-09 15:38:31 UTC (rev 1469)
@@ -3,8 +3,6 @@
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
@@ -79,12 +77,9 @@
}
else if (outputMode.equals("serializedObject"))
{
- List<ITestResult> results = new ArrayList<ITestResult>();
- results.addAll(context.getFailedTests().getAllResults());
- results.addAll(context.getPassedTests().getAllResults());
resp.setStatus(HttpServletResponse.SC_OK);
ObjectOutputStream oos = new ObjectOutputStream(resp.getOutputStream());
- oos.writeObject(results);
+ oos.writeObject(context);
oos.flush();
oos.close();
}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/deployment/DefaultDeploymentTypeTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/deployment/DefaultDeploymentTypeTest.java 2009-02-09 15:00:55 UTC (rev 1468)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/deployment/DefaultDeploymentTypeTest.java 2009-02-09 15:38:31 UTC (rev 1469)
@@ -7,7 +7,6 @@
import org.jboss.jsr299.tck.SpecAssertion;
import org.jboss.jsr299.tck.SpecAssertions;
import org.jboss.jsr299.tck.impl.ConfigurationImpl;
-import org.jboss.jsr299.tck.impl.packaging.Artifact;
import org.jboss.jsr299.tck.impl.packaging.Classes;
import org.testng.annotations.Test;
@@ -16,7 +15,7 @@
* Spec version: PRD2
*
*/
-@Artifact(addCurrentPackage=false)
+//@Artifact(addCurrentPackage=false)
@Classes(DefaultDeploymentTypeTest.class)
public class DefaultDeploymentTypeTest extends AbstractTest
{
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-09 15:00:55 UTC (rev 1468)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/EventTest.java 2009-02-09 15:38:31 UTC (rev 1469)
@@ -123,6 +123,7 @@
@SpecAssertion(section = "7.2", id = "unknown")
public void testManagerFireEvent()
{
+ deployBeans();
// First a simple event with no bindings is fired
AnEventType anEvent = new AnEventType();
manager.fireEvent(anEvent);
@@ -142,6 +143,7 @@
@SpecAssertions( { @SpecAssertion(section = "7.1", id = "unknown"), @SpecAssertion(section = "7.2", id = "unknown") })
public void testManagerFireEventWithEventTypeParametersFails()
{
+ deployBeans();
ATemplatedEventType<String> anEvent = new ATemplatedEventType<String>();
manager.fireEvent(anEvent);
}
@@ -160,6 +162,7 @@
// Although the above test is really the same as with a wildcard, we will
// test
// it anyhow since the specification calls it out separately.
+ deployBeans();
ATemplatedEventType<?> anEventOnAnyType = new ATemplatedEventType<String>();
manager.fireEvent(anEventOnAnyType);
}
@@ -182,6 +185,7 @@
// but borrowing from Section 8.3, we'll expect the same behavior here
// for a consistent API.
// TODO Verify that fireEvent should fail on non-binding annotations
+ deployBeans();
AnEventType anEvent = new AnEventType();
manager.fireEvent(anEvent, new AnimalStereotypeAnnotationLiteral());
}
@@ -247,6 +251,7 @@
@SpecAssertion(section = "7.3", id = "unknown")
public void testManagerRemoveObserver()
{
+ deployBeans();
Observer<AnEventType> observer = new AnObserver();
// First test with the Class<T> of the event type
@@ -285,6 +290,7 @@
@SpecAssertion(section = "7.3", id = "unknown")
public void testMultipleInstancesOfSameBindingTypeWhenAddingObserverFails()
{
+ deployBeans();
Observer<AnEventType> observer = new AnObserver();
manager.addObserver(observer, AnEventType.class, new RoleBinding("Admin"), new TameAnnotationLiteral(), new TameAnnotationLiteral());
}
@@ -297,6 +303,7 @@
@SpecAssertion(section = "7.3", id = "unknown")
public void testNonBindingTypePassedToAddObserverFails()
{
+ deployBeans();
Observer<AnEventType> observer = new AnObserver();
manager.addObserver(observer, AnEventType.class, new AnimalStereotypeAnnotationLiteral());
}
@@ -309,6 +316,7 @@
@SpecAssertion(section = "7.3", id = "unknown")
public void testMultipleInstancesOfSameBindingTypeWhenRemovingObserverFails()
{
+ deployBeans();
Observer<AnEventType> observer = new AnObserver();
manager.addObserver(observer, AnEventType.class);
manager.removeObserver(observer, AnEventType.class, new RoleBinding("Admin"), new TameAnnotationLiteral(), new TameAnnotationLiteral());
@@ -322,6 +330,7 @@
@SpecAssertion(section = "7.3", id = "unknown")
public void testNonBindingTypePassedToRemoveObserverFails()
{
+ deployBeans();
Observer<AnEventType> observer = new AnObserver();
manager.addObserver(observer, AnEventType.class);
manager.removeObserver(observer, AnEventType.class, new AnimalStereotypeAnnotationLiteral());
@@ -336,6 +345,7 @@
@SpecAssertions( { @SpecAssertion(section = "7.1", id = "unknown"), @SpecAssertion(section = "7.4", id = "unknown") })
public void testConsumerNotifiedWhenEventTypeAndAllBindingsMatch()
{
+ deployBeans();
AnObserver observer1 = new AnObserver();
AnObserver observer2 = new AnObserver();
manager.addObserver(observer1, AnEventType.class);
@@ -358,6 +368,7 @@
@SpecAssertion(section = "7.4", id = "unknown")
public void testObserverThrowsExceptionAbortsNotifications()
{
+ deployBeans();
AnObserverWithException observer = new AnObserverWithException();
AnObserverWithException anotherObserver = new AnObserverWithException();
manager.addObserver(anotherObserver, AnEventType.class);
@@ -1295,6 +1306,7 @@
private <E> void eventObjectContainsTypeVariables(ArrayList<E> eventToFire)
{
+ deployBeans();
@SuppressWarnings("unused")
Set<?> resolvedObservers = manager.resolveObservers(eventToFire);
}
@@ -1312,6 +1324,7 @@
private void eventObjectContainsWildcards(ArrayList<? extends Object> eventToFire)
{
+ deployBeans();
@SuppressWarnings("unused")
// TODO There does not seem to be a way to get wildcarded types pass
// through
@@ -1326,6 +1339,7 @@
@SpecAssertion(section = "7.7", id = "unknown")
public void testDuplicateBindingTypesWhenResolvingFails()
{
+ deployBeans();
AnObserver observer = new AnObserver();
manager.addObserver(observer, AnEventType.class, new BindingTypeABinding());
@SuppressWarnings("unused")
@@ -1340,6 +1354,7 @@
@SpecAssertion(section = "7.7", id = "unknown")
public void testNonBindingTypeAnnotationWhenResolvingFails()
{
+ deployBeans();
AnObserver observer = new AnObserver();
manager.addObserver(observer, new TypeLiteral<AnEventType>()
{
@@ -1373,6 +1388,7 @@
@SpecAssertion(section = "7.7", id = "unknown")
public void testResolvingChecksTypeParameters()
{
+ deployBeans();
AListObserver observer = new AListObserver();
AnotherListObserver anotherObserver = new AnotherListObserver();
manager.addObserver(observer, new TypeLiteral<ArrayList<String>>()
@@ -1412,6 +1428,7 @@
@SpecAssertion(section = "7.7", id = "unknown")
public void testResolvingChecksBindingTypeMembers()
{
+ deployBeans();
AnObserver observer = new AnObserver();
AnObserver anotherObserver = new AnObserver();
manager.addObserver(observer, AnEventType.class, new BindingTypeCBinding("first-observer"));
17 years, 2 months
[webbeans-commits] Webbeans SVN: r1468 - tck/trunk/impl/src/main/java/org/jboss/jsr299/tck.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-02-09 10:00:55 -0500 (Mon, 09 Feb 2009)
New Revision: 1468
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractTest.java
Log:
Fix ordering
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractTest.java 2009-02-09 13:13:29 UTC (rev 1467)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractTest.java 2009-02-09 15:00:55 UTC (rev 1468)
@@ -76,15 +76,6 @@
@BeforeMethod
public final void before(Method method)
{
- manager = ConfigurationImpl.get().getManagers().getManager();
- if (getEnabledDeploymentTypes().size() > 0)
- {
- ConfigurationImpl.get().getManagers().setEnabledDeploymentTypes(getEnabledDeploymentTypes());
- }
- else
- {
-
- }
if (ConfigurationImpl.get().isStandalone())
{
containers = ConfigurationImpl.get().getStandaloneContainers();
@@ -104,6 +95,14 @@
}
}
}
+ else
+ {
+ manager = ConfigurationImpl.get().getManagers().getManager();
+ }
+ if (getEnabledDeploymentTypes().size() > 0)
+ {
+ ConfigurationImpl.get().getManagers().setEnabledDeploymentTypes(getEnabledDeploymentTypes());
+ }
}
@AfterMethod
17 years, 2 months
[webbeans-commits] Webbeans SVN: r1467 - ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration and 16 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-02-09 08:13:29 -0500 (Mon, 09 Feb 2009)
New Revision: 1467
Added:
ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/
ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/ContainersImpl.java
tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/Configurable.java
Removed:
ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jboss/
ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/ContainersImpl.java
tck/trunk/impl/src/test/resources/org/jboss/jsr299/tck/test/impl/packaging/declarativeArtifact/unspecified/
Modified:
ri/trunk/jboss-tck-runner/pom.xml
ri/trunk/jboss-tck-runner/src/main/resources/META-INF/web-beans-tck.properties
ri/trunk/jboss-tck-runner/src/test/resources/log4j.xml
tck/trunk/api/pom.xml
tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/Configuration.java
tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/TCK.java
tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/TestLauncher.java
tck/trunk/api/src/main/java/org/jboss/jsr299/tck/spi/Containers.java
tck/trunk/impl/pom.xml
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/ConfigurationImpl.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/PropertiesBasedConfigurationImpl.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/TCKImpl.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ArtifactScanner.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/TestSuiteLauncher.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/servlet/ServletTestLauncher.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/servlet/ServletTestRunner.java
tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/impl/packaging/war/default/web.xml
tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/descriptors/tck/TCKArtifactTest.java
tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/scanner/ArtifactScannerTest.java
Log:
Lots of improvements for in-container tests
Modified: ri/trunk/jboss-tck-runner/pom.xml
===================================================================
--- ri/trunk/jboss-tck-runner/pom.xml 2009-02-09 11:22:26 UTC (rev 1466)
+++ ri/trunk/jboss-tck-runner/pom.xml 2009-02-09 13:13:29 UTC (rev 1467)
@@ -20,7 +20,6 @@
<dependency>
<groupId>org.jboss.webbeans</groupId>
<artifactId>webbeans-ri</artifactId>
- <scope>test</scope>
</dependency>
<dependency>
@@ -50,15 +49,39 @@
<profiles>
<profile>
- <id>integration-tests</id>
+ <id>incontainer</id>
<activation>
<property>
- <name>integration</name>
+ <name>incontainer</name>
</property>
</activation>
<build>
<plugins>
<plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>copy</id>
+ <phase>generate-test-sources</phase>
+ <goals>
+ <goal>copy</goal>
+ </goals>
+ <configuration>
+ <stripVersion>true</stripVersion>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.jboss.webbeans</groupId>
+ <artifactId>webbeans-porting-package</artifactId>
+ <overWrite>true</overWrite>
+ <outputDirectory>${project.build.directory}/dependency/lib</outputDirectory>
+ </artifactItem>
+ </artifactItems>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
@@ -69,6 +92,11 @@
<tasks>
<java classname="org.jboss.jsr299.tck.api.TCK" classpathref="maven.test.classpath" failonerror="true" fork="true">
<jvmarg line="-DrunSuite=true"/>
+ <jvmarg line="-Dorg.jboss.jsr299.tck.standalone=false"/>
+ <jvmarg line="-DjbossHome=/Applications/jboss-5.0.0.GA"/>
+ <jvmarg line="-Dorg.jboss.jsr299.tck.deploymentDelay=8000"/>
+ <jvmarg line="-DdumpConfiguration=true" />
+ <jvmarg line="-Dorg.jboss.jsr299.tck.libraryDirectory=${project.build.directory}/dependency/lib"/>
</java>
</tasks>
</configuration>
Copied: ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas (from rev 1462, ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jboss)
Deleted: ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/ContainersImpl.java
===================================================================
--- ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jboss/ContainersImpl.java 2009-02-08 22:44:55 UTC (rev 1462)
+++ ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/ContainersImpl.java 2009-02-09 13:13:29 UTC (rev 1467)
@@ -1,52 +0,0 @@
-package org.jboss.webbeans.tck.integration.jboss;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import org.jboss.jsr299.tck.spi.Containers;
-
-
-public class ContainersImpl implements Containers
-{
-
- public static final String JBOSS_HOME = "/Applications/jboss-5.0.0.GA";
-
- private final File deployDir;
-
- public ContainersImpl()
- {
- deployDir = new File(JBOSS_HOME, "server/default/deploy");
- if (!deployDir.isDirectory())
- {
- throw new IllegalArgumentException(deployDir.getPath() + " is not a directory");
- }
- }
-
- public void deploy(InputStream archive, String name) throws Exception
- {
- File file = new File(deployDir, name);
- file.createNewFile();
- copy(archive, file);
- }
-
- private static void copy(InputStream inputStream, File file) throws IOException
- {
- OutputStream os = new FileOutputStream(file);
- try
- {
- byte[] buf = new byte[1024];
- int i = 0;
- while ((i = inputStream.read(buf)) != -1)
- {
- os.write(buf, 0, i);
- }
- }
- finally
- {
- os.close();
- }
- }
-
-}
Copied: ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/ContainersImpl.java (from rev 1466, ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jboss/ContainersImpl.java)
===================================================================
--- ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/ContainersImpl.java (rev 0)
+++ ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/ContainersImpl.java 2009-02-09 13:13:29 UTC (rev 1467)
@@ -0,0 +1,122 @@
+package org.jboss.webbeans.tck.integration.jbossas;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.HttpURLConnection;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLConnection;
+
+import org.apache.log4j.Logger;
+import org.jboss.jsr299.tck.api.Configurable;
+import org.jboss.jsr299.tck.api.Configuration;
+import org.jboss.jsr299.tck.spi.Containers;
+
+
+public class ContainersImpl implements Containers, Configurable
+{
+
+ private Logger log = Logger.getLogger(ContainersImpl.class);
+
+ public static final String JBOSS_HOME_PROPERTY_NAME = "jbossHome";
+
+ private File deployDir;
+ private Configuration configuration;
+
+ private boolean validated;
+
+ public void setConfiguration(Configuration configuration)
+ {
+ this.configuration = configuration;
+
+
+ }
+
+ protected void validate()
+ {
+ String jbossHome = System.getProperty(JBOSS_HOME_PROPERTY_NAME);
+ if (jbossHome == null)
+ {
+ throw new IllegalArgumentException("-DjbossHome must be set");
+ }
+ deployDir = new File(jbossHome, "server/default/deploy");
+ if (!deployDir.isDirectory())
+ {
+ throw new IllegalArgumentException(deployDir.getPath() + " is not a directory");
+ }
+ log.info("Deploying TCK artifacts to " + deployDir.getPath());
+
+ // Check that JBoss is up!
+ String url = "http://" + configuration.getHost() + "/";
+ try
+ {
+ URLConnection connection = new URL(url).openConnection();
+ if (!(connection instanceof HttpURLConnection))
+ {
+ throw new IllegalStateException("Not an http connection! " + connection);
+ }
+ HttpURLConnection httpConnection = (HttpURLConnection) connection;
+ httpConnection.connect();
+ if (httpConnection.getResponseCode() != HttpURLConnection.HTTP_OK)
+ {
+ throw new IllegalStateException("Error connecting to JBoss AS at " + url);
+ }
+ }
+ catch (Exception e)
+ {
+ throw new IllegalStateException("Cannot connect to JBoss AS", e);
+ }
+ log.info("Successfully connected to JBoss AS at " + url);
+
+ }
+
+ public ContainersImpl() throws MalformedURLException, IOException
+ {
+
+ }
+
+
+
+ public void deploy(InputStream archive, String name) throws Exception
+ {
+ if (!validated)
+ {
+ validate();
+ }
+ File file = new File(deployDir, name);
+ log.info("Deploying test " + name);
+ file.createNewFile();
+ copy(archive, file);
+ }
+
+ private static void copy(InputStream inputStream, File file) throws IOException
+ {
+ OutputStream os = new FileOutputStream(file);
+ try
+ {
+ byte[] buf = new byte[1024];
+ int i = 0;
+ while ((i = inputStream.read(buf)) != -1)
+ {
+ os.write(buf, 0, i);
+ }
+ }
+ finally
+ {
+ os.close();
+ }
+ }
+
+ public void undeploy(String name) throws Exception
+ {
+ File file = new File(deployDir, name);
+ if (file.exists())
+ {
+ //file.delete();
+ }
+ Thread.sleep(1000);
+ }
+
+}
Modified: ri/trunk/jboss-tck-runner/src/main/resources/META-INF/web-beans-tck.properties
===================================================================
--- ri/trunk/jboss-tck-runner/src/main/resources/META-INF/web-beans-tck.properties 2009-02-09 11:22:26 UTC (rev 1466)
+++ ri/trunk/jboss-tck-runner/src/main/resources/META-INF/web-beans-tck.properties 2009-02-09 13:13:29 UTC (rev 1467)
@@ -1 +1,2 @@
-org.jboss.jsr299.tck.spi.Containers=org.jboss.webbeans.tck.integration.ContainersImpl
\ No newline at end of file
+org.jboss.jsr299.tck.spi.Containers=org.jboss.webbeans.tck.integration.jbossas.ContainersImpl
+org.jboss.jsr299.tck.api.TestLauncher=org.jboss.jsr299.tck.impl.runner.servlet.ServletTestLauncher
\ No newline at end of file
Modified: ri/trunk/jboss-tck-runner/src/test/resources/log4j.xml
===================================================================
--- ri/trunk/jboss-tck-runner/src/test/resources/log4j.xml 2009-02-09 11:22:26 UTC (rev 1466)
+++ ri/trunk/jboss-tck-runner/src/test/resources/log4j.xml 2009-02-09 13:13:29 UTC (rev 1467)
@@ -12,7 +12,7 @@
<!-- ############### Embedded EJB3 ################# -->
<category name="org.jboss">
- <priority value="INFO"/>
+ <priority value="ERROR"/>
</category>
<category name="com.arjuna">
<priority value="ERROR"/>
@@ -44,7 +44,7 @@
<!-- ############### Web Beans logging ################### -->
<category name="org.jboss.webbeans">
- <priority value="INFO"/>
+ <priority value="ERROR"/>
</category>
<root>
Modified: tck/trunk/api/pom.xml
===================================================================
--- tck/trunk/api/pom.xml 2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/api/pom.xml 2009-02-09 13:13:29 UTC (rev 1467)
@@ -63,6 +63,42 @@
</plugins>
</build>
+ <profiles>
+ <profile>
+ <id>write-artifacts-to-disk</id>
+ <activation>
+ <property>
+ <name>dumpArtifacts</name>
+ </property>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package</id>
+ <phase>package</phase>
+ <configuration>
+ <tasks>
+ <java classname="org.jboss.jsr299.tck.api.TCK" classpathref="maven.compile.classpath" failonerror="true" fork="true">
+ <jvmarg line="-DdumpArtifacts=true"/>
+ <jvmarg line="-Dorg.jboss.jsr299.tck.outputDirectory=${project.build.directory}/jsr299-artifacts" />
+ <jvmarg line="-Dorg.jboss.jsr299.tck.libraryDirectory=${libraryDirectory}" />
+ </java>
+ <echo>Dumped artifacts to ${project.build.directory}/jsr299-artifacts</echo>
+ </tasks>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
-
</project>
Added: tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/Configurable.java
===================================================================
--- tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/Configurable.java (rev 0)
+++ tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/Configurable.java 2009-02-09 13:13:29 UTC (rev 1467)
@@ -0,0 +1,17 @@
+package org.jboss.jsr299.tck.api;
+
+/**
+ * If you implement this interface, the TCK will inject the configuration into
+ * your implementation in the post-construct phase.
+ *
+ * This interface can be implemented by any implementation of a TCK SPI.
+ *
+ * @author Pete Muir
+ *
+ */
+public interface Configurable
+{
+
+ public void setConfiguration(Configuration configuration);
+
+}
Property changes on: tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/Configurable.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/Configuration.java
===================================================================
--- tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/Configuration.java 2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/Configuration.java 2009-02-09 13:13:29 UTC (rev 1467)
@@ -14,13 +14,12 @@
public interface Configuration
{
- public static final String OUTPUT_DIRECTORY_PROPERTY_NAME = "org.jboss.webbeans.tck.outputDirectory";
- public static final String STANDALONE_PROPERTY_NAME = "org.jboss.webbeans.tck.standalone";
- public static final String RUN_INTEGRATION_TESTS_PROPERTY_NAME = "org.jboss.webbeans.tck.runIntegrationTests";
- public static final String DEPLOYMENT_DELAY_PROPERTY_NAME = "org.jboss.webbeans.tck.deploymentDelay";
- public static final String WRITE_DEPLOYED_ARCHIVES_TO_DISK_PROPERTY_NAME = "org.jboss.webbeans.tck.writeDeployedArchivesToDisk";
- public static final String LIBRARY_DIRECTORY_PROPERTY_NAME = "org.jboss.webbeans.tck.outputDirectory";
- public static final String HOST_PROPERTY_NAME = "org.jboss.webbeans.tck.host";
+ public static final String OUTPUT_DIRECTORY_PROPERTY_NAME = "org.jboss.jsr299.tck.outputDirectory";
+ public static final String STANDALONE_PROPERTY_NAME = "org.jboss.jsr299.tck.standalone";
+ public static final String RUN_INTEGRATION_TESTS_PROPERTY_NAME = "org.jboss.jsr299.tck.runIntegrationTests";
+ public static final String DEPLOYMENT_DELAY_PROPERTY_NAME = "org.jboss.jsr299.tck.deploymentDelay";
+ public static final String LIBRARY_DIRECTORY_PROPERTY_NAME = "org.jboss.jsr299.tck.libraryDirectory";
+ public static final String HOST_PROPERTY_NAME = "org.jboss.jsr299.tck.host";
public static final String DEFAULT_OUTPUT_DIRECTORY = System.getProperty("java.io.tmpdir") + "/jsr-299-tck/";
public static final boolean DEFAULT_STANDALONE = true;
@@ -36,8 +35,6 @@
public int getDeploymentDelay();
- public boolean isWriteDeployedArchivesToDisk();
-
public String getLibraryDirectory();
public TestLauncher getInContainerTestLauncher();
@@ -58,7 +55,6 @@
public void setDeploymentDelay(int deploymentDelay);
- public void setWriteDeployedArchivesToDisk(boolean writeDeployedArchivesToDisk);
public void setLibraryDirectory(String libraryDir);
Modified: tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/TCK.java
===================================================================
--- tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/TCK.java 2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/TCK.java 2009-02-09 13:13:29 UTC (rev 1467)
@@ -13,6 +13,8 @@
public static final String DUMP_ARTIFACTS_PROPERTY_NAME = "dumpArtifacts";
+ public static final String DUMP_CONFIGURATION_PROPERTY_NAME = "dumpConfiguration";
+
public static final String RUN_SUITE_PROPERTY_NAME = "runSuite";
/**
@@ -58,6 +60,10 @@
TCK tck = newInstance();
tck.runInContainerTests();
}
+ if (isSystemPropertyTrue(DUMP_CONFIGURATION_PROPERTY_NAME))
+ {
+ System.out.println(newInstance().getConfiguration());
+ }
}
protected TCK()
Modified: tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/TestLauncher.java
===================================================================
--- tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/TestLauncher.java 2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/TestLauncher.java 2009-02-09 13:13:29 UTC (rev 1467)
@@ -1,6 +1,6 @@
package org.jboss.jsr299.tck.api;
-import java.util.Collection;
+import java.util.List;
import org.testng.ITestResult;
@@ -9,6 +9,6 @@
public static final String PROPERTY_NAME = TestLauncher.class.getName();
- public Collection<ITestResult> launchTest(Configuration configuration, Class<?> testClass) throws Exception;
+ public List<ITestResult> launchTest(Configuration configuration, Class<?> testClass) throws Exception;
}
Modified: tck/trunk/api/src/main/java/org/jboss/jsr299/tck/spi/Containers.java
===================================================================
--- tck/trunk/api/src/main/java/org/jboss/jsr299/tck/spi/Containers.java 2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/api/src/main/java/org/jboss/jsr299/tck/spi/Containers.java 2009-02-09 13:13:29 UTC (rev 1467)
@@ -16,5 +16,7 @@
* @return
*/
public void deploy(InputStream archive, String name) throws Exception;
+
+ public void undeploy(String name) throws Exception;
}
\ No newline at end of file
Modified: tck/trunk/impl/pom.xml
===================================================================
--- tck/trunk/impl/pom.xml 2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/impl/pom.xml 2009-02-09 13:13:29 UTC (rev 1467)
@@ -189,41 +189,6 @@
</plugins>
</build>
</profile>
- <profile>
- <id>write-artifacts-to-disk</id>
- <activation>
- <property>
- <name>dumpArtifacts</name>
- </property>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <execution>
- <id>package</id>
- <phase>package</phase>
- <configuration>
- <tasks>
- <java classname="org.jboss.jsr299.tck.api.TCK" classpathref="maven.compile.classpath" failonerror="true" fork="true">
- <jvmarg line="-DdumpArtifacts=true"/>
- <jvmarg line="-Dorg.jboss.jsr299.tck.outputDirectory=${project.build.directory}/jsr299-artifacts" />
- <jvmarg line="-Dorg.jboss.jsr299.tck.libraryDirectory=${libraryDirectory}" />
- </java>
- <echo>Dumped artifacts to ${project.build.directory}/jsr299-artifacts</echo>
- </tasks>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
</profiles>
</project>
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractTest.java 2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractTest.java 2009-02-09 13:13:29 UTC (rev 1467)
@@ -74,7 +74,7 @@
public static boolean visited = false;
@BeforeMethod
- public final void before(Method testMethod)
+ public final void before(Method method)
{
manager = ConfigurationImpl.get().getManagers().getManager();
if (getEnabledDeploymentTypes().size() > 0)
@@ -88,7 +88,7 @@
if (ConfigurationImpl.get().isStandalone())
{
containers = ConfigurationImpl.get().getStandaloneContainers();
- Class<?> declaringClass = testMethod.getDeclaringClass();
+ Class<?> declaringClass = method.getDeclaringClass();
if (declaringClass.isAnnotationPresent(Artifact.class) || declaringClass.isAnnotationPresent(EjbArtifact.class))
{
DeclarativeArtifactProcessor processor = new DeclarativeArtifactProcessor(declaringClass, true, null);
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/ConfigurationImpl.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/ConfigurationImpl.java 2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/ConfigurationImpl.java 2009-02-09 13:13:29 UTC (rev 1467)
@@ -35,7 +35,6 @@
private boolean standalone;
private boolean runIntegrationTests;
private int deploymentDelay;
- private boolean writeDeployedArchivesToDisk;
private String libraryDirectory;
private TestLauncher testLauncher;
private Beans beans;
@@ -44,7 +43,7 @@
private Containers containers;
private StandaloneContainers standaloneContainers;
private EL el;
- private List<String> integrationTestPackageNames;
+ private List<String> inContainerPackageNames;
private List<String> unitTestPackageNames;
private String host;
@@ -59,7 +58,6 @@
this.standalone = configuration.isStandalone();
this.runIntegrationTests = configuration.isRunIntegrationTests();
this.deploymentDelay = configuration.getDeploymentDelay();
- this.writeDeployedArchivesToDisk = configuration.isWriteDeployedArchivesToDisk();
this.libraryDirectory = configuration.getLibraryDirectory();
this.testLauncher = configuration.getInContainerTestLauncher();
this.beans = configuration.getBeans();
@@ -89,6 +87,8 @@
public void setStandalone(boolean standalone)
{
this.standalone = standalone;
+ this.inContainerPackageNames = null;
+ this.unitTestPackageNames = null;
}
public int getDeploymentDelay()
@@ -101,16 +101,6 @@
this.deploymentDelay = deploymentDelay;
}
- public boolean isWriteDeployedArchivesToDisk()
- {
- return writeDeployedArchivesToDisk;
- }
-
- public void setWriteDeployedArchivesToDisk(boolean writeDeployedArchivesToDisk)
- {
- this.writeDeployedArchivesToDisk = writeDeployedArchivesToDisk;
- }
-
public String getLibraryDirectory()
{
return libraryDirectory;
@@ -184,16 +174,16 @@
public List<String> getInContainerTestPackageNames()
{
- if (integrationTestPackageNames == null)
+ if (inContainerPackageNames == null)
{
- integrationTestPackageNames = new ArrayList<String>();
- integrationTestPackageNames.add(INTEGRATION_TEST_PACKAGE_NAME);
+ inContainerPackageNames = new ArrayList<String>();
+ inContainerPackageNames.add(INTEGRATION_TEST_PACKAGE_NAME);
if (!isStandalone())
{
- integrationTestPackageNames.add(UNIT_TEST_PACKAGE_NAME);
+ inContainerPackageNames.add(UNIT_TEST_PACKAGE_NAME);
}
}
- return Collections.unmodifiableList(integrationTestPackageNames);
+ return Collections.unmodifiableList(inContainerPackageNames);
}
public List<String> getStandaloneTestPackageNames()
@@ -249,6 +239,28 @@
this.testLauncher = testLauncher;
}
+ @Override
+ public String toString()
+ {
+ StringBuilder configuration = new StringBuilder();
+ configuration.append("TCK Configuration\n");
+ configuration.append("-----------------\n");
+ configuration.append("\tBeans: ").append(getBeans()).append("\n");
+ configuration.append("\tContainers: ").append(getContainers()).append("\n");
+ configuration.append("\tContexts: ").append(getContexts()).append("\n");
+ configuration.append("\tDeployment Delay: ").append(getDeploymentDelay()).append("\n");
+ configuration.append("\tEL: ").append(getEl()).append("\n");
+ configuration.append("\tHost: ").append(getHost()).append("\n");
+ configuration.append("\tIn Container Tests Package Names: ").append(getInContainerTestPackageNames()).append("\n");
+ configuration.append("\tLibrary Directory: ").append(getLibraryDirectory()).append("\n");
+ configuration.append("\tManagers: ").append(getManagers()).append("\n");
+ configuration.append("\tOutput Directory: ").append(getOutputDirectory()).append("\n");
+ configuration.append("\tRun Integration Tests: ").append(isRunIntegrationTests()).append("\n");
+ configuration.append("\tStandalone: ").append(isStandalone()).append("\n");
+ configuration.append("\tTest Launcher: ").append(getTestLauncher()).append("\n");
+ configuration.append("\tStandalone Tests Pacakge Names: ").append(getStandaloneTestPackageNames()).append("\n");
+
+ return configuration.toString();
+ }
-
}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/PropertiesBasedConfigurationImpl.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/PropertiesBasedConfigurationImpl.java 2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/PropertiesBasedConfigurationImpl.java 2009-02-09 13:13:29 UTC (rev 1467)
@@ -2,6 +2,7 @@
import javax.context.Context;
+import org.jboss.jsr299.tck.api.Configurable;
import org.jboss.jsr299.tck.api.TestLauncher;
import org.jboss.jsr299.tck.impl.util.DeploymentProperties;
import org.jboss.jsr299.tck.spi.Beans;
@@ -24,25 +25,34 @@
setStandalone(deploymentProperties.getBooleanValue(STANDALONE_PROPERTY_NAME, DEFAULT_STANDALONE, false));
setRunIntegrationTests(deploymentProperties.getBooleanValue(RUN_INTEGRATION_TESTS_PROPERTY_NAME, DEFAULT_RUN_INTEGRATION_TESTS, false));
setDeploymentDelay(deploymentProperties.getIntValue(DEPLOYMENT_DELAY_PROPERTY_NAME, DEFAULT_DEPLOYMENT_DELAY, false));
- setWriteDeployedArchivesToDisk(deploymentProperties.getBooleanValue(WRITE_DEPLOYED_ARCHIVES_TO_DISK_PROPERTY_NAME, DEFAULT_WRITE_DEPLOYED_ARCHIVES_TO_DISK, false));
setLibraryDirectory(deploymentProperties.getStringValue(LIBRARY_DIRECTORY_PROPERTY_NAME, DEFAULT_LIBRARY_DIRECTORY, false));
-
+ setHost(deploymentProperties.getStringValue(HOST_PROPERTY_NAME, DEFAULT_HOST, false));
}
public PropertiesBasedConfigurationImpl loadSPIImplementation()
{
- setInContainerTestLauncher(deploymentProperties.getInstanceValue(TestLauncher.PROPERTY_NAME, TestLauncher.class, isRunIntegrationTests() || !isStandalone()));
- setManagers(deploymentProperties.getInstanceValue(Managers.PROPERTY_NAME, Managers.class, true));
- setContainers(deploymentProperties.getInstanceValue(Containers.PROPERTY_NAME, Containers.class, !isStandalone() || isRunIntegrationTests()));
- setStandaloneContainers(deploymentProperties.getInstanceValue(StandaloneContainers.PROPERTY_NAME, StandaloneContainers.class, isStandalone()));
- setBeans(deploymentProperties.getInstanceValue(Beans.PROPERTY_NAME, Beans.class, true));
- setEl(deploymentProperties.getInstanceValue(EL.PROPERTY_NAME, EL.class, true));
+ setInContainerTestLauncher(getInstanceValue(TestLauncher.PROPERTY_NAME, TestLauncher.class, isRunIntegrationTests() || !isStandalone()));
+ setManagers(getInstanceValue(Managers.PROPERTY_NAME, Managers.class, true));
+ setContainers(getInstanceValue(Containers.PROPERTY_NAME, Containers.class, !isStandalone() || isRunIntegrationTests()));
+ setStandaloneContainers(getInstanceValue(StandaloneContainers.PROPERTY_NAME, StandaloneContainers.class, isStandalone()));
+ setBeans(getInstanceValue(Beans.PROPERTY_NAME, Beans.class, true));
+ setEl(getInstanceValue(EL.PROPERTY_NAME, EL.class, true));
@SuppressWarnings("unchecked")
- Contexts<? extends Context> instanceValue = deploymentProperties.getInstanceValue(Contexts.PROPERTY_NAME, Contexts.class, true);
+ Contexts<? extends Context> instanceValue = getInstanceValue(Contexts.PROPERTY_NAME, Contexts.class, true);
setContexts(instanceValue);
return this;
}
+ private <T> T getInstanceValue(String propertyName, Class<T> expectedType, boolean required)
+ {
+ T instance = deploymentProperties.getInstanceValue(propertyName, expectedType, required);
+ if (instance instanceof Configurable)
+ {
+ ((Configurable) instance).setConfiguration(this);
+ }
+ return instance;
+ }
+
}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/TCKImpl.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/TCKImpl.java 2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/TCKImpl.java 2009-02-09 13:13:29 UTC (rev 1467)
@@ -75,7 +75,7 @@
}
for (ITestResult result : suiteLauncher.getResults())
{
- log.error(result);
+ log.info(result);
}
}
@@ -85,7 +85,6 @@
{
Configuration configuration = new PropertiesBasedConfigurationImpl();
configuration.setStandalone(false);
- configuration.setWriteDeployedArchivesToDisk(true);
new ArtifactGenerator(configuration).dumpArtifacts();
}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ArtifactScanner.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ArtifactScanner.java 2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ArtifactScanner.java 2009-02-09 13:13:29 UTC (rev 1467)
@@ -24,12 +24,14 @@
private static final Logger log = Logger.getLogger(ArtifactScanner.class);
private final String packageName;
+ private final String packageNameAsPath;
private final Set<Class<?>> classes = new HashSet<Class<?>>();
public ArtifactScanner(String packageName)
{
this.packageName = packageName;
+ this.packageNameAsPath = packageName.replace(".", "/");
}
private void scan()
@@ -37,8 +39,8 @@
try
{
Set<String> paths = new HashSet<String>();
- String packageName = this.packageName.replace(".", "/");
- for (URL url : loadResources(packageName))
+
+ for (URL url : loadResources(packageNameAsPath))
{
String urlPath = url.getFile();
urlPath = URLDecoder.decode(urlPath, "UTF-8");
@@ -81,10 +83,9 @@
{
ZipEntry entry = entries.nextElement();
String name = entry.getName();
- if (name.startsWith(packageName) && name.endsWith(".class"))
+ if (name.startsWith(packageNameAsPath) && name.endsWith(".class"))
{
- String className = name.replace("/", ".").replace(".class", "");
- classes.add(Reflections.loadClass(className));
+ addClass(name.replace(".class", "").replace("/", "."));
}
}
}
@@ -106,16 +107,8 @@
}
else if (file.getName().endsWith(".class") && ! file.getName().contains("$"))
{
- String className = packageName + "." + file.getName().substring(0, file.getName().length() - 6);
- Class<?> clazz = Reflections.loadClass(className);
- if (clazz != null && clazz.isAnnotationPresent(Artifact.class) || clazz.isAnnotationPresent(EjbArtifact.class))
- {
- classes.add(clazz);
- }
- else if (clazz == null)
- {
- log.warn("Unable to load class " + className);
- }
+ addClass(packageName + "." + file.getName().replace(".class", ""));
+
}
else if (file.getName().endsWith(".jar"))
{
@@ -123,6 +116,19 @@
}
}
+ private void addClass(String className)
+ {
+ Class<?> clazz = Reflections.loadClass(className);
+ if (clazz != null && clazz.isAnnotationPresent(Artifact.class) || clazz.isAnnotationPresent(EjbArtifact.class))
+ {
+ classes.add(clazz);
+ }
+ else if (clazz == null)
+ {
+ log.warn("Unable to load class " + className);
+ }
+ }
+
public Set<Class<?>> getClasses()
{
scan();
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/TestSuiteLauncher.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/TestSuiteLauncher.java 2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/TestSuiteLauncher.java 2009-02-09 13:13:29 UTC (rev 1467)
@@ -13,22 +13,29 @@
{
private final Configuration configuration;
- private final List<ITestResult> results;
+ private final List<ITestResult> contexts;
public TestSuiteLauncher(Configuration configuration)
{
this.configuration = configuration;
- this.results = new ArrayList<ITestResult>();
+ this.contexts = new ArrayList<ITestResult>();
}
public void run() throws Exception
{
List<ArtifactDescriptor> artifacts = new ArtifactGenerator(configuration).createArtifacts();
- System.out.println(artifacts);
for (ArtifactDescriptor artifact : artifacts)
{
- deployArtifact(artifact);
- results.addAll(configuration.getInContainerTestLauncher().launchTest(configuration, artifact.getDeclaringClass()));
+ try
+ {
+ deployArtifact(artifact);
+ Thread.sleep(configuration.getDeploymentDelay());
+ contexts.addAll(configuration.getInContainerTestLauncher().launchTest(configuration, artifact.getDeclaringClass()));
+ }
+ finally
+ {
+ configuration.getContainers().undeploy(artifact.getDefaultName());
+ }
}
}
@@ -37,19 +44,11 @@
InputStream jar = artifact.getJar();
configuration.getContainers().deploy(jar, artifact.getDefaultName());
jar.close();
- try
- {
- Thread.sleep(configuration.getDeploymentDelay());
- }
- catch (InterruptedException e)
- {
- Thread.interrupted();
- }
}
public List<ITestResult> getResults()
{
- return results;
+ return contexts;
}
}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/servlet/ServletTestLauncher.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/servlet/ServletTestLauncher.java 2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/servlet/ServletTestLauncher.java 2009-02-09 13:13:29 UTC (rev 1467)
@@ -1,22 +1,20 @@
package org.jboss.jsr299.tck.impl.runner.servlet;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
import java.io.ObjectInputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
-import java.util.Collection;
import java.util.List;
import org.jboss.jsr299.tck.api.Configuration;
import org.jboss.jsr299.tck.api.TestLauncher;
+import org.testng.ITestContext;
import org.testng.ITestResult;
public class ServletTestLauncher implements TestLauncher
{
- public Collection<ITestResult> launchTest(Configuration configuration, Class<?> testClass) throws Exception
+ public List<ITestResult> launchTest(Configuration configuration, Class<?> testClass) throws Exception
{
String url = "http://" + configuration.getHost() + "/" + testClass.getName() + "/?outputMode=serializedObject";
URLConnection connection = new URL(url).openConnection();
@@ -25,27 +23,26 @@
throw new IllegalStateException("Not an http connection! " + connection);
}
HttpURLConnection httpConnection = (HttpURLConnection) connection;
+ httpConnection.setUseCaches(false);
+ httpConnection.setDefaultUseCaches(false);
httpConnection.connect();
if (httpConnection.getResponseCode() == HttpURLConnection.HTTP_OK)
{
- Object o = new ObjectInputStream(httpConnection.getInputStream()).readObject();
- if (!(o instanceof List))
+ ObjectInputStream ois = new ObjectInputStream(httpConnection.getInputStream());
+ Object o = ois.readObject();
+ ois.close();
+ if (o instanceof ITestContext)
{
- throw new IllegalStateException("Error reading test results - expected a List<TestResult> but got " + o);
+ throw new IllegalStateException("Error reading test results - expected a ITestContext but got " + o);
}
List<ITestResult> results = (List<ITestResult>) o;
+ httpConnection.disconnect();
return results;
}
else
{
- throw new IllegalStateException("Error launching test " + httpConnection.getResponseMessage());
+ throw new IllegalStateException("Error launching test " + testClass.getName() + " at " + url + ". Got " + httpConnection.getResponseCode() + " ("+ httpConnection.getResponseMessage() + ")");
}
}
- private Object deserialize(byte[] bytes) throws IOException, ClassNotFoundException
- {
- ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(bytes));
- return in.readObject();
- }
-
}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/servlet/ServletTestRunner.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/servlet/ServletTestRunner.java 2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/servlet/ServletTestRunner.java 2009-02-09 13:13:29 UTC (rev 1467)
@@ -3,6 +3,8 @@
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.PrintWriter;
+import java.util.ArrayList;
+import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
@@ -24,9 +26,10 @@
TestRunner runner = new TestRunner();
ITestContext context = runner.run();
String outputMode;
- if (req.getAttribute("outputMode") != null)
+ if (req.getParameter("outputMode") != null)
{
- outputMode = (String) req.getAttribute("outputMode");
+ outputMode = (String) req.getParameter("outputMode");
+ System.out.println("Outputting as " + outputMode);
}
else
{
@@ -76,9 +79,14 @@
}
else if (outputMode.equals("serializedObject"))
{
- resp.setContentType("application/octet-stream");
+ List<ITestResult> results = new ArrayList<ITestResult>();
+ results.addAll(context.getFailedTests().getAllResults());
+ results.addAll(context.getPassedTests().getAllResults());
resp.setStatus(HttpServletResponse.SC_OK);
- new ObjectOutputStream(resp.getOutputStream()).writeObject(context);
+ ObjectOutputStream oos = new ObjectOutputStream(resp.getOutputStream());
+ oos.writeObject(results);
+ oos.flush();
+ oos.close();
}
else
{
Modified: tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/impl/packaging/war/default/web.xml
===================================================================
--- tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/impl/packaging/war/default/web.xml 2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/impl/packaging/war/default/web.xml 2009-02-09 13:13:29 UTC (rev 1467)
@@ -9,12 +9,12 @@
<servlet>
<servlet-name>JSR-299 TCK Test Runner</servlet-name>
- <servlet-class>org.jboss.jsr299.tck.runner.servlet.ServletTestRunner</servlet-class>
+ <servlet-class>org.jboss.jsr299.tck.impl.runner.servlet.ServletTestRunner</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>JSR-299 TCK Test Runner</servlet-name>
- <url-pattern>*.tck</url-pattern>
+ <url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
Modified: tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/descriptors/tck/TCKArtifactTest.java
===================================================================
--- tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/descriptors/tck/TCKArtifactTest.java 2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/descriptors/tck/TCKArtifactTest.java 2009-02-09 13:13:29 UTC (rev 1467)
@@ -18,7 +18,6 @@
@Test
public void testTCKSupportJar() throws Exception
{
- System.out.println("test");
ArtifactDescriptor artifactDescriptor = new WarArtifactDescriptor(DummyTest.class, null);
File root = artifactDescriptor.getExplodedJar();
File tckSupportJar = new File(root, "WEB-INF/lib/tck-support.jar");
Modified: tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/scanner/ArtifactScannerTest.java
===================================================================
--- tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/scanner/ArtifactScannerTest.java 2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/scanner/ArtifactScannerTest.java 2009-02-09 13:13:29 UTC (rev 1467)
@@ -5,6 +5,7 @@
import java.util.Set;
import org.jboss.jsr299.tck.api.Configuration;
+import org.jboss.jsr299.tck.impl.ConfigurationImpl;
import org.jboss.jsr299.tck.impl.packaging.ArtifactDescriptor;
import org.jboss.jsr299.tck.impl.packaging.ArtifactGenerator;
import org.jboss.jsr299.tck.impl.packaging.ArtifactScanner;
@@ -27,7 +28,7 @@
}
@Test
- public void testArtifactGenerator() throws Exception
+ public void testMockArtifactGenerator() throws Exception
{
Configuration configuration = new MockConfiguration()
{
@@ -61,6 +62,27 @@
}
}
+ @Test
+ public void testConfiguration() throws Exception
+ {
+ Configuration configuration = new MockConfiguration();
+ configuration.setStandalone(false);
+ assert configuration.getInContainerTestPackageNames().size() == 2;
+ assert configuration.getInContainerTestPackageNames().contains(ConfigurationImpl.INTEGRATION_TEST_PACKAGE_NAME);
+ assert configuration.getInContainerTestPackageNames().contains(ConfigurationImpl.UNIT_TEST_PACKAGE_NAME);
+
+ configuration.setStandalone(true);
+ assert configuration.getInContainerTestPackageNames().size() == 1;
+ assert configuration.getInContainerTestPackageNames().contains(ConfigurationImpl.INTEGRATION_TEST_PACKAGE_NAME);
+ }
+ @Test
+ public void testArtifactGenerator() throws Exception
+ {
+ Configuration configuration = new MockConfiguration();
+ assert new ArtifactGenerator(configuration).createArtifacts().size() > 0;
+ configuration.setStandalone(true);
+ //assert new ArtifactGenerator(configuration).createArtifacts().size() > 0;
+ }
}
17 years, 2 months
[webbeans-commits] Webbeans SVN: r1466 - doc/trunk/reference/de-DE.
by webbeans-commits@lists.jboss.org
Author: jdimanos
Date: 2009-02-09 06:22:26 -0500 (Mon, 09 Feb 2009)
New Revision: 1466
Modified:
doc/trunk/reference/de-DE/events.po
Log:
update
Modified: doc/trunk/reference/de-DE/events.po
===================================================================
--- doc/trunk/reference/de-DE/events.po 2009-02-09 09:57:27 UTC (rev 1465)
+++ doc/trunk/reference/de-DE/events.po 2009-02-09 11:22:26 UTC (rev 1466)
@@ -7,7 +7,7 @@
"Project-Id-Version: events\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-10 14:18+0000\n"
-"PO-Revision-Date: 2009-01-24 15:19+1100\n"
+"PO-Revision-Date: 2009-02-09 22:13+1100\n"
"Last-Translator: \n"
"Language-Team: <en(a)li.org>\n"
"MIME-Version: 1.0\n"
@@ -31,6 +31,8 @@
"Bean manager. This basic schema might sound like the familiar observer/"
"observable pattern, but there are a couple of twists:"
msgstr ""
+"Die Web Beans Ereignisbenachrichtigungs-Facility gestattet es Web Beans auf eine völlig abgekoppelte "
+"Weise zu interagieren. Ereignis <emphasis>Producer</emphasis> bringen Ereignisse auf, die dann vom Web Bean Manager an Ereignis <emphasis>Observer</emphasis> geliefert werden. Dieses schlichte Schema klingt zwar etwas nach dem bekannten Observer/observierbar Muster, aber es gibt ein paar Überraschungen:"
#. Tag: para
#: events.xml:14
@@ -38,7 +40,7 @@
msgid ""
"not only are event producers decoupled from observers; observers are "
"completely decoupled from producers,"
-msgstr ""
+msgstr "nicht nur sind Ereignis-Producer von Observern abgekoppelt, Observer sind auch komplett von Producern abgekoppelt, "
#. Tag: para
#: events.xml:18
@@ -46,7 +48,7 @@
msgid ""
"observers can specify a combination of \"selectors\" to narrow the set of "
"event notifications they will receive, and"
-msgstr ""
+msgstr "Observer können eine Kombination von \"Selektoren\" festlegen, um den Satz von Ereignisbenachrichtigungen einzugrenzen, die sie erhalten und "
#. Tag: para
#: events.xml:22
@@ -54,13 +56,13 @@
msgid ""
"observers can be notified immediately, or can specify that delivery of the "
"event should be delayed until the end of the current transaction"
-msgstr ""
+msgstr "Observer können sofort benachrichtigt werden oder sie können festlegen, dass die Lieferung des Ereignisses bis zum Abschluss der aktuellen Transaktion verschoben wird "
#. Tag: title
#: events.xml:28
#, no-c-format
msgid "Event observers"
-msgstr ""
+msgstr "Ereignis-Observer"
#. Tag: para
#: events.xml:30
@@ -68,7 +70,7 @@
msgid ""
"An <emphasis>observer method</emphasis> is a method of a Web Bean with a "
"parameter annotated <literal>@Observes</literal>."
-msgstr ""
+msgstr "Eine <emphasis>Observer-Methode</emphasis> ist eine Methode eines Web Beans mit einem Parameter, der <literal>@Observes</literal> annotiert ist."
#. Tag: programlisting
#: events.xml:33
@@ -90,6 +92,9 @@
"instances of Web Beans binding types. When a binding type is used as an "
"event selector, it is called an <emphasis>event binding type</emphasis>."
msgstr ""
+"Der annotierte Parameter heißt <emphasis>Ereignisparameter</emphasis>. "
+"Der Typ des Ereignisparameter ist der beobachtete <emphasis>Ereignistyp</"
+"emphasis>. Observer-Methoden können auch \"Selektoren\" festlegen, die nur Instanzen von von Web Beans Binding-Typen sind. Wird ein Binding-Typ als Ereignis-Selektor verwendet, so wird dies als <emphasis>Ereignis Binding-Typ</emphasis>."
#. Tag: programlisting
#: events.xml:41
@@ -111,7 +116,7 @@
msgid ""
"We specify the event bindings of the observer method by annotating the event "
"parameter:"
-msgstr ""
+msgstr "Wir legen die Ereignis-Bindings der Observer-Methode durch Annotation des Ereignisparameters fest:"
#. Tag: programlisting
#: events.xml:46 events.xml:190
@@ -131,7 +136,7 @@
"is interested in <emphasis>all</emphasis> events of a particular type. If it "
"does specify event bindings, it is only interested in events which also have "
"those event bindings."
-msgstr ""
+msgstr "Eine Observer-Methode muss keine Ereignis-Bindings — festlegen, in diesem Fall interessiert sie sich für <emphasis>alle</emphasis> Ereignisse eines bestimmten Typs. Legt sie Ereignis-Bindings fest, so interessiert sie sich nur für Ereignisse, die diese Ereignis-Bindings besitzen."
#. Tag: para
#: events.xml:53
17 years, 2 months
[webbeans-commits] Webbeans SVN: r1465 - doc/trunk/reference/de-DE.
by webbeans-commits@lists.jboss.org
Author: jdimanos
Date: 2009-02-09 04:57:27 -0500 (Mon, 09 Feb 2009)
New Revision: 1465
Modified:
doc/trunk/reference/de-DE/ee.po
Log:
update
Modified: doc/trunk/reference/de-DE/ee.po
===================================================================
--- doc/trunk/reference/de-DE/ee.po 2009-02-09 07:58:39 UTC (rev 1464)
+++ doc/trunk/reference/de-DE/ee.po 2009-02-09 09:57:27 UTC (rev 1465)
@@ -7,7 +7,7 @@
"Project-Id-Version: ee\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-10 14:18+0000\n"
-"PO-Revision-Date: 2009-02-07 20:02+1100\n"
+"PO-Revision-Date: 2009-02-09 20:55+1100\n"
"Last-Translator: \n"
"Language-Team: <en(a)li.org>\n"
"MIME-Version: 1.0\n"
@@ -301,7 +301,7 @@
"Web Beans takes care of all this for us. All we need to do is declare the "
"queue or topic in <literal>web-beans.xml</literal>, specifying an associated "
"binding type and connection factory."
-msgstr ""
+msgstr "Web Beans übernehmen all das für uns. Das Einzige, was wir tun müssen ist unsere Warteschlange oder unser Topic in <literal>web-beans.xml</literal> zu deklarieren und einen assoziierten Binding-Typ und eine Connection-Factory festzulegen."
#. Tag: programlisting
#: ee.xml:86
@@ -349,6 +349,11 @@
"<literal>TopicConnection</literal>, <literal>TopicSession</literal> or "
"<literal>TopicPublisher</literal> for a topic."
msgstr ""
+"Jetzt können wir einfach <literal>Queue</literal>, "
+"<literal>QueueConnection</literal>, <literal>QueueSession</literal> oder "
+"<literal>QueueSender</literal> für eine Warteschlange oder aber <literal>Topic</literal>, "
+"<literal>TopicConnection</literal>, <literal>TopicSession</literal> oder "
+"<literal>TopicPublisher</literal> für ein Topic einspeisen."
#. Tag: programlisting
#: ee.xml:96
@@ -396,13 +401,13 @@
msgid ""
"The lifecycle of the injected JMS objects is completely controlled by the "
"Web Bean manager."
-msgstr ""
+msgstr "Der Lebenszyklus der eingespeisten JMS-Objekte wird komplett durch den Web Bean Manager gesteuert."
#. Tag: title
#: ee.xml:106
#, no-c-format
msgid "Packaging and deployment"
-msgstr ""
+msgstr "Packen und Deployment"
#. Tag: para
#: ee.xml:108
@@ -416,6 +421,10 @@
"empty. Web Beans deployed in archives that do not have a <literal>web-beans."
"xml</literal> file will not be available for use in the application."
msgstr ""
+"Web Beans definiert kein spezielles Deployment-Archiv. Sie können Web "
+"Beans in JARs, EJB-JARs oder WARs — verpacken, jedem Deployment Speicherort im Klassenpfad der Anwendung. Allerdings muss jedes Web Beans enthaltene Archiv eine Datei namens <literal>web-beans.xml</literal> im <literal>META-"
+"INF</literal> oder <literal>WEB-INF</literal>-Verzeichnis enthalten. Die Datei kann leer sein. Web Beans die in Archiven deployt werden, die keine <literal>web-beans."
+"xml</literal>-Datei enthalten, sind nicht für die Verwendung in der Anwendung verfügbar."
#. Tag: para
#: ee.xml:116
@@ -425,4 +434,7 @@
"EJBs may be deployed for execution by the embeddable EJB Lite container. "
"Again, each location must contain a <literal>web-beans.xml</literal> file."
msgstr ""
+"Für die Java SE Ausführung können Web Beans an einem beliebigen Speicherort deployt werden, in welchem "
+"EJBs zur Ausführung durch den einbettbaren EJB Lite Container deployt werden können. "
+"Auch hier muss jeder Speicherort eine <literal>web-beans.xml</literal>-Datei enthalten."
17 years, 2 months
[webbeans-commits] Webbeans SVN: r1464 - in ri/trunk/webbeans-ri/src/main: java/org/jboss/webbeans/context/beanmap and 3 other directories.
by webbeans-commits@lists.jboss.org
Author: nickarls
Date: 2009-02-09 02:58:39 -0500 (Mon, 09 Feb 2009)
New Revision: 1464
Added:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/jsf/WebBeansPhaseListener.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/HttpSessionBeanMap.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/WebBeansServletFilter.java
Removed:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/SessionBeanMap.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/SessionManager.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanmap/AbstractBeanMap.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanmap/BeanMap.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ConversationBeanMap.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletLifecycle.java
ri/trunk/webbeans-ri/src/main/resources/META-INF/faces-config.xml
Log:
* Some fixes to conversation propagation
* Some renames (Session -> HttpSession)
* Fix for conversation/session removing stuff not in their namespace
* Skeleton of redirect filter
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java 2009-02-08 22:52:28 UTC (rev 1463)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java 2009-02-09 07:58:39 UTC (rev 1464)
@@ -17,8 +17,6 @@
package org.jboss.webbeans.bootstrap;
-
-
import org.jboss.webbeans.BeanValidator;
import org.jboss.webbeans.CurrentManager;
import org.jboss.webbeans.ManagerImpl;
@@ -37,7 +35,7 @@
import org.jboss.webbeans.log.Logging;
import org.jboss.webbeans.resources.spi.NamingContext;
import org.jboss.webbeans.resources.spi.ResourceLoader;
-import org.jboss.webbeans.servlet.SessionManager;
+import org.jboss.webbeans.servlet.HttpSessionManager;
import org.jboss.webbeans.transaction.Transaction;
/**
@@ -106,7 +104,7 @@
beanDeployer.addClass(ServletConversationManager.class);
beanDeployer.addClass(JavaSEConversationTerminator.class);
beanDeployer.addClass(NumericConversationIdGenerator.class);
- beanDeployer.addClass(SessionManager.class);
+ beanDeployer.addClass(HttpSessionManager.class);
beanDeployer.deploy();
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanmap/AbstractBeanMap.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanmap/AbstractBeanMap.java 2009-02-08 22:52:28 UTC (rev 1463)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanmap/AbstractBeanMap.java 2009-02-09 07:58:39 UTC (rev 1464)
@@ -27,13 +27,14 @@
import org.jboss.webbeans.log.LogProvider;
import org.jboss.webbeans.log.Logging;
import org.jboss.webbeans.servlet.ApplicationBeanMap;
+import org.jboss.webbeans.util.EnumerationIterable;
import org.jboss.webbeans.util.Names;
/**
* Provides common BeanMap operations
*
* @author Nicklas Karlsson
- *
+ *
*/
public abstract class AbstractBeanMap implements BeanMap
{
@@ -75,12 +76,9 @@
*/
public void clear()
{
- Enumeration<String> names = getAttributeNames();
- while (names.hasMoreElements())
+ for (String name : getFilteredAttributeNames())
{
- String name = (String) names.nextElement();
removeAttribute(name);
- log.trace("Cleared " + name);
}
log.trace("Bean Map cleared");
}
@@ -93,18 +91,31 @@
public Iterable<Contextual<? extends Object>> keySet()
{
List<Contextual<?>> beans = new ArrayList<Contextual<?>>();
- Enumeration<String> names = getAttributeNames();
- while (names.hasMoreElements())
+ for (String name : getFilteredAttributeNames())
{
- String name = (String) names.nextElement();
- if (name.startsWith(getKeyPrefix()))
+ String id = name.substring(getKeyPrefix().length() + 1);
+ Contextual<?> bean = CurrentManager.rootManager().getBeans().get(Integer.parseInt(id));
+ beans.add(bean);
+ }
+ return beans;
+ }
+
+ /**
+ * Gets the list of attribute names that is held by the bean map
+ *
+ * @return The list of attribute names
+ */
+ private List<String> getFilteredAttributeNames()
+ {
+ List<String> attributeNames = new ArrayList<String>();
+ for (String attributeName : new EnumerationIterable<String>(getAttributeNames()))
+ {
+ if (attributeName.startsWith(getKeyPrefix()))
{
- String id = name.substring(getKeyPrefix().length() + 1);
- Contextual<?> bean = CurrentManager.rootManager().getBeans().get(Integer.parseInt(id));
- beans.add(bean);
+ attributeNames.add(attributeName);
}
}
- return beans;
+ return attributeNames;
}
/**
@@ -137,9 +148,9 @@
protected abstract void removeAttribute(String key);
/**
- * Gets an enumeration of the beans present in the underlying storage
+ * Gets an enumeration of the attribute names present in the underlying storage
*
- * @return The current beans
+ * @return The attribute names
*/
protected abstract Enumeration<String> getAttributeNames();
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanmap/BeanMap.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanmap/BeanMap.java 2009-02-08 22:52:28 UTC (rev 1463)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanmap/BeanMap.java 2009-02-09 07:58:39 UTC (rev 1464)
@@ -27,7 +27,7 @@
* @author Nicklas Karlsson
*
* @see org.jboss.webbeans.context.beanmap.SimpleBeanMap
- * @see org.jboss.webbeans.servlet.SessionBeanMap
+ * @see org.jboss.webbeans.servlet.HttpSessionBeanMap
*/
public interface BeanMap
{
Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/jsf/WebBeansPhaseListener.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/jsf/WebBeansPhaseListener.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/jsf/WebBeansPhaseListener.java 2009-02-09 07:58:39 UTC (rev 1464)
@@ -0,0 +1,146 @@
+/*
+ * 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.jsf;
+
+import javax.context.Conversation;
+import javax.faces.component.UIViewRoot;
+import javax.faces.component.html.HtmlInputHidden;
+import javax.faces.context.FacesContext;
+import javax.faces.event.PhaseEvent;
+import javax.faces.event.PhaseId;
+import javax.faces.event.PhaseListener;
+
+import org.jboss.webbeans.CurrentManager;
+import org.jboss.webbeans.conversation.ConversationManager;
+import org.jboss.webbeans.log.LogProvider;
+import org.jboss.webbeans.log.Logging;
+import org.jboss.webbeans.servlet.ServletLifecycle;
+
+/**
+ * A phase listener for propagating conversation id over postbacks through a hidden component
+ *
+ * @author Nicklas Karlsson
+ *
+ */
+public class WebBeansPhaseListener implements PhaseListener
+{
+ // The ID/name of the conversation-propagating component
+ private static final String CONVERSATION_PROPAGATION_COMPONENT = "jboss_org_webbeans_conversation_propagation";
+
+ private static LogProvider log = Logging.getLogProvider(ServletLifecycle.class);
+
+ /**
+ * Indicates if we are in a JSF postback or not
+ *
+ * @return True if postback, false otherwise
+ */
+ private boolean isPostback()
+ {
+ return FacesContext.getCurrentInstance().getRenderKit().getResponseStateManager().isPostback(FacesContext.getCurrentInstance());
+ }
+
+ public void afterPhase(PhaseEvent phaseEvent)
+ {
+ // If we are restoring a view and we are in a postback
+ if (phaseEvent.getPhaseId().equals(PhaseId.RESTORE_VIEW) && isPostback())
+ {
+ log.trace("Processing after RESTORE_VIEW phase");
+ HtmlInputHidden propagationComponent = getPropagationComponent(phaseEvent.getFacesContext().getViewRoot());
+ // Resume the conversation if the propagation component can be found
+ if (propagationComponent != null)
+ {
+ log.trace("Propagation component found");
+ String cid = propagationComponent.getValue().toString();
+ ConversationManager conversationManager = CurrentManager.rootManager().getInstanceByType(ConversationManager.class);
+ conversationManager.beginOrRestoreConversation(cid);
+ }
+ }
+ }
+
+ public void beforePhase(PhaseEvent phaseEvent)
+ {
+ if (phaseEvent.getPhaseId().equals(PhaseId.RENDER_RESPONSE) && isPostback())
+ {
+ // If we are rendering the response from a postback
+ log.trace("Processing after RENDER_RESPONSE phase");
+ Conversation conversation = CurrentManager.rootManager().getInstanceByType(Conversation.class);
+ // If we are in a long-running conversation, create or update the conversation id
+ // in the propagation component in the view root
+ if (conversation.isLongRunning())
+ {
+ log.trace("Updating propagation for " + conversation);
+ createOrUpdatePropagationComponent(phaseEvent.getFacesContext(), conversation.getId());
+ }
+ else
+ {
+ // Otherwise, remove the component from the view root
+ log.trace("Removing propagation for " + conversation);
+ removePropagationComponent(phaseEvent.getFacesContext().getViewRoot());
+ }
+ }
+ }
+
+ /**
+ * Gets the conversation propagation component
+ *
+ * @param viewRoot The view root to search in
+ * @return The component, or null if it's not present
+ */
+ private HtmlInputHidden getPropagationComponent(UIViewRoot viewRoot)
+ {
+ return (HtmlInputHidden) viewRoot.findComponent(CONVERSATION_PROPAGATION_COMPONENT);
+ }
+
+ /**
+ * Creates or updates the conversation propagation component in the view root
+ *
+ * @param facesContext The faces context
+ * @param cid The conversation id to propagate
+ */
+ private void createOrUpdatePropagationComponent(FacesContext facesContext, String cid)
+ {
+ HtmlInputHidden propagationComponent = getPropagationComponent(facesContext.getViewRoot());
+ // Creates the component if it can't be found
+ if (propagationComponent == null)
+ {
+ propagationComponent = (HtmlInputHidden) facesContext.getApplication().createComponent(HtmlInputHidden.COMPONENT_TYPE);
+ propagationComponent.setId(CONVERSATION_PROPAGATION_COMPONENT);
+ facesContext.getViewRoot().getChildren().add(propagationComponent);
+ }
+ propagationComponent.setValue(cid);
+ }
+
+ /**
+ * Removes the conversation propagation from the view root (if present)
+ *
+ * @param viewRoot The view root to remove the component from
+ */
+ private void removePropagationComponent(UIViewRoot viewRoot)
+ {
+ HtmlInputHidden propagationComponent = getPropagationComponent(viewRoot);
+ if (propagationComponent != null)
+ {
+ viewRoot.getChildren().remove(propagationComponent);
+ }
+ }
+
+ public PhaseId getPhaseId()
+ {
+ return PhaseId.ANY_PHASE;
+ }
+
+}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ConversationBeanMap.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ConversationBeanMap.java 2009-02-08 22:52:28 UTC (rev 1463)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ConversationBeanMap.java 2009-02-09 07:58:39 UTC (rev 1464)
@@ -21,7 +21,7 @@
import org.jboss.webbeans.context.ConversationContext;
-public class ConversationBeanMap extends SessionBeanMap
+public class ConversationBeanMap extends HttpSessionBeanMap
{
private String cid;
Copied: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/HttpSessionBeanMap.java (from rev 1449, ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/SessionBeanMap.java)
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/HttpSessionBeanMap.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/HttpSessionBeanMap.java 2009-02-09 07:58:39 UTC (rev 1464)
@@ -0,0 +1,95 @@
+/*
+ * 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.servlet;
+
+import java.util.Enumeration;
+
+import javax.servlet.http.HttpSession;
+
+import org.jboss.webbeans.context.SessionContext;
+import org.jboss.webbeans.context.beanmap.AbstractBeanMap;
+
+/**
+ * A BeanMap that uses a HTTP session as backing map
+ *
+ * @author Nicklas Karlsson
+ *
+ * @see org.jboss.webbeans.context.ApplicationContext
+ */
+public class HttpSessionBeanMap extends AbstractBeanMap
+{
+ // The HTTP session context to use as backing map
+ private HttpSession session;
+
+ /**
+ * Constructor
+ *
+ * @param session The HTTP session
+ */
+ public HttpSessionBeanMap(HttpSession session)
+ {
+ super();
+ this.session = session;
+ }
+
+ /**
+ * @see org.jboss.webbeans.context.beanmap.AbstractBeanMap#getKeyPrefix()
+ */
+ @Override
+ protected String getKeyPrefix()
+ {
+ return SessionContext.class.getName();
+ }
+
+ /**
+ * @see org.jboss.webbeans.context.beanmap.AbstractBeanMap#getAttribute()
+ */
+ @Override
+ protected Object getAttribute(String key)
+ {
+ return session.getAttribute(key);
+ }
+
+ /**
+ * @see org.jboss.webbeans.context.beanmap.AbstractBeanMap#getAttributeNames()
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ protected Enumeration<String> getAttributeNames()
+ {
+ return session.getAttributeNames();
+ }
+
+ /**
+ * @see org.jboss.webbeans.context.beanmap.AbstractBeanMap#removeAttributes()
+ */
+ @Override
+ protected void removeAttribute(String key)
+ {
+ session.removeAttribute(key);
+ }
+
+ /**
+ * @see org.jboss.webbeans.context.beanmap.AbstractBeanMap#setAttribute()
+ */
+ @Override
+ protected void setAttribute(String key, Object instance)
+ {
+ session.setAttribute(key, instance);
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/HttpSessionBeanMap.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/HttpSessionManager.java (from rev 1449, ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/SessionManager.java)
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/HttpSessionManager.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/HttpSessionManager.java 2009-02-09 07:58:39 UTC (rev 1464)
@@ -0,0 +1,24 @@
+package org.jboss.webbeans.servlet;
+
+import javax.context.RequestScoped;
+import javax.inject.Produces;
+import javax.servlet.http.HttpSession;
+
+@RequestScoped
+public class HttpSessionManager
+{
+ private HttpSession session;
+
+ public void setSession(HttpSession session)
+ {
+ this.session = session;
+ }
+
+ @Produces
+ @RequestScoped
+ HttpSession produceSession()
+ {
+ return session;
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/HttpSessionManager.java
___________________________________________________________________
Name: svn:mergeinfo
+
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-08 22:52:28 UTC (rev 1463)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletLifecycle.java 2009-02-09 07:58:39 UTC (rev 1464)
@@ -51,6 +51,7 @@
*/
public static void beginApplication(ServletContext servletContext)
{
+ log.trace("Application is starting up");
new ServletBootstrap(servletContext).boot();
}
@@ -59,6 +60,7 @@
*/
public static void endApplication()
{
+ log.trace("Application is shutting down");
ApplicationContext.INSTANCE.destroy();
ApplicationContext.INSTANCE.setBeanMap(null);
}
@@ -70,6 +72,7 @@
*/
public static void beginSession(HttpSession session)
{
+ log.trace("Starting session " + session.getId());
}
/**
@@ -79,7 +82,8 @@
*/
public static void endSession(HttpSession session)
{
- SessionContext.INSTANCE.setBeanMap(new SessionBeanMap(session));
+ log.trace("Ending session " + session.getId());
+ SessionContext.INSTANCE.setBeanMap(new HttpSessionBeanMap(session));
SessionContext.INSTANCE.destroy();
SessionContext.INSTANCE.setBeanMap(null);
ConversationManager conversationManager = CurrentManager.rootManager().getInstanceByType(ConversationManager.class);
@@ -95,8 +99,9 @@
*/
public static void beginRequest(HttpServletRequest request)
{
- CurrentManager.rootManager().getInstanceByType(SessionManager.class).setSession(request.getSession());
- SessionContext.INSTANCE.setBeanMap(new SessionBeanMap(request.getSession()));
+ log.trace("Processing HTTP request " + request.getRequestURI() + " begins");
+ CurrentManager.rootManager().getInstanceByType(HttpSessionManager.class).setSession(request.getSession());
+ SessionContext.INSTANCE.setBeanMap(new HttpSessionBeanMap(request.getSession()));
beginConversation(request);
DependentContext.INSTANCE.setActive(true);
}
@@ -116,7 +121,8 @@
*/
public static void endRequest(HttpServletRequest request)
{
- CurrentManager.rootManager().getInstanceByType(SessionManager.class).setSession(null);
+ log.trace("Processing HTTP request " + request.getRequestURI() + " ends");
+ CurrentManager.rootManager().getInstanceByType(HttpSessionManager.class).setSession(null);
CurrentManager.rootManager().getInstanceByType(ConversationManager.class).cleanupConversation();
DependentContext.INSTANCE.setActive(false);
RequestContext.INSTANCE.destroy();
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/SessionBeanMap.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/SessionBeanMap.java 2009-02-08 22:52:28 UTC (rev 1463)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/SessionBeanMap.java 2009-02-09 07:58:39 UTC (rev 1464)
@@ -1,95 +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.webbeans.servlet;
-
-import java.util.Enumeration;
-
-import javax.servlet.http.HttpSession;
-
-import org.jboss.webbeans.context.SessionContext;
-import org.jboss.webbeans.context.beanmap.AbstractBeanMap;
-
-/**
- * A BeanMap that uses a HTTP session as backing map
- *
- * @author Nicklas Karlsson
- *
- * @see org.jboss.webbeans.context.ApplicationContext
- */
-public class SessionBeanMap extends AbstractBeanMap
-{
- // The HTTP session context to use as backing map
- private HttpSession session;
-
- /**
- * Constructor
- *
- * @param session The HTTP session
- */
- public SessionBeanMap(HttpSession session)
- {
- super();
- this.session = session;
- }
-
- /**
- * @see org.jboss.webbeans.context.beanmap.AbstractBeanMap#getKeyPrefix()
- */
- @Override
- protected String getKeyPrefix()
- {
- return SessionContext.class.getName();
- }
-
- /**
- * @see org.jboss.webbeans.context.beanmap.AbstractBeanMap#getAttribute()
- */
- @Override
- protected Object getAttribute(String key)
- {
- return session.getAttribute(key);
- }
-
- /**
- * @see org.jboss.webbeans.context.beanmap.AbstractBeanMap#getAttributeNames()
- */
- @SuppressWarnings("unchecked")
- @Override
- protected Enumeration<String> getAttributeNames()
- {
- return session.getAttributeNames();
- }
-
- /**
- * @see org.jboss.webbeans.context.beanmap.AbstractBeanMap#removeAttributes()
- */
- @Override
- protected void removeAttribute(String key)
- {
- session.removeAttribute(key);
- }
-
- /**
- * @see org.jboss.webbeans.context.beanmap.AbstractBeanMap#setAttribute()
- */
- @Override
- protected void setAttribute(String key, Object instance)
- {
- session.setAttribute(key, instance);
- }
-
-}
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/SessionManager.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/SessionManager.java 2009-02-08 22:52:28 UTC (rev 1463)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/SessionManager.java 2009-02-09 07:58:39 UTC (rev 1464)
@@ -1,24 +0,0 @@
-package org.jboss.webbeans.servlet;
-
-import javax.context.RequestScoped;
-import javax.inject.Produces;
-import javax.servlet.http.HttpSession;
-
-@RequestScoped
-public class SessionManager
-{
- private HttpSession session;
-
- public void setSession(HttpSession session)
- {
- this.session = session;
- }
-
- @Produces
- @RequestScoped
- HttpSession produceSession()
- {
- return session;
- }
-
-}
Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/WebBeansServletFilter.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/WebBeansServletFilter.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/WebBeansServletFilter.java 2009-02-09 07:58:39 UTC (rev 1464)
@@ -0,0 +1,77 @@
+/*
+ * 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.servlet;
+
+import java.io.IOException;
+
+import javax.context.Conversation;
+import javax.faces.context.FacesContext;
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpServletResponseWrapper;
+
+import org.jboss.webbeans.CurrentManager;
+
+/**
+ * Filter for handling conversation propagation over redirects
+ *
+ * @author Nicklas Karlsson
+ *
+ */
+// TODO: Quick and dirty, not for actual usage yet ;-)
+public class WebBeansServletFilter implements Filter
+{
+
+ public void destroy()
+ {
+ }
+
+ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
+ {
+ chain.doFilter(request, wrapResponse((HttpServletResponse) response));
+ }
+
+ private ServletResponse wrapResponse(HttpServletResponse response)
+ {
+ return new HttpServletResponseWrapper(response)
+ {
+ @Override
+ public void sendRedirect(String location) throws IOException
+ {
+ FacesContext context = FacesContext.getCurrentInstance();
+ Conversation conversation = CurrentManager.rootManager().getInstanceByType(Conversation.class);
+ if (conversation.isLongRunning())
+ {
+ location = context.getApplication().getViewHandler().getActionURL(context, location);
+ String appendedConversation = "?cid=" + conversation.getId();
+ location = context.getExternalContext().encodeActionURL(location + appendedConversation);
+ }
+ super.sendRedirect(location);
+ }
+ };
+ }
+
+ public void init(FilterConfig config) throws ServletException
+ {
+ }
+
+}
Modified: ri/trunk/webbeans-ri/src/main/resources/META-INF/faces-config.xml
===================================================================
--- ri/trunk/webbeans-ri/src/main/resources/META-INF/faces-config.xml 2009-02-08 22:52:28 UTC (rev 1463)
+++ ri/trunk/webbeans-ri/src/main/resources/META-INF/faces-config.xml 2009-02-09 07:58:39 UTC (rev 1464)
@@ -7,5 +7,8 @@
<application>
<el-resolver>org.jboss.webbeans.el.WebBeansELResolver</el-resolver>
</application>
-
+ <lifecycle>
+ <phase-listener>org.jboss.webbeans.jsf.WebBeansPhaseListener</phase-listener>
+ </lifecycle>
+
</faces-config>
17 years, 2 months