Skip to content

Commit 17adee0

Browse files
committed
merge getAnnotated and getParent
1 parent f26fd6e commit 17adee0

12 files changed

+30
-42
lines changed

core/src/main/java/io/lionweb/lioncore/java/model/AnnotationInstance.java

-2
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@
1010
public interface AnnotationInstance extends ClassifierInstance<Annotation> {
1111
Annotation getAnnotationDefinition();
1212

13-
ClassifierInstance getAnnotated();
14-
1513
default Classifier<Annotation> getClassifier() {
1614
return getAnnotationDefinition();
1715
}

core/src/main/java/io/lionweb/lioncore/java/model/ClassifierInstance.java

+3
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,7 @@ public interface ClassifierInstance<T extends Classifier<T>> extends HasFeatureV
99
String getID();
1010

1111
Classifier<T> getClassifier();
12+
13+
/** The immediate parent of the Node. This should be null only for root nodes. */
14+
ClassifierInstance<T> getParent();
1215
}

core/src/main/java/io/lionweb/lioncore/java/model/Node.java

-3
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,6 @@ public interface Node extends ClassifierInstance<Concept> {
3939
*/
4040
Node getRoot();
4141

42-
/** The immediate parent of the Node. This should be null only for root nodes. */
43-
Node getParent();
44-
4542
/** The concept of which this Node is an instance. The Concept should not be abstract. */
4643
Concept getConcept();
4744

core/src/main/java/io/lionweb/lioncore/java/model/impl/DynamicAnnotationInstance.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ public Annotation getAnnotationDefinition() {
7272
}
7373

7474
@Override
75-
public ClassifierInstance getAnnotated() {
75+
public ClassifierInstance getParent() {
7676
return annotated;
7777
}
7878

core/src/main/java/io/lionweb/lioncore/java/serialization/JsonSerialization.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ private SerializedClassifierInstance serializeAnnotationInstance(
220220
Objects.requireNonNull(annotationInstance, "AnnotationInstance should not be null");
221221
SerializedAnnotationInstance serializedClassifierInstance = new SerializedAnnotationInstance();
222222
serializedClassifierInstance.setID(annotationInstance.getID());
223-
serializedClassifierInstance.setAnnotated(annotationInstance.getAnnotated().getID());
223+
serializedClassifierInstance.setParentNodeID(annotationInstance.getParent().getID());
224224
serializedClassifierInstance.setClassifier(
225225
MetaPointer.from(annotationInstance.getAnnotationDefinition()));
226226
serializeProperties(annotationInstance, serializedClassifierInstance);
@@ -396,12 +396,12 @@ private List<SerializedClassifierInstance> sortLeavesFirst(
396396
} else if (n instanceof SerializedAnnotationInstance) {
397397
SerializedAnnotationInstance serializedAnnotationInstance =
398398
(SerializedAnnotationInstance) n;
399-
if (serializedAnnotationInstance.getAnnotated() == null
399+
if (serializedAnnotationInstance.getParentNodeID() == null
400400
|| sortedList.stream()
401401
.anyMatch(
402402
sn ->
403403
Objects.equals(
404-
sn.getID(), serializedAnnotationInstance.getAnnotated()))) {
404+
sn.getID(), serializedAnnotationInstance.getParentNodeID()))) {
405405
sortedList.add(n);
406406
nodesToSort.remove(i);
407407
i--;
@@ -478,13 +478,13 @@ private List<ClassifierInstance<?>> unserializeClassifierInstances(
478478
+ n);
479479
}
480480
Node annotatedNode =
481-
(Node) unserializedByID.get(serializedAnnotationInstance.getAnnotated());
481+
(Node) unserializedByID.get(serializedAnnotationInstance.getParentNodeID());
482482
AnnotationInstance annotationInstance = (AnnotationInstance) classifierInstance;
483483
if (annotatedNode != null) {
484484
annotatedNode.addAnnotation(annotationInstance);
485485
} else {
486486
throw new IllegalStateException(
487-
"Cannot resolved annotated node " + annotationInstance.getAnnotated());
487+
"Cannot resolved annotated node " + annotationInstance.getParent());
488488
}
489489
}
490490
});

