private void addEntry(OJAnnotatedClass groovyImporter, Class clazz) { groovyImporter.addToStaticBlock( new OJSimpleStatement( // "imports.add(\"" + Namer.name(clazz.getNearestPackage()) + "*\")" "imports.add(\"" + Namer.name(clazz.getNearestPackage()) + "." + Namer.name(clazz) + "\")" ) ); groovyImporter.addToStaticBlock( new OJSimpleStatement( "importStatic.add(\"" + Namer.name(clazz.getNearestPackage()) + "." + UmlgClassOperations.className(clazz) + "." + UmlgClassOperations.propertyEnumName(clazz) + "\")" ) ); }
@Override public Object caseClass(org.eclipse.uml2.uml.Class class_) { if (!isEGenericType(class_) && !class_.isTemplateParameter()) { org.eclipse.uml2.uml.Package package_ = class_ .getNearestPackage(); if (package_ != null) { EClass eClass = EcoreFactory.eINSTANCE.createEClass(); elementToEModelElementMap.put(class_, eClass); EPackage ePackage = (EPackage) doSwitch(package_); ePackage.getEClassifiers().add(eClass); setName(eClass, class_); eClass.setAbstract(class_.isAbstract()); defaultCase(class_); return eClass; } } return super.caseClass(class_); }
private void addVertexEntries(OJAnnotatedClass globalMap, Class clazz) { OJAnnotatedOperation addAllEntries = globalMap.findOperation("addAllVertexEntries"); List<Classifier> generals = UmlgClassOperations.getGeneralizationHierarchy(clazz); List<String> generalsQualifiedNames = convertClassifierHierarchy(generals); if (UmlgBehavioredClassifierOperations.hasBehavior(clazz)) { generalsQualifiedNames.add(UmlgGenerationUtil.BASE_BEHAVIORED_CLASSIFIER_QUALIFIEDNAME); } else { generalsQualifiedNames.add(UmlgGenerationUtil.BaseUmlgCompositionNodeQualifiedName); } Collections.reverse(generalsQualifiedNames); addAllEntries.getBody().addToStatements("this." + UmlgGenerationUtil.QualifiedNameVertexSchemaSet + ".add(Arrays.asList(" + convertToCommaSeparatedList(generalsQualifiedNames) + "))"); //Add in the meta classes if (!clazz.isAbstract()) { OJAnnotatedClass metaClass = new OJAnnotatedClass(UmlgClassOperations.getMetaClassName(clazz)); OJPackage ojPackage = new OJPackage(Namer.name(clazz.getNearestPackage()) + ".meta"); metaClass.setMyPackage(ojPackage); String qualifiedName = metaClass.getQualifiedName(); addAllEntries.getBody().addToStatements("this." + UmlgGenerationUtil.QualifiedNameVertexSchemaSet + ".add(Arrays.asList(\"" + qualifiedName + "\"))"); } //Special entry for the root vertex and deletion vertex addAllEntries.getBody().addToStatements("this." + UmlgGenerationUtil.QualifiedNameVertexSchemaSet + ".add(Arrays.asList(\"rootVertex\"))"); addAllEntries.getBody().addToStatements("this." + UmlgGenerationUtil.QualifiedNameVertexSchemaSet + ".add(Arrays.asList(\"deletionVertex\"))"); globalMap.addToImports(UmlgClassOperations.getPathName(clazz)); globalMap.addToImports("java.util.Arrays"); }
@Override @VisitSubclasses({Class.class, AssociationClass.class}) public void visitBefore(Class clazz) { OJPackage ojPackage = new OJPackage(Namer.name(clazz.getNearestPackage())); OJAnnotatedClass annotatedClass = new OJAnnotatedClass(UmlgClassOperations.className(clazz) + "CompositePathServerResourceImpl"); annotatedClass.setSuperclass(UmlgRestletGenerationUtil.ServerResource); annotatedClass.setMyPackage(ojPackage); annotatedClass.setVisibility(UmlgClassOperations.getVisibility(clazz.getVisibility())); addToSource(annotatedClass); addPrivateIdVariable(clazz, annotatedClass); addDefaultConstructor(annotatedClass); addGetRepresentation(clazz, annotatedClass); addToRouterEnum(clazz, annotatedClass); }
@Override @VisitSubclasses({Class.class, AssociationClass.class}) public void visitBefore(org.eclipse.uml2.uml.Class clazz) { OJAnnotatedClass annotatedClass = new OJAnnotatedClass(UmlgClassOperations.className(clazz)); OJPackage ojPackage = new OJPackage(Namer.name(clazz.getNearestPackage())); annotatedClass.setMyPackage(ojPackage); annotatedClass.setVisibility(UmlgClassOperations.getVisibility(clazz.getVisibility())); annotatedClass.setAbstract(clazz.isAbstract()); annotatedClass.getDefaultConstructor(); // The super class will be set later after all classes have been created if (UmlgBehavioredClassifierOperations.hasBehavior(clazz)) { annotatedClass.setSuperclass(UmlgGenerationUtil.BASE_BEHAVIORED_CLASSIFIER); } else { annotatedClass.setSuperclass(UmlgGenerationUtil.BaseUmlgCompositionNode); } addToSource(annotatedClass); }
@Override @VisitSubclasses({Class.class, AssociationClass.class}) public void visitBefore(Class clazz) { if (!clazz.isAbstract() && !UmlgClassOperations.hasCompositeOwner(clazz) && !(clazz instanceof AssociationClass)) { OJPackage ojPackage = new OJPackage(Namer.name(clazz.getNearestPackage())); OJAnnotatedClass annotatedClass = new OJAnnotatedClass(UmlgClassOperations.className(clazz) + "s_ServerResourceImpl"); annotatedClass.setSuperclass(UmlgRestletGenerationUtil.ServerResource); annotatedClass.setMyPackage(ojPackage); annotatedClass.setVisibility(UmlgClassOperations.getVisibility(clazz.getVisibility())); addToSource(annotatedClass); addDefaultConstructor(annotatedClass); addGetRootObjectRepresentation(clazz, annotatedClass); addOptionsRootObjectRepresentation(clazz, annotatedClass); addPostObjectRepresentation(clazz, annotatedClass); addToRouterEnum(clazz, annotatedClass); } }
@Override @VisitSubclasses({Class.class, AssociationClass.class}) public void visitBefore(Class clazz) { if (!clazz.isAbstract()) { OJPackage ojPackage = new OJPackage(Namer.name(clazz.getNearestPackage())); OJAnnotatedClass annotatedClass = new OJAnnotatedClass(getLookupServerResourceImplName(clazz)); annotatedClass.setSuperclass(UmlgRestletGenerationUtil.ServerResource); annotatedClass.setMyPackage(ojPackage); annotatedClass.setVisibility(UmlgClassOperations.getVisibility(clazz.getVisibility())); addToSource(annotatedClass); addPrivateIdVariable(clazz, annotatedClass); addDefaultConstructor(annotatedClass); if (!clazz.isAbstract()) { addPutRepresentation(clazz, annotatedClass); } addToRouterEnum(clazz, annotatedClass); } }
@Override @VisitSubclasses({Class.class, AssociationClass.class}) public void visitBefore(Class clazz) { if (!clazz.isAbstract() && !UmlgClassOperations.hasCompositeOwner(clazz) && !(clazz instanceof AssociationClass)) { OJAnnotatedInterface annotatedInf = new OJAnnotatedInterface(UmlgClassOperations.className(clazz) + "s_LookupServerResource"); OJPackage ojPackage = new OJPackage(Namer.name(clazz.getNearestPackage())); annotatedInf.setMyPackage(ojPackage); addToSource(annotatedInf); OJAnnotatedClass annotatedClass = new OJAnnotatedClass(UmlgClassOperations.className(clazz) + "s_LookupServerResourceImpl"); annotatedClass.setSuperclass(UmlgRestletGenerationUtil.ServerResource); annotatedClass.setMyPackage(ojPackage); annotatedClass.addToImplementedInterfaces(annotatedInf.getPathName()); annotatedClass.setVisibility(UmlgClassOperations.getVisibility(clazz.getVisibility())); addToSource(annotatedClass); addDefaultConstructor(annotatedClass); addPostObjectRepresentation(clazz, annotatedInf, annotatedClass); addToRouterEnum(clazz, annotatedClass); } }
public void visitBefore(Class clazz) { OJAnnotatedClass metaClass = new OJAnnotatedClass(UmlgClassOperations.getMetaClassName(clazz)); OJPackage ojPackage = new OJPackage(Namer.name(clazz.getNearestPackage()) + ".meta"); metaClass.setMyPackage(ojPackage); metaClass.setVisibility(UmlgClassOperations.getVisibility(clazz.getVisibility()));