Author: akazakov
Date: 2011-05-25 20:02:45 -0400 (Wed, 25 May 2011)
New Revision: 31497
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/.classpath
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/.project
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/.settings/
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/.settings/org.eclipse.jdt.core.prefs
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/bin/
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/lib/
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/lib/cdi-api.jar
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/lib/javax.inject.jar
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/lib/jboss-interceptor-api.jar
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/lib/seam-faces-3.0.0.Final.jar
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/src/
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/src/META-INF/
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/src/META-INF/beans.xml
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/src/org/
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/src/org/jboss/
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/src/org/jboss/beans/
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/src/org/jboss/beans/validation/
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/src/org/jboss/beans/validation/test/
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/src/org/jboss/beans/validation/test/MyBean1.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/src/org/jboss/beans/validation/test/MyBean2.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/src/org/jboss/beans/validation/test/Validation.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/src/org/jboss/tools/cdi/seam/faces/core/test/SeamFacesTestSetup.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/src/org/jboss/tools/cdi/seam/faces/core/test/SeamFacesValidationTest.java
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDIConstants.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/validation/ValidationTest.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/META-INF/MANIFEST.MF
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/src/org/jboss/tools/cdi/seam/config/core/test/SeamConfigValidationTest.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/META-INF/MANIFEST.MF
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/build.properties
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/src/org/jboss/tools/cdi/seam/faces/core/test/CDISeamFacesCoreAllTests.java
Log:
https://issues.jboss.org/browse/JBIDE-8576
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDIConstants.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDIConstants.java 2011-05-25
23:42:43 UTC (rev 31496)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDIConstants.java 2011-05-26
00:02:45 UTC (rev 31497)
@@ -93,4 +93,5 @@
public String WELD_BEAN_MANAGER_TYPE_NAME =
"org.jboss.weld.manager.BeanManagerImpl";
+ public String SEAM_FACES_INPUT_FIELD_TYPE_NAME =
"org.jboss.seam.faces.validation.InputField";
}
\ No newline at end of file
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java 2011-05-25
23:42:43 UTC (rev 31496)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java 2011-05-26
00:02:45 UTC (rev 31497)
@@ -21,8 +21,6 @@
import java.util.Set;
import java.util.StringTokenizer;
-import javax.management.ValueExp;
-
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
@@ -37,7 +35,6 @@
import org.eclipse.jdt.core.IAnnotation;
import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jdt.core.IField;
-import org.eclipse.jdt.core.IMemberValuePair;
import org.eclipse.jdt.core.IMethod;
import org.eclipse.jdt.core.ISourceRange;
import org.eclipse.jdt.core.IType;
@@ -89,7 +86,6 @@
import org.jboss.tools.cdi.core.preferences.CDIPreferences;
import org.jboss.tools.cdi.internal.core.impl.CDIProject;
import org.jboss.tools.cdi.internal.core.impl.ParametedType;
-import org.jboss.tools.cdi.internal.core.impl.Parameter;
import org.jboss.tools.cdi.internal.core.impl.SessionBean;
import org.jboss.tools.cdi.internal.core.impl.definition.Dependencies;
import org.jboss.tools.common.model.util.EclipseJavaUtil;
@@ -1339,7 +1335,6 @@
* - injection point other than injected field declares a @Named annotation that does
not specify the value member
*/
if(injection instanceof IInjectionPointParameter) {
-// IInjectionPointParameter pinjection = (IInjectionPointParameter)injection;
IAnnotationDeclaration named =
injection.getAnnotation(CDIConstants.NAMED_QUALIFIER_TYPE_NAME);
if (named != null) {
Object value = named.getMemberValue(null);
@@ -1396,119 +1391,129 @@
* - If an unsatisfied or unresolvable ambiguous dependency exists, the container
automatically detects the problem and treats it as a deployment problem.
*/
IType type = getTypeOfInjection(injection);
- boolean instance = type!=null &&
CDIConstants.INSTANCE_TYPE_NAME.equals(type.getFullyQualifiedName());
- Set<IBean> allBeans = cdiProject.getBeans(false, injection);
- for (IBean bean : allBeans) {
- if(!bean.getBeanClass().isReadOnly()) {
- getValidationContext().addLinkedCoreResource(SHORT_ID,
injection.getSourcePath().toOSString(), bean.getResource().getFullPath(), false);
- }
+ IAnnotationDeclaration faces =
injection.getAnnotation(CDIConstants.SEAM_FACES_INPUT_FIELD_TYPE_NAME);
+ // If the injection point annotated @InputField then don't try to resolve it.
+ // Despite this annotation is from Seam Faces module and is not part of JSR-299
it's much easy to check this annotation here instead of moving this check to Seam
Faces plug-in.
+ // See
https://issues.jboss.org/browse/JBIDE-8576
+ if(faces==null && injection instanceof IInjectionPointParameter) {
+ IInjectionPointParameter param = (IInjectionPointParameter)injection;
+ faces =
param.getBeanMethod().getAnnotation(CDIConstants.SEAM_FACES_INPUT_FIELD_TYPE_NAME);
}
- if(type!=null && beans.isEmpty() && !instance) {
- addError(CDIValidationMessages.UNSATISFIED_INJECTION_POINTS,
CDIPreferences.UNSATISFIED_INJECTION_POINTS, reference, injection.getResource(),
UNSATISFIED_INJECTION_POINTS_ID);
- } else if(beans.size()>1 && !instance) {
- addError(CDIValidationMessages.AMBIGUOUS_INJECTION_POINTS,
CDIPreferences.AMBIGUOUS_INJECTION_POINTS, reference, injection.getResource(),
AMBIGUOUS_INJECTION_POINTS_ID);
- } else if(beans.size()==1) {
- IBean bean = beans.iterator().next();
- if(!bean.getBeanClass().isReadOnly()) {
- /*
- * 5.2.4. Primitive types and null values
- * - injection point of primitive type resolves to a bean that may have null
values, such as a producer method with a non-primitive return type or a producer field
with a non-primitive type
- */
- if(bean.isNullable() && injection.getType()!=null &&
injection.getType().isPrimitive()) {
- addError(CDIValidationMessages.INJECT_RESOLVES_TO_NULLABLE_BEAN,
CDIPreferences.INJECT_RESOLVES_TO_NULLABLE_BEAN, reference, injection.getResource());
+ if(faces==null) {
+ boolean instance = type!=null &&
CDIConstants.INSTANCE_TYPE_NAME.equals(type.getFullyQualifiedName());
+ Set<IBean> allBeans = cdiProject.getBeans(false, injection);
+ for (IBean bean : allBeans) {
+ if(!bean.getBeanClass().isReadOnly()) {
+ getValidationContext().addLinkedCoreResource(SHORT_ID,
injection.getSourcePath().toOSString(), bean.getResource().getFullPath(), false);
}
- /*
- * 5.1.4. Inter-module injection
- * - a decorator can not be injected
- * - an interceptor can not be injected
- */
- if(bean instanceof IDecorator) {
- addError(CDIValidationMessages.INJECTED_DECORATOR,
CDIPreferences.INJECTED_DECORATOR, reference, injection.getResource());
- } else if(bean instanceof IInterceptor) {
- addError(CDIValidationMessages.INJECTED_INTERCEPTOR,
CDIPreferences.INJECTED_INTERCEPTOR, reference, injection.getResource());
- }
- /*
- * 5.4.1. Unproxyable bean types
- * - If an injection point whose declared type cannot be proxied by the container
resolves to a bean with a normal scope,
- * the container automatically detects the problem and treats it as a deployment
problem.
- */
- if(bean.getScope().isNorlmalScope() && injection.getType()!=null) {
- // - Array types cannot be proxied by the container.
- String typeSignature = injection.getType().getSignature();
- int kind = Signature.getTypeSignatureKind(typeSignature);
- if(kind == Signature.ARRAY_TYPE_SIGNATURE) {
- addError(MessageFormat.format(CDIValidationMessages.UNPROXYABLE_BEAN_ARRAY_TYPE,
injection.getType().getSimpleName(), bean.getSimpleJavaName()),
CDIPreferences.UNPROXYABLE_BEAN_TYPE, reference, injection.getResource());
- } else if(injection.getType().isPrimitive()) {
- // - Primitive types cannot be proxied by the container.
- addError(MessageFormat.format(CDIValidationMessages.UNPROXYABLE_BEAN_PRIMITIVE_TYPE,
injection.getType().getSimpleName(), bean.getSimpleJavaName()),
CDIPreferences.UNPROXYABLE_BEAN_TYPE, reference, injection.getResource());
- } else if(bean instanceof IClassBean) {
- try {
- if(Flags.isFinal(bean.getBeanClass().getFlags())) {
- // - Classes which are declared final cannot be proxied by the container.
- addError(MessageFormat.format(CDIValidationMessages.UNPROXYABLE_BEAN_FINAL_TYPE,
injection.getType().getSimpleName(), bean.getSimpleJavaName()),
CDIPreferences.UNPROXYABLE_BEAN_TYPE, reference, injection.getResource());
- } else {
- IMethod[] methods = bean.getBeanClass().getMethods();
- boolean hasDefaultConstructor = false;
- boolean hasConstructor = false;
- for (IMethod method : methods) {
- hasConstructor = hasConstructor || method.isConstructor();
- hasDefaultConstructor = hasDefaultConstructor || (method.isConstructor()
&& !Flags.isPrivate(method.getFlags()) &&
method.getParameterNames().length==0);
- if(Flags.isFinal(method.getFlags())) {
- // - Classes which have final methods cannot be proxied by the container.
- addError(MessageFormat.format(CDIValidationMessages.UNPROXYABLE_BEAN_TYPE_WITH_FM,
injection.getType().getSimpleName(), bean.getSimpleJavaName()),
CDIPreferences.UNPROXYABLE_BEAN_TYPE, reference, injection.getResource());
- hasDefaultConstructor = true;
- break;
+ }
+ if(type!=null && beans.isEmpty() && !instance) {
+ addError(CDIValidationMessages.UNSATISFIED_INJECTION_POINTS,
CDIPreferences.UNSATISFIED_INJECTION_POINTS, reference, injection.getResource(),
UNSATISFIED_INJECTION_POINTS_ID);
+ } else if(beans.size()>1 && !instance) {
+ addError(CDIValidationMessages.AMBIGUOUS_INJECTION_POINTS,
CDIPreferences.AMBIGUOUS_INJECTION_POINTS, reference, injection.getResource(),
AMBIGUOUS_INJECTION_POINTS_ID);
+ } else if(beans.size()==1) {
+ IBean bean = beans.iterator().next();
+ if(!bean.getBeanClass().isReadOnly()) {
+ /*
+ * 5.2.4. Primitive types and null values
+ * - injection point of primitive type resolves to a bean that may have null
values, such as a producer method with a non-primitive return type or a producer field
with a non-primitive type
+ */
+ if(bean.isNullable() && injection.getType()!=null &&
injection.getType().isPrimitive()) {
+ addError(CDIValidationMessages.INJECT_RESOLVES_TO_NULLABLE_BEAN,
CDIPreferences.INJECT_RESOLVES_TO_NULLABLE_BEAN, reference, injection.getResource());
+ }
+ /*
+ * 5.1.4. Inter-module injection
+ * - a decorator can not be injected
+ * - an interceptor can not be injected
+ */
+ if(bean instanceof IDecorator) {
+ addError(CDIValidationMessages.INJECTED_DECORATOR,
CDIPreferences.INJECTED_DECORATOR, reference, injection.getResource());
+ } else if(bean instanceof IInterceptor) {
+ addError(CDIValidationMessages.INJECTED_INTERCEPTOR,
CDIPreferences.INJECTED_INTERCEPTOR, reference, injection.getResource());
+ }
+ /*
+ * 5.4.1. Unproxyable bean types
+ * - If an injection point whose declared type cannot be proxied by the container
resolves to a bean with a normal scope,
+ * the container automatically detects the problem and treats it as a deployment
problem.
+ */
+ if(bean.getScope().isNorlmalScope() && injection.getType()!=null) {
+ // - Array types cannot be proxied by the container.
+ String typeSignature = injection.getType().getSignature();
+ int kind = Signature.getTypeSignatureKind(typeSignature);
+ if(kind == Signature.ARRAY_TYPE_SIGNATURE) {
+ addError(MessageFormat.format(CDIValidationMessages.UNPROXYABLE_BEAN_ARRAY_TYPE,
injection.getType().getSimpleName(), bean.getSimpleJavaName()),
CDIPreferences.UNPROXYABLE_BEAN_TYPE, reference, injection.getResource());
+ } else if(injection.getType().isPrimitive()) {
+ // - Primitive types cannot be proxied by the container.
+ addError(MessageFormat.format(CDIValidationMessages.UNPROXYABLE_BEAN_PRIMITIVE_TYPE,
injection.getType().getSimpleName(), bean.getSimpleJavaName()),
CDIPreferences.UNPROXYABLE_BEAN_TYPE, reference, injection.getResource());
+ } else if(bean instanceof IClassBean) {
+ try {
+ if(Flags.isFinal(bean.getBeanClass().getFlags())) {
+ // - Classes which are declared final cannot be proxied by the container.
+ addError(MessageFormat.format(CDIValidationMessages.UNPROXYABLE_BEAN_FINAL_TYPE,
injection.getType().getSimpleName(), bean.getSimpleJavaName()),
CDIPreferences.UNPROXYABLE_BEAN_TYPE, reference, injection.getResource());
+ } else {
+ IMethod[] methods = bean.getBeanClass().getMethods();
+ boolean hasDefaultConstructor = false;
+ boolean hasConstructor = false;
+ for (IMethod method : methods) {
+ hasConstructor = hasConstructor || method.isConstructor();
+ hasDefaultConstructor = hasDefaultConstructor || (method.isConstructor()
&& !Flags.isPrivate(method.getFlags()) &&
method.getParameterNames().length==0);
+ if(Flags.isFinal(method.getFlags())) {
+ // - Classes which have final methods cannot be proxied by the container.
+ addError(MessageFormat.format(CDIValidationMessages.UNPROXYABLE_BEAN_TYPE_WITH_FM,
injection.getType().getSimpleName(), bean.getSimpleJavaName()),
CDIPreferences.UNPROXYABLE_BEAN_TYPE, reference, injection.getResource());
+ hasDefaultConstructor = true;
+ break;
+ }
}
+ if(!hasDefaultConstructor && hasConstructor) {
+ // - Classes which don't have a non-private constructor with no parameters
cannot be proxied by the container.
+ addError(MessageFormat.format(CDIValidationMessages.UNPROXYABLE_BEAN_TYPE_WITH_NPC,
injection.getType().getSimpleName(), bean.getSimpleJavaName()),
CDIPreferences.UNPROXYABLE_BEAN_TYPE, reference, injection.getResource());
+ }
}
- if(!hasDefaultConstructor && hasConstructor) {
- // - Classes which don't have a non-private constructor with no parameters
cannot be proxied by the container.
- addError(MessageFormat.format(CDIValidationMessages.UNPROXYABLE_BEAN_TYPE_WITH_NPC,
injection.getType().getSimpleName(), bean.getSimpleJavaName()),
CDIPreferences.UNPROXYABLE_BEAN_TYPE, reference, injection.getResource());
- }
+ } catch (JavaModelException e) {
+ CDICorePlugin.getDefault().logError(e);
}
- } catch (JavaModelException e) {
- CDICorePlugin.getDefault().logError(e);
}
}
- }
- if(injection.getClassBean() instanceof IDecorator && injection.isDelegate()
&& bean instanceof IClassBean) {
- try {
- IType beanClass = bean.getBeanClass();
- if(Flags.isFinal(beanClass.getFlags())) {
- // 8.3. Decorator resolution
- // - If a decorator matches a managed bean, and the managed bean class is
declared final, the container automatically detects
- // the problem and treats it as a deployment problem.
- addError(MessageFormat.format(CDIValidationMessages.DECORATOR_RESOLVES_TO_FINAL_CLASS,
bean.getSimpleJavaName()), CDIPreferences.DECORATOR_RESOLVES_TO_FINAL_BEAN, reference,
injection.getResource());
- } else {
- // 8.3. Decorator resolution
- // - If a decorator matches a managed bean with a non-static, non-private, final
method, and the decorator also implements that method,
- // the container automatically detects the problem and treats it as a
deployment problem.
- IType decoratorClass = injection.getClassBean().getBeanClass();
- IMethod[] methods = decoratorClass.getMethods();
- boolean reported = false;
- if(methods!=null) {
- for (IMethod method : methods) {
- if(!Flags.isPrivate(method.getFlags()) &&
!Flags.isStatic(method.getFlags())) {
- IMethod[] beanMethods = beanClass.findMethods(method);
- if(beanMethods!=null) {
- for (IMethod beanMethod : beanMethods) {
- int flags = beanMethod.getFlags();
- if(!Flags.isPrivate(flags) && !Flags.isStatic(flags) &&
Flags.isFinal(flags)) {
- String methodName = Signature.toString(beanMethod.getSignature(),
beanMethod.getElementName(), beanMethod.getParameterNames(), false, false);
- addError(MessageFormat.format(CDIValidationMessages.DECORATOR_RESOLVES_TO_FINAL_METHOD,
bean.getSimpleJavaName(), methodName), CDIPreferences.DECORATOR_RESOLVES_TO_FINAL_BEAN,
reference, injection.getResource());
- reported = true;
+ if(injection.getClassBean() instanceof IDecorator && injection.isDelegate()
&& bean instanceof IClassBean) {
+ try {
+ IType beanClass = bean.getBeanClass();
+ if(Flags.isFinal(beanClass.getFlags())) {
+ // 8.3. Decorator resolution
+ // - If a decorator matches a managed bean, and the managed bean class is
declared final, the container automatically detects
+ // the problem and treats it as a deployment problem.
+ addError(MessageFormat.format(CDIValidationMessages.DECORATOR_RESOLVES_TO_FINAL_CLASS,
bean.getSimpleJavaName()), CDIPreferences.DECORATOR_RESOLVES_TO_FINAL_BEAN, reference,
injection.getResource());
+ } else {
+ // 8.3. Decorator resolution
+ // - If a decorator matches a managed bean with a non-static, non-private, final
method, and the decorator also implements that method,
+ // the container automatically detects the problem and treats it as a
deployment problem.
+ IType decoratorClass = injection.getClassBean().getBeanClass();
+ IMethod[] methods = decoratorClass.getMethods();
+ boolean reported = false;
+ if(methods!=null) {
+ for (IMethod method : methods) {
+ if(!Flags.isPrivate(method.getFlags()) &&
!Flags.isStatic(method.getFlags())) {
+ IMethod[] beanMethods = beanClass.findMethods(method);
+ if(beanMethods!=null) {
+ for (IMethod beanMethod : beanMethods) {
+ int flags = beanMethod.getFlags();
+ if(!Flags.isPrivate(flags) && !Flags.isStatic(flags) &&
Flags.isFinal(flags)) {
+ String methodName = Signature.toString(beanMethod.getSignature(),
beanMethod.getElementName(), beanMethod.getParameterNames(), false, false);
+ addError(MessageFormat.format(CDIValidationMessages.DECORATOR_RESOLVES_TO_FINAL_METHOD,
bean.getSimpleJavaName(), methodName), CDIPreferences.DECORATOR_RESOLVES_TO_FINAL_BEAN,
reference, injection.getResource());
+ reported = true;
+ break;
+ }
+ }
+ if(reported) {
break;
}
}
- if(reported) {
- break;
- }
}
}
}
}
+ } catch (JavaModelException e) {
+ CDICorePlugin.getDefault().logError(e);
}
- } catch (JavaModelException e) {
- CDICorePlugin.getDefault().logError(e);
}
}
}
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/validation/ValidationTest.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/validation/ValidationTest.java 2011-05-25
23:42:43 UTC (rev 31496)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/validation/ValidationTest.java 2011-05-26
00:02:45 UTC (rev 31497)
@@ -40,27 +40,27 @@
return AbstractResourceMarkerTest.getMarkersNumberByGroupName(resource, null);
}
- protected static void assertMarkerIsCreated(IResource resource, String pattern, int...
expectedLines) throws CoreException {
+ public static void assertMarkerIsCreated(IResource resource, String pattern, int...
expectedLines) throws CoreException {
assertMarkerIsCreated(resource, pattern, true, expectedLines);
}
- protected static void assertMarkerIsCreated(IResource resource, String message, boolean
pattern, int... expectedLines) throws CoreException {
+ public static void assertMarkerIsCreated(IResource resource, String message, boolean
pattern, int... expectedLines) throws CoreException {
AbstractResourceMarkerTest.assertMarkerIsCreated(resource,
AbstractResourceMarkerTest.MARKER_TYPE, pattern?convertMessageToPatern(message):message,
pattern, expectedLines);
}
- protected static void assertMarkerIsNotCreated(IResource resource, String message)
throws CoreException {
+ public static void assertMarkerIsNotCreated(IResource resource, String message) throws
CoreException {
AbstractResourceMarkerTest.assertMarkerIsNotCreated(resource,
AbstractResourceMarkerTest.MARKER_TYPE, convertMessageToPatern(message));
}
- protected static void assertMarkerIsNotCreated(IResource resource, String message, int
expectedLine) throws CoreException {
+ public static void assertMarkerIsNotCreated(IResource resource, String message, int
expectedLine) throws CoreException {
AbstractResourceMarkerTest.assertMarkerIsNotCreated(resource,
AbstractResourceMarkerTest.MARKER_TYPE, convertMessageToPatern(message), expectedLine);
}
- protected static void assertMarkerIsCreatedForGivenPosition(IResource resource, String
message, int lineNumber, int startPosition, int endPosition) throws CoreException {
+ public static void assertMarkerIsCreatedForGivenPosition(IResource resource, String
message, int lineNumber, int startPosition, int endPosition) throws CoreException {
AbstractResourceMarkerTest.assertMarkerIsCreatedForGivenPosition(resource,
AbstractResourceMarkerTest.MARKER_TYPE, convertMessageToPatern(message), lineNumber,
startPosition, endPosition);
}
- protected static String convertMessageToPatern(String message) {
+ public static String convertMessageToPatern(String message) {
return message.replace("[", "\\[").replace("]",
"\\]").replace("<", "\\<").replace(">",
"\\>").replace("(", "\\(").replace(")",
"\\)")
.replace("{", "\\{").replace("}",
"\\}").replace("'", "\\'");
}
Modified: trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/META-INF/MANIFEST.MF
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/META-INF/MANIFEST.MF 2011-05-25
23:42:43 UTC (rev 31496)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/META-INF/MANIFEST.MF 2011-05-26
00:02:45 UTC (rev 31497)
@@ -20,6 +20,7 @@
org.jboss.tools.jst.web.kb,
org.jboss.tools.cdi.xml,
org.jboss.tools.cdi.seam.solder.core,
- org.eclipse.jst.standard.schemas
+ org.eclipse.jst.standard.schemas,
+ org.jboss.tools.cdi.core.test
Export-Package: org.jboss.tools.cdi.seam.config.core.test
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/src/org/jboss/tools/cdi/seam/config/core/test/SeamConfigValidationTest.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/src/org/jboss/tools/cdi/seam/config/core/test/SeamConfigValidationTest.java 2011-05-25
23:42:43 UTC (rev 31496)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.config.core.test/src/org/jboss/tools/cdi/seam/config/core/test/SeamConfigValidationTest.java 2011-05-26
00:02:45 UTC (rev 31497)
@@ -16,14 +16,13 @@
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.jboss.tools.cdi.core.CDICorePlugin;
import org.jboss.tools.cdi.core.ICDIProject;
+import org.jboss.tools.cdi.core.test.tck.validation.ValidationTest;
import org.jboss.tools.cdi.seam.config.core.validation.SeamConfigValidationMessages;
import org.jboss.tools.test.util.ResourcesUtils;
-import org.jboss.tools.tests.AbstractResourceMarkerTest;
/**
*
@@ -66,56 +65,30 @@
}
public void testBeanResolution() throws CoreException {
- assertMarkerIsCreated(f,
MessageFormat.format(SeamConfigValidationMessages.UNRESOLVED_TYPE, "v:MyBean2"),
8);
- assertMarkerIsNotCreated(f,
MessageFormat.format(SeamConfigValidationMessages.UNRESOLVED_TYPE,
"v:MyBean1"));
+ ValidationTest.assertMarkerIsCreated(f,
MessageFormat.format(SeamConfigValidationMessages.UNRESOLVED_TYPE, "v:MyBean2"),
8);
+ ValidationTest.assertMarkerIsNotCreated(f,
MessageFormat.format(SeamConfigValidationMessages.UNRESOLVED_TYPE,
"v:MyBean1"));
}
public void testFieldResolution() throws CoreException {
- assertMarkerIsCreated(f,
MessageFormat.format(SeamConfigValidationMessages.UNRESOLVED_MEMBER, "param"),
21);
- assertMarkerIsNotCreated(f,
MessageFormat.format(SeamConfigValidationMessages.UNRESOLVED_MEMBER, "value"),
28);
+ ValidationTest.assertMarkerIsCreated(f,
MessageFormat.format(SeamConfigValidationMessages.UNRESOLVED_MEMBER, "param"),
21);
+ ValidationTest.assertMarkerIsNotCreated(f,
MessageFormat.format(SeamConfigValidationMessages.UNRESOLVED_MEMBER, "value"),
28);
}
public void testMethodResolution() throws CoreException {
//It is unresolved member because no member with that name is found.
- assertMarkerIsCreated(f,
MessageFormat.format(SeamConfigValidationMessages.UNRESOLVED_MEMBER,
"v:method2"), 38);
+ ValidationTest.assertMarkerIsCreated(f,
MessageFormat.format(SeamConfigValidationMessages.UNRESOLVED_MEMBER,
"v:method2"), 38);
- assertMarkerIsNotCreated(f,
MessageFormat.format(SeamConfigValidationMessages.UNRESOLVED_MEMBER,
"v:method1"), 34);
- assertMarkerIsNotCreated(f,
MessageFormat.format(SeamConfigValidationMessages.UNRESOLVED_METHOD,
"v:method1"), 34);
+ ValidationTest.assertMarkerIsNotCreated(f,
MessageFormat.format(SeamConfigValidationMessages.UNRESOLVED_MEMBER,
"v:method1"), 34);
+ ValidationTest.assertMarkerIsNotCreated(f,
MessageFormat.format(SeamConfigValidationMessages.UNRESOLVED_METHOD,
"v:method1"), 34);
- assertMarkerIsNotCreated(f,
MessageFormat.format(SeamConfigValidationMessages.UNRESOLVED_MEMBER,
"v:method1"), 42);
- assertMarkerIsNotCreated(f,
MessageFormat.format(SeamConfigValidationMessages.UNRESOLVED_METHOD,
"v:method1"), 42);
+ ValidationTest.assertMarkerIsNotCreated(f,
MessageFormat.format(SeamConfigValidationMessages.UNRESOLVED_MEMBER,
"v:method1"), 42);
+ ValidationTest.assertMarkerIsNotCreated(f,
MessageFormat.format(SeamConfigValidationMessages.UNRESOLVED_METHOD,
"v:method1"), 42);
- assertMarkerIsCreated(f,
MessageFormat.format(SeamConfigValidationMessages.UNRESOLVED_METHOD,
"v:method1"), 47);
+ ValidationTest.assertMarkerIsCreated(f,
MessageFormat.format(SeamConfigValidationMessages.UNRESOLVED_METHOD,
"v:method1"), 47);
}
public void testAnnotationMemberResolution() throws CoreException {
- assertMarkerIsCreated(f,
MessageFormat.format(SeamConfigValidationMessages.UNRESOLVED_MEMBER,
"v:field3"), 15);
- assertMarkerIsNotCreated(f,
MessageFormat.format(SeamConfigValidationMessages.UNRESOLVED_MEMBER,
"v:field1"));
+ ValidationTest.assertMarkerIsCreated(f,
MessageFormat.format(SeamConfigValidationMessages.UNRESOLVED_MEMBER,
"v:field3"), 15);
+ ValidationTest.assertMarkerIsNotCreated(f,
MessageFormat.format(SeamConfigValidationMessages.UNRESOLVED_MEMBER,
"v:field1"));
}
-
- protected static void assertMarkerIsCreated(IResource resource, String pattern, int...
expectedLines) throws CoreException {
- assertMarkerIsCreated(resource, pattern, true, expectedLines);
- }
-
- protected static void assertMarkerIsCreated(IResource resource, String message, boolean
pattern, int... expectedLines) throws CoreException {
- AbstractResourceMarkerTest.assertMarkerIsCreated(resource,
AbstractResourceMarkerTest.MARKER_TYPE, pattern?convertMessageToPatern(message):message,
pattern, expectedLines);
- }
-
- protected static void assertMarkerIsNotCreated(IResource resource, String message)
throws CoreException {
- AbstractResourceMarkerTest.assertMarkerIsNotCreated(resource,
AbstractResourceMarkerTest.MARKER_TYPE, convertMessageToPatern(message));
- }
-
- protected static void assertMarkerIsNotCreated(IResource resource, String message, int
expectedLine) throws CoreException {
- AbstractResourceMarkerTest.assertMarkerIsNotCreated(resource,
AbstractResourceMarkerTest.MARKER_TYPE, convertMessageToPatern(message), expectedLine);
- }
-
- protected static void assertMarkerIsCreatedForGivenPosition(IResource resource, String
message, int lineNumber, int startPosition, int endPosition) throws CoreException {
- AbstractResourceMarkerTest.assertMarkerIsCreatedForGivenPosition(resource,
AbstractResourceMarkerTest.MARKER_TYPE, convertMessageToPatern(message), lineNumber,
startPosition, endPosition);
- }
-
- protected static String convertMessageToPatern(String message) {
- return message.replace("[", "\\[").replace("]",
"\\]").replace("<", "\\<").replace(">",
"\\>").replace("(", "\\(").replace(")",
"\\)")
- .replace("{", "\\{").replace("}",
"\\}").replace("'", "\\'");
- }
-
-}
+}
\ No newline at end of file
Modified: trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/META-INF/MANIFEST.MF
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/META-INF/MANIFEST.MF 2011-05-25
23:42:43 UTC (rev 31496)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/META-INF/MANIFEST.MF 2011-05-26
00:02:45 UTC (rev 31497)
@@ -7,4 +7,9 @@
Require-Bundle: org.jboss.tools.cdi.seam.faces.core,
org.eclipse.jdt.core,
org.junit,
- org.jboss.tools.jst.web.kb
+ org.jboss.tools.jst.web.kb,
+ org.eclipse.core.resources;bundle-version="3.7.100",
+ org.jboss.tools.tests,
+ org.eclipse.core.runtime;bundle-version="3.7.0",
+ org.jboss.tools.cdi.core,
+ org.jboss.tools.cdi.core.test
Modified: trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/build.properties
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/build.properties 2011-05-25
23:42:43 UTC (rev 31496)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/build.properties 2011-05-26
00:02:45 UTC (rev 31497)
@@ -4,4 +4,5 @@
.,\
plugin.properties,\
about.html,\
- plugin.xml
+ plugin.xml,\
+ projects/
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/.classpath
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/.classpath
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/.classpath 2011-05-26
00:02:45 UTC (rev 31497)
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="lib" path="lib/cdi-api.jar"/>
+ <classpathentry kind="lib" path="lib/javax.inject.jar"/>
+ <classpathentry kind="lib"
path="lib/jboss-interceptor-api.jar"/>
+ <classpathentry kind="lib" path="lib/seam-faces-3.0.0.Final.jar"
sourcepath="/home/igels/.m2/repository/org/jboss/seam/faces/seam-faces/3.0.0.Final/seam-faces-3.0.0.Final-sources.jar"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/.classpath
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/.project
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/.project
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/.project 2011-05-26
00:02:45 UTC (rev 31497)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>SeamFacesTest</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.wst.validation.validationbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.jboss.tools.jst.web.kb.kbbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.jboss.tools.cdi.core.cdibuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.jboss.tools.jst.web.kb.kbnature</nature>
+ <nature>org.jboss.tools.cdi.core.cdinature</nature>
+ </natures>
+</projectDescription>
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/.project
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/.settings/org.eclipse.jdt.core.prefs
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/.settings/org.eclipse.jdt.core.prefs
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/.settings/org.eclipse.jdt.core.prefs 2011-05-26
00:02:45 UTC (rev 31497)
@@ -0,0 +1,12 @@
+#Fri May 13 12:44:03 PDT 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/.settings/org.eclipse.jdt.core.prefs
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/lib/cdi-api.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/lib/cdi-api.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/lib/javax.inject.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/lib/javax.inject.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/lib/jboss-interceptor-api.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/lib/jboss-interceptor-api.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/lib/seam-faces-3.0.0.Final.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/lib/seam-faces-3.0.0.Final.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/src/META-INF/beans.xml
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/src/META-INF/beans.xml
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/src/META-INF/beans.xml 2011-05-26
00:02:45 UTC (rev 31497)
@@ -0,0 +1,3 @@
+<?xml version="1.0"?>
+<beans>
+</beans>
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/src/META-INF/beans.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/src/org/jboss/beans/validation/test/MyBean1.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/src/org/jboss/beans/validation/test/MyBean1.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/src/org/jboss/beans/validation/test/MyBean1.java 2011-05-26
00:02:45 UTC (rev 31497)
@@ -0,0 +1,5 @@
+package org.jboss.beans.validation.test;
+
+public class MyBean1 {
+
+}
\ No newline at end of file
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/src/org/jboss/beans/validation/test/MyBean1.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/src/org/jboss/beans/validation/test/MyBean2.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/src/org/jboss/beans/validation/test/MyBean2.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/src/org/jboss/beans/validation/test/MyBean2.java 2011-05-26
00:02:45 UTC (rev 31497)
@@ -0,0 +1,5 @@
+package org.jboss.beans.validation.test;
+
+public class MyBean2 extends MyBean1 {
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/src/org/jboss/beans/validation/test/MyBean2.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/src/org/jboss/beans/validation/test/Validation.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/src/org/jboss/beans/validation/test/Validation.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/src/org/jboss/beans/validation/test/Validation.java 2011-05-26
00:02:45 UTC (rev 31497)
@@ -0,0 +1,31 @@
+package org.jboss.beans.validation.test;
+
+import javax.inject.Inject;
+
+import org.jboss.seam.faces.validation.InputField;
+
+public class Validation {
+
+ @Inject @InputField MyBean1 beanOk;
+
+ @Inject @InputField String bean2Ok;
+
+ @Inject @InputField
+ public void setMyBeanOk(MyBean1 bean, String bean2) {
+
+ }
+
+ @Inject MyBean1 beanBroken;
+
+ @Inject String bean2Broken;
+
+ @Inject
+ public void setMyBeanBroken(MyBean1 bean) {
+
+ }
+
+ @Inject
+ public void setMyBeanBroken(String bean) {
+
+ }
+}
\ No newline at end of file
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/src/org/jboss/beans/validation/test/Validation.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/src/org/jboss/tools/cdi/seam/faces/core/test/CDISeamFacesCoreAllTests.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/src/org/jboss/tools/cdi/seam/faces/core/test/CDISeamFacesCoreAllTests.java 2011-05-25
23:42:43 UTC (rev 31496)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/src/org/jboss/tools/cdi/seam/faces/core/test/CDISeamFacesCoreAllTests.java 2011-05-26
00:02:45 UTC (rev 31497)
@@ -23,9 +23,12 @@
public static Test suite() {
JavaModelManager.getIndexManager().disable();
- TestSuite suite = new TestSuite("Seam Solder Faces Tests");
+ TestSuite suiteAll = new TestSuite("Seam Faces Tests");
- suite.addTestSuite(SeamFacesTagLibTest.class);
+ TestSuite suite = new TestSuite("Seam Faces Project Tests");
+ suite.addTestSuite(SeamFacesValidationTest.class);
+ suiteAll.addTest(new SeamFacesTestSetup(suite));
+ suiteAll.addTestSuite(SeamFacesTagLibTest.class);
return suite;
}
}
\ No newline at end of file
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/src/org/jboss/tools/cdi/seam/faces/core/test/SeamFacesTestSetup.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/src/org/jboss/tools/cdi/seam/faces/core/test/SeamFacesTestSetup.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/src/org/jboss/tools/cdi/seam/faces/core/test/SeamFacesTestSetup.java 2011-05-26
00:02:45 UTC (rev 31497)
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.cdi.seam.faces.core.test;
+
+import junit.extensions.TestSetup;
+import junit.framework.Test;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.jboss.tools.test.util.JobUtils;
+import org.jboss.tools.test.util.ResourcesUtils;
+
+/**
+ * @author Alexey Kazakov
+ */
+public class SeamFacesTestSetup extends TestSetup {
+
+ protected static String PLUGIN_ID =
"org.jboss.tools.cdi.seam.faces.core.test";
+ protected static String PROJECT_NAME = "SeamFacesTest";
+ protected static String PROJECT_PATH = "/projects/SeamFacesTest";
+
+ protected IProject project;
+
+ public SeamFacesTestSetup(Test test) {
+ super(test);
+ }
+
+ @Override
+ protected void setUp() throws Exception {
+ project = ResourcesPlugin.getWorkspace().getRoot().getProject(PROJECT_NAME);
+ if(project == null || !project.exists()) {
+ project = ResourcesUtils.importProject(PLUGIN_ID, PROJECT_PATH);
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ boolean saveAutoBuild = ResourcesUtils.setBuildAutomatically(false);
+ JobUtils.waitForIdle();
+ project.delete(true, true, null);
+ JobUtils.waitForIdle();
+ ResourcesUtils.setBuildAutomatically(saveAutoBuild);
+ }
+}
\ No newline at end of file
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/src/org/jboss/tools/cdi/seam/faces/core/test/SeamFacesTestSetup.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/src/org/jboss/tools/cdi/seam/faces/core/test/SeamFacesValidationTest.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/src/org/jboss/tools/cdi/seam/faces/core/test/SeamFacesValidationTest.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/src/org/jboss/tools/cdi/seam/faces/core/test/SeamFacesValidationTest.java 2011-05-26
00:02:45 UTC (rev 31497)
@@ -0,0 +1,45 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.cdi.seam.faces.core.test;
+
+import junit.framework.TestCase;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.jboss.tools.cdi.core.test.tck.validation.ValidationTest;
+import org.jboss.tools.cdi.internal.core.validation.CDIValidationMessages;
+
+/**
+ * @author Alexey Kazakov
+ */
+public class SeamFacesValidationTest extends TestCase {
+
+ protected IProject project;
+
+ public IProject getTestProject() {
+ if(project==null) {
+ project =
ResourcesPlugin.getWorkspace().getRoot().getProject(SeamFacesTestSetup.PROJECT_NAME);
+ }
+ return project;
+ }
+
+ public void testInjectionAnnotatedInputField() throws Exception {
+ IFile file =
project.getFile("src/org/jboss/beans/validation/test/Validation.java");
+ ValidationTest.assertMarkerIsCreated(file,
CDIValidationMessages.AMBIGUOUS_INJECTION_POINTS, 18, 23);
+ ValidationTest.assertMarkerIsCreated(file,
CDIValidationMessages.UNSATISFIED_INJECTION_POINTS, 20, 28);
+
+ ValidationTest.assertMarkerIsNotCreated(file,
CDIValidationMessages.AMBIGUOUS_INJECTION_POINTS, 9);
+ ValidationTest.assertMarkerIsNotCreated(file,
CDIValidationMessages.UNSATISFIED_INJECTION_POINTS, 11);
+ ValidationTest.assertMarkerIsNotCreated(file,
CDIValidationMessages.AMBIGUOUS_INJECTION_POINTS, 14);
+ ValidationTest.assertMarkerIsNotCreated(file,
CDIValidationMessages.UNSATISFIED_INJECTION_POINTS, 14);
+ }
+}
\ No newline at end of file
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/src/org/jboss/tools/cdi/seam/faces/core/test/SeamFacesValidationTest.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain