protected void commitOrRollback(OJTryStatement ojTryStatement) { OJIfStatement ifTransactionNeedsCommitOrRollback = new OJIfStatement("!(getQueryValue(\"" + UmlgGenerationUtil.rollback+ "\") != null && Boolean.valueOf(getQueryValue(\"" + UmlgGenerationUtil.rollback + "\")))"); ifTransactionNeedsCommitOrRollback.addToThenPart(UmlgGenerationUtil.UMLGAccess + ".commit()"); ojTryStatement.getTryPart().addToStatements(ifTransactionNeedsCommitOrRollback); ojTryStatement.getFinallyPart().addToStatements(UmlgGenerationUtil.UMLGAccess + ".rollback()"); }
private void addGetRepresentation(Class clazz, OJAnnotatedClass annotatedClass) { OJAnnotatedOperation get = new OJAnnotatedOperation("get", UmlgRestletGenerationUtil.Representation); get.addToThrows(UmlgRestletGenerationUtil.ResourceException); annotatedClass.addToImports(UmlgRestletGenerationUtil.ResourceException); UmlgGenerationUtil.addOverrideAnnotation(get); OJTryStatement tryStatement = new OJTryStatement(); tryStatement.getTryPart().addToStatements("StringBuilder json = new StringBuilder()"); tryStatement.getTryPart().addToStatements( "this." + getIdFieldName(clazz) + "= " + UmlgRestletGenerationUtil.UmlgURLDecoder.getLast() + ".decode((String)getRequestAttributes().get(\"" + getIdFieldName(clazz) + "\"))"); annotatedClass.addToImports(UmlgRestletGenerationUtil.UmlgURLDecoder); tryStatement.getTryPart().addToStatements( UmlgClassOperations.className(clazz) + " c = " + UmlgGenerationUtil.UMLGAccess + ".getEntity(this." + getIdFieldName(clazz) + ")"); annotatedClass.addToImports(UmlgClassOperations.getPathName(clazz)); tryStatement.getTryPart().addToStatements("json.append(\"[{\\\"data\\\": \")"); tryStatement.getTryPart().addToStatements("json.append(" + "c.toJsonWithoutCompositeParent())"); tryStatement.getTryPart().addToStatements("meta", "json.append(\", \\\"meta\\\" : {\")"); tryStatement.getTryPart().addToStatements("json.append(\"\\\"qualifiedName\\\": \\\"" + clazz.getQualifiedName() + "\\\"\")"); tryStatement.getTryPart().addToStatements("json.append(\"}}]\")"); tryStatement.getTryPart().addToStatements("return new " + UmlgRestletGenerationUtil.JsonRepresentation.getLast() + "(json.toString())"); get.getBody().addToStatements(tryStatement); tryStatement.setCatchPart(null); tryStatement.getFinallyPart().addToStatements(UmlgGenerationUtil.UMLGAccess + ".rollback()"); annotatedClass.addToImports(UmlgGenerationUtil.UMLGPathName); annotatedClass.addToImports(UmlgRestletGenerationUtil.JsonRepresentation); annotatedClass.addToOperations(get); }
private void addGetRepresentation(Class clazz, OJAnnotatedClass annotatedClass) { OJAnnotatedOperation get = new OJAnnotatedOperation("get", UmlgRestletGenerationUtil.Representation); get.addToThrows(UmlgRestletGenerationUtil.ResourceException); annotatedClass.addToImports(UmlgRestletGenerationUtil.ResourceException); UmlgGenerationUtil.addOverrideAnnotation(get); OJTryStatement ojTryStatement = new OJTryStatement(); ojTryStatement.setCatchPart(null); ojTryStatement.getFinallyPart().addToStatements(UmlgGenerationUtil.UMLGAccess + ".rollback()"); get.getBody().addToStatements(ojTryStatement); ojTryStatement.getTryPart().addToStatements( "this." + getIdFieldName(clazz) + "= " + UmlgRestletGenerationUtil.UmlgURLDecoder.getLast() + ".decode((String)getRequestAttributes().get(\"" + getIdFieldName(clazz) + "\"));"); annotatedClass.addToImports(UmlgRestletGenerationUtil.UmlgURLDecoder); ojTryStatement.getTryPart().addToStatements( UmlgClassOperations.className(clazz) + " c = " + UmlgGenerationUtil.UMLGAccess + "." + UmlgGenerationUtil.getEntity + "(this." + getIdFieldName(clazz) + ")"); annotatedClass.addToImports(UmlgClassOperations.getPathName(clazz)); ojTryStatement.getTryPart().addToStatements("StringBuilder json = new StringBuilder()"); ojTryStatement.getTryPart().addToStatements("json.append(\"{\\\"data\\\": [\")"); StringBuilder pathToCompositionRootCalc = new StringBuilder("json.append(RestletToJsonUtil.pathToCompositionRootAsJson("); annotatedClass.addToImports(UmlgRestletGenerationUtil.RestletToJsonUtil); pathToCompositionRootCalc.append("c.<" + UmlgRestletGenerationUtil.UmlgRestletNode.getLast() + ">getPathToCompositionalRoot(), "); annotatedClass.addToImports(UmlgRestletGenerationUtil.UmlgRestletNode); pathToCompositionRootCalc.append("\"Root\", \"/" + clazz.getModel().getName() + "\"))"); ojTryStatement.getTryPart().addToStatements(pathToCompositionRootCalc.toString()); ojTryStatement.getTryPart().addToStatements("json.append(\"]}\")"); ojTryStatement.getTryPart().addToStatements("return new " + UmlgRestletGenerationUtil.JsonRepresentation.getLast() + "(json.toString())"); annotatedClass.addToImports(UmlgGenerationUtil.UMLGPathName); annotatedClass.addToImports(UmlgRestletGenerationUtil.JsonRepresentation); annotatedClass.addToOperations(get); }
private void addGetObjectRepresentation(PropertyWrapper pWrap/*, OJAnnotatedInterface annotatedInf*/, OJAnnotatedClass annotatedClass) { OJAnnotatedOperation get = new OJAnnotatedOperation("get", UmlgRestletGenerationUtil.Representation); get.addToThrows(UmlgRestletGenerationUtil.ResourceException); annotatedClass.addToImports(UmlgRestletGenerationUtil.ResourceException); UmlgGenerationUtil.addOverrideAnnotation(get); OJTryStatement ojTryStatement = new OJTryStatement(); OJPathName parentPathName = UmlgClassOperations.getPathName(pWrap.getOtherEnd().getType()); ojTryStatement.getTryPart().addToStatements( "this." + parentPathName.getLast().toLowerCase() + "Id = " + UmlgRestletGenerationUtil.UmlgURLDecoder.getLast() + ".decode((String)getRequestAttributes().get(\"" + parentPathName.getLast().toLowerCase() + "Id\"))" ); annotatedClass.addToImports(UmlgRestletGenerationUtil.UmlgURLDecoder); ojTryStatement.getTryPart().addToStatements( parentPathName.getLast() + " resource = " + UmlgGenerationUtil.UMLGAccess + "." + UmlgGenerationUtil.getEntity + "(this." + parentPathName.getLast().toLowerCase() + "Id" + ")" ); annotatedClass.addToImports(parentPathName); buildToJson(pWrap, annotatedClass, ojTryStatement.getTryPart()); ojTryStatement.setCatchPart(null); ojTryStatement.getFinallyPart().addToStatements(UmlgGenerationUtil.UMLGAccess + ".rollback()"); get.getBody().addToStatements(ojTryStatement); annotatedClass.addToImports(UmlgGenerationUtil.UMLGPathName); annotatedClass.addToImports(UmlgRestletGenerationUtil.JsonRepresentation); annotatedClass.addToOperations(get); }
public void copyDeepInfoInto(OJTryStatement copy) { super.copyDeepInfoInto(copy); if (getTryPart() != null) { copy.setTryPart(getTryPart().getDeepCopy()); } if (getCatchPart() != null) { copy.setCatchPart(getCatchPart().getDeepCopy()); } if (getCatchParam() != null) { copy.setCatchParam(getCatchParam().getDeepCopy()); } if (getFinallyPart() != null) { copy.setFinallyPart(getFinallyPart().getDeepCopy()); } }
ojTry.getTryPart().addToLocals(entityText); ojTry.getTryPart().addToStatements("c.fromJson(" + entityText.getName() + ")"); ojTry.getTryPart().addToStatements(UmlgGenerationUtil.UMLGAccess + ".commit()"); ojTry.getTryPart().addToStatements("StringBuilder json = new StringBuilder()"); ojTry.getTryPart().addToStatements("json.append(\"[{\\\"data\\\": \")"); ojTry.getTryPart().addToStatements("json.append(" + "c.toJsonWithoutCompositeParent())"); ojTry.getTryPart().addToStatements("meta", "json.append(\", \\\"meta\\\" : {\")"); ojTry.getTryPart().addToStatements("json.append(\"\\\"qualifiedName\\\": \\\"" + clazz.getQualifiedName() + "\\\"\")"); ojTry.getTryPart().addToStatements("json.append(\", \\\"to\\\": \")"); ojTry.getTryPart().addToStatements("json.append(" + UmlgClassOperations.propertyEnumName(clazz) + ".asJson())"); annotatedClass.addToImports(UmlgClassOperations.getPathName(clazz).append(UmlgClassOperations.propertyEnumName(clazz))); ojTry.getTryPart().addToStatements("json.append(\"}}]\")"); ojTry.getTryPart().addToStatements("return new " + UmlgRestletGenerationUtil.JsonRepresentation.getLast() + "(json.toString())");
private void addOptionsObjectRepresentation(PropertyWrapper pWrap, OJAnnotatedClass annotatedClass, boolean asAssociationClass) { OJAnnotatedOperation get = new OJAnnotatedOperation("options", UmlgRestletGenerationUtil.Representation); get.addToThrows(UmlgRestletGenerationUtil.ResourceException); annotatedClass.addToImports(UmlgRestletGenerationUtil.ResourceException); OJTryStatement tryStatement = new OJTryStatement(); OJPathName parentPathName; if (!asAssociationClass) { parentPathName = UmlgClassOperations.getPathName(pWrap.getOtherEnd().getType()); } else { parentPathName = pWrap.getAssociationClassPathName(); } tryStatement.getTryPart().addToStatements( "this." + parentPathName.getLast().toLowerCase() + "Id = " + UmlgRestletGenerationUtil.UmlgURLDecoder.getLast() + ".decode((String)getRequestAttributes().get(\"" + parentPathName.getLast().toLowerCase() + "Id\"))" ); annotatedClass.addToImports(UmlgRestletGenerationUtil.UmlgURLDecoder); tryStatement.getTryPart().addToStatements( parentPathName.getLast() + " parentResource = " + UmlgGenerationUtil.UMLGAccess + "." + UmlgGenerationUtil.getEntity + "(" + parentPathName.getLast().toLowerCase() + "Id" + ")"); annotatedClass.addToImports(parentPathName); buildToJsonForOptions(pWrap, annotatedClass, tryStatement.getTryPart(), asAssociationClass); get.getBody().addToStatements(tryStatement); tryStatement.getFinallyPart().addToStatements(UmlgGenerationUtil.UMLGAccess + ".rollback()"); tryStatement.setCatchPart(null); annotatedClass.addToImports(UmlgGenerationUtil.UMLGPathName); annotatedClass.addToImports(UmlgRestletGenerationUtil.JsonRepresentation); annotatedClass.addToOperations(get); }
private void addGetObjectRepresentation(PropertyWrapper pWrap, OJAnnotatedClass annotatedClass, boolean asAssociationClass) { OJAnnotatedOperation get = new OJAnnotatedOperation("get", UmlgRestletGenerationUtil.Representation); get.addToThrows(UmlgRestletGenerationUtil.ResourceException); annotatedClass.addToImports(UmlgRestletGenerationUtil.ResourceException); OJTryStatement tryStatement = new OJTryStatement(); OJPathName parentPathName; if (!asAssociationClass) { parentPathName = UmlgClassOperations.getPathName(pWrap.getOtherEnd().getType()); } else { parentPathName = pWrap.getAssociationClassPathName(); } tryStatement.getTryPart().addToStatements( "this." + parentPathName.getLast().toLowerCase() + "Id = " + UmlgRestletGenerationUtil.UmlgURLDecoder.getLast() + ".decode((String)getRequestAttributes().get(\"" + parentPathName.getLast().toLowerCase() + "Id\"))" ); annotatedClass.addToImports(UmlgRestletGenerationUtil.UmlgURLDecoder); tryStatement.getTryPart().addToStatements( parentPathName.getLast() + " parentResource = " + UmlgGenerationUtil.UMLGAccess + "." + UmlgGenerationUtil.getEntity + "(" + parentPathName.getLast().toLowerCase() + "Id" + ")"); annotatedClass.addToImports(parentPathName); buildToJson(pWrap, annotatedClass, tryStatement.getTryPart(), asAssociationClass); get.getBody().addToStatements(tryStatement); tryStatement.getFinallyPart().addToStatements(UmlgGenerationUtil.UMLGAccess + ".rollback()"); tryStatement.setCatchPart(null); annotatedClass.addToImports(UmlgGenerationUtil.UMLGPathName); annotatedClass.addToImports(UmlgRestletGenerationUtil.JsonRepresentation); annotatedClass.addToOperations(get); }
ojTryStatement.getTryPart().addToStatements( "this." + parentPathName.getLast().toLowerCase() + "Id = " + UmlgRestletGenerationUtil.UmlgURLDecoder.getLast() + ".decode((String)getRequestAttributes().get(\"" + parentPathName.getLast().toLowerCase() + "Id\"))" annotatedClass.addToImports(UmlgRestletGenerationUtil.UmlgURLDecoder); ojTryStatement.getTryPart().addToStatements( parentPathName.getLast() + " resource = " + UmlgGenerationUtil.UMLGAccess + "." + UmlgGenerationUtil.getEntity + "(this." + parentPathName.getLast().toLowerCase() + "Id" + ")" ); annotatedClass.addToImports(parentPathName); buildToJson(pWrap, annotatedClass, ojTryStatement.getTryPart()); ojTryStatement.setCatchPart(null);
private void addOptionsObjectRepresentation(PropertyWrapper pWrap, OJAnnotatedClass annotatedClass) { OJAnnotatedOperation option = new OJAnnotatedOperation("options", UmlgRestletGenerationUtil.Representation); UmlgGenerationUtil.addOverrideAnnotation(option); option.addToThrows(UmlgRestletGenerationUtil.ResourceException); annotatedClass.addToImports(UmlgRestletGenerationUtil.ResourceException); annotatedClass.addToOperations(option); OJTryStatement tryStatement = new OJTryStatement(); OJPathName parentPathName; if (pWrap.getOtherEnd() != null) { parentPathName = UmlgClassOperations.getPathName(pWrap.getOtherEnd().getType()); } else { parentPathName = UmlgClassOperations.getPathName(pWrap.getOwningType()); } tryStatement.getTryPart().addToStatements( "this." + parentPathName.getLast().toLowerCase() + "Id = " + UmlgRestletGenerationUtil.UmlgURLDecoder.getLast() + ".decode((String)getRequestAttributes().get(\"" + parentPathName.getLast().toLowerCase() + "Id\"))" ); annotatedClass.addToImports(UmlgRestletGenerationUtil.UmlgURLDecoder); tryStatement.getTryPart().addToStatements( parentPathName.getLast() + " parentResource = " + UmlgGenerationUtil.UMLGAccess + "." + UmlgGenerationUtil.getEntity + "(" + parentPathName.getLast().toLowerCase() + "Id" + ")"); annotatedClass.addToImports(parentPathName); //do the stuff here man buildToJsonForOption(pWrap, annotatedClass, tryStatement.getTryPart()); option.getBody().addToStatements(tryStatement); tryStatement.getFinallyPart().addToStatements(UmlgGenerationUtil.UMLGAccess + ".rollback()"); tryStatement.setCatchPart(null); annotatedClass.addToImports(UmlgGenerationUtil.UMLGPathName); annotatedClass.addToImports(UmlgRestletGenerationUtil.JsonRepresentation); }
private void addGetObjectRepresentation(PropertyWrapper pWrap, OJAnnotatedClass annotatedClass) { OJAnnotatedOperation get = new OJAnnotatedOperation("get", UmlgRestletGenerationUtil.Representation); UmlgGenerationUtil.addOverrideAnnotation(get); get.addToThrows(UmlgRestletGenerationUtil.ResourceException); UmlgGenerationUtil.addOverrideAnnotation(get); annotatedClass.addToImports(UmlgRestletGenerationUtil.ResourceException); OJTryStatement tryStatement = new OJTryStatement(); OJPathName parentPathName; if (pWrap.getOtherEnd() != null) { parentPathName = UmlgClassOperations.getPathName(pWrap.getOtherEnd().getType()); } else { parentPathName = UmlgClassOperations.getPathName(pWrap.getOwningType()); } tryStatement.getTryPart().addToStatements( "this." + parentPathName.getLast().toLowerCase() + "Id = " + UmlgRestletGenerationUtil.UmlgURLDecoder.getLast() + ".decode((String)getRequestAttributes().get(\"" + parentPathName.getLast().toLowerCase() + "Id\"))" ); annotatedClass.addToImports(UmlgRestletGenerationUtil.UmlgURLDecoder); tryStatement.getTryPart().addToStatements( parentPathName.getLast() + " parentResource = " + UmlgGenerationUtil.UMLGAccess + "." + UmlgGenerationUtil.getEntity + "(" + parentPathName.getLast().toLowerCase() + "Id" + ")"); annotatedClass.addToImports(parentPathName); buildToJson(pWrap, annotatedClass, tryStatement.getTryPart()); get.getBody().addToStatements(tryStatement); tryStatement.getFinallyPart().addToStatements(UmlgGenerationUtil.UMLGAccess + ".rollback()"); tryStatement.setCatchPart(null); annotatedClass.addToImports(UmlgGenerationUtil.UMLGPathName); annotatedClass.addToImports(UmlgRestletGenerationUtil.JsonRepresentation); annotatedClass.addToOperations(get); }
ojTry.getTryPart().addToLocals(entityText); ojTry.getTryPart().addToStatements("c.fromJson(" + entityText.getName() + ")"); ojTry.getTryPart().addToStatements("String lookupUri = " + UmlgRestletGenerationUtil.UmlgURLEncoder.getLast() + ".decode(getReference().getQueryAsForm(false).getFirstValue(\"lookupUri\"))"); ojTry.getTryPart().addToStatements("lookupUri = \"riap://host\" + lookupUri"); ojTry.getTryPart().addToStatements("int fakeIdIndex = lookupUri.indexOf(\"fake\")"); OJIfStatement ifFakeId = new OJIfStatement("fakeIdIndex != -1"); ifFakeId.addToThenPart("int indexOfForwardSlash = lookupUri.indexOf(\"/\", fakeIdIndex)"); ifFakeId.addToThenPart("Object id = " + UmlgGenerationUtil.UmlgTmpIdManager.getLast() + ".INSTANCE.get(fakeId)"); ifFakeId.addToThenPart("lookupUri = lookupUri.replace(fakeId, " + UmlgRestletGenerationUtil.UmlgURLDecoder.getLast() + ".encode(id.toString()))"); ojTry.getTryPart().addToStatements(ifFakeId); annotatedClass.addToImports(UmlgGenerationUtil.UmlgTmpIdManager); ojTry.getTryPart().addToStatements(UmlgRestletGenerationUtil.ClientResource.getLast() + " cr = new ClientResource(lookupUri)"); annotatedClass.addToImports(UmlgRestletGenerationUtil.ClientResource); annotatedClass.addToImports(UmlgRestletGenerationUtil.UmlgURLEncoder); ojTry.getTryPart().addToStatements(UmlgRestletGenerationUtil.Representation.getLast() + " result = cr.get()"); ojTry.getTryPart().addToStatements("return result");
public String toJavaString() { String result = ""; result = "try {\n"; result = result + JavaStringHelpers.indent(getTryPart().toJavaString(), 1); if (getCatchPart() != null) { result = result + "\n} catch (" + getCatchParam().toJavaString() + ") {\n"; result = result + JavaStringHelpers.indent(getCatchPart().toJavaString(), 1); result = result + "\n}"; } if (getFinallyPart() != null && !getFinallyPart().getStatements().isEmpty()) { if (getCatchPart() == null) { result = result + "\n} finally {\n"; } else { result = result + " finally {\n"; } result = result + JavaStringHelpers.indent(getFinallyPart().toJavaString(), 1); result = result + "\n}"; } return result; }
/** * Wraps the source expression in a try catch block. If * OclIsInvalidException is caught return true else false */ @Override public String handleOperationExp(OperationCallExp<Classifier, Operation> oc, String sourceResult, List<String> argumentResults) { if (!argumentResults.isEmpty()) { throw new IllegalStateException("oclIsInvalid operation can not have arguments!"); } String operationName = oc.getReferredOperation().getName(); OJAnnotatedOperation oper = new OJAnnotatedOperation(operationName + this.ojClass.countOperationsStartingWith(operationName), new OJPathName("Boolean")); this.ojClass.addToOperations(oper); oper.setVisibility(OJVisibilityKind.PRIVATE); OJTryStatement ojTryStatement = new OJTryStatement(); ojTryStatement.getTryPart().addToStatements("return " + sourceResult + " == null"); // ojTryStatement.getTryPart().addToStatements("return false"); ojTryStatement.setCatchParam(new OJParameter("e", UmlgGenerationUtil.umlgOclIsInvalidException.getCopy())); this.ojClass.addToImports(UmlgGenerationUtil.umlgOclIsInvalidException.getCopy()); ojTryStatement.getCatchPart().addToStatements("return true"); oper.getBody().addToStatements(ojTryStatement); return oper.getName() + "()"; // return ojTryStatement.toJavaString(); } }
private void addFromJson(Class clazz) { OJAnnotatedClass annotatedClass = findOJClass(clazz); OJAnnotatedOperation fromJson = new OJAnnotatedOperation("fromJson"); fromJson.addParam("json", new OJPathName("String")); UmlgGenerationUtil.addOverrideAnnotation(fromJson); annotatedClass.addToOperations(fromJson); OJField objectMapper = new OJField("mapper", UmlgGenerationUtil.ObjectMapper); objectMapper.setInitExp(UmlgGenerationUtil.ObjectMapperFactory.getLast() + ".INSTANCE.getObjectMapper()"); annotatedClass.addToImports(UmlgGenerationUtil.ObjectMapperFactory); fromJson.getBody().addToLocals(objectMapper); OJTryStatement tryS = new OJTryStatement(); OJAnnotatedField propertyMap = new OJAnnotatedField("propertyMap", new OJPathName("java.util.Map").addToGenerics("String").addToGenerics("Object")); propertyMap.setInitExp("mapper.readValue(json, Map.class)"); propertyMap.addAnnotationIfNew(new OJAnnotationValue(new OJPathName("java.lang.SuppressWarnings"), "unchecked")); tryS.getTryPart().addToLocals(propertyMap); tryS.getTryPart().addToStatements("fromJson(propertyMap)"); tryS.setCatchParam(new OJParameter("e", new OJPathName("java.lang.Exception"))); tryS.getCatchPart().addToStatements("throw new RuntimeException(e)"); fromJson.getBody().addToStatements(tryS); }
OJBlock block = tryStatement.getTryPart(); block.addToStatements("StringBuilder json = new StringBuilder()"); block.addToStatements("json.append(\"[\")"); tryStatement.getTryPart().addToStatements("return new " + UmlgRestletGenerationUtil.JsonRepresentation.getLast() + "(json.toString())");
/** * Wraps the source expression in a try catch block. If * OclIsInvalidException is caught return true else false */ @Override public String handleOperationExp(OperationCallExp<Classifier, Operation> oc, String sourceResult, List<String> argumentResults) { if (!argumentResults.isEmpty()) { throw new IllegalStateException("oclIsUndefined operation can not have arguments!"); } String operationName = oc.getReferredOperation().getName(); Type sourceType = oc.getSource().getType(); OJAnnotatedOperation oper = new OJAnnotatedOperation(operationName + this.ojClass.countOperationsStartingWith(operationName), new OJPathName("Boolean")); if (!(sourceType instanceof PrimitiveType) && !(sourceType instanceof Enumeration) && sourceType instanceof DataType) { oper.addParam(StringUtils.uncapitalize(sourceType.getName()), DataTypeEnum.getPathNameFromDataType((DataType) sourceType)); } else if (sourceType instanceof PrimitiveType) { oper.addParam(StringUtils.uncapitalize(sourceType.getName()), UmlgPropertyOperations.umlPrimitiveTypeToJava(sourceType)); } else { oper.addParam(StringUtils.uncapitalize(sourceType.getName()), UmlgClassOperations.getPathName(sourceType)); } this.ojClass.addToOperations(oper); oper.setVisibility(OJVisibilityKind.PRIVATE); OJTryStatement ojTryStatement = new OJTryStatement(); ojTryStatement.getTryPart().addToStatements("return " + StringUtils.uncapitalize(sourceType.getName()) + " == null"); ojTryStatement.setCatchParam(new OJParameter("e", UmlgGenerationUtil.umlgOclIsInvalidException.getCopy())); this.ojClass.addToImports(UmlgGenerationUtil.umlgOclIsInvalidException.getCopy()); ojTryStatement.getCatchPart().addToStatements("return true"); oper.getBody().addToStatements(ojTryStatement); return oper.getName() + "(" + sourceResult + ")"; } }
OJBlock block = tryStatement.getTryPart(); block.addToStatements("StringBuilder json = new StringBuilder()"); block.addToStatements("json.append(\"[\")"); tryStatement.getTryPart().addToStatements("return new " + UmlgRestletGenerationUtil.JsonRepresentation.getLast() + "(json.toString())");
protected void addImportsRecursively(OJBlock body) { if (body != null) { for (OJField ojField : body.getLocals()) { this.addToImports(ojField.getType()); } for (OJStatement s : body.getStatements()) { if (s instanceof OJIfStatement) { addImportsRecursively(((OJIfStatement) s).getThenPart()); addImportsRecursively(((OJIfStatement) s).getElsePart()); } else if (s instanceof OJBlock) { addImportsRecursively(((OJBlock) s)); } else if (s instanceof OJTryStatement) { addImportsRecursively(((OJTryStatement) s).getTryPart()); addImportsRecursively(((OJTryStatement) s).getCatchPart()); } else if (s instanceof OJWhileStatement) { addImportsRecursively(((OJWhileStatement) s).getBody()); } else if (s instanceof OJForStatement) { addImportsRecursively(((OJForStatement) s).getBody()); addToImports(((OJForStatement) s).getElemType()); } else if (s instanceof OJSwitchStatement) { for (OJSwitchCase ojSwitchCase : ((OJSwitchStatement) s).getCases()) { addImportsRecursively(ojSwitchCase.getBody()); } } } } }
ojTry.getTryPart().addToStatements("c.delete()"); ojTry.getTryPart().addToStatements(UmlgGenerationUtil.UMLGAccess + ".commit()"); ojTry.setCatchParam(new OJParameter("e", new OJPathName("java.lang.Exception")));