public ContainerRequest filter(ContainerRequest request) { LOGGER.log(Level.INFO, "Sub-Resource Locator matched. " + "\n Path: " + asrl.getPath().getValue() + (context != null ? "\n Matched Result: " + context.getUriInfo().getMatchedResults().get(0) : "") + "\n Resource: " + asrl.getResource().getResourceClass().getName() + "\n Method: " + asrl.getMethod().toGenericString()); return request; } }
@Override public String toString() { return "AbstractResource(" + ((null == getPath()) ? "" : ("\"" + getPath().getValue() + "\", - ")) + getResourceClass().getSimpleName() + ": " + getConstructors().size() + " constructors, " + getFields().size() + " fields, " + getSetterMethods().size() + " setter methods, " + getResourceMethods().size() + " res methods, " + getSubResourceMethods().size() + " subres methods, " + getSubResourceLocators().size() + " subres locators " + ")"; }
private Resource generateSubResource(AbstractResource r, String path) { Resource wadlResource = new Resource(); if (r.isRootResource()) { StringBuilder b = new StringBuilder(r.getPath().getValue()); if (!(r.getPath().getValue().endsWith("/") || path.startsWith("/"))) { b.append("/"); } b.append(path); wadlResource.setPath(b.toString()); } // for each sub-resource method Map<String, Param> wadlSubResourceParams = new HashMap<String, Param>(); for (AbstractSubResourceMethod m : r.getSubResourceMethods()) { // find or create sub resource for uri template String template = m.getPath().getValue(); if (!template.equals(path) && !template.equals('/' + path)) { continue; } com.sun.research.ws.wadl.Method wadlMethod = generateMethod(r, wadlSubResourceParams, m); wadlResource.getMethodOrResource().add(wadlMethod); } // add parameters that are associated with each sub-resource method PATH template for (Param wadlParam : wadlSubResourceParams.values()) { wadlResource.getParam().add(wadlParam); } return wadlResource; }
public ContainerRequest filter(ContainerRequest request) { LOGGER.log(Level.INFO, "Sub-Resource Method matched." + "\n Path: " + asrm.getPath().getValue() + (context != null ? "\n Matched Result: " + context.getUriInfo().getMatchedResults().get(0) : "") + "\n HttpMethod: " + asrm.getHttpMethod() + "\n Resource: " + asrm.getDeclaringResource().getResourceClass().getName() + "\n Method: " + asrm.getMethod().toGenericString()); return request; } }
@Override public void visitAbstractSubResourceMethod(AbstractSubResourceMethod method) { // check the same things that are being checked for resource methods visitAbstractResourceMethod(method); // and make sure the Path is not null if ((null == method.getPath()) || (null == method.getPath().getValue()) || (method.getPath().getValue().length() == 0)) { issueList.add(new ResourceModelIssue( method, ImplMessages.ERROR_SUBRES_METHOD_URI_PATH_INVALID(method.getMethod(), method.getPath()), true)); } }
@Override public Resource createResource( AbstractResource r, String path ) { Resource wadlResource = new Resource(); if (path != null) wadlResource.setPath(path); else if (r.isRootResource()) wadlResource.setPath(r.getPath().getValue()); return wadlResource; }
@Override public void visitAbstractResource(AbstractResource resource) { // uri template of the resource, if present should not contain null value if (resource.isRootResource() && ((null == resource.getPath()) || (null == resource.getPath().getValue()))) { issueList.add(new ResourceModelIssue( resource, ImplMessages.ERROR_RES_URI_PATH_INVALID(resource.getResourceClass(), resource.getPath()), true)); // TODO: is it really a fatal issue? } checkNonPublicMethods(resource); }
for (AbstractSubResourceMethod m : r.getSubResourceMethods()) { String template = m.getPath().getValue(); Resource wadlSubResource = wadlSubResources.get(template); Map<String, Param> wadlSubResourceParams = wadlSubResourcesParams.get(template); l.getMethod().getReturnType()); Resource wadlSubResource = generateResource(subResource, l.getPath().getValue(), visitedClasses); wadlResource.getMethodOrResource().add(wadlSubResource);
@Override public void visitAbstractSubResourceLocator(AbstractSubResourceLocator locator) { checkParameters(locator, locator.getMethod()); if (void.class == locator.getMethod().getReturnType()) { issueList.add(new ResourceModelIssue( locator, ImplMessages.ERROR_SUBRES_LOC_RETURNS_VOID(locator.getMethod()), true)); } if ((null == locator.getPath()) || (null == locator.getPath().getValue()) || (locator.getPath().getValue().length() == 0)) { issueList.add(new ResourceModelIssue( locator, ImplMessages.ERROR_SUBRES_LOC_URI_PATH_INVALID(locator.getMethod(), locator.getPath()), true)); } // Sub-resource locator can not have an entity parameter for (Parameter parameter : locator.getParameters()) { if (Parameter.Source.ENTITY == parameter.getSource()) { issueList.add(new ResourceModelIssue( locator, ImplMessages.ERROR_SUBRES_LOC_HAS_ENTITY_PARAM(locator.getMethod()), true)); } } } private static final Set<Class> ParamAnnotationSET = createParamAnnotationSet();
p = new PathPattern(new PathTemplate(method.getPath().getValue()), "(/)?"); } catch (IllegalArgumentException ex) { Errors.error(String.format("Illegal URI template for sub-resource method %s: %s",
PathPattern p = null; try { p = new PathPattern(new PathTemplate(locator.getPath().getValue())); } catch (IllegalArgumentException ex) { Errors.error(String.format("Illegal URI template for sub-resource locator %s: %s",
private boolean isCreateUserResource() { return TenantUserApi.class.isAssignableFrom(this.method.getDeclaringResource().getResourceClass()) && this.method.getHttpMethod().equals(HttpMethod.POST) && this.method.getResource().getPath().getValue().endsWith("/api/user"); } }
public ContainerRequest filter(ContainerRequest request) { LOGGER.log(Level.INFO, "Sub-Resource Locator matched. " + "\n Path: " + asrl.getPath().getValue() + (context != null ? "\n Matched Result: " + context.getUriInfo().getMatchedResults().get(0) : "") + "\n Resource: " + asrl.getResource().getResourceClass().getName() + "\n Method: " + asrl.getMethod().toGenericString()); return request; } }
@Override public String toString() { return "AbstractResource(" + ((null == getPath()) ? "" : ("\"" + getPath().getValue() + "\", - ")) + getResourceClass().getSimpleName() + ": " + getConstructors().size() + " constructors, " + getFields().size() + " fields, " + getSetterMethods().size() + " setter methods, " + getResourceMethods().size() + " res methods, " + getSubResourceMethods().size() + " subres methods, " + getSubResourceLocators().size() + " subres locators " + ")"; }
@Override public void visitAbstractSubResourceMethod(AbstractSubResourceMethod method) { // check the same things that are being checked for resource methods visitAbstractResourceMethod(method); // and make sure the Path is not null if ((null == method.getPath()) || (null == method.getPath().getValue()) || (method.getPath().getValue().length() == 0)) { issueList.add(new ResourceModelIssue( method, ImplMessages.ERROR_SUBRES_METHOD_URI_PATH_INVALID(method.getMethod(), method.getPath()), true)); } }
@Override public Resource createResource( AbstractResource r, String path ) { Resource wadlResource = new Resource(); if (path != null) wadlResource.setPath(path); else if (r.isRootResource()) wadlResource.setPath(r.getPath().getValue()); return wadlResource; }