JBoss Tools SVN: r24749 - in trunk/cdi: tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt and 2 other directories.
by jbosstools-commits@lists.jboss.org
Author: akazakov
Date: 2010-09-06 15:15:50 -0400 (Mon, 06 Sep 2010)
New Revision: 24749
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/AlternativeClass.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/AlternativeClassBean.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/AlternativeStereotype.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/AlternativeStereotype2.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/BeanClass.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/ClassBean.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/InterceptorBean.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/LoggerDecorator.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/NotAlternativeStereotype.java
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/ca/BeansXmlProcessor.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/ca/BeansXmlCATest.java
Log:
https://jira.jboss.org/browse/JBIDE-2704
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/ca/BeansXmlProcessor.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/ca/BeansXmlProcessor.java 2010-09-06 17:53:42 UTC (rev 24748)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/ca/BeansXmlProcessor.java 2010-09-06 19:15:50 UTC (rev 24749)
@@ -60,7 +60,7 @@
*/
public TextProposal[] getProposals(KbQuery query, IProject project) {
String[] parents = query.getParentTags();
- if(parents.length>2) {
+ if(parents.length>1) {
CDICoreNature nature = CDICorePlugin.getCDI(project, false);
if(nature!=null) {
ICDIProject cdiProject = nature.getDelegate();
@@ -82,7 +82,7 @@
private TextProposal[] getAlternativeBeans(KbQuery query, ICDIProject cdiProject) {
List<TextProposal> proposals = new ArrayList<TextProposal>();
- String value = query.getValue().trim();
+ String value = removeLeadingWhitespace(query.getValue());
IBean[] alternatives = cdiProject.getAlternatives();
for (IBean bean : alternatives) {
if(bean instanceof IClassBean) {
@@ -95,7 +95,7 @@
private TextProposal[] getAlternativeStereotypes(KbQuery query, ICDIProject cdiProject) {
List<TextProposal> proposals = new ArrayList<TextProposal>();
- String value = query.getValue().trim();
+ String value = removeLeadingWhitespace(query.getValue());
IStereotype[] alternatives = cdiProject.getStereotypes();
for (IStereotype stereotype : alternatives) {
if(stereotype.isAlternative()) {
@@ -108,7 +108,7 @@
private TextProposal[] getDecorators(KbQuery query, ICDIProject cdiProject) {
List<TextProposal> proposals = new ArrayList<TextProposal>();
- String value = query.getValue().trim();
+ String value = removeLeadingWhitespace(query.getValue());
IDecorator[] decorators = cdiProject.getDecorators();
for (IDecorator bean : decorators) {
IType type = bean.getBeanClass();
@@ -119,7 +119,7 @@
private TextProposal[] getInterceptors(KbQuery query, ICDIProject cdiProject) {
List<TextProposal> proposals = new ArrayList<TextProposal>();
- String value = query.getValue().trim();
+ String value = removeLeadingWhitespace(query.getValue());
IInterceptor[] interceptors = cdiProject.getInterceptors();
for (IInterceptor bean : interceptors) {
IType type = bean.getBeanClass();
@@ -128,6 +128,16 @@
return proposals.toArray(new TextProposal[0]);
}
+ private String removeLeadingWhitespace(String value) {
+ int len = value.length();
+ int st = 0;
+ char[] val = value.toCharArray();
+ while ((st < len) && (val[st] <= ' ')) {
+ st++;
+ }
+ return (st > 0) ? value.substring(st) : value;
+ }
+
private void addMatchedType(IType type, String value, List<TextProposal> proposals) {
String fullTypeName = type.getFullyQualifiedName();
if(fullTypeName.startsWith(value)) {
Added: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/AlternativeClass.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/AlternativeClass.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/AlternativeClass.java 2010-09-06 19:15:50 UTC (rev 24749)
@@ -0,0 +1,8 @@
+package org.jboss.jsr299.tck.tests.jbt.ca;
+
+import javax.enterprise.inject.Alternative;
+
+@Alternative
+public class AlternativeClass {
+
+}
\ No newline at end of file
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/AlternativeClass.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/AlternativeClassBean.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/AlternativeClassBean.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/AlternativeClassBean.java 2010-09-06 19:15:50 UTC (rev 24749)
@@ -0,0 +1,8 @@
+package org.jboss.jsr299.tck.tests.jbt.ca;
+
+import javax.enterprise.inject.Alternative;
+
+@Alternative
+public class AlternativeClassBean {
+
+}
\ No newline at end of file
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/AlternativeClassBean.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/AlternativeStereotype.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/AlternativeStereotype.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/AlternativeStereotype.java 2010-09-06 19:15:50 UTC (rev 24749)
@@ -0,0 +1,22 @@
+package org.jboss.jsr299.tck.tests.jbt.ca;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.enterprise.inject.Alternative;
+import javax.enterprise.inject.Stereotype;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+@Stereotype
+@Alternative
+@Target({ TYPE, METHOD, FIELD })
+@Retention(RUNTIME)
+@Documented
+public @interface AlternativeStereotype {
+
+}
\ No newline at end of file
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/AlternativeStereotype.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/AlternativeStereotype2.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/AlternativeStereotype2.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/AlternativeStereotype2.java 2010-09-06 19:15:50 UTC (rev 24749)
@@ -0,0 +1,22 @@
+package org.jboss.jsr299.tck.tests.jbt.ca;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.enterprise.inject.Alternative;
+import javax.enterprise.inject.Stereotype;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+@Stereotype
+@Alternative
+@Target({ TYPE, METHOD, FIELD })
+@Retention(RUNTIME)
+@Documented
+public @interface AlternativeStereotype2 {
+
+}
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/AlternativeStereotype2.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/BeanClass.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/BeanClass.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/BeanClass.java 2010-09-06 19:15:50 UTC (rev 24749)
@@ -0,0 +1,5 @@
+package org.jboss.jsr299.tck.tests.jbt.ca;
+
+public class BeanClass {
+
+}
\ No newline at end of file
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/BeanClass.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/ClassBean.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/ClassBean.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/ClassBean.java 2010-09-06 19:15:50 UTC (rev 24749)
@@ -0,0 +1,5 @@
+package org.jboss.jsr299.tck.tests.jbt.ca;
+
+public class ClassBean {
+
+}
\ No newline at end of file
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/ClassBean.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/InterceptorBean.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/InterceptorBean.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/InterceptorBean.java 2010-09-06 19:15:50 UTC (rev 24749)
@@ -0,0 +1,20 @@
+package org.jboss.jsr299.tck.tests.jbt.ca;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.Interceptor;
+import javax.interceptor.InvocationContext;
+
+import org.jboss.jsr299.tck.tests.decorators.interceptor.FooBinding;
+
+@FooBinding
+@Interceptor
+public class InterceptorBean {
+
+ public InterceptorBean() {
+ }
+
+ @AroundInvoke
+ public Object manage(InvocationContext ic) throws Exception {
+ return null;
+ }
+}
\ No newline at end of file
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/InterceptorBean.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/LoggerDecorator.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/LoggerDecorator.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/LoggerDecorator.java 2010-09-06 19:15:50 UTC (rev 24749)
@@ -0,0 +1,25 @@
+package org.jboss.jsr299.tck.tests.jbt.ca;
+
+import javax.decorator.Decorator;
+import javax.decorator.Delegate;
+import javax.enterprise.inject.Any;
+import javax.inject.Inject;
+
+import org.jboss.jsr299.tck.tests.decorators.definition.Logger;
+
+@Decorator
+public abstract class LoggerDecorator implements Logger {
+
+ @Inject
+ @Delegate
+ @Any
+ private Logger logger;
+
+ public LoggerDecorator() {
+ }
+
+ @Override
+ public void log(String string) {
+ logger.log(string);
+ }
+}
\ No newline at end of file
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/LoggerDecorator.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/NotAlternativeStereotype.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/NotAlternativeStereotype.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/NotAlternativeStereotype.java 2010-09-06 19:15:50 UTC (rev 24749)
@@ -0,0 +1,20 @@
+package org.jboss.jsr299.tck.tests.jbt.ca;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.enterprise.inject.Stereotype;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+@Stereotype
+@Target({ TYPE, METHOD, FIELD })
+@Retention(RUNTIME)
+@Documented
+public @interface NotAlternativeStereotype {
+
+}
\ No newline at end of file
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/ca/NotAlternativeStereotype.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/ca/BeansXmlCATest.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/ca/BeansXmlCATest.java 2010-09-06 17:53:42 UTC (rev 24748)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/ca/BeansXmlCATest.java 2010-09-06 19:15:50 UTC (rev 24749)
@@ -11,8 +11,19 @@
package org.jboss.tools.cdi.core.test.ca;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.jboss.tools.cdi.core.IBean;
+import org.jboss.tools.cdi.core.IClassBean;
+import org.jboss.tools.cdi.core.IDecorator;
+import org.jboss.tools.cdi.core.IInterceptor;
+import org.jboss.tools.cdi.core.IStereotype;
import org.jboss.tools.cdi.core.test.tck.TCKTest;
import org.jboss.tools.cdi.internal.core.ca.BeansXmlProcessor;
+import org.jboss.tools.common.text.TextProposal;
import org.jboss.tools.jst.web.kb.KbQuery;
/**
@@ -20,23 +31,141 @@
*/
public class BeansXmlCATest extends TCKTest {
- public void testAlternativeBeans() {
+ public void testEmptyList() {
KbQuery query = new KbQuery();
query.setParentTags(new String[]{"alternatives", "class"});
+ query.setValue(" test ");
+ TextProposal[] proposals = BeansXmlProcessor.getInstance().getProposals(query, tckProject);
+ assertEquals("The list of proposals should be empty.", 0, proposals.length);
+ }
+
+ public void testAllAlternativeBeans() {
+ KbQuery query = new KbQuery();
+ query.setParentTags(new String[]{"alternatives", "class"});
query.setValue("");
- BeansXmlProcessor.getInstance().getProposals(query, tckProject);
+ TextProposal[] proposals = BeansXmlProcessor.getInstance().getProposals(query, tckProject);
+ Map<String, TextProposal> map = generateMap(proposals);
+ IBean[] alternatives = cdiProject.getAlternatives();
+ List<IClassBean> alternativeClassBeans = new ArrayList<IClassBean>();
+ for (IBean bean : alternatives) {
+ if(bean instanceof IClassBean) {
+ if(map.get(bean.getBeanClass().getFullyQualifiedName())==null) {
+ fail("The list of proposals doesn't contain following alternative bean: " + bean.getBeanClass().getFullyQualifiedName());
+ }
+ alternativeClassBeans.add((IClassBean)bean);
+ }
+ }
+ assertEquals("The number of proposals doesn't equel to the number of alternative beans.", alternativeClassBeans.size(), proposals.length);
}
- public void testAlternativeStereotypes() {
-
+ public void testSomeAlternativeBeans() {
+ KbQuery query = new KbQuery();
+ query.setParentTags(new String[]{"alternatives", "class"});
+ query.setValue("org.jboss.jsr299.tck.tests.jbt.ca.");
+
+ TextProposal[] proposals = BeansXmlProcessor.getInstance().getProposals(query, tckProject);
+ String[] types = new String[]{"org.jboss.jsr299.tck.tests.jbt.ca.AlternativeClass", "org.jboss.jsr299.tck.tests.jbt.ca.AlternativeClassBean"};
+ assertEqualTypes(proposals, types);
}
- public void testDecorators() {
-
+ public void testAllAlternativeStereotypes() {
+ KbQuery query = new KbQuery();
+ query.setParentTags(new String[]{"alternatives", "stereotype"});
+ query.setValue(" ");
+
+ TextProposal[] proposals = BeansXmlProcessor.getInstance().getProposals(query, tckProject);
+ Map<String, TextProposal> map = generateMap(proposals);
+ IStereotype[] alternatives = cdiProject.getStereotypes();
+ List<IStereotype> alternativeStereotype = new ArrayList<IStereotype>();
+ for (IStereotype stereotype : alternatives) {
+ if(stereotype.isAlternative()) {
+ if(map.get(stereotype.getSourceType().getFullyQualifiedName())==null) {
+ fail("The list of proposals doesn't contain following alternative stereotype: " + stereotype.getSourceType().getFullyQualifiedName());
+ }
+ alternativeStereotype.add(stereotype);
+ }
+ }
+ assertEquals("The number of proposals doesn't equel to the number of alternative stereotypes.", alternativeStereotype.size(), proposals.length);
}
- public void testInterceptors() {
-
+ public void testSomeAlternativeStereotypes() {
+ KbQuery query = new KbQuery();
+ query.setParentTags(new String[]{"alternatives", "stereotype"});
+ query.setValue(" org.jboss.jsr299.tck.tests.jbt.ca.");
+
+ TextProposal[] proposals = BeansXmlProcessor.getInstance().getProposals(query, tckProject);
+ String[] types = new String[]{"org.jboss.jsr299.tck.tests.jbt.ca.AlternativeStereotype", "org.jboss.jsr299.tck.tests.jbt.ca.AlternativeStereotype2"};
+ assertEqualTypes(proposals, types);
}
+
+ public void testAllDecorators() {
+ KbQuery query = new KbQuery();
+ query.setParentTags(new String[]{"decorators", "class"});
+ query.setValue("");
+
+ TextProposal[] proposals = BeansXmlProcessor.getInstance().getProposals(query, tckProject);
+ Map<String, TextProposal> map = generateMap(proposals);
+ IDecorator[] decorators = cdiProject.getDecorators();
+ for (IDecorator decorator : decorators) {
+ if(map.get(decorator.getBeanClass().getFullyQualifiedName())==null) {
+ fail("The list of proposals doesn't contain following decorator: " + decorator.getBeanClass().getFullyQualifiedName());
+ }
+ }
+ assertEquals("The number of proposals doesn't equel to the number of decorators.", decorators.length, proposals.length);
+ }
+
+ public void testSomeDecorators() {
+ KbQuery query = new KbQuery();
+ query.setParentTags(new String[]{"decorators", "class"});
+ query.setValue("org.jboss.jsr299.tck.tests.jbt.ca.");
+
+ TextProposal[] proposals = BeansXmlProcessor.getInstance().getProposals(query, tckProject);
+ String[] types = new String[]{"org.jboss.jsr299.tck.tests.jbt.ca.LoggerDecorator"};
+ assertEqualTypes(proposals, types);
+ }
+
+ public void testAllInterceptors() {
+ KbQuery query = new KbQuery();
+ query.setParentTags(new String[]{"interceptors", "class"});
+ query.setValue("");
+
+ TextProposal[] proposals = BeansXmlProcessor.getInstance().getProposals(query, tckProject);
+ Map<String, TextProposal> map = generateMap(proposals);
+ IInterceptor[] interceptors = cdiProject.getInterceptors();
+ for (IInterceptor interceptor : interceptors) {
+ if(map.get(interceptor.getBeanClass().getFullyQualifiedName())==null) {
+ fail("The list of proposals doesn't contain following interceptor: " + interceptor.getBeanClass().getFullyQualifiedName());
+ }
+ }
+ assertEquals("The number of proposals doesn't equel to the number of interceptors.", interceptors.length, proposals.length);
+ }
+
+ public void testSomeInterceptors() {
+ KbQuery query = new KbQuery();
+ query.setParentTags(new String[]{"interceptors", "class"});
+ query.setValue("org.jboss.jsr299.tck.tests.jbt.ca.");
+
+ TextProposal[] proposals = BeansXmlProcessor.getInstance().getProposals(query, tckProject);
+ String[] types = new String[]{"org.jboss.jsr299.tck.tests.jbt.ca.InterceptorBean"};
+ assertEqualTypes(proposals, types);
+ }
+
+ private Map<String, TextProposal> generateMap(TextProposal[] proposals) {
+ Map<String, TextProposal> map = new HashMap<String, TextProposal>();
+ for (TextProposal proposal : proposals) {
+ map.put(proposal.getReplacementString(), proposal);
+ }
+ return map;
+ }
+
+ private void assertEqualTypes(TextProposal[] proposals, String[] types) {
+ assertEquals("The number of proposals doesn't equel to the number of types.", types.length, proposals.length);
+ Map<String, TextProposal> map = generateMap(proposals);
+ for (String type : types) {
+ if(map.get(type)==null) {
+ fail("Can't find " + type + " proposal.");
+ }
+ }
+ }
}
\ No newline at end of file
15 years, 7 months
JBoss Tools SVN: r24748 - in trunk/documentation/whatsnew: core and 1 other directories.
by jbosstools-commits@lists.jboss.org
Author: dgolovin
Date: 2010-09-06 13:53:42 -0400 (Mon, 06 Sep 2010)
New Revision: 24748
Modified:
trunk/documentation/whatsnew/core/core-news-3.2.0.M2.html
trunk/documentation/whatsnew/index.html
trunk/documentation/whatsnew/ws/ws-news-1.2.0.M2.html
Log:
https://jira.jboss.org/browse/JBIDE-6894 AS Component N&N
https://jira.jboss.org/browse/JBIDE-6888 Deltacloud Component description in N&N
links added to index.htm
links in headers updated
Modified: trunk/documentation/whatsnew/core/core-news-3.2.0.M2.html
===================================================================
--- trunk/documentation/whatsnew/core/core-news-3.2.0.M2.html 2010-09-06 17:45:01 UTC (rev 24747)
+++ trunk/documentation/whatsnew/core/core-news-3.2.0.M2.html 2010-09-06 17:53:42 UTC (rev 24748)
@@ -10,10 +10,15 @@
</head>
<body>
<h1>What's New Core/General</h1>
-
-<p align="right"><a href="../index.html">< Main Index</a> <a
- href="../hibernate/hibernate-news-3.4.0.M2.html">Hibernate Tools ></a></p>
<table border="0" cellpadding="10" cellspacing="0" width="80%">
+<tr>
+ <td>
+ <p align="right"><a href="../index.html">< Main Index</a> <a
+ href="../as/as-news-3.2.0.M2.html">JBoss AS Tools ></a></p>
+ </td>
+</tr>
+</table>
+<table border="0" width="80%">
<tr>
<td colspan="2">
<hr />
Modified: trunk/documentation/whatsnew/index.html
===================================================================
--- trunk/documentation/whatsnew/index.html 2010-09-06 17:45:01 UTC (rev 24747)
+++ trunk/documentation/whatsnew/index.html 2010-09-06 17:53:42 UTC (rev 24748)
@@ -25,7 +25,7 @@
<p align="right"><b>3.2.0.M2</b>
<td valign="top">
<p><a href="core/core-news-3.2.0.M2.html">Core/General</a></p>
- <!--p><a href="as/as-news-3.2.0.M2.html">JBoss AS Tools</a></p-->
+ <p><a href="as/as-news-3.2.0.M2.html">JBoss AS Tools</a></p>
<p><a href="hibernate/hibernate-news-3.4.0.M2.html">Hibernate Tools</a></p>
<p><a href="jst/jst-news-3.2.0.M2.html">JST/JSF Tools</a></p>
<p><a href="vpe/vpe-news-3.2.0.M2.html">Visual Page Editor</a></p>
@@ -38,7 +38,7 @@
<p><a href="drools/guvnor-tools-news-5.1.0.M2.html">Drools Guvnor Tools</a></p>
<p><a href="jbpm/jbpm-news-3.2.0.M2.html">jBPM Tools</a></p>
<p><a href="ws/ws-news-1.2.0.M2.html">JBoss Webservice Tools</a></p>
- <!--p><a href="deltacloud/deltacloud-news-1.0.0.M2.html">Deltacloud Development Tools</a></p-->
+ <p><a href="deltacloud/deltacloud-news-0.0.1.M2.html">Deltacloud Development Tools</a></p>
<p><a href="gwt/gwt-news-1.0.0.M2.html">GWT Integration</a></p>
<p><a href="teiid/teiid-news-7.1.0.M2.html">Teiid Tools</a></p>
<p><a href="modeshape/modeshape-news-7.1.0.M2.html">Modeshape</a></p>
Modified: trunk/documentation/whatsnew/ws/ws-news-1.2.0.M2.html
===================================================================
--- trunk/documentation/whatsnew/ws/ws-news-1.2.0.M2.html 2010-09-06 17:45:01 UTC (rev 24747)
+++ trunk/documentation/whatsnew/ws/ws-news-1.2.0.M2.html 2010-09-06 17:53:42 UTC (rev 24748)
@@ -11,7 +11,7 @@
<body>
<h1>WS tools 3.2.0 M2 What's New</h1>
-<p align="right"><a href="../index.html">< Main Index</a> <a href="../gwt/gwt-news-1.0.0.M2.html">GWT Integration ></a></p>
+<p align="right"><a href="../index.html">< Main Index</a> <a href="../deltacloud/deltacloud-news-0.0.1.M2.html">Deltacloud Development Tools ></a></p>
<table border="0" cellpadding="10" cellspacing="0" width="80%">
15 years, 7 months
JBoss Tools SVN: r24747 - trunk/documentation/whatsnew/gwt.
by jbosstools-commits@lists.jboss.org
Author: dgolovin
Date: 2010-09-06 13:45:01 -0400 (Mon, 06 Sep 2010)
New Revision: 24747
Modified:
trunk/documentation/whatsnew/gwt/gwt-news-1.0.0.M2.html
Log:
https://jira.jboss.org/browse/JBIDE-6889 https://jira.jboss.org/browse/JBIDE-6889 link to jira updated
Modified: trunk/documentation/whatsnew/gwt/gwt-news-1.0.0.M2.html
===================================================================
--- trunk/documentation/whatsnew/gwt/gwt-news-1.0.0.M2.html 2010-09-06 16:58:16 UTC (rev 24746)
+++ trunk/documentation/whatsnew/gwt/gwt-news-1.0.0.M2.html 2010-09-06 17:45:01 UTC (rev 24747)
@@ -35,7 +35,7 @@
in Eclipse. </p>
<p>Deployment to the JBoss application server (or any other JEE application server) works just out of the box.</p>
<p><small><a
- href="#">Related Jira</a></small></p>
+ href="https://jira.jboss.org/browse/JBIDE-6695">Related Jira</a></small></p>
</td>
</tr>
</table>
15 years, 7 months
JBoss Tools SVN: r24746 - in trunk/cdi: plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/ca and 2 other directories.
by jbosstools-commits@lists.jboss.org
Author: akazakov
Date: 2010-09-06 12:58:16 -0400 (Mon, 06 Sep 2010)
New Revision: 24746
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/ca/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/ca/BeansXmlCATest.java
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/META-INF/MANIFEST.MF
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/ca/BeansXmlProcessor.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/CDICoreAllTests.java
Log:
https://jira.jboss.org/browse/JBIDE-2704
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/META-INF/MANIFEST.MF
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/META-INF/MANIFEST.MF 2010-09-06 16:39:28 UTC (rev 24745)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/META-INF/MANIFEST.MF 2010-09-06 16:58:16 UTC (rev 24746)
@@ -26,6 +26,7 @@
Bundle-Vendor: JBoss by Red Hat
Export-Package: org.jboss.tools.cdi.core,
org.jboss.tools.cdi.core.preferences,
+ org.jboss.tools.cdi.internal.core.ca,
org.jboss.tools.cdi.internal.core.el,
org.jboss.tools.cdi.internal.core.impl,
org.jboss.tools.cdi.internal.core.impl.definition,
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/ca/BeansXmlProcessor.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/ca/BeansXmlProcessor.java 2010-09-06 16:39:28 UTC (rev 24745)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/ca/BeansXmlProcessor.java 2010-09-06 16:58:16 UTC (rev 24746)
@@ -64,15 +64,15 @@
CDICoreNature nature = CDICorePlugin.getCDI(project, false);
if(nature!=null) {
ICDIProject cdiProject = nature.getDelegate();
- if(CLASS_ELEMENT.equals(parents[0])) {
- if(ALTERNATIVES_ELEMENT.equals(parents[1])) {
+ if(CLASS_ELEMENT.equals(parents[1])) {
+ if(ALTERNATIVES_ELEMENT.equals(parents[0])) {
return getAlternativeBeans(query, cdiProject);
- } else if(DECORATORS_ELEMENT.equals(parents[1])) {
+ } else if(DECORATORS_ELEMENT.equals(parents[0])) {
return getDecorators(query, cdiProject);
- } else if(INTERCEPTOR_ELEMENT.equals(parents[1])) {
+ } else if(INTERCEPTOR_ELEMENT.equals(parents[0])) {
return getInterceptors(query, cdiProject);
}
- } else if(STEREOTYPE_ELEMENT.equals(parents[0]) && ALTERNATIVES_ELEMENT.equals(parents[1])) {
+ } else if(STEREOTYPE_ELEMENT.equals(parents[1]) && ALTERNATIVES_ELEMENT.equals(parents[0])) {
return getAlternativeStereotypes(query, cdiProject);
}
}
@@ -87,7 +87,7 @@
for (IBean bean : alternatives) {
if(bean instanceof IClassBean) {
IType type = bean.getBeanClass();
- addMutchedType(type, value, proposals);
+ addMatchedType(type, value, proposals);
}
}
return proposals.toArray(new TextProposal[0]);
@@ -100,7 +100,7 @@
for (IStereotype stereotype : alternatives) {
if(stereotype.isAlternative()) {
IType type = stereotype.getSourceType();
- addMutchedType(type, value, proposals);
+ addMatchedType(type, value, proposals);
}
}
return proposals.toArray(new TextProposal[0]);
@@ -112,7 +112,7 @@
IDecorator[] decorators = cdiProject.getDecorators();
for (IDecorator bean : decorators) {
IType type = bean.getBeanClass();
- addMutchedType(type, value, proposals);
+ addMatchedType(type, value, proposals);
}
return proposals.toArray(new TextProposal[0]);
}
@@ -123,12 +123,12 @@
IInterceptor[] interceptors = cdiProject.getInterceptors();
for (IInterceptor bean : interceptors) {
IType type = bean.getBeanClass();
- addMutchedType(type, value, proposals);
+ addMatchedType(type, value, proposals);
}
return proposals.toArray(new TextProposal[0]);
}
- private void addMutchedType(IType type, String value, List<TextProposal> proposals) {
+ private void addMatchedType(IType type, String value, List<TextProposal> proposals) {
String fullTypeName = type.getFullyQualifiedName();
if(fullTypeName.startsWith(value)) {
TextProposal proposal = new TextProposal();
Modified: trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/CDICoreAllTests.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/CDICoreAllTests.java 2010-09-06 16:39:28 UTC (rev 24745)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/CDICoreAllTests.java 2010-09-06 16:58:16 UTC (rev 24746)
@@ -14,6 +14,7 @@
import junit.framework.TestSuite;
import org.eclipse.jdt.internal.core.JavaModelManager;
+import org.jboss.tools.cdi.core.test.ca.BeansXmlCATest;
import org.jboss.tools.cdi.core.test.tck.AssignabilityOfRawAndParameterizedTypesTest;
import org.jboss.tools.cdi.core.test.tck.BeanDefinitionTest;
import org.jboss.tools.cdi.core.test.tck.BeanSpecializationTest;
@@ -75,6 +76,7 @@
suite.addTestSuite(InterceptorDefinitionTest.class);
suite.addTestSuite(DecoratorDefinitionTest.class);
suite.addTestSuite(ObserverMethodResolutionTest.class);
+ suite.addTestSuite(BeansXmlCATest.class);
suite.addTestSuite(DefenitionErrorsValidationTest.class);
suite.addTestSuite(DeploymentProblemsValidationTests.class);
Added: trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/ca/BeansXmlCATest.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/ca/BeansXmlCATest.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/ca/BeansXmlCATest.java 2010-09-06 16:58:16 UTC (rev 24746)
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.core.test.ca;
+
+import org.jboss.tools.cdi.core.test.tck.TCKTest;
+import org.jboss.tools.cdi.internal.core.ca.BeansXmlProcessor;
+import org.jboss.tools.jst.web.kb.KbQuery;
+
+/**
+ * @author Alexey Kazakov
+ */
+public class BeansXmlCATest extends TCKTest {
+
+ public void testAlternativeBeans() {
+ KbQuery query = new KbQuery();
+ query.setParentTags(new String[]{"alternatives", "class"});
+ query.setValue("");
+
+ BeansXmlProcessor.getInstance().getProposals(query, tckProject);
+ }
+
+ public void testAlternativeStereotypes() {
+
+ }
+
+ public void testDecorators() {
+
+ }
+
+ public void testInterceptors() {
+
+ }
+}
\ No newline at end of file
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/ca/BeansXmlCATest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
15 years, 7 months
JBoss Tools SVN: r24745 - in trunk/jst/tests/org.jboss.tools.jst.web.kb.test: src/org/jboss/tools/jst/web/kb/test and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2010-09-06 12:39:28 -0400 (Mon, 06 Sep 2010)
New Revision: 24745
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/src/org/jboss/tools/jst/web/kb/test/JstWebKbAllTests.java
Log:
https://jira.jboss.org/browse/JBIDE-3875
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-09-06 16:36:20 UTC (rev 24744)
+++ trunk/jst/tests/org.jboss.tools.jst.web.kb.test/META-INF/MANIFEST.MF 2010-09-06 16:39:28 UTC (rev 24745)
@@ -10,6 +10,7 @@
org.junit,
org.jboss.tools.tests,
org.jboss.tools.common.el.core,
+ org.jboss.tools.common.model.test,
org.jboss.tools.common
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Modified: trunk/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/JstWebKbAllTests.java
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/JstWebKbAllTests.java 2010-09-06 16:36:20 UTC (rev 24744)
+++ trunk/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/JstWebKbAllTests.java 2010-09-06 16:39:28 UTC (rev 24745)
@@ -13,6 +13,7 @@
import junit.framework.Test;
import junit.framework.TestSuite;
+import org.jboss.tools.common.model.util.test.XProjectImportTestSetUp;
import org.jboss.tools.test.util.ProjectImportTestSetup;
/**
@@ -24,7 +25,7 @@
TestSuite suite = new TestSuite(JstWebKbAllTests.class.getName());
suite.addTestSuite(KbModelTest.class);
suite.addTestSuite(WebKbTest.class);
- ProjectImportTestSetup testSetup = new ProjectImportTestSetup(suite,
+ ProjectImportTestSetup testSetup = new XProjectImportTestSetUp(suite,
"org.jboss.tools.jst.web.kb.test",
new String[]{"projects/TestKbModel"},
new String[]{"TestKbModel"});
15 years, 7 months
JBoss Tools SVN: r24744 - trunk/common/tests/org.jboss.tools.common.model.test/META-INF.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2010-09-06 12:36:20 -0400 (Mon, 06 Sep 2010)
New Revision: 24744
Modified:
trunk/common/tests/org.jboss.tools.common.model.test/META-INF/MANIFEST.MF
Log:
https://jira.jboss.org/browse/JBIDE-3875
Modified: trunk/common/tests/org.jboss.tools.common.model.test/META-INF/MANIFEST.MF
===================================================================
--- trunk/common/tests/org.jboss.tools.common.model.test/META-INF/MANIFEST.MF 2010-09-06 16:33:20 UTC (rev 24743)
+++ trunk/common/tests/org.jboss.tools.common.model.test/META-INF/MANIFEST.MF 2010-09-06 16:36:20 UTC (rev 24744)
@@ -4,7 +4,8 @@
Bundle-SymbolicName: org.jboss.tools.common.model.test;singleton:=true
Bundle-Version: 3.2.0.qualifier
Bundle-Vendor: %Bundle-Vendor.0
-Export-Package: org.jboss.tools.common.model.test
+Export-Package: org.jboss.tools.common.model.test,
+ org.jboss.tools.common.model.util.test
Require-Bundle:
org.junit,
org.eclipse.core.runtime,
15 years, 7 months
JBoss Tools SVN: r24743 - trunk/common/tests/org.jboss.tools.common.model.test/src/org/jboss/tools/common/model/util/test.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2010-09-06 12:33:20 -0400 (Mon, 06 Sep 2010)
New Revision: 24743
Added:
trunk/common/tests/org.jboss.tools.common.model.test/src/org/jboss/tools/common/model/util/test/XProjectImportTestSetUp.java
Log:
https://jira.jboss.org/browse/JBIDE-3875
Added: trunk/common/tests/org.jboss.tools.common.model.test/src/org/jboss/tools/common/model/util/test/XProjectImportTestSetUp.java
===================================================================
--- trunk/common/tests/org.jboss.tools.common.model.test/src/org/jboss/tools/common/model/util/test/XProjectImportTestSetUp.java (rev 0)
+++ trunk/common/tests/org.jboss.tools.common.model.test/src/org/jboss/tools/common/model/util/test/XProjectImportTestSetUp.java 2010-09-06 16:33:20 UTC (rev 24743)
@@ -0,0 +1,24 @@
+package org.jboss.tools.common.model.util.test;
+
+import junit.framework.Test;
+
+import org.jboss.tools.common.model.options.PreferenceModelUtilities;
+import org.jboss.tools.test.util.ProjectImportTestSetup;
+
+public class XProjectImportTestSetUp extends ProjectImportTestSetup {
+
+ public XProjectImportTestSetUp(Test test, String bundleName, String projectPath, String projectName) {
+ super(test,bundleName, projectPath, projectName);
+ }
+
+ public XProjectImportTestSetUp(Test test, String bundleName, String[] projectPaths, String[] projectNames) {
+ super(test, bundleName, projectPaths, projectNames);
+ }
+
+ @Override
+ protected void setUp() throws Exception {
+ PreferenceModelUtilities.getPreferenceModel();
+ super.setUp();
+ }
+
+}
Property changes on: trunk/common/tests/org.jboss.tools.common.model.test/src/org/jboss/tools/common/model/util/test/XProjectImportTestSetUp.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
15 years, 7 months
JBoss Tools SVN: r24742 - in trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi: internal/core and 2 other directories.
by jbosstools-commits@lists.jboss.org
Author: akazakov
Date: 2010-09-06 12:22:38 -0400 (Mon, 06 Sep 2010)
New Revision: 24742
Added:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/ca/
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/ca/BeansXmlProcessor.java
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IBeanManager.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java
Log:
https://jira.jboss.org/browse/JBIDE-2704
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IBeanManager.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IBeanManager.java 2010-09-06 16:22:37 UTC (rev 24741)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IBeanManager.java 2010-09-06 16:22:38 UTC (rev 24742)
@@ -174,6 +174,30 @@
IStereotype[] getStereotypes();
/**
+ * Returns all the available alternative beans.
+ * The alternative may be selected or not selected.
+ *
+ * @return all the available alternatives.
+ */
+ IBean[] getAlternatives();
+
+ /**
+ * Returns all the available decorators.
+ * The decorator may be enabled or disabled.
+ *
+ * @return all the available decorators.
+ */
+ IDecorator[] getDecorators();
+
+ /**
+ * Returns all the available interceptors.
+ * The interceptor may be selected or not selected.
+ *
+ * @return all the available interceptors.
+ */
+ IInterceptor[] getInterceptors();
+
+ /**
* Returns stereotype model element for fully qualified name of stereotype
* annotation type
*
Added: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/ca/BeansXmlProcessor.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/ca/BeansXmlProcessor.java (rev 0)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/ca/BeansXmlProcessor.java 2010-09-06 16:22:38 UTC (rev 24742)
@@ -0,0 +1,143 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.internal.core.ca;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.jdt.core.IType;
+import org.jboss.tools.cdi.core.CDICoreNature;
+import org.jboss.tools.cdi.core.CDICorePlugin;
+import org.jboss.tools.cdi.core.IBean;
+import org.jboss.tools.cdi.core.ICDIProject;
+import org.jboss.tools.cdi.core.IClassBean;
+import org.jboss.tools.cdi.core.IDecorator;
+import org.jboss.tools.cdi.core.IInterceptor;
+import org.jboss.tools.cdi.core.IStereotype;
+import org.jboss.tools.cdi.internal.core.el.CdiElResolver;
+import org.jboss.tools.common.text.TextProposal;
+import org.jboss.tools.jst.web.kb.KbQuery;
+
+/**
+ * @author Alexey Kazakov
+ */
+public class BeansXmlProcessor {
+
+ private static final BeansXmlProcessor INSTANCE = new BeansXmlProcessor();
+
+ /**
+ * @return instance of PageProcessor
+ */
+ public static BeansXmlProcessor getInstance() {
+ return INSTANCE;
+ }
+
+ private BeansXmlProcessor() {
+ }
+
+ private final static TextProposal[] EMPTY_ARRAY = new TextProposal[0];
+
+ private final static String ALTERNATIVES_ELEMENT = "alternatives"; //$NON-NLS-1$
+ private final static String CLASS_ELEMENT = "class"; //$NON-NLS-1$
+ private final static String STEREOTYPE_ELEMENT = "stereotype"; //$NON-NLS-1$
+ private final static String DECORATORS_ELEMENT = "decorators"; //$NON-NLS-1$
+ private final static String INTERCEPTOR_ELEMENT = "interceptors"; //$NON-NLS-1$
+
+ /**
+ * Returns proposals for the query
+ * @param query
+ * @return
+ */
+ public TextProposal[] getProposals(KbQuery query, IProject project) {
+ String[] parents = query.getParentTags();
+ if(parents.length>2) {
+ CDICoreNature nature = CDICorePlugin.getCDI(project, false);
+ if(nature!=null) {
+ ICDIProject cdiProject = nature.getDelegate();
+ if(CLASS_ELEMENT.equals(parents[0])) {
+ if(ALTERNATIVES_ELEMENT.equals(parents[1])) {
+ return getAlternativeBeans(query, cdiProject);
+ } else if(DECORATORS_ELEMENT.equals(parents[1])) {
+ return getDecorators(query, cdiProject);
+ } else if(INTERCEPTOR_ELEMENT.equals(parents[1])) {
+ return getInterceptors(query, cdiProject);
+ }
+ } else if(STEREOTYPE_ELEMENT.equals(parents[0]) && ALTERNATIVES_ELEMENT.equals(parents[1])) {
+ return getAlternativeStereotypes(query, cdiProject);
+ }
+ }
+ }
+ return EMPTY_ARRAY;
+ }
+
+ private TextProposal[] getAlternativeBeans(KbQuery query, ICDIProject cdiProject) {
+ List<TextProposal> proposals = new ArrayList<TextProposal>();
+ String value = query.getValue().trim();
+ IBean[] alternatives = cdiProject.getAlternatives();
+ for (IBean bean : alternatives) {
+ if(bean instanceof IClassBean) {
+ IType type = bean.getBeanClass();
+ addMutchedType(type, value, proposals);
+ }
+ }
+ return proposals.toArray(new TextProposal[0]);
+ }
+
+ private TextProposal[] getAlternativeStereotypes(KbQuery query, ICDIProject cdiProject) {
+ List<TextProposal> proposals = new ArrayList<TextProposal>();
+ String value = query.getValue().trim();
+ IStereotype[] alternatives = cdiProject.getStereotypes();
+ for (IStereotype stereotype : alternatives) {
+ if(stereotype.isAlternative()) {
+ IType type = stereotype.getSourceType();
+ addMutchedType(type, value, proposals);
+ }
+ }
+ return proposals.toArray(new TextProposal[0]);
+ }
+
+ private TextProposal[] getDecorators(KbQuery query, ICDIProject cdiProject) {
+ List<TextProposal> proposals = new ArrayList<TextProposal>();
+ String value = query.getValue().trim();
+ IDecorator[] decorators = cdiProject.getDecorators();
+ for (IDecorator bean : decorators) {
+ IType type = bean.getBeanClass();
+ addMutchedType(type, value, proposals);
+ }
+ return proposals.toArray(new TextProposal[0]);
+ }
+
+ private TextProposal[] getInterceptors(KbQuery query, ICDIProject cdiProject) {
+ List<TextProposal> proposals = new ArrayList<TextProposal>();
+ String value = query.getValue().trim();
+ IInterceptor[] interceptors = cdiProject.getInterceptors();
+ for (IInterceptor bean : interceptors) {
+ IType type = bean.getBeanClass();
+ addMutchedType(type, value, proposals);
+ }
+ return proposals.toArray(new TextProposal[0]);
+ }
+
+ private void addMutchedType(IType type, String value, List<TextProposal> proposals) {
+ String fullTypeName = type.getFullyQualifiedName();
+ if(fullTypeName.startsWith(value)) {
+ TextProposal proposal = new TextProposal();
+ proposal.setLabel(fullTypeName);
+ proposal.setReplacementString(fullTypeName);
+ proposal.setPosition(fullTypeName.length());
+ proposal.setImage(CdiElResolver.CDI_EL_PROPOSAL_IMAGE);
+
+ proposals.add(proposal);
+ }
+ }
+}
\ No newline at end of file
Property changes on: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/ca/BeansXmlProcessor.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
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-09-06 16:22:37 UTC (rev 24741)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java 2010-09-06 16:22:38 UTC (rev 24742)
@@ -39,9 +39,10 @@
import org.jboss.tools.cdi.core.ICDIAnnotation;
import org.jboss.tools.cdi.core.ICDIProject;
import org.jboss.tools.cdi.core.IClassBean;
+import org.jboss.tools.cdi.core.IDecorator;
import org.jboss.tools.cdi.core.IInjectionPoint;
import org.jboss.tools.cdi.core.IInjectionPointField;
-import org.jboss.tools.cdi.core.IInjectionPointParameter;
+import org.jboss.tools.cdi.core.IInterceptor;
import org.jboss.tools.cdi.core.IInterceptorBinding;
import org.jboss.tools.cdi.core.IObserverMethod;
import org.jboss.tools.cdi.core.IParametedType;
@@ -81,6 +82,9 @@
private Map<String, Set<IBean>> beansByName = new HashMap<String, Set<IBean>>();
private Set<IBean> namedBeans = new HashSet<IBean>();
private Map<IType, ClassBean> classBeans = new HashMap<IType, ClassBean>();
+ private Set<IBean> alternatives = new HashSet<IBean>();
+ private Set<IDecorator> decorators = new HashSet<IDecorator>();
+ private Set<IInterceptor> interceptors = new HashSet<IInterceptor>();
BeansXMLData beansXMLData = new BeansXMLData();
@@ -622,6 +626,48 @@
return result;
}
+ /* (non-Javadoc)
+ * @see org.jboss.tools.cdi.core.IBeanManager#getAlternatives()
+ */
+ public IBean[] getAlternatives() {
+ IBean[] result = new IBean[alternatives.size()];
+ synchronized (alternatives) {
+ int i=0;
+ for (IBean bean: alternatives) {
+ result[i++] = bean;
+ }
+ }
+ return result;
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.tools.cdi.core.IBeanManager#getDecorators()
+ */
+ public IDecorator[] getDecorators() {
+ IDecorator[] result = new IDecorator[decorators.size()];
+ synchronized (decorators) {
+ int i=0;
+ for (IDecorator bean: decorators) {
+ result[i++] = bean;
+ }
+ }
+ return result;
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.tools.cdi.core.IBeanManager#getInterceptors()
+ */
+ public IInterceptor[] getInterceptors() {
+ IInterceptor[] result = new IInterceptor[interceptors.size()];
+ synchronized (interceptors) {
+ int i=0;
+ for (IInterceptor bean: interceptors) {
+ result[i++] = bean;
+ }
+ }
+ return result;
+ }
+
public boolean isNormalScope(IType annotationType) {
if(annotationType == null) return false;
try {
@@ -1112,6 +1158,15 @@
synchronized (namedBeans) {
namedBeans.clear();
}
+ synchronized (alternatives) {
+ alternatives.clear();
+ }
+ synchronized (decorators) {
+ decorators.clear();
+ }
+ synchronized (interceptors) {
+ interceptors.clear();
+ }
synchronized (allBeans) {
allBeans.clear();
}
@@ -1157,6 +1212,21 @@
synchronized (bs) {
bs.add(bean);
}
+ if(bean.isAlternative()) {
+ synchronized (alternatives) {
+ alternatives.add(bean);
+ }
+ }
+ if(bean instanceof IDecorator) {
+ synchronized (decorators) {
+ decorators.add((IDecorator)bean);
+ }
+ }
+ if(bean instanceof IInterceptor) {
+ synchronized (interceptors) {
+ interceptors.add((IInterceptor)bean);
+ }
+ }
synchronized (allBeans) {
allBeans.add(bean);
}
15 years, 7 months
JBoss Tools SVN: r24741 - trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation.
by jbosstools-commits@lists.jboss.org
Author: dazarov
Date: 2010-09-06 12:22:37 -0400 (Mon, 06 Sep 2010)
New Revision: 24741
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation/SeamProjectPropertyValidator.java
Log:
https://jira.jboss.org/browse/JBIDE-7001
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation/SeamProjectPropertyValidator.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation/SeamProjectPropertyValidator.java 2010-09-06 16:17:04 UTC (rev 24740)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation/SeamProjectPropertyValidator.java 2010-09-06 16:22:37 UTC (rev 24741)
@@ -35,10 +35,8 @@
import org.eclipse.wst.validation.internal.provisional.core.IValidationContext;
import org.eclipse.wst.validation.internal.provisional.core.IValidator;
import org.eclipse.wst.validation.internal.provisional.core.IValidatorJob;
-import org.jboss.tools.common.text.ITextSourceReference;
import org.jboss.tools.jst.web.kb.internal.validation.ContextValidationHelper;
import org.jboss.tools.jst.web.kb.internal.validation.ProblemMessage;
-import org.jboss.tools.jst.web.kb.internal.validation.ValidationErrorManager;
import org.jboss.tools.jst.web.kb.validation.IValidationErrorManager;
import org.jboss.tools.seam.core.ISeamProject;
import org.jboss.tools.seam.core.SeamCorePlugin;
@@ -53,7 +51,7 @@
*/
public class SeamProjectPropertyValidator implements IValidatorJob {
- public static final String MESSAGE_ID_ATTRIBUTE_NAME = "Seam_proerty_message_id"; //$NON-NLS-1$
+ public static final String MESSAGE_ID_ATTRIBUTE_NAME = "Seam_property_message_id"; //$NON-NLS-1$
public static final int INVALID_SEAM_RUNTIME_ID = 1;
15 years, 7 months
JBoss Tools SVN: r24740 - in trunk/seam/plugins: org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/marker and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: dazarov
Date: 2010-09-06 12:17:04 -0400 (Mon, 06 Sep 2010)
New Revision: 24740
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation/SeamProjectPropertyValidator.java
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/marker/MarkerResolutionGenerator.java
Log:
https://jira.jboss.org/browse/JBIDE-7001
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation/SeamProjectPropertyValidator.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation/SeamProjectPropertyValidator.java 2010-09-06 16:03:24 UTC (rev 24739)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation/SeamProjectPropertyValidator.java 2010-09-06 16:17:04 UTC (rev 24740)
@@ -14,9 +14,11 @@
import java.util.Set;
import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IMarker;
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.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.jobs.ISchedulingRule;
@@ -33,6 +35,7 @@
import org.eclipse.wst.validation.internal.provisional.core.IValidationContext;
import org.eclipse.wst.validation.internal.provisional.core.IValidator;
import org.eclipse.wst.validation.internal.provisional.core.IValidatorJob;
+import org.jboss.tools.common.text.ITextSourceReference;
import org.jboss.tools.jst.web.kb.internal.validation.ContextValidationHelper;
import org.jboss.tools.jst.web.kb.internal.validation.ProblemMessage;
import org.jboss.tools.jst.web.kb.internal.validation.ValidationErrorManager;
@@ -49,6 +52,10 @@
* @author Alexey Kazakov
*/
public class SeamProjectPropertyValidator implements IValidatorJob {
+
+ public static final String MESSAGE_ID_ATTRIBUTE_NAME = "Seam_proerty_message_id"; //$NON-NLS-1$
+
+ public static final int INVALID_SEAM_RUNTIME_ID = 1;
private IValidationErrorManager errorManager;
private Set<String> validatedProjects = new HashSet<String>();
@@ -234,18 +241,18 @@
private void validateProjectName(IProject targetProject, String projectName, boolean canBeEmpty, String messageId) {
if(!isProjectNameValid(projectName, canBeEmpty)) {
// Mark invalid project name
- errorManager.addError(messageId, SeamPreferences.INVALID_PROJECT_SETTINGS, new String[]{projectName!=null?projectName:"", targetProject.getName()}, targetProject);
+ addError(messageId, SeamPreferences.INVALID_PROJECT_SETTINGS, new String[]{projectName!=null?projectName:"", targetProject.getName()}, targetProject);
}
}
private void validateSorceFolder(IProject targetProject, String folderPath, String packageName, String srcFolderMessageID, String packageMessageId) {
if(!isFolderPathValid(folderPath, true)) {
// Mark invalid source folder path
- errorManager.addError(srcFolderMessageID, SeamPreferences.INVALID_PROJECT_SETTINGS, new String[]{folderPath!=null?folderPath:"", targetProject.getName()}, targetProject);
+ addError(srcFolderMessageID, SeamPreferences.INVALID_PROJECT_SETTINGS, new String[]{folderPath!=null?folderPath:"", targetProject.getName()}, targetProject);
}
if(!isPackageNameValid(packageName, true)) {
// Mark invalid source folder path
- errorManager.addError(packageMessageId, SeamPreferences.INVALID_PROJECT_SETTINGS, new String[]{packageName!=null?packageName:"", targetProject.getName()}, targetProject);
+ addError(packageMessageId, SeamPreferences.INVALID_PROJECT_SETTINGS, new String[]{packageName!=null?packageName:"", targetProject.getName()}, targetProject);
}
}
@@ -277,7 +284,7 @@
String seamRuntimeName = pref.get(ISeamFacetDataModelProperties.SEAM_RUNTIME_NAME, null);
if(seamRuntimeName!=null && seamRuntimeName.length()>0 && (SeamRuntimeManager.getInstance().findRuntimeByName(seamRuntimeName) == null)) {
// Mark unknown runtime
- errorManager.addError(SeamValidationMessages.INVALID_SEAM_RUNTIME, SeamPreferences.INVALID_PROJECT_SETTINGS, new String[]{seamRuntimeName!=null?seamRuntimeName:"", project.getName()}, project);
+ addError(SeamValidationMessages.INVALID_SEAM_RUNTIME, SeamPreferences.INVALID_PROJECT_SETTINGS, new String[]{seamRuntimeName!=null?seamRuntimeName:"", project.getName()}, project, INVALID_SEAM_RUNTIME_ID);
}
if(ISeamFacetDataModelProperties.DEPLOY_AS_EAR.equals(pref.get(ISeamFacetDataModelProperties.JBOSS_AS_DEPLOY_AS, null))) {
@@ -286,7 +293,7 @@
String viewFolder = pref.get(ISeamFacetDataModelProperties.WEB_CONTENTS_FOLDER, null);
if(!isFolderPathValid(viewFolder, true)) {
// Mark unknown View folder
- errorManager.addError(SeamValidationMessages.INVALID_WEBFOLDER, SeamPreferences.INVALID_PROJECT_SETTINGS, new String[]{viewFolder!=null?viewFolder:"", project.getName()}, project);
+ addError(SeamValidationMessages.INVALID_WEBFOLDER, SeamPreferences.INVALID_PROJECT_SETTINGS, new String[]{viewFolder!=null?viewFolder:"", project.getName()}, project);
}
validateSorceFolder(project, pref.get(ISeamFacetDataModelProperties.ENTITY_BEAN_SOURCE_FOLDER, null),
pref.get(ISeamFacetDataModelProperties.ENTITY_BEAN_PACKAGE_NAME, null),
@@ -309,7 +316,7 @@
}
// String connectionProfile = pref.get(ISeamFacetDataModelProperties.SEAM_CONNECTION_PROFILE, null);
// if(!isConnectionProfileValid(connectionProfile, true)) {
-// errorManager.addError(INVALID_CONNECTION_NAME, SeamPreferences.INVALID_PROJECT_SETTINGS, new String[]{connectionProfile!=null?connectionProfile:"", project.getName()}, project);
+// addError(INVALID_CONNECTION_NAME, SeamPreferences.INVALID_PROJECT_SETTINGS, new String[]{connectionProfile!=null?connectionProfile:"", project.getName()}, project);
// }
}
@@ -329,4 +336,21 @@
public void validate(IValidationContext helper, IReporter reporter) throws ValidationException {
validateInJob(helper, reporter);
}
+
+ public IMarker addError(String message, String preferenceKey,
+ String[] messageArguments, IResource target, int messageId) {
+ IMarker marker = errorManager.addError(message, preferenceKey, messageArguments, target);
+ try{
+ marker.setAttribute(MESSAGE_ID_ATTRIBUTE_NAME, new Integer(messageId));
+ }catch(CoreException ex){
+ SeamCorePlugin.getDefault().logError(ex);
+ }
+ return marker;
+ }
+
+ public IMarker addError(String message, String preferenceKey,
+ String[] messageArguments, IResource target) {
+ return errorManager.addError(message, preferenceKey, messageArguments, target);
+ }
+
}
\ No newline at end of file
Modified: trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/marker/MarkerResolutionGenerator.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/marker/MarkerResolutionGenerator.java 2010-09-06 16:03:24 UTC (rev 24739)
+++ trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/marker/MarkerResolutionGenerator.java 2010-09-06 16:17:04 UTC (rev 24740)
@@ -11,27 +11,42 @@
package org.jboss.tools.seam.ui.marker;
import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.runtime.CoreException;
import org.eclipse.ui.IMarkerResolution;
import org.eclipse.ui.IMarkerResolutionGenerator2;
-import org.jboss.tools.seam.internal.core.validation.SeamValidationMessages;
+import org.jboss.tools.seam.internal.core.validation.SeamProjectPropertyValidator;
+import org.jboss.tools.seam.ui.SeamGuiPlugin;
public class MarkerResolutionGenerator implements IMarkerResolutionGenerator2 {
- /** Copied from org.eclipse.wst.validation.internal.TaskListUtility */
- private static final String VALIDATION_MARKER_MESSAGEID = "messageId"; //$NON-NLS-1$
-
public boolean hasResolutions(IMarker marker) {
+ return findResolutions(marker);
+ }
+
+ public boolean findResolutions(IMarker marker) {
if (marker == null) {
return false;
}
- String runtime = marker.getAttribute(VALIDATION_MARKER_MESSAGEID, "");
- if (SeamValidationMessages.INVALID_SEAM_RUNTIME.equals(runtime)) {
- return true;
+ try{
+ Integer attribute = ((Integer)marker.getAttribute(SeamProjectPropertyValidator.MESSAGE_ID_ATTRIBUTE_NAME));
+ if(attribute == null)
+ return false;
+
+ int messageId = attribute.intValue();
+
+ if(messageId == SeamProjectPropertyValidator.INVALID_SEAM_RUNTIME_ID)
+ return true;
+ }catch(CoreException ex){
+ SeamGuiPlugin.getPluginLog().logError(ex);
}
+
return false;
}
public IMarkerResolution[] getResolutions(IMarker marker) {
- return new IMarkerResolution[] { new SeamRuntimeMarkerResolution() };
+ if(findResolutions(marker))
+ return new IMarkerResolution[] { new SeamRuntimeMarkerResolution() };
+ else
+ return new IMarkerResolution[]{};
}
}
\ No newline at end of file
15 years, 7 months