diff --git a/AlgebraicDataflowArchitectureModel/src/generators/CodeGeneratorFromDataFlowGraph.java b/AlgebraicDataflowArchitectureModel/src/generators/CodeGeneratorFromDataFlowGraph.java index 72aac50..960a3d7 100644 --- a/AlgebraicDataflowArchitectureModel/src/generators/CodeGeneratorFromDataFlowGraph.java +++ b/AlgebraicDataflowArchitectureModel/src/generators/CodeGeneratorFromDataFlowGraph.java @@ -213,7 +213,7 @@ Map subTerms = ((Term) exp).getSubTerms(Term.class); for (Entry termEnt: subTerms.entrySet()) { Term jsonTerm = termEnt.getValue(); - if (jsonTerm.getType() == replacedJsonType) { + if (jsonTerm.getType().equals(replacedJsonType)) { MethodDeclaration childConstructor = getConstructor(childComponent); List params = new ArrayList<>(); for (VariableDeclaration var: childConstructor.getParameters()) { diff --git a/AlgebraicDataflowArchitectureModel/src/generators/JavaMethodBodyGenerator.java b/AlgebraicDataflowArchitectureModel/src/generators/JavaMethodBodyGenerator.java index f87d0e1..8218d30 100644 --- a/AlgebraicDataflowArchitectureModel/src/generators/JavaMethodBodyGenerator.java +++ b/AlgebraicDataflowArchitectureModel/src/generators/JavaMethodBodyGenerator.java @@ -594,7 +594,7 @@ Map subTerms = ((Term) exp).getSubTerms(Term.class); for (Entry termEnt: subTerms.entrySet()) { Term jsonTerm = termEnt.getValue(); - if (jsonTerm.getType() == replacedJsonType) { + if (jsonTerm.getType().equals(replacedJsonType)) { String constructorInvocation = "new " + replacingClassName + "("; MethodDeclaration childConstructor = getConstructor(childComponent); String delimiter = ""; diff --git a/AlgebraicDataflowArchitectureModel/src/generators/JerseyMethodBodyGenerator.java b/AlgebraicDataflowArchitectureModel/src/generators/JerseyMethodBodyGenerator.java index e66122a..7d15ffb 100644 --- a/AlgebraicDataflowArchitectureModel/src/generators/JerseyMethodBodyGenerator.java +++ b/AlgebraicDataflowArchitectureModel/src/generators/JerseyMethodBodyGenerator.java @@ -603,7 +603,7 @@ Map subTerms = ((Term) exp).getSubTerms(Term.class); for (Entry termEnt: subTerms.entrySet()) { Term jsonTerm = termEnt.getValue(); - if (jsonTerm.getType() == replacedJsonType) { + if (jsonTerm.getType().equals(replacedJsonType)) { String constructorInvocation = "new " + replacingClassName + "("; MethodDeclaration childConstructor = getConstructor(childComponent); String delimiter = ""; diff --git a/AlgebraicDataflowArchitectureModel/src/models/algebra/Type.java b/AlgebraicDataflowArchitectureModel/src/models/algebra/Type.java index eb827bf..e408a54 100644 --- a/AlgebraicDataflowArchitectureModel/src/models/algebra/Type.java +++ b/AlgebraicDataflowArchitectureModel/src/models/algebra/Type.java @@ -79,6 +79,17 @@ } return false; } + + @Override + public boolean equals(Object another) { + if (this == another) return true; + if (another == null) return false; + if (!(another instanceof Type)) return false; + if (!typeName.equals(((Type) another).typeName)) return false; + if (!implementationTypeName.equals(((Type) another).implementationTypeName)) return false; + if (!interfaceTypeName.equals(((Type) another).interfaceTypeName)) return false; + return true; + } public Memento createMemento() { return new Memento(implementationTypeName, interfaceTypeName, parentTypes);