public void setUpMocks() throws Exception { String fullQualifiedName = "de::crowdcode::kissmda::testapp::components::Company"; clazz = mock(Class.class); when(clazz.getQualifiedName()).thenReturn(fullQualifiedName); when(clazz.getName()).thenReturn("Company"); when(clazz.getAssociations()) .thenReturn(new UniqueEList<Association>()); when(clazz.getImplementedInterfaces()).thenReturn( new UniqueEList<Interface>()); }
if (!umlClass.getGeneralizations().isEmpty()) {return;} if (umlClass.getAttribute(name, umlClass) == null) umlClass.eResource().getResourceSet(), type, MetafacadeConstants.NAMESPACE_SCOPE_OPERATOR, final Property property = umlClass.createOwnedAttribute( name, element,
@Override public EList<Operation> caseClass(org.eclipse.uml2.uml.Class class_) { return class_.getOwnedOperations(); }
private void setSuperClass(OJAnnotatedClass annotatedClass, Class clazz) { List<Classifier> generals = clazz.getGenerals(); if (generals.size() > 1) { throw new IllegalStateException( String.format("Multiple inheritance is not supported! Class %s has more than on genereralization.", clazz.getName())); } if (!generals.isEmpty()) { Classifier superClassifier = generals.get(0); OJAnnotatedClass superClass = findOJClass(superClassifier); annotatedClass.setSuperclass(superClass.getPathName()); } }
@Override @VisitSubclasses({Class.class, AssociationClass.class}) public void visitBefore(Class clazz) { OJAnnotatedClass annotatedClass = findOJClass(clazz); if (clazz.getGenerals().isEmpty()) { addImplementsTumlRestletNode(annotatedClass); } if (!clazz.isAbstract()) { addGetUmlName(annotatedClass, clazz); } }
@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); } }
@Test public void testGenerateClassCheckedExceptionWithInheritance() { EList<Generalization> generalizations = new UniqueEList<Generalization>(); Generalization generalization = mock(Generalization.class); Class clazzGeneralization = mock(Class.class); generalizations.add(generalization); when(generalization.getGeneral()).thenReturn(clazzGeneralization); when(clazzGeneralization.getQualifiedName()).thenReturn( "de::test::SuperCompanyException"); when(clazz.getGeneralizations()).thenReturn(generalizations); AST ast = AST.newAST(AST.JLS3); CompilationUnit cu = ast.newCompilationUnit(); TypeDeclaration typeDeclaration = exceptionGenerator.generateClass( clazz, ast, cu); assertEquals(typeDeclaration.toString(), "public class CompanyException extends de.test.SuperCompanyException {\n}\n"); }
/** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public org.eclipse.uml2.uml.Class getSuperClass(String name, boolean ignoreCase, EClass eClass) { superClassLoop : for (org.eclipse.uml2.uml.Class superClass : getSuperClasses()) { if (eClass != null && !eClass.isInstance(superClass)) continue superClassLoop; if (name != null && !(ignoreCase ? name.equalsIgnoreCase(superClass.getName()) : name.equals(superClass.getName()))) continue superClassLoop; return superClass; } return null; }
private void addCheckConstraints(OJAnnotatedClass annotatedClass, Class clazz) { OJAnnotatedOperation checkConstraints = new OJAnnotatedOperation("checkClassConstraints", new OJPathName("java.util.List").addToGenerics(UmlgGenerationUtil.UmlgConstraintViolation)); UmlgGenerationUtil.addOverrideAnnotation(checkConstraints); OJField result = new OJField("result", new OJPathName("java.util.List").addToGenerics(UmlgGenerationUtil.UmlgConstraintViolation)); result.setInitExp("new ArrayList<" + UmlgGenerationUtil.UmlgConstraintViolation.getLast() + ">()"); checkConstraints.getBody().addToLocals(result); List<Constraint> constraints = ModelLoader.INSTANCE.getConstraints(clazz); if (!clazz.getGeneralizations().isEmpty()) { checkConstraints.getBody().addToStatements("result.addAll(super.checkClassConstraints())"); } for (Constraint constraint : constraints) { checkConstraints.getBody().addToStatements("result.addAll(" + UmlgClassOperations.checkClassConstraintName(constraint) + "())"); } checkConstraints.getBody().addToStatements("return result"); annotatedClass.addToOperations(checkConstraints); }
@Override public boolean filter(Element e) { return e instanceof Class && !((Class) e).isAbstract() && !(e instanceof Behavior); } });
@Test public void testGetFullPackageNameWithClass() { Class clazz = mock(Class.class); when(clazz.getQualifiedName()).thenReturn( "Data::de::crowdcode::test::Company"); String sourceDirectoryPackageName = "Data"; String result = packageHelper.getFullPackageName(clazz, sourceDirectoryPackageName); verify(clazz, atLeastOnce()).getQualifiedName(); assertEquals("de.crowdcode.test.Company", result); }
private void addTumlOverloadedPostUriToLiteral(Class clazz, PropertyWrapper pWrap, OJEnumLiteral literal, boolean forAssociationClass) { String uri; if (literal.getName().equals(clazz.getModel().getName())) { uri = "\"/" + clazz.getModel().getName() + "\""; } else { if (clazz != null && pWrap != null) { uri = "\"/" + contextPath + "/overloadedpost/" + clazz.getName().toLowerCase() + "s/{" + clazz.getName().toLowerCase() + "Id}/" + literal.getName() + "\"";
fromInverseQualifiedName, StringUtils.uncapitalize(UmlgClassOperations.className(clazz)), clazz.getQualifiedName(), clazz.getName(), "inverseOf::" + clazz.getName(), "inverseOf::" + clazz.getQualifiedName(), false, false, null, Collections.<Validation>emptyList(), true, false, false, false, true, false, false, true, false, -1, 0, 1, false, false, false/*ordered*/, false, true, true, false, true, "root" + UmlgClassOperations.className(clazz),
public static Set<Property> getPropertiesOnRealizedInterfaces(org.eclipse.uml2.uml.Class clazz) { Set<Property> result = new HashSet<Property>(); List<Interface> interfaces = clazz.getImplementedInterfaces(); for (Interface inf : interfaces) { Set<Property> properties = UmlgInterfaceOperations.getAllProperties(inf); for (Property p : properties) { result.add(p); } } return result; }
if (metaclass == null || !metaclass.isMetaclass() || stereotype.getExtendedMetaclasses().contains(metaclass)) { .contains(metaclass.getModel())) { String metaclassName = metaclass.getName(); Extension extension = (Extension) profile.createOwnedType(metaclassName + '_' + name, UMLPackage.Literals.EXTENSION);
@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 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); } }
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"); }
MethodDeclaration md = ast.newMethodDeclaration(); md.setConstructor(true); md.setName(ast.newSimpleName(clazz.getName())); md.modifiers().add( ast.newModifier(Modifier.ModifierKeyword.PRIVATE_KEYWORD)); Answers.RETURNS_DEEP_STUBS.get()); when(clazz.getAttributes()).thenReturn(properties); when(properties.iterator()).thenReturn(propertyIter); when(propertyIter.hasNext()).thenReturn(true).thenReturn(true)
/** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public org.eclipse.uml2.uml.Class getClass_() { org.eclipse.uml2.uml.Class class_ = basicGetClass_(); return class_ != null && class_.eIsProxy() ? (org.eclipse.uml2.uml.Class) eResolveProxy((InternalEObject) class_) : class_; }