Author: xcoulon
Date: 2012-08-01 05:20:22 -0400 (Wed, 01 Aug 2012)
New Revision: 42826
Modified:
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsMetamodel.java
Log:
Fixing side-effect on JBIDE-10115 - Remove need for jax-rs-api.jar
Modified:
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsMetamodel.java
===================================================================
---
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsMetamodel.java 2012-08-01
08:31:12 UTC (rev 42825)
+++
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsMetamodel.java 2012-08-01
09:20:22 UTC (rev 42826)
@@ -22,7 +22,7 @@
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
-
+import static
org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsBuiltinHttpMethod.*;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.NullProgressMonitor;
@@ -111,9 +111,13 @@
* </ul>
*/
private void preloadHttpMethods() {
- httpMethods.addAll(Arrays.asList(JaxrsBuiltinHttpMethod.GET,
JaxrsBuiltinHttpMethod.POST,
- JaxrsBuiltinHttpMethod.PUT, JaxrsBuiltinHttpMethod.DELETE,
JaxrsBuiltinHttpMethod.HEAD,
- JaxrsBuiltinHttpMethod.OPTIONS));
+ httpMethods.addAll(Arrays.asList(GET, POST, PUT, DELETE, HEAD, OPTIONS));
+ elementsIndex.put(GET.getFullyQualifiedName(), new
HashSet<JaxrsBaseElement>(Arrays.asList(GET)));
+ elementsIndex.put(POST.getFullyQualifiedName(), new
HashSet<JaxrsBaseElement>(Arrays.asList(POST)));
+ elementsIndex.put(PUT.getFullyQualifiedName(), new
HashSet<JaxrsBaseElement>(Arrays.asList(PUT)));
+ elementsIndex.put(DELETE.getFullyQualifiedName(), new
HashSet<JaxrsBaseElement>(Arrays.asList(DELETE)));
+ elementsIndex.put(OPTIONS.getFullyQualifiedName(), new
HashSet<JaxrsBaseElement>(Arrays.asList(OPTIONS)));
+ elementsIndex.put(HEAD.getFullyQualifiedName(), new
HashSet<JaxrsBaseElement>(Arrays.asList(HEAD)));
}
/*
@@ -348,10 +352,18 @@
public IJaxrsHttpMethod getHttpMethod(final String annotationName) throws CoreException
{
IType annotationType = JdtUtils.resolveType(annotationName, javaProject, new
NullProgressMonitor());
if (annotationType != null) {
- final JaxrsBaseElement element = getElement(annotationType);
+ // look for custom HTTP Methods
+ JaxrsBaseElement element = getElement(annotationType);
if (element != null && element.getElementCategory() ==
EnumElementCategory.HTTP_METHOD) {
return (IJaxrsHttpMethod) element;
}
+ // if not found, look for built-in HTTP Methods
+ else if(element == null) {
+ element = getElement(annotationType.getFullyQualifiedName());
+ if (element != null && element.getElementCategory() ==
EnumElementCategory.HTTP_METHOD) {
+ return (IJaxrsHttpMethod) element;
+ }
+ }
}
return null;
}
@@ -370,8 +382,14 @@
if (element == null) {
return null;
}
- final String handleIdentifier = element.getHandleIdentifier();
- final Set<JaxrsBaseElement> elements = elementsIndex.get(handleIdentifier);
+ return getElement(element.getHandleIdentifier());
+ }
+
+ protected JaxrsBaseElement getElement(final String elementName) {
+ if (elementName == null) {
+ return null;
+ }
+ final Set<JaxrsBaseElement> elements = elementsIndex.get(elementName);
if (elements == null || elements.isEmpty()) {
return null;
}
Show replies by date