try {
if (m.getInvocable().getParameters().isEmpty()) {
return null;
}
Request wadlRequest = _wadlGenerator.createRequest(r, m);
for (Parameter p : m.getInvocable().getParameters()) {
if (p.getSource() == Parameter.Source.ENTITY) {
for (MediaType mediaType : m.getConsumedTypes()) {
setRepresentationForMediaType(r, m, mediaType, wadlRequest);
}
} else if (p.getSourceAnnotation().annotationType() == FormParam.class) {
// Use application/x-www-form-urlencoded if no @Consumes
List<MediaType> supportedInputTypes = m.getConsumedTypes();
if (supportedInputTypes.isEmpty()
|| (supportedInputTypes.size() == 1 && supportedInputTypes.get(0).isWildcardType())) {
supportedInputTypes = Collections.singletonList(MediaType.APPLICATION_FORM_URLENCODED_TYPE);
}
for (MediaType mediaType : supportedInputTypes) {
final Representation wadlRepresentation = setRepresentationForMediaType(r, m, mediaType, wadlRequest);
if (getParamByName(wadlRepresentation.getParam(), p.getSourceName()) == null) {
final Param wadlParam = generateParam(r, m, p);
if (wadlParam != null) {
wadlRepresentation.getParam().add(wadlParam);
}
}
}
} else if (p.getSourceAnnotation().annotationType().getName().equals("org.glassfish.jersey.media.multipart" +
".FormDataParam")) { // jersey-multipart support
// Use multipart/form-data if no @Consumes
List<MediaType> supportedInputTypes = m.getConsumedTypes();
if (supportedInputTypes.isEmpty()
|| (supportedInputTypes.size() == 1 && supportedInputTypes.get(0).isWildcardType())) {
supportedInputTypes = Collections.singletonList(MediaType.MULTIPART_FORM_DATA_TYPE);
}
for (MediaType mediaType : supportedInputTypes) {
final Representation wadlRepresentation = setRepresentationForMediaType(r, m, mediaType, wadlRequest);
if (getParamByName(wadlRepresentation.getParam(), p.getSourceName()) == null) {
final Param wadlParam = generateParam(r, m, p);
if (wadlParam != null) {
wadlRepresentation.getParam().add(wadlParam);
}
}
}
} else {
Param wadlParam = generateParam(r, m, p);
if (wadlParam == null) {
continue;
}
if (wadlParam.getStyle() == ParamStyle.TEMPLATE || wadlParam.getStyle() == ParamStyle.MATRIX) {
wadlResourceParams.put(wadlParam.getName(), wadlParam);
} else {
wadlRequest.getParam().add(wadlParam);
}
}
}
if (wadlRequest.getRepresentation().size() + wadlRequest.getParam().size() == 0) {
return null;
} else {
return wadlRequest;
}
} catch (Exception e) {