Author: xcoulon
Date: 2012-02-22 03:33:02 -0500 (Wed, 22 Feb 2012)
New Revision: 38958
Modified:
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsResourceMethod.java
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.ui/src/org/jboss/tools/ws/jaxrs/ui/cnf/UriMappingsContentProvider.java
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.ui/src/org/jboss/tools/ws/jaxrs/ui/cnf/UriPathTemplateCategory.java
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.ui/src/org/jboss/tools/ws/jaxrs/ui/cnf/UriPathTemplateElement.java
Log:
Fixed - JBIDE-10250 - Restore error decorators on the JAX-RS endpoints icons when
validation detects errors
https://issues.jboss.org/browse/JBIDE-10250
Modified:
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsResourceMethod.java
===================================================================
---
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsResourceMethod.java 2012-02-22
08:31:16 UTC (rev 38957)
+++
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsResourceMethod.java 2012-02-22
08:33:02 UTC (rev 38958)
@@ -195,11 +195,15 @@
@Override
public List<ValidatorMessage> validate() throws JavaModelException {
+ this.hasErrors(false);
final List<ValidatorMessage> messages = new ArrayList<ValidatorMessage>();
messages.addAll(validateMissingPathValueInPathParamAnnotations());
messages.addAll(validateMissingPathParamAnnotations());
messages.addAll(validateParamsWithContextAnnotation());
messages.addAll(validateSingleParamWithoutAnnotation());
+ if(messages.size() > 0) {
+ this.hasErrors(true);
+ }
return messages;
}
Modified:
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.ui/src/org/jboss/tools/ws/jaxrs/ui/cnf/UriMappingsContentProvider.java
===================================================================
---
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.ui/src/org/jboss/tools/ws/jaxrs/ui/cnf/UriMappingsContentProvider.java 2012-02-22
08:31:16 UTC (rev 38957)
+++
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.ui/src/org/jboss/tools/ws/jaxrs/ui/cnf/UriMappingsContentProvider.java 2012-02-22
08:33:02 UTC (rev 38958)
@@ -102,7 +102,6 @@
monitor.beginTask("Loading JAX-RS metamodel for project '" +
project.getName() + "'...",
IProgressMonitor.UNKNOWN);
monitor.worked(1);
-
refreshViewerObject(uriPathTemplateCategory);
monitor.done();
return Status.OK_STATUS;
Modified:
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.ui/src/org/jboss/tools/ws/jaxrs/ui/cnf/UriPathTemplateCategory.java
===================================================================
---
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.ui/src/org/jboss/tools/ws/jaxrs/ui/cnf/UriPathTemplateCategory.java 2012-02-22
08:31:16 UTC (rev 38957)
+++
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.ui/src/org/jboss/tools/ws/jaxrs/ui/cnf/UriPathTemplateCategory.java 2012-02-22
08:33:02 UTC (rev 38958)
@@ -33,7 +33,8 @@
private final Map<IJaxrsEndpoint, UriPathTemplateElement> wrapperCache = new
HashMap<IJaxrsEndpoint, UriPathTemplateElement>();
- public UriPathTemplateCategory(UriMappingsContentProvider parent, IProject project) {
+ public UriPathTemplateCategory(UriMappingsContentProvider parent,
+ IProject project) {
super();
this.parent = parent;
this.project = project;
@@ -43,10 +44,12 @@
@Override
public Object[] getChildren(Object parentElement) {
try {
- final IJaxrsMetamodel metamodel = JaxrsMetamodelLocator.get(project);
+ final IJaxrsMetamodel metamodel = JaxrsMetamodelLocator
+ .get(project);
if (metamodel != null) {
List<IJaxrsEndpoint> endpoints = metamodel.getAllEndpoints();
- Logger.debug("UriPathTemplateCatrogory contains {} endpoints",
endpoints.size());
+ Logger.debug("UriPathTemplateCatrogory contains {} endpoints",
+ endpoints.size());
List<UriPathTemplateElement> uriPathTemplateElements = new
ArrayList<UriPathTemplateElement>();
// Collections.sort(uriMappings);
for (IJaxrsEndpoint endpoint : endpoints) {
@@ -54,9 +57,16 @@
// LinkedList<IJaxrsResourceMethod> resourceMethods =
// endpoint.getResourceMethods();
if (element == null) {
- Logger.trace("Creating element for endpoint {} ('cause not found in
wrapperCache)", endpoint);
+ Logger.trace(
+ "Creating element for endpoint {} ('cause not found in
wrapperCache)",
+ endpoint);
element = new UriPathTemplateElement(endpoint, this);
wrapperCache.put(endpoint, element);
+ }
+ // after a clean build, the 'endpoint' reference should be updated
+ else if (element.getEndpoint() != endpoint) {
+ element.setEndpoint(endpoint);
+
}
Logger.trace("Adding element for endpoint {}", endpoint);
uriPathTemplateElements.add(element);
@@ -64,7 +74,8 @@
return uriPathTemplateElements.toArray();
}
} catch (CoreException e) {
- Logger.error("Failed to retrieve JAX-RS Metamodel in project '" +
project.getName() + "'", e);
+ Logger.error("Failed to retrieve JAX-RS Metamodel in project '"
+ + project.getName() + "'", e);
}
return new Object[0];
}
@@ -84,12 +95,14 @@
@Override
public boolean hasChildren(Object element) {
try {
- final IJaxrsMetamodel metamodel = JaxrsMetamodelLocator.get(project);
+ final IJaxrsMetamodel metamodel = JaxrsMetamodelLocator
+ .get(project);
if (metamodel != null) {
return (metamodel.getAllEndpoints().size() > 0);
}
} catch (CoreException e) {
- Logger.error("Failed to retrieve JAX-RS Metamodel in project '" +
project.getName() + "'", e);
+ Logger.error("Failed to retrieve JAX-RS Metamodel in project '"
+ + project.getName() + "'", e);
}
return false;
}
Modified:
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.ui/src/org/jboss/tools/ws/jaxrs/ui/cnf/UriPathTemplateElement.java
===================================================================
---
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.ui/src/org/jboss/tools/ws/jaxrs/ui/cnf/UriPathTemplateElement.java 2012-02-22
08:31:16 UTC (rev 38957)
+++
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.ui/src/org/jboss/tools/ws/jaxrs/ui/cnf/UriPathTemplateElement.java 2012-02-22
08:33:02 UTC (rev 38958)
@@ -24,7 +24,7 @@
public class UriPathTemplateElement implements ITreeContentProvider, ILaunchable {
- private final IJaxrsEndpoint endpoint;
+ private IJaxrsEndpoint endpoint;
private final UriPathTemplateCategory uriPathTemplateCategory;
@@ -79,6 +79,10 @@
return false;
}
+ public void setEndpoint(IJaxrsEndpoint endpoint) {
+ this.endpoint = endpoint;
+ }
+
/** @return the uriMapping */
public IJaxrsEndpoint getEndpoint() {
return endpoint;