JBoss Tools SVN: r22074 - in trunk/cdi: plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl and 4 other directories.
by jbosstools-commits@lists.jboss.org
Author: akazakov
Date: 2010-05-13 19:41:02 -0400 (Thu, 13 May 2010)
New Revision: 22074
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/CDIUtil.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/ISessionBean.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/SessionBean.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/AnnotationHelper.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/TypeDefinition.java
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/CDIValidationMessages.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/errorList.txt
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/messages.properties
trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/preferences/CDIConfigurationBlock.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/ValidationTest.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-2708 Added new CDI validation rule: session bean specifies an illegal scope (a stateless session bean must belong
to the @Dependent pseudo-scope; a singleton bean must belong to either the
@ApplicationScoped scope or to the @Dependent pseudo-scope, a stateful session
bean may have any scope)
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 2010-05-13 22:33:18 UTC (rev 22073)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDIConstants.java 2010-05-13 23:41:02 UTC (rev 22074)
@@ -43,6 +43,7 @@
public String STATEFUL_ANNOTATION_TYPE_NAME = "javax.ejb.Stateful";
public String STATELESS_ANNOTATION_TYPE_NAME = "javax.ejb.Stateless";
+ public String SINGLETON_ANNOTATION_TYPE_NAME = "javax.ejb.Singleton";
public String LOCAL_ANNOTATION_TYPE_NAME = "javax.ejb.Local";
public String RESOURCE_ANNOTATION_TYPE_NAME = "javax.annotation.Resource";
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDIUtil.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDIUtil.java 2010-05-13 22:33:18 UTC (rev 22073)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDIUtil.java 2010-05-13 23:41:02 UTC (rev 22074)
@@ -131,6 +131,19 @@
}
/**
+ * Checks if the bean has @ApplicationScoped scope. If it has different scope then @ApplicationScoped
+ * then returns this scope declaration or a stereotype which declares the
+ * scope. Otherwise returns null.
+ *
+ * @param bean
+ * @param scopeTypeName
+ * @return
+ */
+ public static IAnnotationDeclaration getDifferentScopeDeclarationThanApplicationScoped(IScoped scoped) {
+ return getAnotherScopeDeclaration(scoped, CDIConstants.APPLICATION_SCOPED_ANNOTATION_TYPE_NAME);
+ }
+
+ /**
* Checks if the bean has given scope. If it has different scope then given
* then returns this scope declaration or a stereotype which declares the
* scope. Otherwise returns null.
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/ISessionBean.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/ISessionBean.java 2010-05-13 22:33:18 UTC (rev 22073)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/ISessionBean.java 2010-05-13 23:41:02 UTC (rev 22074)
@@ -10,7 +10,6 @@
******************************************************************************/
package org.jboss.tools.cdi.core;
-
/**
* Represents a session bean.
*
@@ -26,6 +25,20 @@
boolean isStateful();
/**
+ * Returns "true" if this bean is a stateless session bean.
+ *
+ * @return "true" if this bean is a stateless session bean.
+ */
+ boolean isStateless();
+
+ /**
+ * Returns "true" if this bean is a singleton session bean.
+ *
+ * @return "true" if this bean is a singleton session bean.
+ */
+ boolean isSingleton();
+
+ /**
* Returns @Statefull annotaion declaration.
*
* @return @Statefull annotaion declaration.
@@ -38,4 +51,11 @@
* @return @Stateless annotaion declaration.
*/
IAnnotationDeclaration getStatelessDeclaration();
+
+ /**
+ * Returns @Singleton annotaion declaration.
+ *
+ * @return @Singleton annotaion declaration.
+ */
+ IAnnotationDeclaration getSingletonDeclaration();
}
\ No newline at end of file
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java 2010-05-13 22:33:18 UTC (rev 22073)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java 2010-05-13 23:41:02 UTC (rev 22074)
@@ -691,7 +691,7 @@
bean = new InterceptorBean();
} else if(typeDefinition.getDecoratorAnnotation() != null) {
bean = new DecoratorBean();
- } else if(typeDefinition.getStatefulAnnotation() != null || typeDefinition.getStatelessAnnotation() != null) {
+ } else if(typeDefinition.getStatefulAnnotation() != null || typeDefinition.getStatelessAnnotation() != null || typeDefinition.getSingletonAnnotation() != null) {
bean = new SessionBean();
} else {
bean = new ClassBean();
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/SessionBean.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/SessionBean.java 2010-05-13 22:33:18 UTC (rev 22073)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/SessionBean.java 2010-05-13 23:41:02 UTC (rev 22074)
@@ -33,9 +33,33 @@
/*
* (non-Javadoc)
+ * @see org.jboss.tools.cdi.core.ISessionBean#getSingletonDeclaration()
+ */
+ public IAnnotationDeclaration getSingletonDeclaration() {
+ return getDefinition().getSingletonAnnotation();
+ }
+
+ /*
+ * (non-Javadoc)
* @see org.jboss.tools.cdi.core.ISessionBean#isStateful()
*/
public boolean isStateful() {
return getDefinition().getStatefulAnnotation() != null;
}
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.tools.cdi.core.ISessionBean#isSingleton()
+ */
+ public boolean isSingleton() {
+ return getDefinition().getSingletonAnnotation() != null;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.tools.cdi.core.ISessionBean#isStateless()
+ */
+ public boolean isStateless() {
+ return getDefinition().getStatelessAnnotation() != null;
+ }
}
\ No newline at end of file
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/AnnotationHelper.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/AnnotationHelper.java 2010-05-13 22:33:18 UTC (rev 22073)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/AnnotationHelper.java 2010-05-13 23:41:02 UTC (rev 22074)
@@ -34,6 +34,7 @@
BASIC_ANNOTATION_TYPES.add(STATEFUL_ANNOTATION_TYPE_NAME);
BASIC_ANNOTATION_TYPES.add(STATELESS_ANNOTATION_TYPE_NAME);
+ BASIC_ANNOTATION_TYPES.add(SINGLETON_ANNOTATION_TYPE_NAME);
SCOPE_ANNOTATION_TYPES.add(APPLICATION_SCOPED_ANNOTATION_TYPE_NAME);
SCOPE_ANNOTATION_TYPES.add(CONVERSATION_SCOPED_ANNOTATION_TYPE_NAME);
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/TypeDefinition.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/TypeDefinition.java 2010-05-13 22:33:18 UTC (rev 22073)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/TypeDefinition.java 2010-05-13 23:41:02 UTC (rev 22074)
@@ -94,4 +94,8 @@
public AnnotationDeclaration getStatelessAnnotation() {
return annotationsByType.get(CDIConstants.STATELESS_ANNOTATION_TYPE_NAME);
}
+
+ public AnnotationDeclaration getSingletonAnnotation() {
+ return annotationsByType.get(CDIConstants.SINGLETON_ANNOTATION_TYPE_NAME);
+ }
}
\ 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 2010-05-13 22:33:18 UTC (rev 22073)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java 2010-05-13 23:41:02 UTC (rev 22074)
@@ -314,6 +314,8 @@
validateDisposers(bean);
if(!(bean instanceof ISessionBean)) {
validateManagedBean(bean);
+ } else {
+ validateSessionBean((ISessionBean)bean);
}
}
@@ -703,6 +705,33 @@
}
}
+ private void validateSessionBean(ISessionBean bean) {
+ if(bean.isStateless()) {
+ /*
+ * 3.2. Session beans
+ * - session bean specifies an illegal scope
+ * (a stateless session bean must belong to the @Dependent pseudo-scope)
+ */
+ ITextSourceReference declaration = CDIUtil.getDifferentScopeDeclarationThanDepentend(bean);
+ if(declaration!=null) {
+ addError(CDIValidationMessages.ILLEGAL_SCOPE_FOR_STATELESS_SESSION_BEAN, CDIPreferences.ILLEGAL_SCOPE_FOR_SESSION_BEAN, declaration, bean.getResource());
+ }
+ } else if(bean.isSingleton()) {
+ /*
+ * 3.2. Session beans
+ * - session bean specifies an illegal scope
+ * (a singleton bean must belong to either the @ApplicationScoped scope or to the @Dependent pseudo-scope)
+ */
+ ITextSourceReference declaration = CDIUtil.getDifferentScopeDeclarationThanDepentend(bean);
+ if(declaration!=null) {
+ declaration = CDIUtil.getDifferentScopeDeclarationThanApplicationScoped(bean);
+ }
+ if(declaration!=null) {
+ addError(CDIValidationMessages.ILLEGAL_SCOPE_FOR_SINGLETON_SESSION_BEAN, CDIPreferences.ILLEGAL_SCOPE_FOR_SESSION_BEAN, declaration, bean.getResource());
+ }
+ }
+ }
+
private void validateManagedBean(IClassBean bean) {
/*
* 3.1. Managed beans
@@ -751,7 +780,7 @@
try {
IBean sBean = bean.getSpecializedBean();
if(sBean!=null) {
- if(sBean instanceof ISessionBean || sBean.getAnnotation(CDIConstants.STATELESS_ANNOTATION_TYPE_NAME)!=null) {
+ if(sBean instanceof ISessionBean || sBean.getAnnotation(CDIConstants.STATELESS_ANNOTATION_TYPE_NAME)!=null || sBean.getAnnotation(CDIConstants.SINGLETON_ANNOTATION_TYPE_NAME)!=null) {
// The specializing bean directly extends an enterprise bean class
addError(CDIValidationMessages.ILLEGAL_SPECIALIZING_MANAGED_BEAN, CDIPreferences.ILLEGAL_SPECIALIZING_MANAGED_BEAN, specializesDeclaration, bean.getResource());
} else {
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDIValidationMessages.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDIValidationMessages.java 2010-05-13 22:33:18 UTC (rev 22073)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDIValidationMessages.java 2010-05-13 23:41:02 UTC (rev 22074)
@@ -43,7 +43,8 @@
public static String STEREOTYPE_DECLARES_MORE_THAN_ONE_SCOPE;
public static String ILLEGAL_SCOPE_FOR_MANAGED_BEAN_WITH_PUBLIC_FIELD;
public static String ILLEGAL_SCOPE_FOR_MANAGED_BEAN_WITH_GENERIC_TYPE;
- public static String ILLEGAL_SCOPE_FOR_SESSION_BEAN;
+ public static String ILLEGAL_SCOPE_FOR_STATELESS_SESSION_BEAN;
+ public static String ILLEGAL_SCOPE_FOR_SINGLETON_SESSION_BEAN;
public static String ILLEGAL_SCOPE_FOR_PRODUCER_METHOD;
public static String ILLEGAL_SCOPE_FOR_PRODUCER_FIELD;
public static String ILLEGAL_SCOPE_WHEN_TYPE_INJECTIONPOINT_IS_INJECTED;
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/errorList.txt
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/errorList.txt 2010-05-13 22:33:18 UTC (rev 22073)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/errorList.txt 2010-05-13 23:41:02 UTC (rev 22074)
@@ -52,6 +52,11 @@
- bean class of a session bean is annotated @Interceptor or @Decorator
- session bean with a parameterized bean class declares any scope other than @Dependent
+
+
+
+
+
3.2.4. Specializing a session bean
- session bean class annotated @Specializes does not directly extend
the bean class of another session bean
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/messages.properties
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/messages.properties 2010-05-13 22:33:18 UTC (rev 22073)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/messages.properties 2010-05-13 23:41:02 UTC (rev 22074)
@@ -22,7 +22,8 @@
STEREOTYPE_DECLARES_MORE_THAN_ONE_SCOPE=Stereotype declares more than one scope
ILLEGAL_SCOPE_FOR_MANAGED_BEAN_WITH_PUBLIC_FIELD=Managed bean with a public field declares any scope other than @Dependent
ILLEGAL_SCOPE_FOR_MANAGED_BEAN_WITH_GENERIC_TYPE=Managed bean with a parameterized bean class declares any scope other than @Dependent
-ILLEGAL_SCOPE_FOR_SESSION_BEAN=Session bean specifies an illegal scope (a stateless session bean must belong to the @Dependent pseudo-scope; a singleton bean must belong to either the @ApplicationScoped scope or to the @Dependent pseudo-scope, a stateful session bean may have any scope)
+ILLEGAL_SCOPE_FOR_STATELESS_SESSION_BEAN=Session bean specifies an illegal scope. A stateless session bean must belong to the @Dependent pseudo-scope.
+ILLEGAL_SCOPE_FOR_SINGLETON_SESSION_BEAN=Session bean specifies an illegal scope. A singleton bean must belong to either the @ApplicationScoped scope or to the @Dependent pseudo-scope.
ILLEGAL_SCOPE_FOR_PRODUCER_METHOD=Producer method with a parameterized return type with a type variable declares any scope other than @Dependent
ILLEGAL_SCOPE_FOR_PRODUCER_FIELD=Producer field with a parameterized type with a type variable declares any scope other than @Dependent
ILLEGAL_SCOPE_WHEN_TYPE_INJECTIONPOINT_IS_INJECTED=Bean that declares any scope other than @Dependent has an injection point of type InjectionPoint and qualifier @Default
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/preferences/CDIConfigurationBlock.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/preferences/CDIConfigurationBlock.java 2010-05-13 22:33:18 UTC (rev 22073)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/preferences/CDIConfigurationBlock.java 2010-05-13 23:41:02 UTC (rev 22074)
@@ -63,7 +63,7 @@
{CDIPreferences.MISSING_SCOPE_WHEN_THERE_IS_NO_DEFAULT_SCOPE, CDIPreferencesMessages.CDIValidatorConfigurationBlock_pb_missingScopeWhenThereIsNoDefaultScope_label},
{CDIPreferences.STEREOTYPE_DECLARES_MORE_THAN_ONE_SCOPE, CDIPreferencesMessages.CDIValidatorConfigurationBlock_pb_stereotypeDeclaresMoreThanOneScope_label},
{CDIPreferences.ILLEGAL_SCOPE_FOR_MANAGED_BEAN, CDIPreferencesMessages.CDIValidatorConfigurationBlock_pb_illegalScopeForManagedBean_label},
-// {CDIPreferences.ILLEGAL_SCOPE_FOR_SESSION_BEAN, CDIPreferencesMessages.CDIValidatorConfigurationBlock_pb_illegalScopeForSessionBean_label},
+ {CDIPreferences.ILLEGAL_SCOPE_FOR_SESSION_BEAN, CDIPreferencesMessages.CDIValidatorConfigurationBlock_pb_illegalScopeForSessionBean_label},
{CDIPreferences.ILLEGAL_SCOPE_FOR_PRODUCER_METHOD, CDIPreferencesMessages.CDIValidatorConfigurationBlock_pb_illegalScopeForProducerMethod_label},
{CDIPreferences.ILLEGAL_SCOPE_FOR_PRODUCER_FIELD, CDIPreferencesMessages.CDIValidatorConfigurationBlock_pb_illegalScopeForProducerField_label},
// {CDIPreferences.ILLEGAL_SCOPE_WHEN_TYPE_INJECTIONPOINT_IS_INJECTED, CDIPreferencesMessages.CDIValidatorConfigurationBlock_pb_illegalScopeWhenTypeInjectionPointIsInjected_label},
Modified: trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/ValidationTest.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/ValidationTest.java 2010-05-13 22:33:18 UTC (rev 22073)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/ValidationTest.java 2010-05-13 23:41:02 UTC (rev 22074)
@@ -266,6 +266,91 @@
}
/**
+ * 3.2. Session beans
+ * - session bean specifies an illegal scope
+ * (a stateless session bean must belong to the @Dependent pseudo-scope)
+ *
+ * @throws Exception
+ */
+ public void testStatelessWithRequestScopeFails() throws Exception {
+ IFile file = tckProject.getFile("JavaSource/org/jboss/jsr299/tck/tests/implementation/enterprise/broken/statelessWithRequestScope/Beagle_Broken.java");
+ AbstractResourceMarkerTest.assertMarkerIsCreated(file, AbstractResourceMarkerTest.MARKER_TYPE, CDIValidationMessages.ILLEGAL_SCOPE_FOR_STATELESS_SESSION_BEAN, 23);
+ }
+
+ /**
+ * 3.2. Session beans
+ * - session bean specifies an illegal scope
+ * (a stateless session bean must belong to the @Dependent pseudo-scope)
+ *
+ * @throws Exception
+ */
+ public void testStatelessWithApplicationScopeFails() throws Exception {
+ IFile file = tckProject.getFile("JavaSource/org/jboss/jsr299/tck/tests/implementation/enterprise/broken/statelessWithApplicationScope/DachshundLocal_Broken.java");
+ AbstractResourceMarkerTest.assertMarkerIsCreated(file, AbstractResourceMarkerTest.MARKER_TYPE, CDIValidationMessages.ILLEGAL_SCOPE_FOR_STATELESS_SESSION_BEAN, 23);
+ }
+
+ /**
+ * 3.2. Session beans
+ * - session bean specifies an illegal scope
+ * (a stateless session bean must belong to the @Dependent pseudo-scope)
+ *
+ * @throws Exception
+ */
+ public void testStatelessWithConversationScopeFails() throws Exception {
+ IFile file = tckProject.getFile("JavaSource/org/jboss/jsr299/tck/tests/implementation/enterprise/broken/statelessWithConversationScope/Boxer_Broken.java");
+ AbstractResourceMarkerTest.assertMarkerIsCreated(file, AbstractResourceMarkerTest.MARKER_TYPE, CDIValidationMessages.ILLEGAL_SCOPE_FOR_STATELESS_SESSION_BEAN, 23);
+ }
+
+ /**
+ * 3.2. Session beans
+ * - session bean specifies an illegal scope
+ * (a stateless session bean must belong to the @Dependent pseudo-scope)
+ *
+ * @throws Exception
+ */
+ public void testStatelessWithSessionScopeFails() throws Exception {
+ IFile file = tckProject.getFile("JavaSource/org/jboss/jsr299/tck/tests/implementation/enterprise/broken/statelessWithSessionScope/Bullmastiff_Broken.java");
+ AbstractResourceMarkerTest.assertMarkerIsCreated(file, AbstractResourceMarkerTest.MARKER_TYPE, CDIValidationMessages.ILLEGAL_SCOPE_FOR_STATELESS_SESSION_BEAN, 23);
+ }
+
+
+ /**
+ * 3.2. Session beans
+ * - session bean specifies an illegal scope
+ * (a singleton bean must belong to either the @ApplicationScoped scope or to the @Dependent pseudo-scope)
+ *
+ * @throws Exception
+ */
+ public void testSingletonWithConversationScopeFails() throws Exception {
+ IFile file = tckProject.getFile("JavaSource/org/jboss/jsr299/tck/tests/implementation/enterprise/broken/singletonWithConversationScope/Husky_Broken.java");
+ AbstractResourceMarkerTest.assertMarkerIsCreated(file, AbstractResourceMarkerTest.MARKER_TYPE, CDIValidationMessages.ILLEGAL_SCOPE_FOR_SINGLETON_SESSION_BEAN, 24);
+ }
+
+ /**
+ * 3.2. Session beans
+ * - session bean specifies an illegal scope
+ * (a singleton bean must belong to either the @ApplicationScoped scope or to the @Dependent pseudo-scope)
+ *
+ * @throws Exception
+ */
+ public void testSingletonWithSessionScopeFails() throws Exception {
+ IFile file = tckProject.getFile("JavaSource/org/jboss/jsr299/tck/tests/implementation/enterprise/broken/singletonWithSessionScope/IrishTerrier_Broken.java");
+ AbstractResourceMarkerTest.assertMarkerIsCreated(file, AbstractResourceMarkerTest.MARKER_TYPE, CDIValidationMessages.ILLEGAL_SCOPE_FOR_SINGLETON_SESSION_BEAN, 25);
+ }
+
+ /**
+ * 3.2. Session beans
+ * - session bean specifies an illegal scope
+ * (a singleton bean must belong to either the @ApplicationScoped scope or to the @Dependent pseudo-scope)
+ *
+ * @throws Exception
+ */
+ public void testSingletonWithRequestScopeFails() throws Exception {
+ IFile file = tckProject.getFile("JavaSource/org/jboss/jsr299/tck/tests/implementation/enterprise/broken/singletonWithRequestScope/Greyhound_Broken.java");
+ AbstractResourceMarkerTest.assertMarkerIsCreated(file, AbstractResourceMarkerTest.MARKER_TYPE, CDIValidationMessages.ILLEGAL_SCOPE_FOR_SINGLETON_SESSION_BEAN, 23);
+ }
+
+ /**
* 3.5.1. Declaring a resource
* - producer field declaration specifies an EL name (together with one of @Resource, @PersistenceContext, @PersistenceUnit, @EJB, @WebServiceRef)
*
15 years, 11 months
JBoss Tools SVN: r22073 - trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/views.
by jbosstools-commits@lists.jboss.org
Author: bfitzpat
Date: 2010-05-13 18:33:18 -0400 (Thu, 13 May 2010)
New Revision: 22073
Modified:
trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/views/DelimitedStringList.java
Log:
OPEN - issue JBIDE-6282: [tester] Cannot see more than 7 request parameters/headers
https://jira.jboss.org/jira/browse/JBIDE-6282
Modified: trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/views/DelimitedStringList.java
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/views/DelimitedStringList.java 2010-05-13 22:27:59 UTC (rev 22072)
+++ trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/views/DelimitedStringList.java 2010-05-13 22:33:18 UTC (rev 22073)
@@ -136,7 +136,7 @@
mSpacerComposite.setLayout(new GridLayout());
}
{
- this.mPropsList = new List(this, SWT.BORDER);
+ this.mPropsList = new List(this, SWT.BORDER | SWT.V_SCROLL);
final GridData gridData = new GridData(
GridData.HORIZONTAL_ALIGN_FILL
| GridData.VERTICAL_ALIGN_FILL);
15 years, 11 months
JBoss Tools SVN: r22072 - in trunk/jst: tests/org.jboss.tools.jst.web.kb.test/META-INF and 2 other directories.
by jbosstools-commits@lists.jboss.org
Author: akazakov
Date: 2010-05-13 18:27:59 -0400 (Thu, 13 May 2010)
New Revision: 22072
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web.kb/taglibs/JsfCore.xml
trunk/jst/tests/org.jboss.tools.jst.web.kb.test/META-INF/MANIFEST.MF
trunk/jst/tests/org.jboss.tools.jst.web.kb.test/projects/TestKbModel/WebContent/pages/inputUserName.jsp
trunk/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/WebKbTest.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-6284
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/taglibs/JsfCore.xml
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/taglibs/JsfCore.xml 2010-05-13 21:19:38 UTC (rev 22071)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/taglibs/JsfCore.xml 2010-05-13 22:27:59 UTC (rev 22072)
@@ -2,8 +2,8 @@
<!DOCTYPE tag-lib PUBLIC "-//Red Hat, Inc//DTD Knowledge Base 2.0//EN" "http://anonsvn.jboss.org/repos/jbosstools/trunk/jst/plugins/org.jboss.too...">
<tag-lib defaultPrefix="f">
- <component closeTag="true" name="facet">
- <attribute name="name">
+ <component name="facet">
+ <attribute name="name" required="true">
<proposal type="facetName"/>
</attribute>
</component>
Modified: trunk/jst/tests/org.jboss.tools.jst.web.kb.test/META-INF/MANIFEST.MF
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.web.kb.test/META-INF/MANIFEST.MF 2010-05-13 21:19:38 UTC (rev 22071)
+++ trunk/jst/tests/org.jboss.tools.jst.web.kb.test/META-INF/MANIFEST.MF 2010-05-13 22:27:59 UTC (rev 22072)
@@ -8,7 +8,9 @@
org.eclipse.core.resources,
org.jboss.tools.jst.web.kb,
org.junit,
- org.jboss.tools.tests
+ org.jboss.tools.tests,
+ org.jboss.tools.common.el.core,
+ org.jboss.tools.common
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-Vendor: %Bundle-Vendor.0
Modified: trunk/jst/tests/org.jboss.tools.jst.web.kb.test/projects/TestKbModel/WebContent/pages/inputUserName.jsp
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.web.kb.test/projects/TestKbModel/WebContent/pages/inputUserName.jsp 2010-05-13 21:19:38 UTC (rev 22071)
+++ trunk/jst/tests/org.jboss.tools.jst.web.kb.test/projects/TestKbModel/WebContent/pages/inputUserName.jsp 2010-05-13 22:27:59 UTC (rev 22072)
@@ -1,6 +1,6 @@
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
-
+
<f:loadBundle var="Message" basename="demo.Messages"/>
<html>
Modified: trunk/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/WebKbTest.java
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/WebKbTest.java 2010-05-13 21:19:38 UTC (rev 22071)
+++ trunk/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/WebKbTest.java 2010-05-13 22:27:59 UTC (rev 22072)
@@ -12,7 +12,14 @@
import junit.framework.TestCase;
+import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
+import org.jboss.tools.common.el.core.resolver.ELContext;
+import org.jboss.tools.common.text.TextProposal;
+import org.jboss.tools.jst.web.kb.KbQuery;
+import org.jboss.tools.jst.web.kb.PageContextFactory;
+import org.jboss.tools.jst.web.kb.PageProcessor;
+import org.jboss.tools.jst.web.kb.KbQuery.Type;
import org.jboss.tools.jst.web.kb.internal.taglib.CustomTagLibAttribute;
import org.jboss.tools.jst.web.kb.taglib.CustomTagLibManager;
import org.jboss.tools.jst.web.kb.taglib.ICustomTagLibrary;
@@ -49,8 +56,32 @@
}
}
+ /**
+ * https://jira.jboss.org/jira/browse/JBIDE-6284
+ */
+ public void testFFacet() {
+ IFile file = testProject.getFile("WebContent/pages/inputUserName.jsp");
+ ELContext context = PageContextFactory.createPageContext(file);
+ KbQuery query = new KbQuery();
+ query.setMask(true);
+ query.setOffset(130);
+ query.setType(Type.TAG_NAME);
+ query.setPrefix("f");
+ query.setUri("http://java.sun.com/jsf/core");
+ query.setValue("f:facet");
+
+ TextProposal[] proposals = PageProcessor.getInstance().getProposals(query, context);
+ for (TextProposal proposal : proposals) {
+ if("<f:facet name=\"\">".equals(proposal.getReplacementString())) {
+ return;
+ }
+ }
+ fail("Can't find <f:facet name=\"\"> proposal.");
+ }
+
public void testCustomExtensions() {
CustomTagLibAttribute[] attributes = CustomTagLibManager.getInstance().getComponentExtensions();
assertNotNull("Can't load component extensions.", attributes);
assertFalse("Can't load component extensions.", attributes.length==0);
- }}
\ No newline at end of file
+ }
+}
\ No newline at end of file
15 years, 11 months
JBoss Tools SVN: r22071 - in trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui: views and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: bfitzpat
Date: 2010-05-13 17:19:38 -0400 (Thu, 13 May 2010)
New Revision: 22071
Modified:
trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/utils/JAXRSTester.java
trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/views/JAXRSWSTestView.java
Log:
OPEN - issue JBIDE-6280: [tester] full response (body and headers) should be shown for REST requests
https://jira.jboss.org/jira/browse/JBIDE-6280
Modified: trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/utils/JAXRSTester.java
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/utils/JAXRSTester.java 2010-05-13 18:12:30 UTC (rev 22070)
+++ trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/utils/JAXRSTester.java 2010-05-13 21:19:38 UTC (rev 22071)
@@ -11,6 +11,7 @@
package org.jboss.tools.ws.ui.utils;
import java.io.BufferedReader;
+import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
@@ -208,16 +209,34 @@
}
// retrieve result and put string results into the response
- InputStream is = (InputStream) httpurlc.getInputStream();
- BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));//$NON-NLS-1$
- StringBuilder sb = new StringBuilder();
- String line;
- while ((line = br.readLine()) != null) {
- sb.append(line);
- sb.append("\n");//$NON-NLS-1$
+ InputStream is = null;
+ try {
+ is = httpurlc.getInputStream();
+ BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));//$NON-NLS-1$
+ StringBuilder sb = new StringBuilder();
+ String line;
+ while ((line = br.readLine()) != null) {
+ sb.append(line);
+ sb.append("\n");//$NON-NLS-1$
+ }
+ br.close();
+ resultBody = sb.toString();
+ } catch (IOException ie) {
+ try {
+ is = httpurlc.getErrorStream();
+ BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));//$NON-NLS-1$
+ StringBuilder sb = new StringBuilder();
+ String line;
+ while ((line = br.readLine()) != null) {
+ sb.append(line);
+ sb.append("\n");//$NON-NLS-1$
+ }
+ br.close();
+ resultBody = sb.toString();
+ } catch (IOException ie2) {
+ resultBody = ie2.getLocalizedMessage();
+ }
}
- br.close();
- resultBody = sb.toString();
resultHeaders = httpurlc.getHeaderFields();
Modified: trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/views/JAXRSWSTestView.java
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/views/JAXRSWSTestView.java 2010-05-13 18:12:30 UTC (rev 22070)
+++ trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/views/JAXRSWSTestView.java 2010-05-13 21:19:38 UTC (rev 22071)
@@ -652,11 +652,11 @@
}
}
+ JAXRSTester tester = new JAXRSTester();
+
// now actually call it
try {
- JAXRSTester tester = new JAXRSTester();
-
// call the service
tester.doTest(address, parameters, headers, method, body);
@@ -693,12 +693,43 @@
return status;
} catch (Exception e) {
- WSTestStatus status = new WSTestStatus(IStatus.ERROR,
+ String result = tester.getResultBody();
+
+ // put the results in the result text field
+ String cleanedUp = WSTestUtils.addNLsToXML(result);
+
+ WSTestStatus status = new WSTestStatus(IStatus.OK,
JBossWSUIPlugin.PLUGIN_ID,
- JBossWSUIMessages.JAXRSWSTestView_Exception_Status + e.getLocalizedMessage());
- status.setResultsText(e.toString());
- e.printStackTrace();
+ JBossWSUIMessages.JAXRSWSTestView_JAXRS_Success_Status);
+ status.setResultsText(cleanedUp);
+
+ String listText = EMPTY_STRING;
+ if (tester.getResultHeaders() != null) {
+ Iterator<?> iter = tester.getResultHeaders().entrySet().iterator();
+ while (iter.hasNext()) {
+ String text = EMPTY_STRING;
+ Entry<?, ?> entry = (Entry<?, ?>) iter.next();
+ if (entry.getKey() == null)
+ text = entry.getValue().toString();
+ else
+ text = text + entry.toString();
+ listText = listText + text;
+ if (iter.hasNext()) {
+ listText = listText + RESULT_HEADER_DELIMITER;
+ }
+ }
+ }
+
+ System.out.println(listText);
+ status.setHeadersList(listText);
+ monitor.worked(10);
return status;
+// WSTestStatus status = new WSTestStatus(IStatus.ERROR,
+// JBossWSUIPlugin.PLUGIN_ID,
+// JBossWSUIMessages.JAXRSWSTestView_Exception_Status + e.getLocalizedMessage());
+// status.setResultsText(e.toString());
+// e.printStackTrace();
+// return status;
}
}
15 years, 11 months
JBoss Tools SVN: r22070 - branches/jbosstools-3.1.x/jsf/tests/org.jboss.tools.jsf.text.ext.test/src/org/jboss/tools/jsf/text/ext/test.
by jbosstools-commits@lists.jboss.org
Author: akazakov
Date: 2010-05-13 14:12:30 -0400 (Thu, 13 May 2010)
New Revision: 22070
Modified:
branches/jbosstools-3.1.x/jsf/tests/org.jboss.tools.jsf.text.ext.test/src/org/jboss/tools/jsf/text/ext/test/ELExprPartitionerTest.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-6277
Modified: branches/jbosstools-3.1.x/jsf/tests/org.jboss.tools.jsf.text.ext.test/src/org/jboss/tools/jsf/text/ext/test/ELExprPartitionerTest.java
===================================================================
--- branches/jbosstools-3.1.x/jsf/tests/org.jboss.tools.jsf.text.ext.test/src/org/jboss/tools/jsf/text/ext/test/ELExprPartitionerTest.java 2010-05-13 16:42:30 UTC (rev 22069)
+++ branches/jbosstools-3.1.x/jsf/tests/org.jboss.tools.jsf.text.ext.test/src/org/jboss/tools/jsf/text/ext/test/ELExprPartitionerTest.java 2010-05-13 18:12:30 UTC (rev 22070)
@@ -36,7 +36,7 @@
import org.jboss.tools.common.text.ext.util.AxisUtil;
import org.jboss.tools.jsf.text.ext.hyperlink.JSPExprHyperlinkPartitioner;
import org.jboss.tools.test.util.JobUtils;
-import org.jboss.tools.test.util.TestProjectProvider;
+import org.jboss.tools.common.test.util.TestProjectProvider;
public class ELExprPartitionerTest extends TestCase {
TestProjectProvider provider = null;
15 years, 11 months
JBoss Tools SVN: r22069 - trunk/documentation/guides/GettingStartedGuide/en-US.
by jbosstools-commits@lists.jboss.org
Author: abogachuk
Date: 2010-05-13 12:42:30 -0400 (Thu, 13 May 2010)
New Revision: 22069
Modified:
trunk/documentation/guides/GettingStartedGuide/en-US/getting_started.xml
Log:
https://jira.jboss.org/jira/browse/TOOLSDOC-37 - Added description of the Archived download option
Modified: trunk/documentation/guides/GettingStartedGuide/en-US/getting_started.xml
===================================================================
--- trunk/documentation/guides/GettingStartedGuide/en-US/getting_started.xml 2010-05-13 15:26:09 UTC (rev 22068)
+++ trunk/documentation/guides/GettingStartedGuide/en-US/getting_started.xml 2010-05-13 16:42:30 UTC (rev 22069)
@@ -714,7 +714,10 @@
</section>
<section>
<title>Installation From Zip file</title>
- <para>You can download Jboss tools in a zip file from one of the pages below:</para>
+
+ <para>Now you can install JBoss Tools using Eclipse P2 update manager and a common zip file which is
+ one installer for all platforms.</para>
+ <para>You can download Jboss Tools in a zip file from one of the pages below:</para>
<itemizedlist id="zip_sites">
<listitem>
<para>Stable Releases: <ulink url="http://www.jboss.org/tools/download/stable.html"
15 years, 11 months
JBoss Tools SVN: r22068 - trunk/tests/plugins/org.jboss.tools.tests/src/org/jboss/tools/tests.
by jbosstools-commits@lists.jboss.org
Author: akazakov
Date: 2010-05-13 11:26:09 -0400 (Thu, 13 May 2010)
New Revision: 22068
Modified:
trunk/tests/plugins/org.jboss.tools.tests/src/org/jboss/tools/tests/AbstractResourceMarkerTest.java
Log:
Removed System.out()
Modified: trunk/tests/plugins/org.jboss.tools.tests/src/org/jboss/tools/tests/AbstractResourceMarkerTest.java
===================================================================
--- trunk/tests/plugins/org.jboss.tools.tests/src/org/jboss/tools/tests/AbstractResourceMarkerTest.java 2010-05-13 15:03:19 UTC (rev 22067)
+++ trunk/tests/plugins/org.jboss.tools.tests/src/org/jboss/tools/tests/AbstractResourceMarkerTest.java 2010-05-13 15:26:09 UTC (rev 22068)
@@ -65,7 +65,6 @@
public static IMarker[] findMarkers(IResource resource, String type, String pattern) throws CoreException {
List<IMarker> result = new ArrayList<IMarker>();
IMarker[] markers = resource.findMarkers(type, true, IResource.DEPTH_INFINITE);
- System.out.println("");
for (int i = 0; i < markers.length; i++) {
String message = markers[i].getAttribute(IMarker.MESSAGE, ""); //$NON-NLS-1$
if ((message.matches(pattern)||message.equals(pattern)) && markers[i].exists()) {
15 years, 11 months
JBoss Tools SVN: r22067 - trunk/tests/plugins/org.jboss.tools.tests/src/org/jboss/tools/tests.
by jbosstools-commits@lists.jboss.org
Author: akazakov
Date: 2010-05-13 11:03:19 -0400 (Thu, 13 May 2010)
New Revision: 22067
Modified:
trunk/tests/plugins/org.jboss.tools.tests/src/org/jboss/tools/tests/AbstractResourceMarkerTest.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-2708
Modified: trunk/tests/plugins/org.jboss.tools.tests/src/org/jboss/tools/tests/AbstractResourceMarkerTest.java
===================================================================
--- trunk/tests/plugins/org.jboss.tools.tests/src/org/jboss/tools/tests/AbstractResourceMarkerTest.java 2010-05-13 14:55:29 UTC (rev 22066)
+++ trunk/tests/plugins/org.jboss.tools.tests/src/org/jboss/tools/tests/AbstractResourceMarkerTest.java 2010-05-13 15:03:19 UTC (rev 22067)
@@ -65,9 +65,10 @@
public static IMarker[] findMarkers(IResource resource, String type, String pattern) throws CoreException {
List<IMarker> result = new ArrayList<IMarker>();
IMarker[] markers = resource.findMarkers(type, true, IResource.DEPTH_INFINITE);
+ System.out.println("");
for (int i = 0; i < markers.length; i++) {
String message = markers[i].getAttribute(IMarker.MESSAGE, ""); //$NON-NLS-1$
- if (message.matches(pattern) && markers[i].exists()) {
+ if ((message.matches(pattern)||message.equals(pattern)) && markers[i].exists()) {
result.add(markers[i]);
}
}
15 years, 11 months
JBoss Tools SVN: r22066 - branches/modular_build.
by jbosstools-commits@lists.jboss.org
Author: nickboldt
Date: 2010-05-13 10:55:29 -0400 (Thu, 13 May 2010)
New Revision: 22066
Modified:
branches/modular_build/genpom.xml
Log:
support -DCOMPONENTS=... so that genpom.xml can be used to create the component agg pom.xml files too
Modified: branches/modular_build/genpom.xml
===================================================================
--- branches/modular_build/genpom.xml 2010-05-13 14:37:16 UTC (rev 22065)
+++ branches/modular_build/genpom.xml 2010-05-13 14:55:29 UTC (rev 22066)
@@ -2,7 +2,6 @@
<!-- Configuration Start -->
<property name="projectName" value="org.jboss.tools" />
<property name="pathToParentPom" value="" />
- <property name="COMPONENT" value="trunk" />
<property name="pomVersion" value="0.0.1-SNAPSHOT" />
<property name="dirsToExclude"
value="**/*.sdk.*, **/doc*/**, **/releng/**, **/build/**, **/download.jboss.org, **/sampleprojects/**, **/util/**, **/test, **/builders/**, **/contrib, **/releng/**, ."
@@ -90,8 +89,8 @@
</classpath>
</taskdef>
- <var name="show.pom.exists.warning" value="" />
-
+ <var name="pathToParentPomInput" value="${pathToParentPom}"/>
+
<!-- = = = = = = = = = = = = = = = = =
macrodef: write out a pom.xml which aggregates subdirs
= = = = = = = = = = = = = = = = = -->
@@ -467,77 +466,110 @@
</target>
<target name="run" depends="init">
- <if>
- <not>
- <available file="${WORKINGDIR}/${pathToParentPom}parent-pom.xml" type="file" />
- </not>
- <then>
- <fail>Error: no parent-pom.xml found in ${WORKINGDIR}/${pathToParentPom}</fail>
- </then>
- </if>
+ <var name="show.pom.exists.warning" value="" />
<if>
- <not>
- <equals arg1="${COMPONENT}" arg2="trunk" />
- </not>
+ <and>
+ <isset property="COMPONENT" />
+ <not>
+ <equals arg1="${COMPONENT}" arg2="" />
+ </not>
+ </and>
<then>
- <var name="pathToParentPom" unset="true" />
- <var name="pathToParentPom" value="../" />
+ <var name="COMPONENTS" unset="true" />
+ <var name="COMPONENTS" value="${COMPONENT}" />
</then>
+ <elseif>
+ <not>
+ <isset property="COMPONENTS" />
+ </not>
+ <then>
+ <var name="COMPONENTS" value="trunk" />
+ </then>
+ </elseif>
</if>
- <echo level="verbose">COMPONENT = ${COMPONENT}, pathToParentPom = ${pathToParentPom}</echo>
+ <for param="COMPONENT" list="${COMPONENTS}" delimiter=",;
+ ">
+ <sequential>
+ <var name="COMPONENT" value="@{COMPONENT}" />
+ <echo level="info">COMPONENT = ${COMPONENT}</echo>
+ <if>
+ <not>
+ <available file="${WORKINGDIR}/${pathToParentPomInput}parent-pom.xml" type="file" />
+ </not>
+ <then>
+ <fail>Error: no parent-pom.xml found in ${WORKINGDIR}/${pathToParentPomInput}</fail>
+ </then>
+ </if>
- <!-- if set, compare values in tags file to values found in manifests and report discrepancies -->
- <!--<property name="tagsFile"
+ <if>
+ <not>
+ <equals arg1="${COMPONENT}" arg2="trunk" />
+ </not>
+ <then>
+ <var name="pathToParentPom" unset="true" />
+ <var name="pathToParentPom" value="../" />
+ </then>
+ </if>
+ <echo level="verbose">COMPONENT = ${COMPONENT}, pathToParentPom = ${pathToParentPom}</echo>
+
+ <!-- if set, compare values in tags file to values found in manifests and report discrepancies -->
+ <!--<property name="tagsFile"
value="/home/nboldt/eclipse/workspace-jboss/devstudio-trunk/releng/org.jboss.ide.eclipse.releng/builders/product/versionTags/jbosstools/3.1.0.GA.tags"
/>-->
- <if>
- <and>
- <isset property="tagsFile" />
- <available file="${tagsFile}" type="file" />
- </and>
- <then>
- <property file="${tagsFile}" prefix="tagsFile" />
- </then>
- </if>
+ <if>
+ <and>
+ <isset property="tagsFile" />
+ <available file="${tagsFile}" type="file" />
+ </and>
+ <then>
+ <property file="${tagsFile}" prefix="tagsFile" />
+ </then>
+ </if>
- <!-- counter variables -->
- <var name="aggregatorcountstring" value="" />
- <var name="modulecountstring" value="" />
+ <!-- counter variables -->
+ <var name="aggregatorcountstring" value="" />
+ <var name="modulecountstring" value="" />
- <if>
- <equals arg1="${COMPONENT}" arg2="trunk" />
- <then>
- <!-- call generateAggregator for overall -->
- <generateAggregator dir="${WORKINGDIR}"
- parentpom="${pathToParentPom}parent-pom.xml"
- artifactId="${COMPONENT}"
- artifactVersion="${pomVersion}"
- />
- </then>
- <else>
- <!-- call generateAggregator for component -->
- <generateAggregator dir="${WORKINGDIR}/${COMPONENT}"
- parentpom="${pathToParentPom}parent-pom.xml"
- artifactId="${COMPONENT}"
- artifactVersion="${pomVersion}"
- />
- </else>
- </if>
- <!-- summary -->
- <length string="${modulecountstring}" property="modulecount" />
- <length string="${aggregatorcountstring}" property="aggregatorcount" />
- <echo level="info">${WORKINGDIR}/${COMPONENT} :: Modules: ${modulecount}, Aggregations: ${aggregatorcount}</echo>
- <if>
- <not>
- <equals arg1="${show.pom.exists.warning}" arg2="" />
- </not>
- <then>
- <length property="show.pom.exists.warning.count" string="${show.pom.exists.warning}" />
- <echo level="warning">${show.pom.exists.warning.count} ${COMPONENT} pom.xml file(s) already exist. To overwrite, use -Doverwrite.existing.pom.xml=true</echo>
- </then>
- </if>
+ <if>
+ <equals arg1="${COMPONENT}" arg2="trunk" />
+ <then>
+ <!-- call generateAggregator for overall -->
+ <generateAggregator dir="${WORKINGDIR}"
+ parentpom="${pathToParentPom}parent-pom.xml"
+ artifactId="${COMPONENT}"
+ artifactVersion="${pomVersion}"
+ />
+ </then>
+ <else>
+ <!-- call generateAggregator for component -->
+ <generateAggregator dir="${WORKINGDIR}/${COMPONENT}"
+ parentpom="${pathToParentPom}parent-pom.xml"
+ artifactId="${COMPONENT}"
+ artifactVersion="${pomVersion}"
+ />
+ </else>
+ </if>
+ <!-- summary -->
+ <length string="${modulecountstring}" property="modulecount" />
+ <length string="${aggregatorcountstring}" property="aggregatorcount" />
+ <echo level="info">${WORKINGDIR}/${COMPONENT} :: Modules: ${modulecount}, Aggregations: ${aggregatorcount}</echo>
+ <if>
+ <not>
+ <equals arg1="${show.pom.exists.warning}" arg2="" />
+ </not>
+ <then>
+ <length property="show.pom.exists.warning.count" string="${show.pom.exists.warning}" />
+ <echo level="warning">${show.pom.exists.warning.count} ${COMPONENT} pom.xml file(s) already exist. To overwrite, use -Doverwrite.existing.pom.xml=true</echo>
+ </then>
+ </if>
+ <var name="show.pom.exists.warning.count" unset="true" />
+ <var name="show.pom.exists.warning" value="" />
+ <var name="modulecount" unset="true" />
+ <var name="aggregatorcount" unset="true" />
+ </sequential>
+ </for>
</target>
<target name="getArtifactType">
15 years, 11 months
JBoss Tools SVN: r22065 - trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation.
by jbosstools-commits@lists.jboss.org
Author: akazakov
Date: 2010-05-13 10:37:16 -0400 (Thu, 13 May 2010)
New Revision: 22065
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-2708
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 2010-05-13 14:13:04 UTC (rev 22064)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java 2010-05-13 14:37:16 UTC (rev 22065)
@@ -439,11 +439,9 @@
* 3.3.7. Disposer method resolution
* - there is no producer method declared by the (same) bean class that is assignable to the disposed parameter of a disposer method
*/
- for (IBeanMethod disposerMethod : disposers) {
- if(!boundDisposers.contains(disposerMethod)) {
- for (ITextSourceReference declaration : disposerDeclarations) {
- addError(CDIValidationMessages.NO_PRODUCER_MATCHING_DISPOSER, CDIPreferences.NO_PRODUCER_MATCHING_DISPOSER, declaration, bean.getResource());
- }
+ if(!boundDisposers.contains(disposer)) {
+ for (ITextSourceReference declaration : disposerDeclarations) {
+ addError(CDIValidationMessages.NO_PRODUCER_MATCHING_DISPOSER, CDIPreferences.NO_PRODUCER_MATCHING_DISPOSER, declaration, bean.getResource());
}
}
}
15 years, 11 months