private static UserResource getResourceFromElement(Element e) { UserResource resource = new UserResource(); resource.setName(e.getAttribute("name")); resource.setPath(e.getAttribute("path")); resource.setConsumes(e.getAttribute("consumes")); resource.setProduces(e.getAttribute("produces")); List<Element> operEls = DOMUtils.findAllElementsByTagNameNS(e, "http://cxf.apache.org/jaxrs", "operation"); List<UserOperation> opers = new ArrayList<>(operEls.size()); for (Element operEl : operEls) { opers.add(getOperationFromElement(operEl)); } resource.setOperations(opers); return resource; }
private void processUserResources(JAXRSServerFactoryBean sfb, List<UserResource> resources) { for (UserResource resource : resources) { if (StringUtils.isEmpty(resource.getName())) { resource.setName(DefaultModelResource.class.getName()); } } // The CXF to Camel exchange binding may need to be customized // for the operation name, request, response types be derived from // the model info (when a given model does provide this info) as opposed // to a matched method which is of no real use with a default handler. sfb.setModelBeans(resources); }
UserResource ur = new UserResource(); ur.setPath("/"); ur.setOperations(entry.getValue()); ur.setName(entry.getKey()); resources.add(ur);
model.getConsumes(), model.getProduces(), bus); URITemplate t = URITemplate.createTemplate(model.getPath()); cri.setURITemplate(t); Map<String, UserOperation> ops = model.getOperationsAsMap(); if (op.getVerb() == null) { if (resources.containsKey(rClassName)) { ClassResourceInfo subCri = rClassName.equals(model.getName()) ? cri : createServiceClassResourceInfo(resources, resources.get(rClassName), actualMethod.getReturnType(), false, enableStatic, bus);
sf.getServiceFactory().setDefaultModelClass(DefaultResource.class); UserResource ur = new UserResource(); ur.setPath("/default"); UserOperation op = new UserOperation(); op.setPath("/books/{id}"); ops.add(op3); ur.setOperations(ops);
/** * Application class */ package com.abc.admin.services.config; import javax.ws.rs.ApplicationPath; import javax.ws.rs.core.Application; @ApplicationPath("/services") // the begining of the Webservice URL public class WebConfig extends Application { private Set<Object> singletons = new HashSet<Object>(); public WebConfig() { singletons.add(new UserResource()); } @Override public Set<Object> getSingletons() { return singletons; } }
UserResource r = urs.get(0); String basePath = ""; if (!"/".equals(r.getPath())) { basePath = r.getPath(); Map<String, UserOperation> map = r.getOperationsAsMap(); assertEquals(3, map.size()); UserOperation getBooksOp = map.get("getBooks");
public Map<String, UserResource> getResourcesAsMap() { Map<String, UserResource> map = new HashMap<>(); if (resources != null) { for (UserResource r : resources) { map.put(r.getName(), r); } } return map; }
public void setUserResources(List<UserResource> resources) { Map<String, UserResource> map = userResourcesAsMap(resources); for (UserResource ur : resources) { if (ur.getPath() != null) { ClassResourceInfo cri = ResourceUtils.createClassResourceInfo(map, ur, true, enableStatic, getBus()); if (cri != null) { classResourceInfos.add(cri); } } } }
UserResource r = urs.get(0); Map<String, UserOperation> map = r.getOperationsAsMap(); assertEquals(3, map.size()); UserOperation getBooksOp = map.get("getBooks");
UserResource ur = new UserResource(); ur.setPath("/"); ur.setOperations(entry.getValue()); ur.setName(entry.getKey()); resources.add(ur);
model.getConsumes(), model.getProduces(), bus); URITemplate t = URITemplate.createTemplate(model.getPath()); cri.setURITemplate(t); MethodDispatcher md = new MethodDispatcher(); Map<String, UserOperation> ops = model.getOperationsAsMap(); for (Method m : cri.getServiceClass().getMethods()) { UserOperation op = ops.get(m.getName()); if (op.getVerb() == null) { if (resources.containsKey(rClassName)) { ClassResourceInfo subCri = rClassName.equals(model.getName()) ? cri : createServiceClassResourceInfo(resources, resources.get(rClassName), m.getReturnType(), false, enableStatic, bus);
private Map<String, UserResource> userResourcesAsMap(List<UserResource> resources) { Map<String, UserResource> map = new HashMap<String, UserResource>(); for (UserResource ur : resources) { map.put(ur.getName(), ur); } return map; }
public void setUserResources(List<UserResource> resources) { Map<String, UserResource> map = userResourcesAsMap(resources); for (UserResource ur : resources) { if (ur.getPath() != null) { ClassResourceInfo cri = ResourceUtils.createClassResourceInfo(map, ur, defaultModelClass, true, enableStatic, getBus()); if (cri != null) { classResourceInfos.add(cri); } } } }
UserResource ur = new UserResource(); ur.setPath("/"); ur.setOperations(entry.getValue()); ur.setName(entry.getKey()); resources.add(ur);
private static UserResource getResourceFromElement(Element e) { UserResource resource = new UserResource(); resource.setName(e.getAttribute("name")); resource.setPath(e.getAttribute("path")); resource.setConsumes(e.getAttribute("consumes")); resource.setProduces(e.getAttribute("produces")); List<Element> operEls = DOMUtils.findAllElementsByTagNameNS(e, "http://cxf.apache.org/jaxrs", "operation"); List<UserOperation> opers = new ArrayList<UserOperation>(operEls.size()); for (Element operEl : operEls) { opers.add(getOperationFromElement(operEl)); } resource.setOperations(opers); return resource; }
public static ClassResourceInfo createClassResourceInfo( Map<String, UserResource> resources, UserResource model, Class<?> defaultClass, boolean isRoot, boolean enableStatic, Bus bus) { final boolean isDefaultClass = defaultClass != null; Class<?> sClass = !isDefaultClass ? loadClass(model.getName()) : defaultClass; return createServiceClassResourceInfo(resources, model, sClass, isRoot, enableStatic, bus); }
sf.setAddress("http://localhost:" + PORT + CONTEXT); UserResource ur = new UserResource(); ur.setName(BookStoreNoAnnotations.class.getName()); ur.setPath("/bookstoreNoAnnotations"); UserOperation op = new UserOperation(); op.setPath("/books/{id}"); ops.add(op2); ur.setOperations(ops); UserResource ur2 = new UserResource(); ur2.setName(ChapterNoAnnotations.class.getName()); UserOperation op3 = new UserOperation(); op3.setPath("/"); op3.setName("getItself"); op3.setVerb("GET"); ur2.setOperations(Collections.singletonList(op3));
public static ClassResourceInfo createClassResourceInfo( Map<String, UserResource> resources, UserResource model, boolean isRoot, boolean enableStatic, Bus bus) { Class<?> sClass = loadClass(model.getName()); return createServiceClassResourceInfo(resources, model, sClass, isRoot, enableStatic, bus); }
sf.setAddress("http://localhost:" + PORT + "/"); UserResource ur = new UserResource(); ur.setName(BookStoreNoAnnotations.class.getName()); ur.setPath("/bookstoreNoAnnotations"); UserOperation op = new UserOperation(); op.setPath("/books/{id}"); ops.add(op2); ur.setOperations(ops); UserResource ur2 = new UserResource(); ur2.setName(ChapterNoAnnotations.class.getName()); UserOperation op3 = new UserOperation(); op3.setPath("/"); op3.setName("getItself"); op3.setVerb("GET"); ur2.setOperations(Collections.singletonList(op3));