protected void doHandleClassParams(StringBuilder sb, Map<Parameter, Object> params, boolean isJson, ParameterType... pType) { Set<ParameterType> pTypes = new LinkedHashSet<ParameterType>(Arrays.asList(pType)); for (Map.Entry<Parameter, Object> entry : params.entrySet()) { Parameter pm = entry.getKey(); Object obj = entry.getValue(); if (pTypes.contains(pm.getType())) { Class<?> cls = obj instanceof Method ? ((Method)obj).getParameterTypes()[0] : ((Field)obj) .getType(); Type type = obj instanceof Method ? ((Method)obj).getGenericParameterTypes()[0] : ((Field)obj).getGenericType(); Annotation[] ann = obj instanceof Method ? ((Method)obj).getParameterAnnotations()[0] : ((Field)obj).getAnnotations(); doWriteParam(sb, pm, cls, type, pm.getName(), ann, isJson); } } }
protected void doHandleClassParams(OperationResourceInfo ori, StringBuilder sb, Map<Parameter, Object> params, boolean isJson, ParameterType... pType) { Set<ParameterType> pTypes = new LinkedHashSet<>(Arrays.asList(pType)); for (Map.Entry<Parameter, Object> entry : params.entrySet()) { Parameter pm = entry.getKey(); Object obj = entry.getValue(); if (pTypes.contains(pm.getType())) { Class<?> cls = obj instanceof Method ? ((Method)obj).getParameterTypes()[0] : ((Field)obj) .getType(); Type type = obj instanceof Method ? ((Method)obj).getGenericParameterTypes()[0] : ((Field)obj).getGenericType(); Annotation[] ann = obj instanceof Method ? ((Method)obj).getParameterAnnotations()[0] : ((Field)obj).getAnnotations(); doWriteParam(ori, sb, pm, cls, type, pm.getName(), ann, isJson); } } } protected void doHandleJaxrsBeanParamClassParams(OperationResourceInfo ori,
protected void doHandleClassParams(OperationResourceInfo ori, StringBuilder sb, Map<Parameter, Object> params, boolean isJson, ParameterType... pType) { Set<ParameterType> pTypes = new LinkedHashSet<>(Arrays.asList(pType)); for (Map.Entry<Parameter, Object> entry : params.entrySet()) { Parameter pm = entry.getKey(); Object obj = entry.getValue(); if (pTypes.contains(pm.getType())) { Class<?> cls = obj instanceof Method ? ((Method)obj).getParameterTypes()[0] : ((Field)obj) .getType(); Type type = obj instanceof Method ? ((Method)obj).getGenericParameterTypes()[0] : ((Field)obj).getGenericType(); Annotation[] ann = obj instanceof Method ? ((Method)obj).getParameterAnnotations()[0] : ((Field)obj).getAnnotations(); doWriteParam(ori, sb, pm, cls, type, pm.getName(), ann, isJson); } } } protected void doHandleJaxrsBeanParamClassParams(OperationResourceInfo ori,
private void writeParam(StringBuilder sb, Parameter pm, OperationResourceInfo ori, boolean isJson) { Method method = getMethod(ori); Class<?> type = method.getParameterTypes()[pm.getIndex()]; if (!"".equals(pm.getName())) { doWriteParam(sb, pm, type, method.getGenericParameterTypes()[pm.getIndex()], pm.getName(), method.getParameterAnnotations()[pm.getIndex()], isJson); } else { List<Class<?>> parentBeanClasses = new LinkedList<Class<?>>(); parentBeanClasses.add(type); doWriteBeanParam(sb, type, pm, null, parentBeanClasses, isJson); } }
private void doWriteBeanParam(StringBuilder sb, Class<?> type, Parameter pm, String parentName, List<Class<?>> parentBeanClasses, boolean isJson) { Map<Parameter, Class<?>> pms = InjectionUtils.getParametersFromBeanClass(type, pm.getType(), true); for (Map.Entry<Parameter, Class<?>> entry : pms.entrySet()) { String name = entry.getKey().getName(); if (parentName != null) { name = parentName + "." + name; } Class<?> paramCls = entry.getValue(); boolean isPrimitive = InjectionUtils.isPrimitive(paramCls) || paramCls.isEnum(); if (isPrimitive || Date.class.isAssignableFrom(paramCls) || InjectionUtils.isSupportedCollectionOrArray(paramCls)) { doWriteParam(sb, entry.getKey(), paramCls, paramCls, name, new Annotation[] {}, isJson); } else if (!parentBeanClasses.contains(paramCls)) { parentBeanClasses.add(paramCls); doWriteBeanParam(sb, paramCls, entry.getKey(), name, parentBeanClasses, isJson); parentBeanClasses.remove(paramCls); } } }
private void doWriteBeanParam(OperationResourceInfo ori, StringBuilder sb, Class<?> type, Parameter pm, String parentName, List<Class<?>> parentBeanClasses, boolean isJson) { Map<Parameter, Class<?>> pms = InjectionUtils.getParametersFromBeanClass(type, pm.getType(), true); for (Map.Entry<Parameter, Class<?>> entry : pms.entrySet()) { String name = entry.getKey().getName(); if (parentName != null) { name = parentName + "." + name; } Class<?> paramCls = entry.getValue(); boolean isPrimitive = InjectionUtils.isPrimitive(paramCls) || paramCls.isEnum(); if (isPrimitive || Date.class.isAssignableFrom(paramCls) || XMLGregorianCalendar.class.isAssignableFrom(paramCls) || InjectionUtils.isSupportedCollectionOrArray(paramCls)) { doWriteParam(ori, sb, entry.getKey(), paramCls, paramCls, name, new Annotation[] {}, isJson); } else if (!parentBeanClasses.contains(paramCls)) { parentBeanClasses.add(paramCls); doWriteBeanParam(ori, sb, paramCls, entry.getKey(), name, parentBeanClasses, isJson); parentBeanClasses.remove(paramCls); } } } //CHECKSTYLE:OFF
private void doWriteBeanParam(OperationResourceInfo ori, StringBuilder sb, Class<?> type, Parameter pm, String parentName, List<Class<?>> parentBeanClasses, boolean isJson) { Map<Parameter, Class<?>> pms = InjectionUtils.getParametersFromBeanClass(type, pm.getType(), true); for (Map.Entry<Parameter, Class<?>> entry : pms.entrySet()) { String name = entry.getKey().getName(); if (parentName != null) { name = parentName + "." + name; } Class<?> paramCls = entry.getValue(); boolean isPrimitive = InjectionUtils.isPrimitive(paramCls) || paramCls.isEnum(); if (isPrimitive || Date.class.isAssignableFrom(paramCls) || XMLGregorianCalendar.class.isAssignableFrom(paramCls) || InjectionUtils.isSupportedCollectionOrArray(paramCls)) { doWriteParam(ori, sb, entry.getKey(), paramCls, paramCls, name, new Annotation[] {}, isJson); } else if (!parentBeanClasses.contains(paramCls)) { parentBeanClasses.add(paramCls); doWriteBeanParam(ori, sb, paramCls, entry.getKey(), name, parentBeanClasses, isJson); parentBeanClasses.remove(paramCls); } } } //CHECKSTYLE:OFF
private void writeParam(StringBuilder sb, Parameter pm, OperationResourceInfo ori, boolean isJson) { Method method = getMethod(ori); Class<?> type = method.getParameterTypes()[pm.getIndex()]; if (!"".equals(pm.getName())) { doWriteParam(ori, sb, pm, type, method.getGenericParameterTypes()[pm.getIndex()], pm.getName(), method.getParameterAnnotations()[pm.getIndex()], isJson); } else { List<Class<?>> parentBeanClasses = new LinkedList<>(); parentBeanClasses.add(type); doWriteBeanParam(ori, sb, type, pm, null, parentBeanClasses, isJson); parentBeanClasses.remove(type); } } private void doWriteJaxrsBeanParams(StringBuilder sb,
private void doWriteJaxrsBeanParam(StringBuilder sb, Class<?> beanType, boolean isJson, ParameterType ...parameterTypes) { for (Method m : beanType.getMethods()) { if (m.getName().startsWith("set")) { for (ParameterType parameterType : parameterTypes) { Class<? extends Annotation> annClass = getAnnotationFromParamType(parameterType); Annotation annotation = m.getAnnotation(annClass); if (annotation != null) { String propertyName = StringUtils.uncapitalize(m.getName().substring(3)); Parameter pm = new Parameter(parameterType, propertyName); pm.setEncoded(m.getAnnotation(Encoded.class) != null); DefaultValue dv = m.getAnnotation(DefaultValue.class); if (dv != null) { pm.setDefaultValue(dv.value()); } doWriteParam(sb, pm, m.getParameterTypes()[0], m.getGenericParameterTypes()[0], propertyName, new Annotation[]{}, isJson); } } } } }
private void writeParam(StringBuilder sb, Parameter pm, OperationResourceInfo ori, boolean isJson) { Method method = getMethod(ori); Class<?> type = method.getParameterTypes()[pm.getIndex()]; if (!"".equals(pm.getName())) { doWriteParam(ori, sb, pm, type, method.getGenericParameterTypes()[pm.getIndex()], pm.getName(), method.getParameterAnnotations()[pm.getIndex()], isJson); } else { List<Class<?>> parentBeanClasses = new LinkedList<>(); parentBeanClasses.add(type); doWriteBeanParam(ori, sb, type, pm, null, parentBeanClasses, isJson); parentBeanClasses.remove(type); } } private void doWriteJaxrsBeanParams(StringBuilder sb,
pm.setDefaultValue(dv.value()); doWriteParam(ori, sb, pm, pm.setDefaultValue(dv.value()); doWriteParam(ori, sb, pm,
pm.setDefaultValue(dv.value()); doWriteParam(ori, sb, pm, pm.setDefaultValue(dv.value()); doWriteParam(ori, sb, pm,
Parameter p = inbound ? getRequestBodyParam(ori) : new Parameter(ParameterType.REQUEST_BODY, 0, "result"); doWriteParam(sb, p, type, type, p.getName() == null ? "request" : p.getName(), anns, isJson); sb.append("</representation>"); } else {
Parameter p = inbound ? getRequestBodyParam(ori) : new Parameter(ParameterType.REQUEST_BODY, 0, "result"); doWriteParam(ori, sb, p, type, type, p.getName() == null ? "request" : p.getName(), anns, isJson); sb.append("</representation>"); } else {
Parameter p = inbound ? getRequestBodyParam(ori) : new Parameter(ParameterType.REQUEST_BODY, 0, "result"); doWriteParam(ori, sb, p, type, type, p.getName() == null ? "request" : p.getName(), anns, isJson); sb.append("</representation>"); } else {