/** Copies all attributes and associations of this instance into 'copy'. True parts, i.e. associations marked 'aggregate' or 'composite', and attributes, are copied as well. References to other objects, i.e. associations not marked 'aggregate' or 'composite', will not be copied. The 'copy' will refer to the same objects as the original (this) instance. * * @param copy */ public void copyInfoInto(OJTryStatement copy) { super.copyInfoInto(copy); if ( getTryPart() != null ) { copy.setTryPart(getTryPart()); } if ( getCatchPart() != null ) { copy.setCatchPart(getCatchPart()); } if ( getCatchParam() != null ) { copy.setCatchParam(getCatchParam()); } }
/** * 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(); } }
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()); } }
/** * 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 + ")"; } }
component.addToImports("java.io.File"); component.addToImports("java.net.URL"); ojTryStatement.setCatchParam(new OJParameter("e", new OJPathName("java.lang.Exception"))); ojTryStatement.getCatchPart().addToStatements("throw new RuntimeException(e)"); constructor.getBody().addToStatements(ojTryStatement); tryLoadClass.getTryPart().addToStatements("DefaultDataCreator defaultDataCreator = (DefaultDataCreator)Class.forName(" + UmlgGenerationUtil.UmlgProperties.getLast() + ".INSTANCE.getDefaultDataLoaderClass()).newInstance()"); tryLoadClass.getTryPart().addToStatements("defaultDataCreator.createData()"); tryLoadClass.setCatchParam(new OJParameter("e", new OJPathName("java.lang.Exception"))); tryLoadClass.getCatchPart().addToStatements("throw new RuntimeException(e)"); constructor.getBody().addToStatements(ifCreateDefaultData);
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); }
ojTry.setCatchParam(new OJParameter("e", new OJPathName("java.lang.Exception")));
ojTry.setCatchParam(new OJParameter("e", new OJPathName("java.lang.Exception"))); ojTry.getCatchPart().addToStatements(UmlgGenerationUtil.UMLGAccess + ".rollback()"); OJIfStatement ifRuntime = new OJIfStatement("e instanceof RuntimeException");
ojTry.getFinallyPart().addToStatements(UmlgGenerationUtil.UMLGAccess + ".rollback()"); ojTry.setCatchParam(new OJParameter("e", new OJPathName("java.lang.Exception")));
tryInstantiate.setCatchParam(new OJParameter("e", "Exception")); tryInstantiate.getCatchPart().addToStatements("throw new RuntimeException(e)");
ojTryStatement.getFinallyPart().addToStatements(UmlgGenerationUtil.UMLGAccess + ".rollback()"); ojTryStatement.setCatchParam(new OJParameter("e", new OJPathName("java.lang.Exception")));
ojTryStatement.getTryPart().addToStatements(pWrap.fieldname() + " = constructor.newInstance(true)"); ojTryStatement.getTryPart().addToStatements(pWrap.setter() + "(" + pWrap.fieldname() + ")"); ojTryStatement.setCatchParam(new OJParameter("e", "java.lang.Exception")); ojTryStatement.getCatchPart().addToStatements("throw new RuntimeException(e)"); ojTryStatement.getTryPart().addToStatements(pWrap.fieldname() + " = constructor.newInstance(true)"); ojTryStatement.getTryPart().addToStatements(pWrap.adder() + "(" + pWrap.fieldname() + ")"); ojTryStatement.setCatchParam(new OJParameter("e", "java.lang.Exception")); ojTryStatement.getCatchPart().addToStatements("throw new RuntimeException(e)");
tryInstantiate.setCatchParam(new OJParameter("e", "Exception")); tryInstantiate.getCatchPart().addToStatements("throw new RuntimeException(e)");
jsonResultBlock.addToStatements("return new " + UmlgRestletGenerationUtil.JsonRepresentation.getLast() + "(result.toString())"); ojTryStatement.setCatchParam(new OJParameter("e", new OJPathName("java.lang.Exception"))); ojTryStatement.getCatchPart().addToStatements(UmlgGenerationUtil.UMLGAccess + ".rollback()");
ojTryStatement.getTryPart().addToStatements(pWrap.fieldname() + " = constructor.newInstance(true)"); ojTryStatement.getTryPart().addToStatements(pWrap.setter() + "(" + pWrap.fieldname() + ")"); ojTryStatement.setCatchParam(new OJParameter("e", "java.lang.Exception")); ojTryStatement.getCatchPart().addToStatements("throw new RuntimeException(e)"); ojTryStatement.getTryPart().addToStatements(pWrap.fieldname() + " = constructor.newInstance(true)"); ojTryStatement.getTryPart().addToStatements(pWrap.adder() + "(" + pWrap.fieldname() + ")"); ojTryStatement.setCatchParam(new OJParameter("e", "java.lang.Exception")); ojTryStatement.getCatchPart().addToStatements("throw new RuntimeException(e)");
tryInstantiate.setCatchParam(new OJParameter("e", "Exception")); tryInstantiate.getCatchPart().addToStatements("throw new RuntimeException(e)");
ojTryStatement.setCatchParam(new OJParameter("e", new OJPathName("java.lang.Exception"))); ojTryStatement.getCatchPart().addToStatements(UmlgGenerationUtil.UMLGAccess + ".rollback()"); ojTryStatement.getCatchPart().addToStatements("throw " + UmlgRestletGenerationUtil.UmlgExceptionUtilFactory.getLast() + ".getTumlExceptionUtil().handle(e)");
jsonResultBlock.addToStatements("return new " + UmlgRestletGenerationUtil.JsonRepresentation.getLast() + "(result.toString())"); ojTryStatement.setCatchParam(new OJParameter("e", new OJPathName("java.lang.Exception"))); ojTryStatement.getCatchPart().addToStatements(UmlgGenerationUtil.UMLGAccess + ".rollback()");
ojTryStatement.getFinallyPart().addToStatements(UmlgGenerationUtil.UMLGAccess + ".rollback()"); ojTryStatement.setCatchParam(new OJParameter("e", new OJPathName("java.lang.Exception"))); ojTryStatement.getCatchPart().addToStatements(UmlgGenerationUtil.UMLGAccess + ".rollback()"); ojTryStatement.getCatchPart().addToStatements("throw " + UmlgRestletGenerationUtil.UmlgExceptionUtilFactory.getLast() + ".getTumlExceptionUtil().handle(e)");