JBoss Tools SVN: r33224 - in trunk/cdi: plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/marker and 2 other directories.
by jbosstools-commits@lists.jboss.org
Author: dazarov
Date: 2011-07-26 19:55:03 -0400 (Tue, 26 Jul 2011)
New Revision: 33224
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestDecorator3.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestDecorator3.qfxresult
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestInterceptor5.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestInterceptor5.qfxresult
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/CDIValidationErrorManager.java
trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/marker/CDIProblemMarkerResolutionGenerator.java
trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/marker/CDIMarkerResolutionTest.java
Log:
https://issues.jboss.org/browse/JBIDE-7636
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java 2011-07-26 23:29:40 UTC (rev 33223)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java 2011-07-26 23:55:03 UTC (rev 33224)
@@ -1898,7 +1898,7 @@
if (declaration == null) {
declaration = CDIUtil.getNamedStereotypeDeclaration(interceptor);
}
- addError(CDIValidationMessages.INTERCEPTOR_HAS_NAME, CDIPreferences.INTERCEPTOR_OR_DECORATOR_HAS_NAME, declaration, interceptor.getResource());
+ addError(CDIValidationMessages.INTERCEPTOR_HAS_NAME, CDIPreferences.INTERCEPTOR_OR_DECORATOR_HAS_NAME, declaration, interceptor.getResource(), INTERCEPTOR_HAS_NAME_ID);
}
/*
@@ -1986,7 +1986,7 @@
if (declaration == null) {
declaration = CDIUtil.getNamedStereotypeDeclaration(decorator);
}
- addError(CDIValidationMessages.DECORATOR_HAS_NAME, CDIPreferences.INTERCEPTOR_OR_DECORATOR_HAS_NAME, declaration, decorator.getResource());
+ addError(CDIValidationMessages.DECORATOR_HAS_NAME, CDIPreferences.INTERCEPTOR_OR_DECORATOR_HAS_NAME, declaration, decorator.getResource(), DECORATOR_HAS_NAME_ID);
}
/*
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDIValidationErrorManager.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDIValidationErrorManager.java 2011-07-26 23:29:40 UTC (rev 33223)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDIValidationErrorManager.java 2011-07-26 23:55:03 UTC (rev 33224)
@@ -49,6 +49,8 @@
public static final int DISPOSER_IN_INTERCEPTOR_ID = 28;
public static final int DISPOSER_IN_DECORATOR_ID = 29;
public static final int STEREOTYPE_DECLARES_NON_EMPTY_NAME_ID = 30;
+ public static final int INTERCEPTOR_HAS_NAME_ID = 31;
+ public static final int DECORATOR_HAS_NAME_ID = 32;
/*
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/marker/CDIProblemMarkerResolutionGenerator.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/marker/CDIProblemMarkerResolutionGenerator.java 2011-07-26 23:29:40 UTC (rev 33223)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/marker/CDIProblemMarkerResolutionGenerator.java 2011-07-26 23:55:03 UTC (rev 33224)
@@ -308,16 +308,6 @@
};
}
}
- }else if(messageId == CDIValidationErrorManager.CONSTRUCTOR_PARAMETER_ANNOTATED_DISPOSES_ID){
- IJavaElement element = findJavaElement(file, start);
- if(element != null){
- IJavaElement disposesElement = findJavaElementByAnnotation(element, CDIConstants.DISPOSES_ANNOTATION_TYPE_NAME);
- if(disposesElement != null){
- return new IMarkerResolution[] {
- new DeleteAnnotationMarkerResolution(disposesElement, CDIConstants.DISPOSES_ANNOTATION_TYPE_NAME)
- };
- }
- }
}else if(messageId == CDIValidationErrorManager.CONSTRUCTOR_PARAMETER_ANNOTATED_OBSERVES_ID){
IJavaElement element = findJavaElement(file, start);
if(element != null){
@@ -328,7 +318,9 @@
};
}
}
- }else if(messageId == CDIValidationErrorManager.DISPOSER_IN_INTERCEPTOR_ID){
+ }else if(messageId == CDIValidationErrorManager.DISPOSER_IN_INTERCEPTOR_ID ||
+ messageId == CDIValidationErrorManager.DISPOSER_IN_DECORATOR_ID ||
+ messageId == CDIValidationErrorManager.CONSTRUCTOR_PARAMETER_ANNOTATED_DISPOSES_ID){
IJavaElement element = findJavaElement(file, start);
if(element != null){
IJavaElement disposerElement = findJavaElementByAnnotation(element, CDIConstants.DISPOSES_ANNOTATION_TYPE_NAME);
@@ -338,19 +330,10 @@
};
}
}
- }else if(messageId == CDIValidationErrorManager.DISPOSER_IN_DECORATOR_ID){
+ }else if(messageId == CDIValidationErrorManager.PRODUCER_IN_INTERCEPTOR_ID ||
+ messageId == CDIValidationErrorManager.PRODUCER_IN_DECORATOR_ID){
IJavaElement element = findJavaElement(file, start);
if(element != null){
- IJavaElement disposerElement = findJavaElementByAnnotation(element, CDIConstants.DISPOSES_ANNOTATION_TYPE_NAME);
- if(disposerElement != null){
- return new IMarkerResolution[] {
- new DeleteAnnotationMarkerResolution(disposerElement, CDIConstants.DISPOSES_ANNOTATION_TYPE_NAME)
- };
- }
- }
- }else if(messageId == CDIValidationErrorManager.PRODUCER_IN_INTERCEPTOR_ID){
- IJavaElement element = findJavaElement(file, start);
- if(element != null){
IJavaElement producerElement = findJavaElementByAnnotation(element, CDIConstants.PRODUCES_ANNOTATION_TYPE_NAME);
if(producerElement != null){
return new IMarkerResolution[] {
@@ -358,16 +341,6 @@
};
}
}
- }else if(messageId == CDIValidationErrorManager.PRODUCER_IN_DECORATOR_ID){
- IJavaElement element = findJavaElement(file, start);
- if(element != null){
- IJavaElement producerElement = findJavaElementByAnnotation(element, CDIConstants.PRODUCES_ANNOTATION_TYPE_NAME);
- if(producerElement != null){
- return new IMarkerResolution[] {
- new DeleteAnnotationMarkerResolution(producerElement, CDIConstants.PRODUCES_ANNOTATION_TYPE_NAME)
- };
- }
- }
}else if(messageId == CDIValidationErrorManager.STEREOTYPE_DECLARES_NON_EMPTY_NAME_ID){
TypeAndAnnotation ta = findTypeAndAnnotation(file, start, CDIConstants.NAMED_QUALIFIER_TYPE_NAME);
if(ta != null && ta.annotation != null && ta.type != null){
@@ -376,6 +349,14 @@
new DeleteAnnotationMarkerResolution(ta.type, CDIConstants.NAMED_QUALIFIER_TYPE_NAME)
};
}
+ }else if(messageId == CDIValidationErrorManager.INTERCEPTOR_HAS_NAME_ID ||
+ messageId == CDIValidationErrorManager.DECORATOR_HAS_NAME_ID){
+ TypeAndAnnotation ta = findTypeAndAnnotation(file, start, CDIConstants.NAMED_QUALIFIER_TYPE_NAME);
+ if(ta != null && ta.annotation != null && ta.type != null){
+ return new IMarkerResolution[] {
+ new DeleteAnnotationMarkerResolution(ta.type, CDIConstants.NAMED_QUALIFIER_TYPE_NAME)
+ };
+ }
}
}
return new IMarkerResolution[] {};
Added: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestDecorator3.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestDecorator3.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestDecorator3.java 2011-07-26 23:55:03 UTC (rev 33224)
@@ -0,0 +1,17 @@
+package org.jboss.jsr299.tck.tests.jbt.quickfixes;
+
+import javax.decorator.Decorator;
+import javax.decorator.Delegate;
+import javax.inject.Inject;
+import javax.inject.Named;
+
+@Decorator
+@Named("Vasja")
+public class TestDecorator3 {
+ @Inject @Delegate @AAnnotation String str;
+
+
+ public String produce(){
+ return str;
+ }
+}
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestDecorator3.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestDecorator3.qfxresult
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestDecorator3.qfxresult (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestDecorator3.qfxresult 2011-07-26 23:55:03 UTC (rev 33224)
@@ -0,0 +1,16 @@
+package org.jboss.jsr299.tck.tests.jbt.quickfixes;
+
+import javax.decorator.Decorator;
+import javax.decorator.Delegate;
+import javax.inject.Inject;
+
+@Decorator
+
+public class TestDecorator3 {
+ @Inject @Delegate @AAnnotation String str;
+
+
+ public String produce(){
+ return str;
+ }
+}
Added: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestInterceptor5.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestInterceptor5.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestInterceptor5.java 2011-07-26 23:55:03 UTC (rev 33224)
@@ -0,0 +1,17 @@
+package org.jboss.jsr299.tck.tests.jbt.quickfixes;
+
+import javax.inject.Named;
+import javax.interceptor.Interceptor;
+
+import org.jboss.jsr299.tck.tests.decorators.interceptor.FooBinding;
+
+@Interceptor
+@FooBinding
+@Named
+public class TestInterceptor5{
+
+
+ public String produce(){
+ return "a";
+ }
+}
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestInterceptor5.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestInterceptor5.qfxresult
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestInterceptor5.qfxresult (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestInterceptor5.qfxresult 2011-07-26 23:55:03 UTC (rev 33224)
@@ -0,0 +1,16 @@
+package org.jboss.jsr299.tck.tests.jbt.quickfixes;
+
+import javax.interceptor.Interceptor;
+
+import org.jboss.jsr299.tck.tests.decorators.interceptor.FooBinding;
+
+@Interceptor
+@FooBinding
+
+public class TestInterceptor5{
+
+
+ public String produce(){
+ return "a";
+ }
+}
Modified: trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/marker/CDIMarkerResolutionTest.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/marker/CDIMarkerResolutionTest.java 2011-07-26 23:29:40 UTC (rev 33223)
+++ trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/marker/CDIMarkerResolutionTest.java 2011-07-26 23:55:03 UTC (rev 33224)
@@ -758,4 +758,32 @@
ChangeAnnotationMarkerResolution.class);
}
+ public void testNamedInInterceptorResolution() throws CoreException{
+ checkResolution(tckProject,
+ new String[]{
+ "JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/TestInterceptor5.java"
+ },
+ new String[]{
+ "JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/TestInterceptor5.qfxresult"
+ },
+ CDICoreValidator.PROBLEM_TYPE,
+ CDIValidationErrorManager.MESSAGE_ID_ATTRIBUTE_NAME,
+ CDIValidationErrorManager.INTERCEPTOR_HAS_NAME_ID,
+ DeleteAnnotationMarkerResolution.class);
+ }
+
+ public void testNamedInDecoratorResolution() throws CoreException{
+ checkResolution(tckProject,
+ new String[]{
+ "JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/TestDecorator3.java"
+ },
+ new String[]{
+ "JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/TestDecorator3.qfxresult"
+ },
+ CDICoreValidator.PROBLEM_TYPE,
+ CDIValidationErrorManager.MESSAGE_ID_ATTRIBUTE_NAME,
+ CDIValidationErrorManager.DECORATOR_HAS_NAME_ID,
+ DeleteAnnotationMarkerResolution.class);
+ }
+
}
\ No newline at end of file
12 years, 10 months
JBoss Tools SVN: r33223 - trunk/cdi/plugins/org.jboss.tools.cdi.seam.core/src/org/jboss/tools/cdi/seam/core/international/el.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2011-07-26 19:29:40 -0400 (Tue, 26 Jul 2011)
New Revision: 33223
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.seam.core/src/org/jboss/tools/cdi/seam/core/international/el/CDIInternationalMessagesELResolver.java
Log:
JBIDE-9087
https://issues.jboss.org/browse/JBIDE-9087
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.seam.core/src/org/jboss/tools/cdi/seam/core/international/el/CDIInternationalMessagesELResolver.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.seam.core/src/org/jboss/tools/cdi/seam/core/international/el/CDIInternationalMessagesELResolver.java 2011-07-26 23:29:27 UTC (rev 33222)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.seam.core/src/org/jboss/tools/cdi/seam/core/international/el/CDIInternationalMessagesELResolver.java 2011-07-26 23:29:40 UTC (rev 33223)
@@ -248,6 +248,16 @@
segment.getVariables().add(variable);
}
resolution.addSegment(segment);
+ if(left.getLastToken() != left.getFirstToken()) {
+ LexicalToken combined = left.getFirstToken().getNextToken().getCombinedToken(left.getLastToken());
+ segment = new MessagePropertyELSegmentImpl(combined);
+ processMessageBundleSegment(expr, (MessagePropertyELSegmentImpl)segment, resolvedVariables);
+ segment.setResolved(true);
+ for (Variable variable : resolvedVars) {
+ segment.getVariables().add(variable);
+ }
+ resolution.addSegment(segment);
+ }
break;
}
12 years, 10 months
JBoss Tools SVN: r33222 - trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/parser.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2011-07-26 19:29:27 -0400 (Tue, 26 Jul 2011)
New Revision: 33222
Modified:
trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/parser/LexicalToken.java
Log:
JBIDE-9087
https://issues.jboss.org/browse/JBIDE-9087
Modified: trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/parser/LexicalToken.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/parser/LexicalToken.java 2011-07-26 22:57:18 UTC (rev 33221)
+++ trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/parser/LexicalToken.java 2011-07-26 23:29:27 UTC (rev 33222)
@@ -147,4 +147,22 @@
if(next != null) next.shift(delta);
}
+ /**
+ * Computes combined token that starts with this token and ends with last token
+ * @param last
+ * @return
+ */
+ public LexicalToken getCombinedToken(LexicalToken last) {
+ StringBuffer sb = new StringBuffer();
+ LexicalToken t = this;
+ while(t != null && t != last) {
+ sb.append(t.getText());
+ t = t.getNextToken();
+ }
+ LexicalToken token = new LexicalToken(this.start, last.getStart() + last.getLength() - start, sb.toString(), this.type);
+ token.previous = this.previous;
+ token.next = last.next;
+ return token;
+ }
+
}
12 years, 10 months
JBoss Tools SVN: r33221 - trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2011-07-26 18:57:18 -0400 (Tue, 26 Jul 2011)
New Revision: 33221
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSF2CCAttrsELCompletionEngine.java
Log:
JBIDE-9087
https://issues.jboss.org/browse/JBIDE-9087
Modified: trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSF2CCAttrsELCompletionEngine.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSF2CCAttrsELCompletionEngine.java 2011-07-26 22:56:28 UTC (rev 33220)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSF2CCAttrsELCompletionEngine.java 2011-07-26 22:57:18 UTC (rev 33221)
@@ -41,6 +41,7 @@
import org.jboss.tools.common.el.core.resolver.ELResolutionImpl;
import org.jboss.tools.common.el.core.resolver.ELSegment;
import org.jboss.tools.common.el.core.resolver.ELSegmentImpl;
+import org.jboss.tools.common.el.core.resolver.IOpenableReference;
import org.jboss.tools.common.el.core.resolver.IRelevanceCheck;
import org.jboss.tools.common.el.core.resolver.IVariable;
import org.jboss.tools.common.el.core.resolver.JavaMemberELSegmentImpl;
@@ -49,7 +50,9 @@
import org.jboss.tools.common.model.XModelObject;
import org.jboss.tools.common.model.util.EclipseJavaUtil;
import org.jboss.tools.common.model.util.EclipseResourceUtil;
+import org.jboss.tools.common.model.util.FindObjectHelper;
import org.jboss.tools.common.text.TextProposal;
+import org.jboss.tools.common.text.ext.hyperlink.xpl.Messages;
import org.jboss.tools.jsf.JSFModelPlugin;
import org.jboss.tools.jsf.model.JSFELCompletionEngine.IJSFVariable;
import org.jboss.tools.jst.web.kb.IXmlContext;
@@ -426,7 +429,9 @@
boolean returnEqualedVariablesOnly) {
Set<TextProposal> kbProposals = new TreeSet<TextProposal>(TextProposal.KB_PROPOSAL_ORDER);
- ELSegmentImpl segment = new ELSegmentImpl(expr.getFirstToken());
+ JSF2CCAttrELSegmentImpl segment = new JSF2CCAttrELSegmentImpl(expr.getFirstToken());
+ segment.setResource(this.currentFile);
+ segment.setVarName(expr.toString());
resolution.setProposals(kbProposals);
if(expr instanceof ELPropertyInvocation) {
segment.setToken(((ELPropertyInvocation)expr).getName());
@@ -648,3 +653,70 @@
}
}
+
+class JSF2CCAttrELSegmentImpl extends ELSegmentImpl {
+ String varName;
+ IFile file;
+
+ public JSF2CCAttrELSegmentImpl(LexicalToken token) {
+ super(token);
+ }
+
+ public void setVarName(String s) {
+ varName = s;
+ }
+
+ public void setResource(IFile f) {
+ file = f;
+ super.setResource(f);
+ }
+
+ public IOpenableReference[] getOpenable() {
+ final XModelObject o = findJSF2CCAttributeXModelObject(varName, file);
+ if(o != null) {
+ IOpenableReference openable = new IOpenableReference() {
+ @Override
+ public boolean open() {
+ int q = FindObjectHelper.findModelObject(o, FindObjectHelper.IN_EDITOR_ONLY);
+ return q == 0;
+ }
+ @Override
+ public String getLabel() {
+ return Messages.OpenJsf2CCAttribute;
+ }
+ @Override
+ public Image getImage() {
+ return null;
+ }
+ };
+ return new IOpenableReference[]{openable};
+ }
+ return new IOpenableReference[0];
+ }
+
+ static String[] vs = {"cc.attrs", "compositeComponent.attrs"}; //$NON-NLS-1$ //$NON-NLS-2$
+
+ public static XModelObject findJSF2CCAttributeXModelObject(String varName, IFile file) {
+ XModelObject xModelObject = EclipseResourceUtil.createObjectForResource(file);
+ if(xModelObject == null) return null;
+ if(!"FileJSF2Component".equals(xModelObject.getModelEntity().getName())) return null;
+
+ IJavaProject javaProject = EclipseResourceUtil.getJavaProject(file.getProject());
+ XModelObject is = xModelObject.getChildByPath("Interface");
+ if(is != null && javaProject != null) {
+ for (int i = 0; i < vs.length; i++) {
+ if (vs[i].equals(varName)) return is;
+ }
+ XModelObject[] cs = is.getChildren("JSF2ComponentAttribute");
+
+ for (int i = 0; i < cs.length; i++) {
+ String name = cs[i].getAttributeValue("name");
+ String[] names = {vs[0] + "." + name, vs[1] + "." + name};
+ for (String n: names) {
+ if (n.equals(varName)) return cs[i];
+ }
+ }
+ }
+ return null;
+ }
+}
12 years, 10 months
JBoss Tools SVN: r33220 - in trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core: resolver and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2011-07-26 18:56:28 -0400 (Tue, 26 Jul 2011)
New Revision: 33220
Modified:
trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/ElCoreMessages.java
trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/messages.properties
trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/JavaMemberELSegmentImpl.java
Log:
JBIDE-9087
https://issues.jboss.org/browse/JBIDE-9087
Modified: trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/ElCoreMessages.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/ElCoreMessages.java 2011-07-26 22:51:32 UTC (rev 33219)
+++ trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/ElCoreMessages.java 2011-07-26 22:56:28 UTC (rev 33220)
@@ -32,7 +32,8 @@
public static String RENAME_MESSAGE_PROPERTY_PROCESSOR_TITLE;
public static String RENAME_EL_VARIABLE_PROCESSOR_CAN_NOT_FIND_EL_VARIABLE;
public static String RENAME_MESSAGE_PROPERTY_PROCESSOR_CAN_NOT_FIND_MESSAGE_PROPERTY;
-
+
+ public static String Open;
static {
// initialize resource bundle
NLS.initializeMessages(BUNDLE_NAME, ElCoreMessages.class);
Modified: trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/messages.properties
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/messages.properties 2011-07-26 22:51:32 UTC (rev 33219)
+++ trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/messages.properties 2011-07-26 22:56:28 UTC (rev 33220)
@@ -26,3 +26,4 @@
RENAME_EL_VARIABLE_PROCESSOR_CAN_NOT_FIND_EL_VARIABLE=Can not find EL Variable: ''{0}''.
RENAME_MESSAGE_PROPERTY_PROCESSOR_CAN_NOT_FIND_MESSAGE_PROPERTY=Can not find message: ''{0}''.
+Open=Open ''{0}''
Modified: trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/JavaMemberELSegmentImpl.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/JavaMemberELSegmentImpl.java 2011-07-26 22:51:32 UTC (rev 33219)
+++ trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/JavaMemberELSegmentImpl.java 2011-07-26 22:56:28 UTC (rev 33220)
@@ -10,18 +10,23 @@
******************************************************************************/
package org.jboss.tools.common.el.core.resolver;
+import java.text.MessageFormat;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
+import org.eclipse.jdt.core.IField;
import org.eclipse.jdt.core.IJavaElement;
+import org.eclipse.jdt.core.IMethod;
+import org.eclipse.jdt.core.IType;
import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.jdt.ui.JavaUI;
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.PartInitException;
import org.jboss.tools.common.CommonPlugin;
import org.jboss.tools.common.el.core.ELCorePlugin;
+import org.jboss.tools.common.el.core.ElCoreMessages;
import org.jboss.tools.common.el.core.parser.LexicalToken;
import org.jboss.tools.common.el.core.resolver.TypeInfoCollector.MemberInfo;
@@ -180,7 +185,23 @@
@Override
public String getLabel() {
- return getJavaElement().getElementName();
+ IJavaElement javaElement = getJavaElement();
+ String name = ""; //$NON-NLS-1$
+ IType type = null;
+ if(javaElement instanceof IType){
+ name = javaElement.getElementName();
+ type = (IType)javaElement;
+
+ }else if(javaElement instanceof IMethod){
+ type = ((IMethod) javaElement).getDeclaringType();
+ name = type.getElementName()+"."+javaElement.getElementName()+"()"; //$NON-NLS-1$ //$NON-NLS-2$
+ }else if(javaElement instanceof IField){
+ type = ((IField) javaElement).getDeclaringType();
+ name = type.getElementName()+"."+javaElement.getElementName(); //$NON-NLS-1$
+ }
+ if(type != null)
+ name += " - "+type.getPackageFragment().getElementName(); //$NON-NLS-1$
+ return MessageFormat.format(ElCoreMessages.Open, name);
}
@Override
12 years, 10 months
JBoss Tools SVN: r33219 - trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2011-07-26 18:51:32 -0400 (Tue, 26 Jul 2011)
New Revision: 33219
Modified:
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/ELHyperlink.java
trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/ELHyperlinkDetector.java
Log:
JBIDE-9087
https://issues.jboss.org/browse/JBIDE-9087
Modified: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/ELHyperlink.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/ELHyperlink.java 2011-07-26 22:40:11 UTC (rev 33218)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/ELHyperlink.java 2011-07-26 22:51:32 UTC (rev 33219)
@@ -15,31 +15,20 @@
import java.util.Properties;
import org.eclipse.core.resources.IFile;
-import org.eclipse.jdt.core.IField;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.IType;
import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.ui.JavaUI;
import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Region;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.PartInitException;
import org.jboss.tools.common.el.core.ELReference;
import org.jboss.tools.common.el.core.resolver.ELSegment;
import org.jboss.tools.common.el.core.resolver.IOpenableReference;
import org.jboss.tools.common.el.core.resolver.JavaMemberELSegment;
import org.jboss.tools.common.el.core.resolver.MessagePropertyELSegment;
import org.jboss.tools.common.model.XModel;
-import org.jboss.tools.common.model.XModelObject;
import org.jboss.tools.common.model.project.IPromptingProvider;
import org.jboss.tools.common.model.project.PromptingProviderFactory;
-import org.jboss.tools.common.model.util.PositionHolder;
import org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlink;
import org.jboss.tools.common.text.ext.hyperlink.xpl.Messages;
import org.jboss.tools.common.text.ext.util.StructuredModelWrapper;
-import org.jboss.tools.common.text.ext.util.StructuredSelectionHelper;
import org.jboss.tools.common.text.ext.util.Utils;
import org.jboss.tools.jst.text.ext.JSTExtensionsPlugin;
import org.jboss.tools.jst.web.project.list.WebPromptingProvider;
@@ -55,12 +44,10 @@
private ELReference reference;
private ELSegment segment;
- private XModelObject xObject;
- public ELHyperlink(IDocument document, ELReference reference, ELSegment segment, XModelObject xObject){
+ public ELHyperlink(IDocument document, ELReference reference, ELSegment segment) {
this.reference = reference;
this.segment = segment;
- this.xObject = xObject;
setDocument(document);
}
@@ -123,7 +110,7 @@
p.put(IPromptingProvider.FILE, file);
- List list = provider.getList(xModel, getRequestMethod(p), p.getProperty("prefix"), p); //$NON-NLS-1$
+ List<?> list = provider.getList(xModel, getRequestMethod(p), p.getProperty("prefix"), p); //$NON-NLS-1$
if (list != null && list.size() >= 1) {
openFileInEditor((String)list.get(0));
return;
@@ -133,22 +120,6 @@
openFileFailed();
}
return;
- }else if(xObject != null){
- IRegion attrRegion = null;
- PositionHolder h = PositionHolder.getPosition(xObject, null);
- h.update();
- if (h.getStart() == -1 || h.getEnd() == -1) {
- openFileFailed();
- return;
- }
- attrRegion = new Region(h.getStart(), h.getEnd() - h.getStart());
- IFile file = (IFile)xObject.getAdapter(IFile.class);
- if (file != null) {
- if (openFileInEditor(file) != null) {
- StructuredSelectionHelper.setSelectionAndRevealInActiveEditor(attrRegion);
- return;
- }
- }
}
openFileFailed();
@@ -211,24 +182,12 @@
@Override
public String getHyperlinkText() {
+ IOpenableReference[] openables = segment.getOpenable();
+ if(openables.length > 0) {
+ return openables[0].getLabel();
+ }
if(segment instanceof JavaMemberELSegment){
- IJavaElement javaElement = ((JavaMemberELSegment) segment).getJavaElement();
- String name = ""; //$NON-NLS-1$
- IType type = null;
- if(javaElement instanceof IType){
- name = javaElement.getElementName();
- type = (IType)javaElement;
-
- }else if(javaElement instanceof IMethod){
- type = ((IMethod) javaElement).getDeclaringType();
- name = type.getElementName()+"."+javaElement.getElementName()+"()"; //$NON-NLS-1$ //$NON-NLS-2$
- }else if(javaElement instanceof IField){
- type = ((IField) javaElement).getDeclaringType();
- name = type.getElementName()+"."+javaElement.getElementName(); //$NON-NLS-1$
- }
- if(type != null)
- name += " - "+type.getPackageFragment().getElementName(); //$NON-NLS-1$
- return MessageFormat.format(Messages.Open, name);
+ return "Should not get here."; //$NON-NLS-1$
}else if(segment instanceof MessagePropertyELSegment){
String baseName = ((MessagePropertyELSegment)segment).getBaseName();
String propertyName = ((MessagePropertyELSegment)segment).isBundle() ? null : trimQuotes(((MessagePropertyELSegment)segment).getToken().getText());
@@ -236,8 +195,6 @@
return MessageFormat.format(Messages.Open, baseName);
return MessageFormat.format(Messages.OpenBundleProperty, propertyName, baseName);
- }else if(xObject != null){
- return Messages.OpenJsf2CCAttribute;
}
return ""; //$NON-NLS-1$
Modified: trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/ELHyperlinkDetector.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/ELHyperlinkDetector.java 2011-07-26 22:40:11 UTC (rev 33218)
+++ trunk/jst/plugins/org.jboss.tools.jst.text.ext/src/org/jboss/tools/jst/text/ext/hyperlink/ELHyperlinkDetector.java 2011-07-26 22:51:32 UTC (rev 33219)
@@ -13,7 +13,6 @@
import java.util.List;
import org.eclipse.core.resources.IFile;
-import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jface.text.IRegion;
import org.eclipse.jface.text.ITextViewer;
import org.eclipse.jface.text.hyperlink.AbstractHyperlinkDetector;
@@ -29,10 +28,6 @@
import org.jboss.tools.common.el.core.resolver.ELResolution;
import org.jboss.tools.common.el.core.resolver.ELResolver;
import org.jboss.tools.common.el.core.resolver.ELSegment;
-import org.jboss.tools.common.el.core.resolver.JavaMemberELSegment;
-import org.jboss.tools.common.el.core.resolver.MessagePropertyELSegment;
-import org.jboss.tools.common.model.XModelObject;
-import org.jboss.tools.common.model.util.EclipseResourceUtil;
import org.jboss.tools.jst.web.kb.PageContextFactory;
public class ELHyperlinkDetector extends AbstractHyperlinkDetector{
@@ -59,25 +54,7 @@
ELSegment segment = resolution.findSegmentByOffset(region.getOffset()-reference.getStartPosition());
if(segment != null && segment.isResolved()){
- if(segment instanceof JavaMemberELSegment || segment instanceof MessagePropertyELSegment){
- return new IHyperlink[]{new ELHyperlink(textViewer.getDocument(), reference, segment, null)};
- }else{
- StringBuffer sbBuffer = new StringBuffer();
- for (ELSegment s : resolution.getSegments()) {
- sbBuffer.append(s.getToken().getText());
- if (s == segment) {
- break;
- }
- sbBuffer.append('.'); // Use default separator for ELs here
- }
-
- String text = sbBuffer.toString();
- XModelObject xObject = findJSF2CCAttributeXModelObject(text, file);
- if (xObject != null) {
- return new IHyperlink[]{new ELHyperlink(textViewer.getDocument(), reference, segment, xObject)};
- }
- }
-
+ return new IHyperlink[]{new ELHyperlink(textViewer.getDocument(), reference, segment)};
}
}
@@ -119,29 +96,4 @@
return null;
}
- static String[] vs = {"cc.attrs", "compositeComponent.attrs"}; //$NON-NLS-1$ //$NON-NLS-2$
-
- public static XModelObject findJSF2CCAttributeXModelObject(String varName, IFile file) {
- XModelObject xModelObject = EclipseResourceUtil.createObjectForResource(file);
- if(xModelObject == null) return null;
- if(!"FileJSF2Component".equals(xModelObject.getModelEntity().getName())) return null;
-
- IJavaProject javaProject = EclipseResourceUtil.getJavaProject(file.getProject());
- XModelObject is = xModelObject.getChildByPath("Interface");
- if(is != null && javaProject != null) {
- for (int i = 0; i < vs.length; i++) {
- if (vs[i].equals(varName)) return is;
- }
- XModelObject[] cs = is.getChildren("JSF2ComponentAttribute");
-
- for (int i = 0; i < cs.length; i++) {
- String name = cs[i].getAttributeValue("name");
- String[] names = {vs[0] + "." + name, vs[1] + "." + name};
- for (String n: names) {
- if (n.equals(varName)) return cs[i];
- }
- }
- }
- return null;
- }
}
12 years, 10 months
JBoss Tools SVN: r33218 - in trunk/cdi: plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui and 3 other directories.
by jbosstools-commits@lists.jboss.org
Author: dazarov
Date: 2011-07-26 18:40:11 -0400 (Tue, 26 Jul 2011)
New Revision: 33218
Added:
trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/marker/ChangeAnnotationMarkerResolution.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestStereotype5.java
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/CDIValidationErrorManager.java
trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/CDIUIMessages.java
trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/CDIUIMessages.properties
trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/marker/CDIProblemMarkerResolutionGenerator.java
trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/marker/CDIMarkerResolutionTest.java
Log:
https://issues.jboss.org/browse/JBIDE-7634
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java 2011-07-26 22:22:39 UTC (rev 33217)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java 2011-07-26 22:40:11 UTC (rev 33218)
@@ -2271,7 +2271,7 @@
Object name = nameDeclaration.getMemberValue(null);
if (name != null && name.toString().length() > 0) {
ITextSourceReference location = nameDeclaration;
- addError(CDIValidationMessages.STEREOTYPE_DECLARES_NON_EMPTY_NAME, CDIPreferences.STEREOTYPE_DECLARES_NON_EMPTY_NAME, location, resource);
+ addError(CDIValidationMessages.STEREOTYPE_DECLARES_NON_EMPTY_NAME, CDIPreferences.STEREOTYPE_DECLARES_NON_EMPTY_NAME, location, resource, STEREOTYPE_DECLARES_NON_EMPTY_NAME_ID);
}
}
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDIValidationErrorManager.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDIValidationErrorManager.java 2011-07-26 22:22:39 UTC (rev 33217)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDIValidationErrorManager.java 2011-07-26 22:40:11 UTC (rev 33218)
@@ -48,6 +48,7 @@
public static final int PRODUCER_IN_DECORATOR_ID = 27;
public static final int DISPOSER_IN_INTERCEPTOR_ID = 28;
public static final int DISPOSER_IN_DECORATOR_ID = 29;
+ public static final int STEREOTYPE_DECLARES_NON_EMPTY_NAME_ID = 30;
/*
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/CDIUIMessages.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/CDIUIMessages.java 2011-07-26 22:22:39 UTC (rev 33217)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/CDIUIMessages.java 2011-07-26 22:40:11 UTC (rev 33218)
@@ -109,6 +109,7 @@
public static String CHANGE_TARGET_MARKER_RESOLUTION_TITLE;
public static String ADD_ANNOTATION_MARKER_RESOLUTION_TITLE;
public static String DELETE_ANNOTATION_MARKER_RESOLUTION_TITLE;
+ public static String CHANGE_ANNOTATION_MARKER_RESOLUTION_TITLE;
public static String QUESTION;
public static String DECREASING_FIELD_VISIBILITY_MAY_CAUSE_COMPILATION_PROBLEMS;
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/CDIUIMessages.properties
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/CDIUIMessages.properties 2011-07-26 22:22:39 UTC (rev 33217)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/CDIUIMessages.properties 2011-07-26 22:40:11 UTC (rev 33218)
@@ -93,6 +93,7 @@
CHANGE_TARGET_MARKER_RESOLUTION_TITLE=Change ''{0}'' annotation to @Target({1})
ADD_ANNOTATION_MARKER_RESOLUTION_TITLE=Add @{0} annotation to ''{1}'' {2}
DELETE_ANNOTATION_MARKER_RESOLUTION_TITLE=Delete @{0} annotation from ''{1}'' {2}
+CHANGE_ANNOTATION_MARKER_RESOLUTION_TITLE=Change ''{0}'' annotation to {1}
QUESTION=Question
DECREASING_FIELD_VISIBILITY_MAY_CAUSE_COMPILATION_PROBLEMS=Decreasing field visibility may cause compilation problems. Do you want to continue?
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/marker/CDIProblemMarkerResolutionGenerator.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/marker/CDIProblemMarkerResolutionGenerator.java 2011-07-26 22:22:39 UTC (rev 33217)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/marker/CDIProblemMarkerResolutionGenerator.java 2011-07-26 22:40:11 UTC (rev 33218)
@@ -368,6 +368,14 @@
};
}
}
+ }else if(messageId == CDIValidationErrorManager.STEREOTYPE_DECLARES_NON_EMPTY_NAME_ID){
+ TypeAndAnnotation ta = findTypeAndAnnotation(file, start, CDIConstants.NAMED_QUALIFIER_TYPE_NAME);
+ if(ta != null && ta.annotation != null && ta.type != null){
+ return new IMarkerResolution[] {
+ new ChangeAnnotationMarkerResolution(ta.annotation),
+ new DeleteAnnotationMarkerResolution(ta.type, CDIConstants.NAMED_QUALIFIER_TYPE_NAME)
+ };
+ }
}
}
return new IMarkerResolution[] {};
Added: trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/marker/ChangeAnnotationMarkerResolution.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/marker/ChangeAnnotationMarkerResolution.java (rev 0)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/marker/ChangeAnnotationMarkerResolution.java 2011-07-26 22:40:11 UTC (rev 33218)
@@ -0,0 +1,110 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.cdi.ui.marker;
+
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.jdt.core.IAnnotation;
+import org.eclipse.jdt.core.IBuffer;
+import org.eclipse.jdt.core.ICompilationUnit;
+import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.IMarkerResolution2;
+import org.jboss.tools.cdi.core.CDIConstants;
+import org.jboss.tools.cdi.ui.CDIUIMessages;
+import org.jboss.tools.cdi.ui.CDIUIPlugin;
+
+public class ChangeAnnotationMarkerResolution implements
+ IMarkerResolution2 {
+ private IAnnotation annotation;
+
+ private String sourceString = "";
+ private String changeString = MarkerResolutionUtils.AT;
+ private boolean useBraces = true;
+
+ private String[] qualifiedNames = new String[0];
+
+ public ChangeAnnotationMarkerResolution(IAnnotation annotation){
+ this.annotation = annotation;
+
+ changeString += annotation.getElementName();
+
+ try {
+ sourceString = annotation.getSource();
+ } catch (JavaModelException e) {
+ CDIUIPlugin.getDefault().logError(e);
+ }
+ }
+
+ public ChangeAnnotationMarkerResolution(IAnnotation annotation, String parameter){
+ this(annotation);
+
+ qualifiedNames = new String[]{parameter};
+ String shortName = MarkerResolutionUtils.getShortName(parameter);
+
+ changeString += "("+shortName+")";
+ }
+
+ public ChangeAnnotationMarkerResolution(IAnnotation annotation, String[] typeNames){
+ this(annotation);
+
+ this.qualifiedNames = typeNames;
+ String[] shortNames = MarkerResolutionUtils.getShortNames(qualifiedNames);
+ String totalList = MarkerResolutionUtils.getTotalList(shortNames);
+ if(useBraces)
+ totalList = MarkerResolutionUtils.OPEN_BRACE+totalList+MarkerResolutionUtils.CLOSE_BRACE;
+
+ changeString += "("+totalList+")";
+ }
+
+ public ChangeAnnotationMarkerResolution(IAnnotation annotation, String[] typeNames, boolean useBraces){
+ this(annotation, typeNames);
+ this.useBraces = useBraces;
+ }
+
+ public String getLabel() {
+ return NLS.bind(CDIUIMessages.CHANGE_ANNOTATION_MARKER_RESOLUTION_TITLE, sourceString, changeString);
+ }
+
+ public void run(IMarker marker) {
+ try{
+ ICompilationUnit original = MarkerResolutionUtils.getJavaMember(annotation).getCompilationUnit();
+ ICompilationUnit compilationUnit = original.getWorkingCopy(new NullProgressMonitor());
+
+ MarkerResolutionUtils.addImport(CDIConstants.TARGET_ANNOTATION_TYPE_NAME, compilationUnit);
+
+ for(String qualifiedName : qualifiedNames){
+ MarkerResolutionUtils.addImport(qualifiedName, compilationUnit, true);
+ }
+
+ IAnnotation workingCopyAnnotation = MarkerResolutionUtils.findWorkingCopy(compilationUnit, annotation);
+
+ IBuffer buffer = compilationUnit.getBuffer();
+
+ buffer.replace(workingCopyAnnotation.getSourceRange().getOffset(), workingCopyAnnotation.getSourceRange().getLength(), changeString);
+
+ compilationUnit.commitWorkingCopy(false, new NullProgressMonitor());
+ compilationUnit.discardWorkingCopy();
+ }catch(CoreException ex){
+ CDIUIPlugin.getDefault().logError(ex);
+ }
+ }
+
+ public String getDescription() {
+ return NLS.bind(CDIUIMessages.CHANGE_ANNOTATION_MARKER_RESOLUTION_TITLE, sourceString, changeString);
+ }
+
+ public Image getImage() {
+ return null;
+ }
+}
Property changes on: trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/marker/ChangeAnnotationMarkerResolution.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestStereotype5.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestStereotype5.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestStereotype5.java 2011-07-26 22:40:11 UTC (rev 33218)
@@ -0,0 +1,21 @@
+package org.jboss.jsr299.tck.tests.jbt.quickfixes;
+
+import java.lang.annotation.Target;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.enterprise.inject.Stereotype;
+import javax.inject.Named;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import java.lang.annotation.Retention;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.FIELD;
+
+@Retention(RUNTIME)
+@Stereotype
+@Target({TYPE, METHOD, FIELD})
+@ApplicationScoped
+@Named("a")
+public @interface TestStereotype5 {
+
+}
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestStereotype5.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/marker/CDIMarkerResolutionTest.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/marker/CDIMarkerResolutionTest.java 2011-07-26 22:22:39 UTC (rev 33217)
+++ trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/marker/CDIMarkerResolutionTest.java 2011-07-26 22:40:11 UTC (rev 33218)
@@ -32,6 +32,7 @@
import org.jboss.tools.cdi.ui.marker.AddRetentionAnnotationMarkerResolution;
import org.jboss.tools.cdi.ui.marker.AddSerializableInterfaceMarkerResolution;
import org.jboss.tools.cdi.ui.marker.AddTargetAnnotationMarkerResolution;
+import org.jboss.tools.cdi.ui.marker.ChangeAnnotationMarkerResolution;
import org.jboss.tools.cdi.ui.marker.ChangeRetentionAnnotationMarkerResolution;
import org.jboss.tools.cdi.ui.marker.ChangeTargetAnnotationMarkerResolution;
import org.jboss.tools.cdi.ui.marker.DeleteAllDisposerDuplicantMarkerResolution;
@@ -735,4 +736,26 @@
DeleteAnnotationMarkerResolution.class);
}
+ public void testNonEmptyNamedInStereotypeResolution() throws CoreException{
+ checkResolution(tckProject,
+ new String[]{
+ "JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/TestStereotype5.java"
+ },
+ CDICoreValidator.PROBLEM_TYPE,
+ CDIValidationErrorManager.MESSAGE_ID_ATTRIBUTE_NAME,
+ CDIValidationErrorManager.STEREOTYPE_DECLARES_NON_EMPTY_NAME_ID,
+ DeleteAnnotationMarkerResolution.class);
+ }
+
+ public void testNonEmptyNamedInStereotypeResolution2() throws CoreException{
+ checkResolution(tckProject,
+ new String[]{
+ "JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/TestStereotype5.java"
+ },
+ CDICoreValidator.PROBLEM_TYPE,
+ CDIValidationErrorManager.MESSAGE_ID_ATTRIBUTE_NAME,
+ CDIValidationErrorManager.STEREOTYPE_DECLARES_NON_EMPTY_NAME_ID,
+ ChangeAnnotationMarkerResolution.class);
+ }
+
}
\ No newline at end of file
12 years, 10 months
JBoss Tools SVN: r33217 - trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/xpl.
by jbosstools-commits@lists.jboss.org
Author: dazarov
Date: 2011-07-26 18:22:39 -0400 (Tue, 26 Jul 2011)
New Revision: 33217
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/xpl/MultipleHyperlinkPresenter.java
Log:
https://issues.jboss.org/browse/JBIDE-9390
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/xpl/MultipleHyperlinkPresenter.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/xpl/MultipleHyperlinkPresenter.java 2011-07-26 22:12:32 UTC (rev 33216)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/xpl/MultipleHyperlinkPresenter.java 2011-07-26 22:22:39 UTC (rev 33217)
@@ -375,6 +375,10 @@
startTime = System.currentTimeMillis();
}
+ /**
+ * Attempt to avoid losing focus just after opening. See JBIDE-9390
+ * @return
+ */
private boolean isItTime(){
return System.currentTimeMillis() - startTime > 500;
}
12 years, 10 months
JBoss Tools SVN: r33216 - trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2011-07-26 18:12:32 -0400 (Tue, 26 Jul 2011)
New Revision: 33216
Modified:
trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELSegment.java
trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/IOpenableReference.java
Log:
JBIDE-9087
https://issues.jboss.org/browse/JBIDE-9087
Modified: trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELSegment.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELSegment.java 2011-07-26 21:58:17 UTC (rev 33215)
+++ trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELSegment.java 2011-07-26 22:12:32 UTC (rev 33216)
@@ -43,6 +43,8 @@
ITextSourceReference getSourceReference();
/**
+ * Returns references to objects that can be opened from this segment.
+ * If there are no references, empty array is returned. The returned object is never null.
*
* @return references to objects that can be opened from this segment.
*/
Modified: trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/IOpenableReference.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/IOpenableReference.java 2011-07-26 21:58:17 UTC (rev 33215)
+++ trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/IOpenableReference.java 2011-07-26 22:12:32 UTC (rev 33216)
@@ -12,12 +12,31 @@
import org.eclipse.swt.graphics.Image;
+/**
+ *
+ * @author Viacheslav Kabanovich
+ *
+ */
public interface IOpenableReference {
+ /**
+ * Opens editor and selects an object, defined by this reference.
+ * Returns true if editor is successfully opened.
+ *
+ * @return true if editor is successfully opened
+ */
public boolean open();
+ /**
+ *
+ * @return Text representation for option in the open-on menu.
+ */
public String getLabel();
+ /**
+ *
+ * @return Image representation for option in the open-on menu.
+ */
public Image getImage();
}
12 years, 10 months
JBoss Tools SVN: r33215 - trunk/documentation/guides/GettingStartedGuide/en-US.
by jbosstools-commits@lists.jboss.org
Author: irooskov(a)redhat.com
Date: 2011-07-26 17:58:17 -0400 (Tue, 26 Jul 2011)
New Revision: 33215
Modified:
trunk/documentation/guides/GettingStartedGuide/en-US/Book_Info.xml
Log:
updated for brew
Modified: trunk/documentation/guides/GettingStartedGuide/en-US/Book_Info.xml
===================================================================
--- trunk/documentation/guides/GettingStartedGuide/en-US/Book_Info.xml 2011-07-26 21:58:09 UTC (rev 33214)
+++ trunk/documentation/guides/GettingStartedGuide/en-US/Book_Info.xml 2011-07-26 21:58:17 UTC (rev 33215)
@@ -8,7 +8,7 @@
<productname>JBoss Developer Studio</productname>
<productnumber>4.1</productnumber>
<edition>4.1.0</edition>
-<pubsnumber>4</pubsnumber>
+<pubsnumber>5</pubsnumber>
<abstract>
<para>The Getting Started Guide explains the JBoss Developer Studio.</para>
</abstract>
12 years, 10 months