@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;
}
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();
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");
+ }
}