[jbosstools-commits] JBoss Tools SVN: r35527 - in trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core: definition and 2 other directories.
jbosstools-commits at lists.jboss.org
jbosstools-commits at lists.jboss.org
Mon Oct 10 20:57:17 EDT 2011
Author: scabanovich
Date: 2011-10-10 20:57:17 -0400 (Mon, 10 Oct 2011)
New Revision: 35527
Added:
trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/definition/SAXNodeProblem.java
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/CDISeamConfigExtension.java
trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/definition/SeamBeansDefinition.java
trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/scanner/SeamDefinitionBuilder.java
trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/validation/SeamConfigValidationMessages.java
trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/validation/messages.properties
Log:
JBIDE-9881
https://issues.jboss.org/browse/JBIDE-9881
Reporting unresolved seam config nodes enhanced.
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/CDISeamConfigExtension.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/CDISeamConfigExtension.java 2011-10-11 00:19:18 UTC (rev 35526)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/CDISeamConfigExtension.java 2011-10-11 00:57:17 UTC (rev 35527)
@@ -12,8 +12,6 @@
import java.util.ArrayList;
import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
import java.util.Set;
import org.eclipse.core.resources.IFile;
@@ -35,6 +33,7 @@
import org.jboss.tools.cdi.internal.core.scanner.FileSet;
import org.jboss.tools.cdi.internal.core.validation.CDICoreValidator;
import org.jboss.tools.cdi.seam.config.core.definition.ConfigTypeDefinition;
+import org.jboss.tools.cdi.seam.config.core.definition.SAXNodeProblem;
import org.jboss.tools.cdi.seam.config.core.definition.SeamBeanDefinition;
import org.jboss.tools.cdi.seam.config.core.definition.SeamBeansDefinition;
import org.jboss.tools.cdi.seam.config.core.definition.SeamFieldDefinition;
@@ -43,8 +42,6 @@
import org.jboss.tools.cdi.seam.config.core.scanner.ConfigFileSet;
import org.jboss.tools.cdi.seam.config.core.scanner.SeamDefinitionBuilder;
import org.jboss.tools.cdi.seam.config.core.validation.SeamConfigValidationMessages;
-import org.jboss.tools.cdi.seam.config.core.xml.SAXAttribute;
-import org.jboss.tools.cdi.seam.config.core.xml.SAXElement;
import org.jboss.tools.cdi.seam.config.core.xml.SAXNode;
import org.jboss.tools.common.EclipseUtil;
import org.jboss.tools.common.java.IParametedType;
@@ -54,6 +51,7 @@
import org.jboss.tools.common.model.filesystems.impl.FolderImpl;
import org.jboss.tools.common.model.util.EclipseResourceUtil;
import org.jboss.tools.common.preferences.SeverityPreferences;
+import org.jboss.tools.common.text.ITextSourceReference;
/**
*
@@ -197,28 +195,22 @@
public void validateResource(IFile file, CDICoreValidator validator) {
SeamBeansDefinition def = context.getDefinition(file.getFullPath());
if(def != null) {
- Map<SAXNode, String> nodes = def.getUnresolvedNodes();
- for (Entry<SAXNode, String> entry: nodes.entrySet()) {
- SAXNode node = entry.getKey();
- String problemId = entry.getValue();
+ Set<SAXNodeProblem> nodes = def.getUnresolvedNodes();
+ for (SAXNodeProblem problem: nodes) {
+ SAXNode node = problem.getNode();
+ String problemId = problem.getProblemId();
+ String message = problem.getMessage();
+ ITextSourceReference ref = new TextSourceReference(def.getFileObject(), file, node);
if(CDISeamConfigConstants.ERROR_UNRESOLVED_TYPE.equals(problemId)) {
- String name = node instanceof SAXElement ? ((SAXElement)node).getName() : node instanceof SAXAttribute ? ((SAXAttribute)node).getName() : null;
- String message = NLS.bind(SeamConfigValidationMessages.UNRESOLVED_TYPE, name);
- validator.addError(message, CDISeamConfigPreferences.UNRESOLVED_TYPE, new TextSourceReference(def.getFileObject(), file, node), file);
+ validator.addError(message, CDISeamConfigPreferences.UNRESOLVED_TYPE, ref, file);
} else if(CDISeamConfigConstants.ERROR_UNRESOLVED_MEMBER.equals(problemId)) {
- String name = node instanceof SAXElement ? ((SAXElement)node).getName() : node instanceof SAXAttribute ? ((SAXAttribute)node).getName() : null;
- String message = NLS.bind(SeamConfigValidationMessages.UNRESOLVED_MEMBER, name);
- validator.addError(message, CDISeamConfigPreferences.UNRESOLVED_MEMBER, new TextSourceReference(def.getFileObject(), file, node), file);
+ validator.addError(message, CDISeamConfigPreferences.UNRESOLVED_MEMBER, ref, file);
} else if(CDISeamConfigConstants.ERROR_UNRESOLVED_METHOD.equals(problemId)) {
- String message = NLS.bind(SeamConfigValidationMessages.UNRESOLVED_METHOD, ((SAXElement)node).getName());
- validator.addError(message, CDISeamConfigPreferences.UNRESOLVED_METHOD, new TextSourceReference(def.getFileObject(), file, node), file);
+ validator.addError(message, CDISeamConfigPreferences.UNRESOLVED_METHOD, ref, file);
} else if(CDISeamConfigConstants.ERROR_UNRESOLVED_CONSTRUCTOR.equals(problemId)) {
- String name = node instanceof SAXElement && ((SAXElement)node).getParent() != null ? ((SAXElement)node).getParent().getName() : null;
- String message = NLS.bind(SeamConfigValidationMessages.UNRESOLVED_CONSTRUCTOR, name);
- validator.addError(message, CDISeamConfigPreferences.UNRESOLVED_CONSTRUCTOR, new TextSourceReference(def.getFileObject(), file, node), file);
+ validator.addError(message, CDISeamConfigPreferences.UNRESOLVED_CONSTRUCTOR, ref, file);
} else if(CDISeamConfigConstants.ERROR_ANNOTATION_EXPECTED.equals(problemId)) {
- String message = NLS.bind(SeamConfigValidationMessages.ANNOTATION_EXPECTED, null);
- validator.addError(message, CDISeamConfigPreferences.ANNOTATION_EXPECTED, new TextSourceReference(def.getFileObject(), file, node), file);
+ validator.addError(message, CDISeamConfigPreferences.ANNOTATION_EXPECTED, ref, file);
}
}
Set<SeamBeanDefinition> bs = def.getBeanDefinitions();
Added: trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/definition/SAXNodeProblem.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/definition/SAXNodeProblem.java (rev 0)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/definition/SAXNodeProblem.java 2011-10-11 00:57:17 UTC (rev 35527)
@@ -0,0 +1,28 @@
+package org.jboss.tools.cdi.seam.config.core.definition;
+
+import org.jboss.tools.cdi.seam.config.core.xml.SAXNode;
+
+public class SAXNodeProblem {
+ SAXNode node;
+ String problemId;
+ String message;
+
+ public SAXNodeProblem(SAXNode node, String problemId, String message) {
+ this.node = node;
+ this.problemId = problemId;
+ this.message = message;
+ }
+
+ public SAXNode getNode() {
+ return node;
+ }
+
+ public String getProblemId() {
+ return problemId;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+}
Property changes on: trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/definition/SAXNodeProblem.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/definition/SeamBeansDefinition.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/definition/SeamBeansDefinition.java 2011-10-11 00:19:18 UTC (rev 35526)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/definition/SeamBeansDefinition.java 2011-10-11 00:57:17 UTC (rev 35527)
@@ -11,7 +11,6 @@
package org.jboss.tools.cdi.seam.config.core.definition;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
@@ -47,7 +46,7 @@
public class SeamBeansDefinition {
IResource resource;
XModelObject file;
- Map<SAXNode, String> unresolvedNodes = new HashMap<SAXNode, String>();
+ Set<SAXNodeProblem> unresolvedNodes = new HashSet<SAXNodeProblem>();
Set<String> possibleTypeNames = new HashSet<String>();
Set<SeamBeanDefinition> beanDefinitions = new HashSet<SeamBeanDefinition>();
@@ -74,7 +73,7 @@
return resource;
}
- public Map<SAXNode, String> getUnresolvedNodes() {
+ public Set<SAXNodeProblem> getUnresolvedNodes() {
return unresolvedNodes;
}
@@ -87,10 +86,14 @@
return possibleTypeNames;
}
- public void addUnresolvedNode(SAXNode node, String problem) {
- unresolvedNodes.put(node, problem);
+ public void addUnresolvedNode(SAXNodeProblem problem) {
+ unresolvedNodes.add(problem);
}
+ public void addUnresolvedNode(SAXNode node, String problemId, String message) {
+ addUnresolvedNode(new SAXNodeProblem(node, problemId, message));
+ }
+
public void addPossibleTypeNames(Set<String> types) {
possibleTypeNames.addAll(types);
}
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/scanner/SeamDefinitionBuilder.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/scanner/SeamDefinitionBuilder.java 2011-10-11 00:19:18 UTC (rev 35526)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/scanner/SeamDefinitionBuilder.java 2011-10-11 00:57:17 UTC (rev 35527)
@@ -22,6 +22,7 @@
import org.eclipse.jdt.core.IType;
import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.jface.text.IDocument;
+import org.eclipse.osgi.util.NLS;
import org.jboss.tools.cdi.core.CDIConstants;
import org.jboss.tools.cdi.core.CDICoreNature;
import org.jboss.tools.cdi.internal.core.impl.definition.AnnotationDefinition;
@@ -37,6 +38,7 @@
import org.jboss.tools.cdi.seam.config.core.definition.SeamParameterDefinition;
import org.jboss.tools.cdi.seam.config.core.definition.SeamVirtualFieldDefinition;
import org.jboss.tools.cdi.seam.config.core.util.Util;
+import org.jboss.tools.cdi.seam.config.core.validation.SeamConfigValidationMessages;
import org.jboss.tools.cdi.seam.config.core.xml.SAXAttribute;
import org.jboss.tools.cdi.seam.config.core.xml.SAXElement;
import org.jboss.tools.cdi.seam.config.core.xml.SAXParser;
@@ -89,7 +91,7 @@
IType type = Util.resolveType(element, project);
if(type == null) {
- result.addUnresolvedNode(element, CDISeamConfigConstants.ERROR_UNRESOLVED_TYPE);
+ reportUnresolvedType(element);
result.addPossibleTypeNames(Util.getPossibleTypeNames(element));
return;
}
@@ -108,6 +110,19 @@
}
}
+ private void reportUnresolvedType(SAXElement element) {
+ Set<String> ps = Util.getPossibleTypeNames(element);
+ if(ps.size() == 1) {
+ String type = ps.iterator().next();
+ String message = NLS.bind(SeamConfigValidationMessages.UNRESOLVED_TYPE, type);
+ result.addUnresolvedNode(element, CDISeamConfigConstants.ERROR_UNRESOLVED_TYPE, message);
+ } else {
+ String type = element.getLocalName();
+ String message = NLS.bind(SeamConfigValidationMessages.UNRESOLVED_TYPE, type);
+ result.addUnresolvedNode(element, CDISeamConfigConstants.ERROR_UNRESOLVED_TYPE, message);
+ }
+ }
+
private void scanAnnotation(SAXElement element, IType type) {
context.getRootContext().getAnnotationKind(type); // kick it
AnnotationDefinition def = new AnnotationDefinition();
@@ -170,7 +185,7 @@
SeamMethodDefinition md = scanMethod(c, type);
if(md != null) def.addMethod(md);
} else {
- result.addUnresolvedNode(c, CDISeamConfigConstants.ERROR_UNRESOLVED_MEMBER);
+ reportUnresolvedMember(c, type);
}
}
Set<String> as = element.getAttributeNames();
@@ -178,7 +193,7 @@
SAXAttribute a = element.getAttribute(name);
IField f = type.getField(name);
if(f == null || !f.exists()) {
- result.addUnresolvedNode(a, CDISeamConfigConstants.ERROR_UNRESOLVED_MEMBER);
+ reportUnresolvedField(a, type);
} else {
def.addField(scanField(a, f));
}
@@ -186,13 +201,38 @@
return def;
}
+ void reportUnresolvedMember(SAXElement c, IType type) {
+ String message = NLS.bind(SeamConfigValidationMessages.UNRESOLVED_MEMBER, c.getLocalName(), type.getElementName());
+ result.addUnresolvedNode(c, CDISeamConfigConstants.ERROR_UNRESOLVED_MEMBER, message);
+ }
+
+ void reportUnresolvedMethod(SAXElement c, IType type, String params) {
+ String message = NLS.bind(SeamConfigValidationMessages.UNRESOLVED_METHOD, c.getLocalName() + "(" + params + ")", type.getElementName());
+ result.addUnresolvedNode(c, CDISeamConfigConstants.ERROR_UNRESOLVED_METHOD, message);
+ }
+
+ void reportUnresolvedConstructor(SAXElement c, IType type, String params) {
+ String message = NLS.bind(SeamConfigValidationMessages.UNRESOLVED_CONSTRUCTOR, type.getElementName() + "(" + params + ")");
+ result.addUnresolvedNode(c, CDISeamConfigConstants.ERROR_UNRESOLVED_CONSTRUCTOR, message);
+ }
+
+ void reportUnresolvedField(SAXAttribute c, IType type) {
+ String message = NLS.bind(SeamConfigValidationMessages.UNRESOLVED_FIELD, c.getName(), type.getElementName());
+ result.addUnresolvedNode(c, CDISeamConfigConstants.ERROR_UNRESOLVED_MEMBER, message);
+ }
+
+ void reportUnresolvedMethod(SAXAttribute c, IType type) {
+ String message = NLS.bind(SeamConfigValidationMessages.UNRESOLVED_METHOD, c.getName() + "()", type.getElementName());
+ result.addUnresolvedNode(c, CDISeamConfigConstants.ERROR_UNRESOLVED_METHOD, message);
+ }
+
private SeamVirtualFieldDefinition scanVirtualProducerField(SAXElement element) {
SeamVirtualFieldDefinition def = new SeamVirtualFieldDefinition();
def.setResource(resource);
def.setNode(element);
IType type = Util.resolveType(element, project);
if(type == null) {
- result.addUnresolvedNode(element, CDISeamConfigConstants.ERROR_UNRESOLVED_TYPE);
+ reportUnresolvedType(element);
return null;
}
def.setType(type);
@@ -233,7 +273,7 @@
if(a != null) def.addAnnotation(a);
continue;
} else {
- result.addUnresolvedNode(c, CDISeamConfigConstants.ERROR_UNRESOLVED_TYPE);
+ reportUnresolvedType(c);
}
}
@@ -311,18 +351,19 @@
SeamMethodDefinition def = new SeamMethodDefinition();
def.setResource(resource);
def.setNode(element);
+ StringBuilder paramPresentation = new StringBuilder();
List<SAXElement> es = element.getChildElements();
for (SAXElement c: es) {
if(!Util.isConfigRelevant(c)) continue;
if(Util.isParameters(c)) {
List<SAXElement> ps = c.getChildElements();
for (SAXElement p: ps) {
- SeamParameterDefinition pd = scanParameter(p);
+ SeamParameterDefinition pd = scanParameter(p, paramPresentation);
if(pd != null) def.addParameter(pd);
}
continue;
} else if(Util.isArray(c)) {
- SeamParameterDefinition pd = scanParameter(c);
+ SeamParameterDefinition pd = scanParameter(c, paramPresentation);
if(pd != null) def.addParameter(pd);
continue;
}
@@ -332,7 +373,7 @@
if(a != null) def.addAnnotation(a);
continue;
} else {
- result.addUnresolvedNode(c, CDISeamConfigConstants.ERROR_UNRESOLVED_TYPE);
+ reportUnresolvedType(c);
}
}
@@ -345,7 +386,7 @@
if(method != null) {
def.setMethod(method);
} else {
- result.addUnresolvedNode(element, CDISeamConfigConstants.ERROR_UNRESOLVED_METHOD);
+ reportUnresolvedMethod(element, type, paramPresentation.toString());
def = null;
}
return def;
@@ -355,14 +396,15 @@
SeamMethodDefinition def = new SeamMethodDefinition();
def.setResource(resource);
def.setNode(element);
+ StringBuilder paramPresentation = new StringBuilder();
if(Util.isParameters(element)) {
List<SAXElement> ps = element.getChildElements();
for (SAXElement p: ps) {
- SeamParameterDefinition pd = scanParameter(p);
+ SeamParameterDefinition pd = scanParameter(p, paramPresentation);
if(pd != null) def.addParameter(pd);
}
} else if(Util.isArray(element)) {
- SeamParameterDefinition pd = scanParameter(element);
+ SeamParameterDefinition pd = scanParameter(element, paramPresentation);
if(pd != null) def.addParameter(pd);
}
IJavaAnnotation inject = createInject(element);
@@ -376,14 +418,14 @@
if(method != null) {
def.setMethod(method);
} else {
- result.addUnresolvedNode(element, CDISeamConfigConstants.ERROR_UNRESOLVED_CONSTRUCTOR);
+ reportUnresolvedConstructor(element, type, paramPresentation.toString());
def = null;
}
return def;
}
- private SeamParameterDefinition scanParameter(SAXElement element) {
+ private SeamParameterDefinition scanParameter(SAXElement element, StringBuilder paramPresentation) {
if(!Util.isConfigRelevant(element)) return null;
SeamParameterDefinition def = new SeamParameterDefinition();
def.setResource(resource);
@@ -397,9 +439,14 @@
List<SAXElement> es = element.getChildElements();
for (SAXElement c: es) {
if(!Util.isConfigRelevant(c)) continue;
+
+ if(paramPresentation.length() > 0) paramPresentation.append(",");
+ paramPresentation.append(c.getLocalName());
+ for (int q = 0; q < def.getDimensions(); q++) paramPresentation.append("[]");
+
IType type = Util.resolveType(c, project);
if(type == null) {
- result.addUnresolvedNode(c, CDISeamConfigConstants.ERROR_UNRESOLVED_TYPE);
+ reportUnresolvedType(c);
continue;
}
TypeCheck typeCheck = new TypeCheck(type, c);
@@ -412,9 +459,12 @@
}
}
} else {
+ if(paramPresentation.length() > 0) paramPresentation.append(",");
+ paramPresentation.append(element.getLocalName());
+
IType type = Util.resolveType(element, project);
if(type == null) {
- result.addUnresolvedNode(element, CDISeamConfigConstants.ERROR_UNRESOLVED_TYPE);
+ reportUnresolvedType(element);
return null;
}
def.setType(type);
@@ -442,7 +492,7 @@
IType type = Util.resolveType(element, project);
if(type == null) {
if(contextKind == IN_ANNOTATION_TYPE) {
- result.addUnresolvedNode(element, CDISeamConfigConstants.ERROR_UNRESOLVED_TYPE);
+ reportUnresolvedType(element);
}
return null;
}
@@ -466,12 +516,12 @@
literal.addMemberValuePair(n, v, IMemberValuePair.K_STRING);
IMethod m = type.getMethod(n, new String[0]);
if(!m.exists()) {
- result.addUnresolvedNode(attr, CDISeamConfigConstants.ERROR_UNRESOLVED_MEMBER);
+ reportUnresolvedMethod(attr, type);
}
}
return literal;
} else if(contextKind == IN_ANNOTATION_TYPE) {
- result.addUnresolvedNode(element, CDISeamConfigConstants.ERROR_ANNOTATION_EXPECTED);
+ result.addUnresolvedNode(element, CDISeamConfigConstants.ERROR_ANNOTATION_EXPECTED, SeamConfigValidationMessages.ANNOTATION_EXPECTED);
}
return null;
}
@@ -484,7 +534,7 @@
isAnnotation = type.isAnnotation();
} catch (JavaModelException e) {
CDISeamConfigCorePlugin.getDefault().logError(e);
- result.addUnresolvedNode(element, CDISeamConfigConstants.ERROR_UNRESOLVED_TYPE);
+ reportUnresolvedType(element);
isCorrupted = true;
}
}
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/validation/SeamConfigValidationMessages.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/validation/SeamConfigValidationMessages.java 2011-10-11 00:19:18 UTC (rev 35526)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/validation/SeamConfigValidationMessages.java 2011-10-11 00:57:17 UTC (rev 35527)
@@ -8,6 +8,7 @@
public static String UNRESOLVED_TYPE;
public static String UNRESOLVED_MEMBER;
+ public static String UNRESOLVED_FIELD;
public static String UNRESOLVED_METHOD;
public static String UNRESOLVED_CONSTRUCTOR;
public static String ANNOTATION_EXPECTED;
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/validation/messages.properties
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/validation/messages.properties 2011-10-11 00:19:18 UTC (rev 35526)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/validation/messages.properties 2011-10-11 00:57:17 UTC (rev 35527)
@@ -1,7 +1,8 @@
-UNRESOLVED_TYPE=Cannot resolve type in node {0}.
-UNRESOLVED_MEMBER=Cannot resolve member in node {0}.
-UNRESOLVED_METHOD=Cannot resolve method in node {0}.
-UNRESOLVED_CONSTRUCTOR=Cannot resolve constructor in type node {0}.
+UNRESOLVED_TYPE=Cannot resolve type {0}.
+UNRESOLVED_MEMBER=Cannot resolve field or method {0} in type {1}.
+UNRESOLVED_FIELD=Cannot resolve field {0} in type {1}.
+UNRESOLVED_METHOD=Cannot resolve method {0} in type {1}.
+UNRESOLVED_CONSTRUCTOR=Cannot resolve constructor {0}.
ANNOTATION_EXPECTED=Annotation types are only allowed here.
INLINE_BEAN_TYPE_MISMATCH=Type mismatch: cannot convert from {0} to {1}.
TYPE_IS_ABSTRACT=Abstract type {0} cannot be configured as a bean.
More information about the jbosstools-commits
mailing list