return;
this.alternativePipeRun = pipeRun;
if (getControlPoint().isDualInline()) {
- PipeControlPoint sub = getControlPoint().getSubPoint().get(0);
- if (sub.getParent() != this.alternativePipeRun)
- this.alternativePipeRun.addChild(sub);
+ PipeControlPoint sub = getControlPoint().getDualSub();
+ if (sub.getParent() != this.alternativePipeRun) {
+ if (this.alternativePipeRun != null) {
+ this.alternativePipeRun.addChild(sub);
+ } else if (sub.getPipeRun() != null) {
+ // FIXME : how to handle child point without proper run?
+ sub.getPipeRun().remChild(sub);
+ }
+ }
+
}
firePropertyChanged(Plant3D.URIs.HasAlternativePipeRun);
}
}
setParameterMap(parameters);
}
+
+ public void setParameter(String name, Object value) {
+ Map<String, Object> parameters = new HashMap<>(getParameterMap());
+ parameters.put(name, value);
+ setParameterMap(parameters);
+ }
public abstract void setType(String typeURI) throws Exception;
@RelatedSetObj(Plant3D.URIs.HasNext)
public void setNext(PipelineComponent comp) {
- if (next == comp)
+ if (next == comp) {
+ syncNext();
return;
+ }
if (this.next != null)
this.next._removeRef(this);
_setNext(comp);
@RelatedSetObj(Plant3D.URIs.HasPrevious)
public void setPrevious(PipelineComponent comp) {
- if (previous == comp)
+ if (previous == comp) {
+ syncPrevious();
return;
+ }
if (this.previous != null)
this.previous._removeRef(this);
_setPrevious(comp);
@RelatedSetObj(Plant3D.URIs.HasBranch0)
public void setBranch0(PipelineComponent comp) {
- if (branch0 == comp)
+ if (branch0 == comp) {
+ syncBranch0();
return;
+ }
if (this.branch0 != null)
this.branch0._removeRef(this);
this.branch0 = comp;
private PipeControlPoint getBranchPoint() {
PipeControlPoint branchPoint;
- if (getControlPoint().getSubPoint().size() > 0) {
- branchPoint = getControlPoint().getSubPoint().get(0);
+ if (getControlPoint().getChildPoints().size() > 0) {
+ branchPoint = getControlPoint().getChildPoints().get(0);
} else {
if (branch0.getPipeRun() == null)
return null;
if (pcp.getNext() != nextPCP) {
pcp.setNext(nextPCP);
}
- if (pcp.isDualInline()) {
- PipeControlPoint sub = pcp.getSubPoint().get(0);
- if (sub.getNext() != nextPCP)
- sub.setNext(nextPCP);
- }
+// if (pcp.isDualInline()) {
+// PipeControlPoint sub = pcp.getChildPoints().get(0);
+// if (sub.getNext() != nextPCP)
+// sub.setNext(nextPCP);
+// }
return true;
}
private boolean _connectPrev(PipeControlPoint pcp, PipeControlPoint prevPCP) {
if (prevPCP == null)
return false;
- if (prevPCP.isDualInline())
- prevPCP = prevPCP.getSubPoint().get(0);
+// if (prevPCP.isDualInline())
+// prevPCP = prevPCP.getChildPoints().get(0);
if (pcp.getPrevious() != prevPCP) {
pcp.setPrevious(prevPCP);
}
- if (pcp.isDualInline()) {
- PipeControlPoint sub = pcp.getSubPoint().get(0);
- if (sub.getPrevious() != prevPCP)
- sub.setPrevious(prevPCP);
- }
+// if (pcp.isDualInline()) {
+// PipeControlPoint sub = pcp.getChildPoints().get(0);
+// if (sub.getPrevious() != prevPCP)
+// sub.setPrevious(prevPCP);
+// }
return true;
}
}
boolean syncnext = false;
- private void syncNext() {
+ protected void syncNext() {
if (syncnext)
return;
syncnext = _syncNext();
}
boolean syncprev = false;
- private void syncPrevious() {
+ protected void syncPrevious() {
if (syncprev)
return;
syncprev = _syncPrevious();
}
boolean syncbr0 = false;
- private void syncBranch0() {
+ protected void syncBranch0() {
if (syncbr0)
return;
syncbr0 = _syncBranch0();
return false;
}
- } else if (getControlPoint().getSubPoint().size() > 0) { // TODO : this may cause problems? (Removes branch point, before branch has been set?)
+ } else if (getControlPoint().getChildPoints().size() > 0) { // TODO : this may cause problems? (Removes branch point, before branch has been set?)
//getControlPoint().getSubPoint().get(0).remove();
//getControlPoint().children.clear();
return true;
}
public Map<String,Object> updateParameterMap() {
- return Collections.EMPTY_MAP;
+ return Collections.emptyMap();
}
public abstract String getType();
if (pcp != null && pcp.getPipelineComponent() != null) {
pcp.remove();
}
+ setPipeRun(null);
super.remove();
}
if (pcp != null && pcp.getPipelineComponent() != null) {
pcp.removeAndSplit();
}
+ setPipeRun(null);
super.remove();
}
throw new IllegalStateException("No centroid defined");
}
}
+
+
+ private String error;
+
+ /**
+ * Returns possible pipe modelling error, or null;
+ * @return
+ */
+ @GetPropertyValue(name="Error", value="error", tabId = "Default")
+ public String getError() {
+ return error;
+ }
+
+ /**
+ * Sets pipe modelling error.
+ *
+ * Error is usually set by PipingRules.
+ * @param error
+ */
+ public void setError(String error) {
+ if (this.error == null) {
+ if (error == null)
+ return;
+ } else if (this.error.equals(error))
+ return;
+ this.error = error;
+ firePropertyChanged("error");
+ }
}