private void addUriToObject(Model model, OJEnum ojEnum) { OJAnnotatedOperation asJson = ojEnum.findOperation("asJson"); OJSimpleStatement s = (OJSimpleStatement) asJson.getBody().findStatement("uri"); s.setExpression("sb.append(\"\\\"uri\\\": \\\"/" + model.getName() + "\\\", \")"); }
private void add_getUriToObject(Class clazz, OJEnum ojEnum) { OJAnnotatedOperation getUriToObject = new OJAnnotatedOperation("getUriToObject", new OJPathName("String")); getUriToObject.setStatic(true); getUriToObject.getBody().addToStatements( "return " + "\"/" + this.workspace.getModel().getName() + "/" + UmlgClassOperations.getPathName(clazz).getLast().toLowerCase() + "s/{" + UmlgClassOperations.getPathName(clazz).getLast().toLowerCase() + "Id}\""); ojEnum.addToOperations(getUriToObject); OJAnnotatedOperation asJson = ojEnum.findOperation("asJson"); OJSimpleStatement s = (OJSimpleStatement) asJson.getBody().findStatement("uri"); s.setExpression("sb.append(\"\\\"uri\\\": \\\"\" + getUriToObject() + \"\\\", \")"); }
private void add_getUriToObject_to_ToJson(Class clazz, OJAnnotatedClass annotatedClass) { if (clazz.getGeneralizations().isEmpty()) { OJAnnotatedOperation toJson = annotatedClass.findOperation("toJson", new OJPathName("Boolean")); OJSimpleStatement s = (OJSimpleStatement) toJson.getBody().findStatement(ToFromJsonCreator.URI_FOR_RESTFULL); s.setExpression("sb.append(\"\\\"uri\\\": \" + getUri())"); OJAnnotatedOperation toJsonWithoutCompositeParent = annotatedClass.findOperation("toJsonWithoutCompositeParent", new OJPathName("Boolean")); s = (OJSimpleStatement) toJsonWithoutCompositeParent.getBody().findStatement("uri"); s.setExpression("sb.append(\"\\\"uri\\\": \" + getUri())"); } if (!clazz.isAbstract()) { OJAnnotatedOperation getUri = new OJAnnotatedOperation("getUri"); UmlgGenerationUtil.addOverrideAnnotation(getUri); getUri.setReturnType(new OJPathName("String")); getUri.setVisibility(OJVisibilityKind.PUBLIC); getUri.getBody().addToStatements("return (\"\\\"\" + " + UmlgClassOperations.propertyEnumName(clazz) + ".getUriToObject() + \"\\\"\")"); annotatedClass.addToOperations(getUri); } }