Author: pete.muir(a)jboss.org
Date: 2009-01-19 12:00:48 -0500 (Mon, 19 Jan 2009)
New Revision: 1085
Added:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/BorderCollie.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/Dog.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/GoldenLabrador.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/GoldenRetriever.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/Horse.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/InheritedDeploymentType.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/Labrador.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/NotInheritedDeploymentType.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/Retriever.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/ShetlandPony.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/GoldenLabrador.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/Labrador.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/NotInheritedScope.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/AnotherDeploymentType.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/DeploymentTypeTest.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/ScopeTypeTest.java
Log:
Add tests and support for deployment type inheritance
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
===================================================================
---
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java 2009-01-19
16:08:06 UTC (rev 1084)
+++
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java 2009-01-19
17:00:48 UTC (rev 1085)
@@ -28,7 +28,6 @@
import javax.webbeans.BindingType;
import javax.webbeans.DefinitionException;
import javax.webbeans.Dependent;
-import javax.webbeans.DeploymentType;
import javax.webbeans.Event;
import javax.webbeans.InjectionPoint;
import javax.webbeans.Named;
@@ -180,20 +179,10 @@
/**
* Initializes the deployment types
*/
- protected void initDeploymentType()
+ protected abstract void initDeploymentType();
+
+ protected void initDeploymentTypeFromStereotype()
{
- Set<Annotation> deploymentTypes =
getAnnotatedItem().getMetaAnnotations(DeploymentType.class);
- if (deploymentTypes.size() > 1)
- {
- throw new DefinitionException("At most one deployment type may be specified
(" + deploymentTypes + " are specified) on " +
getAnnotatedItem().toString());
- }
- if (deploymentTypes.size() == 1)
- {
- this.deploymentType = deploymentTypes.iterator().next().annotationType();
- log.trace("Deployment type " + deploymentType + " specified by
annotation");
- return;
- }
-
AnnotationMap possibleDeploymentTypes =
getMergedStereotypes().getPossibleDeploymentTypes();
if (possibleDeploymentTypes.size() > 0)
{
@@ -201,10 +190,6 @@
log.trace("Deployment type " + deploymentType + " specified by
stereotype");
return;
}
-
- this.deploymentType = getDefaultDeploymentType();
- log.trace("Using default @Production deployment type");
- return;
}
/**
@@ -288,7 +273,7 @@
*/
protected abstract void initScopeType();
- protected boolean initScopeFromStereotype()
+ protected boolean initScopeTypeFromStereotype()
{
Set<Annotation> possibleScopeTypes =
getMergedStereotypes().getPossibleScopeTypes();
if (possibleScopeTypes.size() == 1)
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java
===================================================================
---
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java 2009-01-19
16:08:06 UTC (rev 1084)
+++
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java 2009-01-19
17:00:48 UTC (rev 1085)
@@ -24,6 +24,7 @@
import javax.webbeans.BindingType;
import javax.webbeans.DefinitionException;
import javax.webbeans.Dependent;
+import javax.webbeans.DeploymentType;
import javax.webbeans.Destructor;
import javax.webbeans.Disposes;
import javax.webbeans.Initializer;
@@ -156,33 +157,29 @@
@Override
protected void initScopeType()
{
- Set<Annotation> scopeAnnotations =
getAnnotatedItem().getMetaAnnotations(ScopeType.class);
- if (scopeAnnotations.size() == 1)
+ for (AnnotatedClass<?> clazz = getAnnotatedItem(); clazz != null; clazz =
clazz.getSuperclass())
{
- this.scopeType = scopeAnnotations.iterator().next().annotationType();
- log.trace("Scope " + scopeType + " specified by
annotation");
- return;
- }
- else if (scopeAnnotations.size() > 1)
- {
- for (AnnotatedClass<?> clazz = getAnnotatedItem(); clazz != null; clazz =
clazz.getSuperclass())
+ Set<Annotation> scopeTypes =
clazz.getDeclaredMetaAnnotations(ScopeType.class);
+ scopeTypes = clazz.getDeclaredMetaAnnotations(ScopeType.class);
+ if (scopeTypes.size() == 1)
{
- scopeAnnotations = clazz.getDeclaredMetaAnnotations(ScopeType.class);
- if (scopeAnnotations.size() == 1)
+ if
(getAnnotatedItem().isAnnotationPresent(scopeTypes.iterator().next().annotationType()))
{
- this.scopeType = scopeAnnotations.iterator().next().annotationType();
+ this.scopeType = scopeTypes.iterator().next().annotationType();
log.trace("Scope " + scopeType + " specified by
annotation");
- return;
}
- else if (scopeAnnotations.size() > 1)
- {
- throw new DefinitionException("At most one scope may be
specified");
- }
+ break;
}
-
+ else if (scopeTypes.size() > 1)
+ {
+ throw new DefinitionException("At most one scope may be
specified");
+ }
}
- initScopeFromStereotype();
+ if (this.scopeType == null)
+ {
+ initScopeTypeFromStereotype();
+ }
if (this.scopeType == null)
{
@@ -190,7 +187,41 @@
log.trace("Using default @Dependent scope");
}
}
+
+ @Override
+ protected void initDeploymentType()
+ {
+ for (AnnotatedClass<?> clazz = getAnnotatedItem(); clazz != null; clazz =
clazz.getSuperclass())
+ {
+ Set<Annotation> deploymentTypes =
clazz.getDeclaredMetaAnnotations(DeploymentType.class);
+ if (deploymentTypes.size() == 1)
+ {
+ if
(getAnnotatedItem().isAnnotationPresent(deploymentTypes.iterator().next().annotationType()))
+ {
+ this.deploymentType = deploymentTypes.iterator().next().annotationType();
+ log.trace("Deployment type " + deploymentType + " specified
by annotation");
+ }
+ break;
+ }
+ else if (deploymentTypes.size() > 1)
+ {
+ throw new DefinitionException("At most one scope may be
specified");
+ }
+ }
+ if (this.deploymentType == null)
+ {
+ initDeploymentTypeFromStereotype();
+ }
+
+ if (this.deploymentType == null)
+ {
+ this.deploymentType = getDefaultDeploymentType();
+ log.trace("Using default @Production deployment type");
+ return;
+ }
+ }
+
/**
* Validate that the scope type is allowed by the stereotypes on the bean and
* the bean type
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java
===================================================================
---
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java 2009-01-19
16:08:06 UTC (rev 1084)
+++
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java 2009-01-19
17:00:48 UTC (rev 1085)
@@ -25,6 +25,7 @@
import javax.webbeans.DefinitionException;
import javax.webbeans.Dependent;
+import javax.webbeans.DeploymentType;
import javax.webbeans.IllegalProductException;
import javax.webbeans.Initializer;
import javax.webbeans.Produces;
@@ -222,7 +223,7 @@
return;
}
- initScopeFromStereotype();
+ initScopeTypeFromStereotype();
if (this.scopeType == null)
{
@@ -230,7 +231,32 @@
log.trace("Using default @Dependent scope");
}
}
+
+ @Override
+ protected void initDeploymentType()
+ {
+ Set<Annotation> deploymentTypes =
getAnnotatedItem().getMetaAnnotations(DeploymentType.class);
+ if (deploymentTypes.size() > 1)
+ {
+ throw new DefinitionException("At most one deployment type may be specified
(" + deploymentTypes + " are specified) on " +
getAnnotatedItem().toString());
+ }
+ else if (deploymentTypes.size() == 1)
+ {
+ this.deploymentType = deploymentTypes.iterator().next().annotationType();
+ log.trace("Deployment type " + deploymentType + " specified by
annotation");
+ return;
+ }
+ initDeploymentTypeFromStereotype();
+
+ if (this.deploymentType == null)
+ {
+ this.deploymentType = getDefaultDeploymentType();
+ log.trace("Using default @Production deployment type");
+ return;
+ }
+ }
+
/**
* Gets the receiver of the product
*
Modified:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/AnotherDeploymentType.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/AnotherDeploymentType.java 2009-01-19
16:08:06 UTC (rev 1084)
+++
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/AnotherDeploymentType.java 2009-01-19
17:00:48 UTC (rev 1085)
@@ -5,6 +5,7 @@
import static java.lang.annotation.RetentionPolicy.RUNTIME;
import java.lang.annotation.Documented;
+import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
@@ -14,6 +15,7 @@
@Retention(RUNTIME)
@Documented
@DeploymentType
+@Inherited
@interface AnotherDeploymentType
{
Added:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/BorderCollie.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/BorderCollie.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/BorderCollie.java 2009-01-19
17:00:48 UTC (rev 1085)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.tests.definition.deployment;
+
+class BorderCollie extends Dog
+{
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/BorderCollie.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/DeploymentTypeTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/DeploymentTypeTest.java 2009-01-19
16:08:06 UTC (rev 1084)
+++
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/DeploymentTypeTest.java 2009-01-19
17:00:48 UTC (rev 1085)
@@ -27,7 +27,9 @@
protected List<Class<? extends Annotation>> getEnabledDeploymentTypes()
{
List<Class<? extends Annotation>> deploymentTypes =
super.getStandardDeploymentTypes();
+ deploymentTypes.add(AnotherDeploymentType.class);
deploymentTypes.add(HornedAnimalDeploymentType.class);
+ deploymentTypes.add(NotInheritedDeploymentType.class);
return deploymentTypes;
}
@@ -157,4 +159,29 @@
Bean<Reindeer> bean = createSimpleBean(Reindeer.class);
assert bean.getDeploymentType().equals(Production.class);
}
-}
\ No newline at end of file
+
+ @Test @SpecAssertion(section="4.1")
+ public void testDeploymentTypeDeclaredInheritedIsInherited() throws Exception
+ {
+ assert
createSimpleBean(BorderCollie.class).getDeploymentType().equals(AnotherDeploymentType.class);
+ }
+
+ @Test @SpecAssertion(section="4.1")
+ public void testDeploymentTypeNotDeclaredInheritedIsNotInherited()
+ {
+ assert
createSimpleBean(ShetlandPony.class).getDeploymentType().equals(Production.class);
+ }
+
+ @Test @SpecAssertion(section="4.1")
+ public void
testDeploymentTypeDeclaredInheritedIsBlockedByIntermediateDeploymentTypeNotMarkedInherited()
+ {
+ assert
createSimpleBean(GoldenRetriever.class).getDeploymentType().equals(Production.class);
+ }
+
+ @Test @SpecAssertion(section="4.1")
+ public void
testDeploymentTypeDeclaredInheritedIsBlockedByIntermediateDeploymentTypeMarkedInherited()
+ {
+ assert
createSimpleBean(GoldenLabrador.class).getDeploymentType().equals(InheritedDeploymentType.class);
+ }
+
+}
Added:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/Dog.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/Dog.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/Dog.java 2009-01-19
17:00:48 UTC (rev 1085)
@@ -0,0 +1,8 @@
+package org.jboss.webbeans.tck.tests.definition.deployment;
+
+
+@AnotherDeploymentType
+class Dog
+{
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/Dog.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/GoldenLabrador.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/GoldenLabrador.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/GoldenLabrador.java 2009-01-19
17:00:48 UTC (rev 1085)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.tests.definition.deployment;
+
+class GoldenLabrador extends Labrador
+{
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/GoldenLabrador.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/GoldenRetriever.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/GoldenRetriever.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/GoldenRetriever.java 2009-01-19
17:00:48 UTC (rev 1085)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.tests.definition.deployment;
+
+class GoldenRetriever extends Retriever
+{
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/GoldenRetriever.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/Horse.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/Horse.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/Horse.java 2009-01-19
17:00:48 UTC (rev 1085)
@@ -0,0 +1,8 @@
+package org.jboss.webbeans.tck.tests.definition.deployment;
+
+
+@NotInheritedDeploymentType
+class Horse
+{
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/Horse.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/InheritedDeploymentType.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/InheritedDeploymentType.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/InheritedDeploymentType.java 2009-01-19
17:00:48 UTC (rev 1085)
@@ -0,0 +1,22 @@
+package org.jboss.webbeans.tck.tests.definition.deployment;
+
+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.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.webbeans.DeploymentType;
+
+@Target( { TYPE, METHOD })
+@Retention(RUNTIME)
+@Documented
+@DeploymentType
+@Inherited
+@interface InheritedDeploymentType
+{
+
+}
\ No newline at end of file
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/InheritedDeploymentType.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/Labrador.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/Labrador.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/Labrador.java 2009-01-19
17:00:48 UTC (rev 1085)
@@ -0,0 +1,8 @@
+package org.jboss.webbeans.tck.tests.definition.deployment;
+
+
+@InheritedDeploymentType
+class Labrador extends Dog
+{
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/Labrador.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/NotInheritedDeploymentType.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/NotInheritedDeploymentType.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/NotInheritedDeploymentType.java 2009-01-19
17:00:48 UTC (rev 1085)
@@ -0,0 +1,20 @@
+package org.jboss.webbeans.tck.tests.definition.deployment;
+
+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.webbeans.DeploymentType;
+
+@Target( { TYPE, METHOD })
+@Retention(RUNTIME)
+@Documented
+@DeploymentType
+@interface NotInheritedDeploymentType
+{
+
+}
\ No newline at end of file
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/NotInheritedDeploymentType.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/Retriever.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/Retriever.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/Retriever.java 2009-01-19
17:00:48 UTC (rev 1085)
@@ -0,0 +1,7 @@
+package org.jboss.webbeans.tck.tests.definition.deployment;
+
+@NotInheritedDeploymentType
+class Retriever extends Dog
+{
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/Retriever.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/ShetlandPony.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/ShetlandPony.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/ShetlandPony.java 2009-01-19
17:00:48 UTC (rev 1085)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.tests.definition.deployment;
+
+class ShetlandPony extends Horse
+{
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/deployment/ShetlandPony.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/GoldenLabrador.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/GoldenLabrador.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/GoldenLabrador.java 2009-01-19
17:00:48 UTC (rev 1085)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.tests.definition.scope;
+
+class GoldenLabrador extends Labrador
+{
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/GoldenLabrador.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/Labrador.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/Labrador.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/Labrador.java 2009-01-19
17:00:48 UTC (rev 1085)
@@ -0,0 +1,8 @@
+package org.jboss.webbeans.tck.tests.definition.scope;
+
+
+@NotInheritedScope
+class Labrador extends Dog
+{
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/Labrador.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/NotInheritedScope.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/NotInheritedScope.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/NotInheritedScope.java 2009-01-19
17:00:48 UTC (rev 1085)
@@ -0,0 +1,21 @@
+package org.jboss.webbeans.tck.tests.definition.scope;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.webbeans.ScopeType;
+
+@Target( { TYPE, METHOD, FIELD })
+@Retention(RUNTIME)
+@Documented
+@ScopeType
+@interface NotInheritedScope
+{
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/NotInheritedScope.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/ScopeTypeTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/ScopeTypeTest.java 2009-01-19
16:08:06 UTC (rev 1084)
+++
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/ScopeTypeTest.java 2009-01-19
17:00:48 UTC (rev 1085)
@@ -151,9 +151,15 @@
}
@Test @SpecAssertion(section="4.1")
- public void testScopeTypeDeclaredInheritedIsBlockedByIntermediateClass()
+ public void
testScopeTypeDeclaredInheritedIsBlockedByIntermediateScopeTypeMarkedInherited()
{
assert
createSimpleBean(GoldenRetriever.class).getScopeType().equals(ApplicationScoped.class);
}
+ @Test @SpecAssertion(section="4.1")
+ public void
testScopeTypeDeclaredInheritedIsBlockedByIntermediateScopeTypeNotMarkedInherited()
+ {
+ assert
createSimpleBean(GoldenLabrador.class).getScopeType().equals(Dependent.class);
+ }
+
}
\ No newline at end of file