private static UserOperation getOperationFromElement(Element e) { UserOperation op = new UserOperation(); op.setName(e.getAttribute("name")); op.setVerb(e.getAttribute("verb")); op.setPath(e.getAttribute("path")); op.setOneway(Boolean.parseBoolean(e.getAttribute("oneway"))); op.setConsumes(e.getAttribute("consumes")); op.setProduces(e.getAttribute("produces")); List<Element> paramEls = DOMUtils.findAllElementsByTagNameNS(e, "http://cxf.apache.org/jaxrs", "param"); List<Parameter> params = new ArrayList<Parameter>(paramEls.size()); for (int i = 0; i < paramEls.size(); i++) { Element paramEl = paramEls.get(i); Parameter p = new Parameter(paramEl.getAttribute("type"), i, paramEl.getAttribute("name")); p.setEncoded(Boolean.valueOf(paramEl.getAttribute("encoded"))); p.setDefaultValue(paramEl.getAttribute("defaultValue")); params.add(p); } op.setParameters(params); return op; }
// We retrieve a stub user for given id. There is no interaction with DB User user = em.getReference("someId", User.class); UserOperation uOp = new UserOperation(); uOp.setUser(user); uOp.setSomeString("just op"); em.persist(uOp);
UserOperation op = new UserOperation(); op.setPath("/books/{id}"); op.setName("getBook"); op.setVerb("GET"); Parameter param = new Parameter(ParameterType.PATH, "id"); param.setJavaType(Long.class); op.setParameters(Collections.singletonList(param)); UserOperation op2 = new UserOperation(); op2.setPath("echobook"); op2.setName("echo"); op2.setVerb("POST"); op2.setParameters(Collections.singletonList(new Parameter(ParameterType.REQUEST_BODY, null))); UserOperation op3 = new UserOperation(); op3.setPath("echobookdefault"); op3.setName("echoDefault"); op3.setVerb("POST"); Parameter echoDefaultParam = new Parameter(ParameterType.REQUEST_BODY, null); echoDefaultParam.setJavaType(SAXSource.class); op3.setParameters(Collections.singletonList(echoDefaultParam));
Method actualMethod = methodNames.get(op.getName()); if (actualMethod == null) { actualMethod = defaultMethod; new OperationResourceInfo(actualMethod, cri, URITemplate.createTemplate(op.getPath()), op.getVerb(), op.getConsumes(), op.getProduces(), op.getParameters(), op.isOneway()); String rClassName = actualMethod.getReturnType().getName(); if (op.getVerb() == null) { if (resources.containsKey(rClassName)) { ClassResourceInfo subCri = rClassName.equals(model.getName()) ? cri
assertEquals(3, map.size()); UserOperation getBooksOp = map.get("getBooks"); assertEquals(HttpMethod.GET, getBooksOp.getVerb()); assertEquals("/bookstore", basePath + getBooksOp.getPath()); assertEquals(MediaType.APPLICATION_JSON, getBooksOp.getProduces()); List<Parameter> getBooksOpParams = getBooksOp.getParameters(); assertEquals(1, getBooksOpParams.size()); assertEquals(ParameterType.QUERY, getBooksOpParams.get(0).getType()); UserOperation getBookOp = map.get("getBook"); assertEquals(HttpMethod.GET, getBookOp.getVerb()); assertEquals("/bookstore/{id}", basePath + getBookOp.getPath()); assertEquals(MediaType.APPLICATION_JSON, getBookOp.getProduces()); List<Parameter> getBookOpParams = getBookOp.getParameters(); assertEquals(1, getBookOpParams.size()); assertEquals(ParameterType.PATH, getBookOpParams.get(0).getType()); UserOperation deleteOp = map.get("delete"); assertEquals(HttpMethod.DELETE, deleteOp.getVerb()); assertEquals("/bookstore/{id}", basePath + deleteOp.getPath()); List<Parameter> delOpParams = deleteOp.getParameters(); assertEquals(1, delOpParams.size()); assertEquals(ParameterType.PATH, delOpParams.get(0).getType());
ur.setName(BookStoreNoAnnotations.class.getName()); ur.setPath("/bookstoreNoAnnotations"); UserOperation op = new UserOperation(); op.setPath("/books/{id}"); op.setName("getBook"); op.setVerb("GET"); op.setParameters(Collections.singletonList(new Parameter(ParameterType.PATH, "id"))); UserOperation op2 = new UserOperation(); op2.setPath("/books/{id}/chapter"); op2.setName("getBookChapter"); op2.setParameters(Collections.singletonList(new Parameter(ParameterType.PATH, "id"))); UserOperation op3 = new UserOperation(); op3.setPath("/"); op3.setName("getItself"); op3.setVerb("GET"); ur2.setOperations(Collections.singletonList(op3));
for (Method m : cri.getServiceClass().getMethods()) { UserOperation op = ops.get(m.getName()); if (op == null || op.getName() == null) { continue; new OperationResourceInfo(m, cri, URITemplate.createTemplate(op.getPath()), op.getVerb(), op.getConsumes(), op.getProduces(), op.getParameters(), op.isOneway()); String rClassName = m.getReturnType().getName(); if (op.getVerb() == null) { if (resources.containsKey(rClassName)) { ClassResourceInfo subCri = rClassName.equals(model.getName()) ? cri
assertEquals(3, map.size()); UserOperation getBooksOp = map.get("getBooks"); assertEquals(HttpMethod.GET, getBooksOp.getVerb()); assertEquals(getApplicationPath() + "/bookstore", getBooksOp.getPath()); assertEquals(MediaType.APPLICATION_JSON, getBooksOp.getProduces()); List<Parameter> getBooksOpParams = getBooksOp.getParameters(); assertEquals(1, getBooksOpParams.size()); assertEquals(ParameterType.QUERY, getBooksOpParams.get(0).getType()); UserOperation getBookOp = map.get("getBook"); assertEquals(HttpMethod.GET, getBookOp.getVerb()); assertEquals(getApplicationPath() + "/bookstore/{id}", getBookOp.getPath()); assertEquals(MediaType.APPLICATION_JSON, getBookOp.getProduces()); List<Parameter> getBookOpParams = getBookOp.getParameters(); assertEquals(1, getBookOpParams.size()); assertEquals(ParameterType.PATH, getBookOpParams.get(0).getType()); UserOperation deleteOp = map.get("delete"); assertEquals(HttpMethod.DELETE, deleteOp.getVerb()); assertEquals(getApplicationPath() + "/bookstore/{id}", deleteOp.getPath()); List<Parameter> delOpParams = deleteOp.getParameters(); assertEquals(1, delOpParams.size()); assertEquals(ParameterType.PATH, delOpParams.get(0).getType());
private static UserOperation getOperationFromElement(Element e) { UserOperation op = new UserOperation(); op.setName(e.getAttribute("name")); op.setVerb(e.getAttribute("verb")); op.setPath(e.getAttribute("path")); op.setOneway(Boolean.parseBoolean(e.getAttribute("oneway"))); op.setConsumes(e.getAttribute("consumes")); op.setProduces(e.getAttribute("produces")); List<Element> paramEls = DOMUtils.findAllElementsByTagNameNS(e, "http://cxf.apache.org/jaxrs", "param"); List<Parameter> params = new ArrayList<>(paramEls.size()); for (int i = 0; i < paramEls.size(); i++) { Element paramEl = paramEls.get(i); Parameter p = new Parameter(paramEl.getAttribute("type"), i, paramEl.getAttribute("name")); p.setEncoded(Boolean.valueOf(paramEl.getAttribute("encoded"))); p.setDefaultValue(paramEl.getAttribute("defaultValue")); String pClass = paramEl.getAttribute("class"); if (!StringUtils.isEmpty(pClass)) { try { p.setJavaType(ClassLoaderUtils.loadClass(pClass, ResourceUtils.class)); } catch (Exception ex) { throw new RuntimeException(ex); } } params.add(p); } op.setParameters(params); return op; }
ur.setName(BookStoreNoAnnotations.class.getName()); ur.setPath("/bookstoreNoAnnotations"); UserOperation op = new UserOperation(); op.setPath("/books/{id}"); op.setName("getBook"); op.setVerb("GET"); op.setParameters(Collections.singletonList(new Parameter(ParameterType.PATH, "id"))); UserOperation op2 = new UserOperation(); op2.setPath("/books/{id}/chapter"); op2.setName("getBookChapter"); op2.setParameters(Collections.singletonList(new Parameter(ParameterType.PATH, "id"))); UserOperation op3 = new UserOperation(); op3.setPath("/"); op3.setName("getItself"); op3.setVerb("GET"); ur2.setOperations(Collections.singletonList(op3));
for (Map.Entry<String, Object> operEntry : operations.entrySet()) { UserOperation userOp = new UserOperation(); userOp.setVerb(operEntry.getKey().toUpperCase()); userOp.setPath(operPath); userOp.setName((String) oper.get("operationId")); List<String> opProduces = CastUtils.cast((List<?>) oper.get("produces")); userOp.setProduces(listToString(opProduces)); userOp.setConsumes(listToString(opConsumes)); userOp.setParameters(userOpParams);
for (Map.Entry<String, Object> operEntry : operations.entrySet()) { UserOperation userOp = new UserOperation(); userOp.setVerb(operEntry.getKey().toUpperCase()); userOp.setPath(operPath); userOp.setName((String)oper.get("operationId")); Map<String, Object> responses = CastUtils.cast((Map<?, ?>)oper.get("responses")); if (responses != null) { userOp.setProduces(listToString( responses .entrySet() userOp.setConsumes(listToString( payloads .entrySet() userOp.setParameters(userOpParams);
for (Map.Entry<String, Object> operEntry : operations.entrySet()) { UserOperation userOp = new UserOperation(); userOp.setVerb(operEntry.getKey().toUpperCase()); userOp.setPath(operPath); userOp.setName((String)oper.get("operationId")); Map<String, Object> responses = CastUtils.cast((Map<?, ?>)oper.get("responses")); if (responses != null) { userOp.setProduces(listToString( responses .entrySet() userOp.setConsumes(listToString( payloads .entrySet() userOp.setParameters(userOpParams);