X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.interop.update%2Fsrc%2Forg%2Fsimantics%2Finterop%2Fupdate%2Fmodel%2FUpdateNode.java;h=3a7953174bd3ffb6b080af45cbe8f039ed5ced72;hb=f13ae5d0bf1d136232cbce22b1a31be429ca2b54;hp=de9d685abd84fafdeccf9ab69914555f23bc608d;hpb=6af8d67b9d34bb9e8cc4b4c8bd5e95e70c16f104;p=simantics%2Finterop.git diff --git a/org.simantics.interop.update/src/org/simantics/interop/update/model/UpdateNode.java b/org.simantics.interop.update/src/org/simantics/interop/update/model/UpdateNode.java index de9d685..3a79531 100644 --- a/org.simantics.interop.update/src/org/simantics/interop/update/model/UpdateNode.java +++ b/org.simantics.interop.update/src/org/simantics/interop/update/model/UpdateNode.java @@ -8,19 +8,15 @@ import org.simantics.db.ReadGraph; import org.simantics.db.Resource; import org.simantics.db.common.utils.NameUtils; import org.simantics.db.exception.DatabaseException; -import org.simantics.db.exception.NoSingleResultException; -import org.simantics.db.exception.ServiceException; -import org.simantics.db.exception.ValidationException; import org.simantics.layer0.Layer0; public class UpdateNode { - public enum Status {EXIST,DELETED,NEW,CONTAINS}; - - - private Status status; + private UpdateStatus status; private UpdateOp op; private Resource r; + private String label; + private boolean visible = true; private Collection children = new ArrayList(); @@ -30,18 +26,24 @@ public class UpdateNode { * @param status * @param changes */ - public UpdateNode(Status status, UpdateOp op) { + public UpdateNode(ReadGraph g, UpdateStatus status, UpdateOp op) throws DatabaseException{ this.status = status; this.op = op; this.r = op.getResource(); + init(g); } - public UpdateNode(Status status, Resource r) { + public UpdateNode(ReadGraph g, UpdateStatus status, Resource r) throws DatabaseException { this.status = status; this.op = null; this.r = r; + init(g); + } + + protected void init(ReadGraph g) throws DatabaseException { + this.label = getLabel(g, r); } public Resource getResource() { @@ -53,11 +55,11 @@ public class UpdateNode { return g.getPossibleObject(r, l0.PartOf); } - public void setStatus(Status status) { + public void setStatus(UpdateStatus status) { this.status = status; } - public Status getStatus() { + public UpdateStatus getStatus() { return status; } @@ -79,11 +81,16 @@ public class UpdateNode { return null; } - public String getLabel(ReadGraph graph) throws DatabaseException { - return getLabel(graph,r); + public String getLabel() { + return label; + } + + @Override + public String toString() { + return label; } - protected String getLabel(ReadGraph graph, Resource r) throws ValidationException, ServiceException, NoSingleResultException { + protected String getLabel(ReadGraph graph, Resource r) throws DatabaseException { String label = NameUtils.getSafeLabel(graph, r); if (label.length() == 0) label = NameUtils.getSafeName(graph, r); @@ -95,5 +102,15 @@ public class UpdateNode { public UpdateOp getOp() { return op; } + + public boolean isVisible() { + return visible; + } + + public void setVisible(boolean visible) { + this.visible = visible; + if (op != null) + op.visible = visible; + } }