core/src/main/java/io/lionweb/lioncore/java/serialization/LowLevelJsonSerialization.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ public JsonElement serializeToJsonElement(SerializedChunk serializedChunk) {
103103
} else if (node instanceof SerializedAnnotationInstance) {
104104
SerializedAnnotationInstance serializedAnnotationInstance =
105105
(SerializedAnnotationInstance) node;
106-
nodeJson.addProperty("annotated", serializedAnnotationInstance.getAnnotated());
106+
nodeJson.addProperty("annotated", serializedAnnotationInstance.getParentNodeID());
107107
nodeJson.add("annotation", serializeToJsonElement(node.getClassifier()));
108108
} else {
109109
throw new UnsupportedOperationException();
@@ -232,7 +232,7 @@ private SerializedClassifierInstance unserializeClassifierInstance(JsonElement j
232232
new SerializedAnnotationInstance();
233233
serializedAnnotationInstance.setClassifier(
234234
SerializationUtils.tryToGetMetaPointerProperty(jsonObject, "annotation"));
235-
serializedAnnotationInstance.setAnnotated(
235+
serializedAnnotationInstance.setParentNodeID(
236236
SerializationUtils.tryToGetStringProperty(jsonObject, "annotated"));
237237
serializedClassifierInstance = serializedAnnotationInstance;
238238
} else {

core/src/main/java/io/lionweb/lioncore/java/serialization/data/SerializedAnnotationInstance.java

+4-14
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,14 @@
33
import java.util.Objects;
44

55
public class SerializedAnnotationInstance extends SerializedClassifierInstance {
6-
private String annotatedID;
7-
8-
public String getAnnotated() {
9-
return annotatedID;
10-
}
11-
12-
public void setAnnotated(String annotatedID) {
13-
this.annotatedID = annotatedID;
14-
}
15-
166
@Override
177
public boolean equals(Object o) {
188
if (this == o) return true;
199
if (!(o instanceof SerializedAnnotationInstance)) return false;
2010
SerializedAnnotationInstance that = (SerializedAnnotationInstance) o;
2111
return Objects.equals(id, that.id)
2212
&& Objects.equals(classifier, that.classifier)
23-
&& Objects.equals(annotatedID, that.annotatedID)
13+
&& Objects.equals(parentNodeID, that.parentNodeID)
2414
&& Objects.equals(properties, that.properties)
2515
&& Objects.equals(containments, that.containments)
2616
&& Objects.equals(annotations, that.annotations)
@@ -29,7 +19,7 @@ public boolean equals(Object o) {
2919

3020
@Override
3121
public int hashCode() {
32-
return Objects.hash(id, classifier, annotatedID, properties, containments, references);
22+
return Objects.hash(id, classifier, parentNodeID, properties, containments, references);
3323
}
3424

3525
@Override
@@ -40,8 +30,8 @@ public String toString() {
4030
+ '\''
4131
+ ", concept="
4232
+ classifier
43-
+ ", annotatedID='"
44-
+ annotatedID
33+
+ ", parentNodeID='"
34+
+ parentNodeID
4535
+ '\''
4636
+ ", properties="
4737
+ properties

core/src/main/java/io/lionweb/lioncore/java/serialization/data/SerializedClassifierInstance.java

+9
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,15 @@ public abstract class SerializedClassifierInstance {
1616
protected List<SerializedContainmentValue> containments = new ArrayList<>();
1717
protected List<SerializedReferenceValue> references = new ArrayList<>();
1818
protected List<String> annotations = new ArrayList<>();
19+
protected String parentNodeID;
20+
21+
public String getParentNodeID() {
22+
return parentNodeID;
23+
}
24+
25+
public void setParentNodeID(String parentNodeID) {
26+
this.parentNodeID = parentNodeID;
27+
}
1928

2029
public SerializedClassifierInstance() {}
2130

core/src/main/java/io/lionweb/lioncore/java/serialization/data/SerializedNodeInstance.java

-9
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,6 @@
33
import java.util.Objects;
44

55
public class SerializedNodeInstance extends SerializedClassifierInstance {
6-
private String parentNodeID;
7-
8-
public String getParentNodeID() {
9-
return parentNodeID;
10-
}
11-
12-
public void setParentNodeID(String parentNodeID) {
13-
this.parentNodeID = parentNodeID;
14-
}
156

167
@Override
178
public boolean equals(Object o) {

core/src/main/java/io/lionweb/lioncore/java/utils/ModelComparator.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ private void compare(
295295
if (Objects.equals(
296296
nodeA.getAnnotationDefinition().getID(), nodeB.getAnnotationDefinition().getID())) {
297297
Annotation concept = nodeA.getAnnotationDefinition();
298-
if (!Objects.equals(nodeA.getAnnotated().getID(), nodeB.getAnnotated().getID())) {
298+
if (!Objects.equals(nodeA.getParent().getID(), nodeB.getParent().getID())) {
299299
comparisonResult.markDifferentAnnotated(context, nodeA.getID(), nodeB.getID());
300300
}
301301
compareProperties(concept, nodeA, nodeB, comparisonResult, context);

core/src/test/java/io/lionweb/lioncore/java/model/impl/DynamicNodeTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ public void addAnnotations() {
129129
assertEquals(Arrays.asList(a2_3, a2_4), n1.getAnnotations(a2));
130130

131131
n1.removeAnnotation(a2_3);
132-
assertEquals(null, a2_3.getAnnotated());
132+
assertEquals(null, a2_3.getParent());
133133
assertEquals(Arrays.asList(a1_1, a1_2, a2_4), n1.getAnnotations());
134134
assertEquals(Arrays.asList(a1_1, a1_2), n1.getAnnotations(a1));
135135
assertEquals(Arrays.asList(a2_4), n1.getAnnotations(a2));

core/src/test/java/io/lionweb/lioncore/java/serialization/JsonSerializationTest.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -555,16 +555,16 @@ public void serializeAnnotations() {
555555
assertEquals(Arrays.asList("a1_1", "a1_2", "a2_3"), serializedN1.getAnnotations());
556556
SerializedAnnotationInstance serializedA1_1 =
557557
(SerializedAnnotationInstance) serializedChunk.getClassifierInstances().get(1);
558-
assertEquals("n1", serializedA1_1.getAnnotated());
558+
assertEquals("n1", serializedA1_1.getParentNodeID());
559559

560560
List<ClassifierInstance<?>> unserialized = hjs.unserializeSerializationBlock(serializedChunk);
561561
assertEquals(4, unserialized.size());
562562
assertInstancesAreEquals(a1_1, unserialized.get(1));
563-
assertEquals(unserialized.get(0), ((AnnotationInstance) unserialized.get(1)).getAnnotated());
563+
assertEquals(unserialized.get(0), unserialized.get(1).getParent());
564564
assertInstancesAreEquals(a1_2, unserialized.get(2));
565-
assertEquals(unserialized.get(0), ((AnnotationInstance) unserialized.get(2)).getAnnotated());
565+
assertEquals(unserialized.get(0), unserialized.get(2).getParent());
566566
assertInstancesAreEquals(a2_3, unserialized.get(3));
567-
assertEquals(unserialized.get(0), ((AnnotationInstance) unserialized.get(3)).getAnnotated());
567+
assertEquals(unserialized.get(0), unserialized.get(3).getParent());
568568
assertInstancesAreEquals(n1, unserialized.get(0));
569569
assertEquals(
570570
Arrays.asList(unserialized.get(1), unserialized.get(2), unserialized.get(3)),

0 commit comments

Comments
 (0)