[weld-commits] Weld SVN: r5222 - in core/trunk/tests/src/test: java/org/jboss/weld/tests/decorators/generic and 2 other directories.

weld-commits at lists.jboss.org weld-commits at lists.jboss.org
Tue Dec 8 02:00:35 EST 2009


Author: marius.bogoevici
Date: 2009-12-08 02:00:33 -0500 (Tue, 08 Dec 2009)
New Revision: 5222

Added:
   core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/
   core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/Decorated.java
   core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/GenericBean.java
   core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/NotDecorated.java
   core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/PartialDecorator.java
   core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/PartialDecoratorTest.java
   core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/TestBean.java
   core/trunk/tests/src/test/resources/org/jboss/weld/tests/decorators/generic/
   core/trunk/tests/src/test/resources/org/jboss/weld/tests/decorators/generic/beans.xml
Log:
Add test for generic decorators. Currently fails.

Added: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/Decorated.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/Decorated.java	                        (rev 0)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/Decorated.java	2009-12-08 07:00:33 UTC (rev 5222)
@@ -0,0 +1,26 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright <Year>, Red Hat, Inc. and/or its affiliates, 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.weld.tests.decorators.generic;
+
+/**
+ * @author Marius Bogoevici
+ */
+public interface Decorated<T>
+{
+   T decoratedEcho(T parameter);
+}
\ No newline at end of file

Copied: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/GenericBean.java (from rev 5221, core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/decoratedTypes/TestBean.java)
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/GenericBean.java	                        (rev 0)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/GenericBean.java	2009-12-08 07:00:33 UTC (rev 5222)
@@ -0,0 +1,39 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright <Year>, Red Hat, Inc. and/or its affiliates, 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.weld.tests.decorators.generic;
+
+/**
+ * @author Marius Bogoevici
+ */
+public class GenericBean<T> implements Decorated<T>, NotDecorated<T>
+{
+   static boolean decoratedInvoked;
+   static boolean notDecoratedInvoked;
+
+   public T notDecoratedEcho(T parameter)
+   {
+      notDecoratedInvoked = true;
+      return parameter;
+   }
+
+   public T decoratedEcho(T parameter)
+   {
+      decoratedInvoked = true;
+      return parameter;
+   }
+}
\ No newline at end of file

Added: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/NotDecorated.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/NotDecorated.java	                        (rev 0)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/NotDecorated.java	2009-12-08 07:00:33 UTC (rev 5222)
@@ -0,0 +1,26 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright <Year>, Red Hat, Inc. and/or its affiliates, 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.weld.tests.decorators.generic;
+
+/**
+ * @author Marius Bogoevici
+ */
+public interface NotDecorated<T>
+{
+   T notDecoratedEcho(T parameter);
+}

Copied: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/PartialDecorator.java (from rev 5221, core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/decoratedTypes/PartialDecorator.java)
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/PartialDecorator.java	                        (rev 0)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/PartialDecorator.java	2009-12-08 07:00:33 UTC (rev 5222)
@@ -0,0 +1,51 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright <Year>, Red Hat, Inc. and/or its affiliates, 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.weld.tests.decorators.generic;
+
+import javax.decorator.Decorator;
+import javax.decorator.Delegate;
+import javax.inject.Inject;
+
+/**
+ * @author Marius Bogoevici
+ */
+ at Decorator
+public class PartialDecorator<T> implements Decorated<T>
+{
+
+   @Inject @Delegate GenericBean<T> delegate;
+
+   static boolean decoratedInvoked;
+
+   static boolean notDecoratedInvoked;
+
+   public T decoratedEcho(T parameter)
+   {
+      decoratedInvoked = true;
+      return delegate.decoratedEcho(parameter);
+   }
+
+   /**
+    * Should not be invoked
+    */
+   public T notDecoratedEcho(T parameter)
+   {
+      notDecoratedInvoked = true;
+      return delegate.notDecoratedEcho(parameter);
+   }
+}
\ No newline at end of file

Copied: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/PartialDecoratorTest.java (from rev 5221, core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/decoratedTypes/PartialDecoratorTest.java)
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/PartialDecoratorTest.java	                        (rev 0)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/PartialDecoratorTest.java	2009-12-08 07:00:33 UTC (rev 5222)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright <Year>, Red Hat, Inc. and/or its affiliates, 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.weld.tests.decorators.generic;
+
+import org.jboss.testharness.impl.packaging.Artifact;
+import org.jboss.testharness.impl.packaging.jsr299.BeansXml;
+import org.jboss.weld.test.AbstractWeldTest;
+import org.testng.annotations.Test;
+
+/**
+ * @author Marius Bogoevici
+ */
+ at Artifact
+ at BeansXml("beans.xml")
+public class PartialDecoratorTest extends AbstractWeldTest
+{
+
+   @Test(groups = "broken")
+   public void testDecoratorDoesNotDecorateOutsideDecoratedTypes()
+   {
+      TestBean testBean = getCurrentManager().getInstanceByType(TestBean.class);
+      testBean.invoke();
+
+      assert PartialDecorator.decoratedInvoked;
+      assert !PartialDecorator.notDecoratedInvoked;
+      assert GenericBean.decoratedInvoked;
+      assert GenericBean.notDecoratedInvoked;
+   }
+}
\ No newline at end of file

Added: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/TestBean.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/TestBean.java	                        (rev 0)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/TestBean.java	2009-12-08 07:00:33 UTC (rev 5222)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright <Year>, Red Hat, Inc. and/or its affiliates, 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.weld.tests.decorators.generic;
+
+import javax.enterprise.context.Dependent;
+import javax.inject.Inject;
+
+/**
+ * @author Marius Bogoevici
+ */
+public class TestBean
+{
+   @Inject @Dependent GenericBean<String> genericBean;
+
+   public void invoke()
+   {
+      genericBean.decoratedEcho("hello");
+      genericBean.notDecoratedEcho("hello");
+   }
+}

Copied: core/trunk/tests/src/test/resources/org/jboss/weld/tests/decorators/generic/beans.xml (from rev 5221, core/trunk/tests/src/test/resources/org/jboss/weld/tests/decorators/decoratedTypes/beans.xml)
===================================================================
--- core/trunk/tests/src/test/resources/org/jboss/weld/tests/decorators/generic/beans.xml	                        (rev 0)
+++ core/trunk/tests/src/test/resources/org/jboss/weld/tests/decorators/generic/beans.xml	2009-12-08 07:00:33 UTC (rev 5222)
@@ -0,0 +1,5 @@
+<beans>
+    <decorators>
+        <decorator>org.jboss.weld.tests.decorators.generic.PartialDecorator</decorator>
+    </decorators>
+</beans>
\ No newline at end of file



More information about the weld-commits mailing list