private void createDefinition(OperationEnum operationEnum, String resourceName, String resourceParentName, DelegatingResourceHandler<?> resourceHandler) { String definitionName = getSchemaName(resourceName, resourceParentName, operationEnum); Model model = null; Model modelRef = null; Model modelFull = null; if (definitionName.endsWith("Get")) { model = resourceHandler.getGETModel(Representation.DEFAULT); modelRef = resourceHandler.getGETModel(Representation.REF); modelFull = resourceHandler.getGETModel(Representation.FULL); } else if (definitionName.endsWith("Create")) { model = resourceHandler.getCREATEModel(Representation.DEFAULT); modelFull = resourceHandler.getCREATEModel(Representation.FULL); } else if (definitionName.endsWith("Update")) { model = resourceHandler.getUPDATEModel(Representation.DEFAULT); } if (model != null) { swagger.addDefinition(definitionName, model); } if (modelRef != null) { swagger.addDefinition(definitionName + "Ref", modelRef); } if (modelFull != null) { swagger.addDefinition(definitionName + "Full", modelFull); } }
private SimpleObject buildPOSTUpdateSimpleObject(DelegatingResourceHandler<?> resourceHandler) { SimpleObject simpleObject = new SimpleObject(); for (String property : resourceHandler.getUpdatableProperties().getProperties().keySet()) { simpleObject.put(property, property); } return simpleObject; }
/** * @see org.openmrs.module.webservices.rest.web.resource.api.Converter#newInstance(java.lang.String) */ @Override public T newInstance(String type) { if (hasTypesDefined()) { if (type == null) throw new IllegalArgumentException(getClass().getSimpleName() + " requires a '" + RestConstants.PROPERTY_FOR_TYPE + "' property to create a new object"); DelegatingResourceHandler<? extends T> handler = getResourceHandler(type); return handler.newDelegate(); } else { return newDelegate(); } }
public T convert(SimpleObject propertiesToCreate) { DelegatingResourceHandler<? extends T> handler; if (hasTypesDefined()) { String type = (String) propertiesToCreate.remove(RestConstants.PROPERTY_FOR_TYPE); if (type == null) throw new IllegalArgumentException( "When creating a resource that supports subclasses, you must indicate the particular subclass with a " + RestConstants.PROPERTY_FOR_TYPE + " property"); handler = getResourceHandler(type); } else { handler = this; } T delegate = handler.newDelegate(propertiesToCreate); DelegatingResourceDescription description = handler.getCreatableProperties(); if (propertiesToCreate.containsKey("uuid")) { description.addProperty("uuid"); } setConvertedProperties(delegate, propertiesToCreate, description, true); return delegate; }
DelegatingResourceDescription resDesc = handler.getRepresentationDescription(new DefaultRepresentation());
for (Map.Entry<String, Property> prop : resourceHandler.getGETModel(Representation.FULL).getProperties() .entrySet()) { if (properties.get(prop.getKey()) == null) {
DelegatingResourceDescription repDescription = handler.getRepresentationDescription(representation); if (repDescription != null) { SimpleObject simple = convertDelegateToRepresentation(delegate, repDescription);
DelegatingResourceDescription description = handler.getUpdatableProperties(); if (isRetirable()) { description.addProperty("retired");