use of org.eclipse.sapphire.LayeredListPropertyBinding in project liferay-ide by liferay.
the class WorkflowNodeMetadataResource method createBinding.
@Override
protected PropertyBinding createBinding(Property property) {
PropertyBinding binding = null;
PropertyDef def = property.definition();
if (WorkflowNodeMetadata.PROP_TERMINAL.equals(def)) {
binding = new ValuePropertyBinding() {
@Override
public String read() {
return Boolean.toString(WorkflowNodeMetadataResource.this._metadata.isTerminal());
}
@Override
public void write(String value) {
WorkflowNodeMetadataResource.this._metadata.setTerminal(Boolean.parseBoolean(value));
saveMetadata();
}
};
} else if (WorkflowNodeMetadata.PROP_POSITION.equals(def)) {
binding = new ElementPropertyBinding() {
@Override
public Resource read() {
return new PositionResource(WorkflowNodeMetadataResource.this._metadata.getNodeLocation(), WorkflowNodeMetadataResource.this);
}
@Override
public ElementType type(Resource resource) {
return Position.TYPE;
}
};
} else if (WorkflowNodeMetadata.PROP_TRANSITIONS_METADATA.equals(def)) {
binding = new LayeredListPropertyBinding() {
@Override
public void remove(Resource resource) {
TransitionMetadataResource transitionMetaResource = (TransitionMetadataResource) resource;
List<TransitionMetadataObject> transitionMetadataObject = WorkflowNodeMetadataResource.this._metadata.getTransitionsMetadata();
transitionMetadataObject.remove(transitionMetaResource.getMetadata());
saveMetadata();
}
@Override
public ElementType type(Resource resource) {
return TransitionMetadata.TYPE;
}
@Override
protected Object insertUnderlyingObject(ElementType type, int position) {
TransitionMetadataObject newTransitionMeta = new TransitionMetadataObject();
List<TransitionMetadataObject> transitionMetadataObject = WorkflowNodeMetadataResource.this._metadata.getTransitionsMetadata();
transitionMetadataObject.add(position, newTransitionMeta);
saveMetadata();
return newTransitionMeta;
}
@Override
protected List<?> readUnderlyingList() {
return WorkflowNodeMetadataResource.this._metadata.getTransitionsMetadata();
}
@Override
protected Resource resource(Object obj) {
return new TransitionMetadataResource((TransitionMetadataObject) obj, WorkflowNodeMetadataResource.this);
}
};
}
if (binding != null) {
binding.init(property);
}
return binding;
}
use of org.eclipse.sapphire.LayeredListPropertyBinding in project liferay-ide by liferay.
the class TransitionMetadataResource method createBinding.
@Override
protected PropertyBinding createBinding(Property property) {
PropertyBinding binding = null;
PropertyDef def = property.definition();
if (TransitionMetadata.PROP_NAME.equals(def)) {
binding = new ValuePropertyBinding() {
@Override
public String read() {
return TransitionMetadataResource.this._metadata.getName();
}
@Override
public void write(String value) {
TransitionMetadataResource.this._metadata.setName(value);
WorkflowNodeMetadataResource wfNodeMetadataResource = parent().adapt(WorkflowNodeMetadataResource.class);
wfNodeMetadataResource.saveMetadata();
}
};
} else if (TransitionMetadata.PROP_LABEL_LOCATION.equals(def)) {
binding = new LayeredElementBindingImpl() {
@Override
public ElementType type(Resource resource) {
return Position.TYPE;
}
@Override
protected Resource createResource(Object obj) {
return new LabelPositionResource((Point) obj, TransitionMetadataResource.this);
}
@Override
protected Object readUnderlyingObject() {
return TransitionMetadataResource.this._metadata.getLabelPosition();
}
};
} else if (TransitionMetadata.PROP_BENDPOINTS.equals(def)) {
binding = new LayeredListPropertyBinding() {
@Override
public void remove(Resource resource) {
if (resource instanceof PositionResource) {
List<Point> bendPoints = TransitionMetadataResource.this._metadata.getBendpoints();
bendPoints.remove(((PositionResource) resource).getPoint());
WorkflowNodeMetadataResource wfNodeMetadataResource = parent().adapt(WorkflowNodeMetadataResource.class);
wfNodeMetadataResource.saveMetadata();
}
}
@Override
public ElementType type(Resource resource) {
return ConnectionBendpoint.TYPE;
}
@Override
protected Object insertUnderlyingObject(ElementType type, int position) {
Point newBendpoint = new Point();
List<Point> bendPoints = TransitionMetadataResource.this._metadata.getBendpoints();
bendPoints.add(position, newBendpoint);
WorkflowNodeMetadataResource wfNodeMetadataResource = parent().adapt(WorkflowNodeMetadataResource.class);
wfNodeMetadataResource.saveMetadata();
return newBendpoint;
}
@Override
protected List<?> readUnderlyingList() {
return TransitionMetadataResource.this._metadata.getBendpoints();
}
@Override
protected Resource resource(Object obj) {
return new PositionResource((Point) obj, TransitionMetadataResource.this);
}
};
}
if (binding != null) {
binding.init(property);
}
return binding;
}
Aggregations