diff --git a/src/main/java/models/objectOrientedTransfer/DataTransferDesign.java b/src/main/java/models/objectOrientedTransfer/DataTransferDesign.java index 90a2fd5..782548a 100644 --- a/src/main/java/models/objectOrientedTransfer/DataTransferDesign.java +++ b/src/main/java/models/objectOrientedTransfer/DataTransferDesign.java @@ -108,7 +108,7 @@ newSrcResource = relation.getDstResource(); newDstResource = relation.getSrcResource(); } - if (dstResource.size() < newDstResource.size()) { + if (dstResource.size() < newDstResource.size() || srcResource.size() < newSrcResource.size()) { List oneDestination = new ArrayList<>(); List manyDestinations = new ArrayList<>(); for (int i = 0; i < newDstResource.size(); i++) { diff --git a/src/main/java/models/objectOrientedTransfer/Relation.java b/src/main/java/models/objectOrientedTransfer/Relation.java index a2388ed..e955b06 100644 --- a/src/main/java/models/objectOrientedTransfer/Relation.java +++ b/src/main/java/models/objectOrientedTransfer/Relation.java @@ -17,7 +17,23 @@ this.dstResource = dstResource; this.multiplicity = multiplicity; } - + + public Relation(ObjectNode srcResourceNode, List dstResource, MultiplicityValue multiplicity) { + isFlat = false; + this.srcResource = new ArrayList<>(); + this.dstResource = dstResource; + this.srcResourceNode = srcResourceNode; + this.multiplicity = multiplicity; + } + + public Relation(List srcResource, ObjectNode dstResourceNode, MultiplicityValue multiplicity) { + isFlat = false; + this.srcResource = srcResource; + this.dstResource = new ArrayList<>(); + this.dstResourceNode = dstResourceNode; + this.multiplicity = multiplicity; + } + public Relation(ObjectNode srcResourceNode, ObjectNode dstResourceNode, MultiplicityValue multiplicity) { this.isFlat = true; this.srcResource = new ArrayList<>();