public OJPathName getPathName(){ return outer.getCopy().append("Anonymous"); } @Override
public OJPathName renameLast(String name) { removeFromNames(getLast()); append(name); return this; }
/** * Implements the user defined operation '+ getPathName() : OJPathName' */ public OJPathName getPathName() { return this.getParent().getPathName().append(this.getName()); }
/** * Implements the user defined operation '+ getPathName() : OJPathName' */ public OJPathName getPathName(){ OJPackage myPackage = this.getMyPackage(); return myPackage.getPathName().append(this.getName()); } /**
public static OJPathName getMetaClassPathName(Classifier clazz) { OJPackage ojPackage = new OJPackage(Namer.name(clazz.getNearestPackage()) + ".meta"); OJPathName result = ojPackage.getPathName().append(UmlgClassOperations.getMetaClassName(clazz)); return result; }
public OJPathName getPathName() { OJPathName result = null; if (getParent() != null) { result = this.getParent().getPathName().append(this.getName()); } else { result = new OJPathName(getName()); } return result; }
conditionBlockFrom.addToStatements("json.append(\", \\\"from\\\": \")"); conditionBlockFrom.addToStatements("json.append(" + UmlgClassOperations.propertyEnumName(concreteClassifierFrom) + ".asJson())"); annotatedClass.addToImports(UmlgClassOperations.getPathName(concreteClassifierFrom).append( UmlgClassOperations.propertyEnumName(concreteClassifierFrom))); annotatedClass.addToImports(UmlgClassOperations.getPathName(pWrap.getOwningType()).append( UmlgClassOperations.propertyEnumName(pWrap.getOwningType()))); annotatedClass.addToImports(UmlgClassOperations.getPathName(concreteClassifierTo) .append(UmlgClassOperations.propertyEnumName(concreteClassifierTo)));
conditionBlockFrom.addToStatements("json.append(\", \\\"from\\\": \")"); conditionBlockFrom.addToStatements("json.append(" + UmlgClassOperations.propertyEnumName(concreteClassifierFrom) + ".asJson())"); annotatedClass.addToImports(UmlgClassOperations.getPathName(concreteClassifierFrom).append( UmlgClassOperations.propertyEnumName(concreteClassifierFrom))); countFrom++; annotatedClass.addToImports(UmlgClassOperations.getPathName(pWrap.getOwningType()).append( UmlgClassOperations.propertyEnumName(pWrap.getOwningType()))); annotatedClass.addToImports(UmlgClassOperations.getPathName(concreteClassifierTo) .append(UmlgClassOperations.propertyEnumName(concreteClassifierTo))); block.addToStatements("json.append(\"}\")"); if (concreteImplementations.size() != 1 && count != concreteImplementations.size()) {
private void buildToJson(PropertyWrapper pWrap, OJAnnotatedClass annotatedClass, OJBlock block) { block.addToStatements("StringBuilder json = new StringBuilder()"); block.addToStatements("json.append(\"{\\\"data\\\": [\")"); block.addToStatements("json.append(" + UmlgRestletGenerationUtil.UmlgRestletToJsonUtil.getLast() + ".toJson(resource." + pWrap.lookup() + "()))"); annotatedClass.addToImports(UmlgRestletGenerationUtil.UmlgRestletToJsonUtil); block.addToStatements("json.append(\"],\")"); block.addToStatements("json.append(\" \\\"meta\\\" : {\")"); block.addToStatements("json.append(\"\\\"qualifiedName\\\": \\\"" + pWrap.getQualifiedName() + "\\\"\")"); block.addToStatements("json.append(\", \\\"to\\\": \")"); block.addToStatements("json.append(" + UmlgClassOperations.propertyEnumName(new PropertyWrapper(pWrap.getOtherEnd()).getOwningType()) + ".asJson())"); annotatedClass.addToImports(UmlgClassOperations.getPathName(new PropertyWrapper(pWrap.getOtherEnd()).getOwningType()).append( UmlgClassOperations.propertyEnumName(new PropertyWrapper(pWrap.getOtherEnd()).getOwningType()))); block.addToStatements("json.append(\", \\\"from\\\": \")"); block.addToStatements("json.append(" + UmlgClassOperations.propertyEnumName(pWrap.getOwningType()) + ".asJson())"); annotatedClass.addToImports(UmlgClassOperations.getPathName(pWrap.getOwningType()).append(UmlgClassOperations.propertyEnumName(pWrap.getOwningType()))); block.addToStatements("json.append(\"}}\")"); block.addToStatements("return new " + UmlgRestletGenerationUtil.JsonRepresentation.getLast() + "(json.toString())"); }
annotatedClass.addToImports(UmlgClassOperations.getPathName(classifier).append(UmlgClassOperations.propertyEnumName(classifier))); if (count++ != sortedConcreteImplementations.size()) { block.addToStatements("json.append(\"}, \")"); annotatedClass.addToImports(UmlgClassOperations.getPathName(clazz).append(UmlgClassOperations.propertyEnumName(clazz))); block.addToStatements("json.append(\"}]\")");
conditionBlockFrom.addToStatements("json.append(\", \\\"from\\\": \")"); conditionBlockFrom.addToStatements("json.append(" + UmlgClassOperations.propertyEnumName(concreteClassifierFrom) + ".asJson())"); annotatedClass.addToImports(UmlgClassOperations.getPathName(concreteClassifierFrom).append( UmlgClassOperations.propertyEnumName(concreteClassifierFrom))); countFrom++; annotatedClass.addToImports(UmlgClassOperations.getPathName(pWrap.getOwningType()).append( UmlgClassOperations.propertyEnumName(pWrap.getOwningType()))); annotatedClass.addToImports(UmlgClassOperations.getPathName(concreteClassifierTo) .append(UmlgClassOperations.propertyEnumName(concreteClassifierTo))); block.addToStatements("json.append(\"}\")"); if (concreteImplementations.size() != 1 && count != concreteImplementations.size()) {
tryStatement.getTryPart().addToStatements("json.append(" + StringUtils.capitalize(ModelLoader.INSTANCE.getModel().getName()) + "RuntimePropertyEnum.asJson())"); annotatedClass.addToImports(UmlgGenerationUtil.UmlgRootPackage.toJavaString() + "." + StringUtils.capitalize(ModelLoader.INSTANCE.getModel().getName()) + "." + StringUtils.capitalize(ModelLoader.INSTANCE.getModel().getName()) + "RuntimePropertyEnum"); annotatedClass.addToImports(UmlgClassOperations.getPathName(classifier).append(UmlgClassOperations.propertyEnumName(classifier)));
block.addToStatements("json.append(" + UmlgClassOperations.propertyEnumName(clazz) + ".asJson())"); block.addToStatements("json.append(\"} \")"); annotatedClass.addToImports(UmlgClassOperations.getPathName(classifier).append(UmlgClassOperations.propertyEnumName(classifier))); if (count++ != concreteImplementations.size()) { block.addToStatements("json.append(\"}, \")"); annotatedClass.addToImports(UmlgClassOperations.getPathName(clazz).append(UmlgClassOperations.propertyEnumName(clazz))); block.addToStatements("json.append(\"}]\")");
public static void buildDeleteNotification(OJAnnotatedClass owner, OJAnnotatedOperation delete, PropertyWrapper propertyWrapper) { OJIfStatement ifChanged = new OJIfStatement(); ifChanged.setCondition("true"); PropertyWrapper otherEnd = PropertyWrapper.from(propertyWrapper.getOtherEnd()); if (otherEnd.isMany()) { OJForStatement forStatement = new OJForStatement(otherEnd.getName(), otherEnd.javaBaseTypePath(), "this." + otherEnd.getter() + "()"); forStatement.getBody().addToStatements(constructNotifierForOtherEndMany(propertyWrapper, otherEnd)); delete.getBody().addToStatements(0, forStatement); } else { ifChanged.addToThenPart( constructNotifier(propertyWrapper) ); delete.getBody().addToStatements(0, ifChanged); } owner.addToImports(UmlgClassOperations.getPathName(propertyWrapper.getOwningType()).append(UmlgClassOperations.propertyEnumName(propertyWrapper.getOwningType()))); owner.addToImports(UmlgGenerationUtil.UmlgNotificationManager); owner.addToImports(UmlgGenerationUtil.ChangeHolder); owner.addToImports(UmlgGenerationUtil.ChangeHolder); owner.addToImports("java.util.Optional"); }
conditionBlockFrom.addToStatements("json.append(\", \\\"from\\\": \")"); conditionBlockFrom.addToStatements("json.append(" + UmlgClassOperations.propertyEnumName(concreteClassifierFrom) + ".asJson())"); annotatedClass.addToImports(UmlgClassOperations.getPathName(concreteClassifierFrom).append( UmlgClassOperations.propertyEnumName(concreteClassifierFrom))); countFrom++; annotatedClass.addToImports(UmlgClassOperations.getPathName(pWrap.getOwningType()).append( UmlgClassOperations.propertyEnumName(pWrap.getOwningType()))); annotatedClass.addToImports(UmlgClassOperations.getPathName(concreteClassifierTo) .append(UmlgClassOperations.propertyEnumName(concreteClassifierTo))); block.addToStatements("json.append(\"}\")"); if (concreteImplementations.size() != 1 && count != concreteImplementations.size()) {
annotatedClass.addToImports(UmlgClassOperations.getPathName(clazz).append(UmlgClassOperations.propertyEnumName(clazz))); tryStatement.getTryPart().addToStatements("json.append(\"}\")"); if (sortedConcreteImplementations.size() != 1 && count++ != sortedConcreteImplementations.size()) {
private void addGetParentRepresentation(Class clazz, OJAnnotatedClass annotatedClass) { OJAnnotatedOperation getParent = new OJAnnotatedOperation("getParent", UmlgRestletGenerationUtil.Representation); getParent.addParam("parent", UmlgClassOperations.getPathName(clazz)); getParent.setVisibility(OJVisibilityKindGEN.PRIVATE); getParent.addToThrows(UmlgRestletGenerationUtil.ResourceException); annotatedClass.addToImports(UmlgRestletGenerationUtil.ResourceException); getParent.getBody().addToStatements("StringBuilder json = new StringBuilder()"); annotatedClass.addToImports(UmlgClassOperations.getPathName(clazz)); getParent.getBody().addToStatements("json.append(\"[{\\\"data\\\": \")"); getParent.getBody().addToStatements("json.append(" + "parent.toJsonWithoutCompositeParent())"); getParent.getBody().addToStatements("meta", "json.append(\", \\\"meta\\\" : {\")"); getParent.getBody().addToStatements("json.append(\"\\\"qualifiedName\\\": \\\"" + clazz.getQualifiedName() + "\\\"\")"); getParent.getBody().addToStatements("json.append(\", \\\"to\\\": \")"); getParent.getBody().addToStatements("json.append(" + UmlgClassOperations.propertyEnumName(clazz) + ".asJson())"); annotatedClass.addToImports(UmlgClassOperations.getPathName(clazz).append(UmlgClassOperations.propertyEnumName(clazz))); getParent.getBody().addToStatements("json.append(\"}}]\")"); getParent.getBody().addToStatements("return new " + UmlgRestletGenerationUtil.JsonRepresentation.getLast() + "(json.toString())"); annotatedClass.addToImports(UmlgGenerationUtil.UMLGPathName); annotatedClass.addToImports(UmlgRestletGenerationUtil.JsonRepresentation); annotatedClass.addToOperations(getParent); }
public static OJAnnotatedOperation buildSetter(OJAnnotatedClass owner, PropertyWrapper pWrap) { OJAnnotatedOperation setter = new OJAnnotatedOperation(pWrap.setter()); setter.addParam(pWrap.fieldname(), pWrap.javaBaseTypePath()); if (pWrap.isMemberOfAssociationClass()) { setter.addParam(StringUtils.uncapitalize(pWrap.getAssociationClass().getName()), UmlgClassOperations.getPathName(pWrap.getAssociationClass())); } if (pWrap.isReadOnly()) { setter.setVisibility(OJVisibilityKind.PROTECTED); } PropertyWrapper otherEnd = new PropertyWrapper(pWrap.getOtherEnd()); if (pWrap.hasOtherEnd() && !pWrap.isEnumeration() && pWrap.isOneToOne()) { OJIfStatement ifNotNull = new OJIfStatement(pWrap.fieldname() + " != null"); ifNotNull.addToThenPart(pWrap.fieldname() + "." + otherEnd.clearer() + "()"); ifNotNull.addToThenPart(pWrap.fieldname() + ".initialiseProperty(" + UmlgClassOperations.propertyEnumName(otherEnd.getOwningType()) + "." + otherEnd.fieldname() + ", false, true)"); owner.addToImports(UmlgClassOperations.getPathName(otherEnd.getOwningType()).append(UmlgClassOperations.propertyEnumName(otherEnd.getOwningType()))); setter.getBody().addToStatements(ifNotNull); } setter.getBody().addToStatements(pWrap.clearer() + "()"); if (!pWrap.isMemberOfAssociationClass()) { setter.getBody().addToStatements(pWrap.adder() + "(" + pWrap.fieldname() + ")"); } else { setter.getBody().addToStatements(pWrap.adder() + "(" + pWrap.fieldname() + ", " + StringUtils.uncapitalize(pWrap.getAssociationClass().getName()) + ")"); } owner.addToOperations(setter); return setter; } }
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())");
+ otherEnd.fieldname() + ", false, true)"); ifNotNull2.addToThenPart(propertyWrapper.remover() + "(" + propertyWrapper.fieldname() + ")"); owner.addToImports(UmlgClassOperations.getPathName(otherEnd.getOwningType()).append(UmlgClassOperations.propertyEnumName(otherEnd.getOwningType()))); singleAdder.getBody().addToStatements(ifNotNull2);