Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BAPL-1113 Designer - Data Object and Association #3179

Closed
wants to merge 5 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Expand Up @@ -45,6 +45,7 @@ public class TextEditorMultiLineBoxTest {

public static final String NAME = "name";
public static final String MODIFIED_NAME = "modified_name";
public static final String OLD_NAME = "old_name";
public static final String ID = "id";

protected TextEditorMultiLineBox presenter;
Expand Down Expand Up @@ -173,7 +174,8 @@ public void testCloseButton() {
verify(canvasCommandFactory,
never()).updatePropertyValue(element,
ID,
MODIFIED_NAME);
MODIFIED_NAME,
OLD_NAME);

verify(commandProvider,
never()).getCommandManager();
Expand All @@ -195,7 +197,8 @@ protected void verifyNameNotSaved() {
verify(canvasCommandFactory,
never()).updatePropertyValue(element,
ID,
MODIFIED_NAME);
MODIFIED_NAME,
OLD_NAME);

verify(commandProvider,
never()).getCommandManager();
Expand Down Expand Up @@ -223,7 +226,8 @@ protected void verifyNameFlushed() {
verify(definitionUtils).getNameIdentifier(objectDefinition);
verify(canvasCommandFactory).updatePropertyValue(element,
ID,
MODIFIED_NAME);
MODIFIED_NAME,
NAME);

verify(commandProvider).getCommandManager();
verify(canvasCommandManager).execute(any(),
Expand Down
Expand Up @@ -173,7 +173,8 @@ public void testCloseButton() {
verify(canvasCommandFactory,
never()).updatePropertyValue(element,
ID,
MODIFIED_NAME);
MODIFIED_NAME,
NAME);

verify(commandProvider,
never()).getCommandManager();
Expand All @@ -195,7 +196,8 @@ protected void verifyNameNotSaved() {
verify(canvasCommandFactory,
never()).updatePropertyValue(element,
ID,
MODIFIED_NAME);
MODIFIED_NAME,
NAME);

verify(commandProvider,
never()).getCommandManager();
Expand Down Expand Up @@ -223,7 +225,8 @@ protected void verifyNameFlushed() {
verify(definitionUtils).getNameIdentifier(objectDefinition);
verify(canvasCommandFactory).updatePropertyValue(element,
ID,
MODIFIED_NAME);
MODIFIED_NAME,
NAME);

verify(commandProvider).getCommandManager();
verify(canvasCommandManager).execute(any(),
Expand Down
Expand Up @@ -110,6 +110,11 @@ CanvasCommand<H> updatePropertyValue(Element element,
String propertyId,
Object value);

CanvasCommand<H> updatePropertyValue(Element element,
String propertyId,
Object value,
Object oldValue);

CanvasCommand<H> updateDomainObjectPropertyValue(DomainObject domainObject,
String propertyId,
Object value);
Expand Down
Expand Up @@ -208,6 +208,17 @@ public CanvasCommand<AbstractCanvasHandler> updatePropertyValue(final Element el
value);
}

@Override
public CanvasCommand<AbstractCanvasHandler> updatePropertyValue(final Element element,
final String propertyId,
final Object value,
final Object oldValue) {
return new UpdateElementPropertyCommand(element,
propertyId,
value,
oldValue);
}

@Override
public CanvasCommand<AbstractCanvasHandler> updateDomainObjectPropertyValue(final DomainObject domainObject,
final String propertyId,
Expand Down
Expand Up @@ -28,13 +28,23 @@ public class UpdateElementPropertyCommand extends AbstractCanvasGraphCommand {
private final Element element;
private final String propertyId;
private final Object value;
private final Object oldValue;

public UpdateElementPropertyCommand(final Element element,
final String propertyId,
final Object value) {
this(element, propertyId, value, null);

}

public UpdateElementPropertyCommand(final Element element,
final String propertyId,
final Object value,
final Object oldValue) {
this.element = element;
this.propertyId = propertyId;
this.value = value;
this.oldValue = oldValue;
}

@Override
Expand All @@ -43,7 +53,8 @@ protected Command<GraphCommandExecutionContext, RuleViolation> newGraphCommand(f
return (element instanceof Node ?
new UpdateElementPropertyValueCommand(element,
propertyId,
value) :
value,
oldValue) :
new UpdateElementPropertyValueCommand(element.getUUID(),
propertyId,
value));
Expand All @@ -66,6 +77,10 @@ public Object getValue() {
return value;
}

public Object getOldValue() {
return oldValue;
}

@Override
public String toString() {
return getClass().getSimpleName() +
Expand Down
Expand Up @@ -66,10 +66,14 @@ public void setText(final AbstractCanvasHandler canvasHandler,
final String text) {
final Object def = element.getContent().getDefinition();
final String nameId = definitionUtils.getNameIdentifier(def);
final String oldName = definitionUtils.getName(def);


if (null != nameId) {
final CanvasCommand<AbstractCanvasHandler> command = canvasCommandFactory.updatePropertyValue(element,
nameId,
text);
text,
oldName);
commandManager.execute(canvasHandler,
command);
}
Expand Down
Expand Up @@ -72,7 +72,9 @@ public void setup() {
when(element.getContent()).thenReturn(content);
when(content.getDefinition()).thenReturn(definition);
when(definitionUtils.getNameIdentifier(eq(definition))).thenReturn("name");
when(definitionUtils.getName(eq(definition))).thenReturn("oldvalue");
when(canvasCommandFactory.updatePropertyValue(eq(element),
anyString(),
anyString(),
anyString())).thenReturn(command);
}
Expand Down Expand Up @@ -105,7 +107,8 @@ public void checkWriteUsesCommandToUpdateNamePropertyMetaData() {

verify(canvasCommandFactory).updatePropertyValue(eq(element),
eq("name"),
eq("text"));
eq("text"),
eq("oldvalue"));
verify(commandManager).execute(eq(canvasHandler),
eq(command));
}
Expand Down
Expand Up @@ -122,6 +122,16 @@ public UpdateElementPositionCommand updatePosition(final Node<? extends View<?>,
}

@SuppressWarnings("unchecked")
public UpdateElementPropertyValueCommand updatePropertyValue(final Element element,
final String propertyId,
final Object value,
final Object oldValue) {
return new UpdateElementPropertyValueCommand(element,
propertyId,
value,
oldValue);
}

public UpdateElementPropertyValueCommand updatePropertyValue(final Element element,
final String propertyId,
final Object value) {
Expand Down
Expand Up @@ -54,10 +54,21 @@ public UpdateElementPropertyValueCommand(final @MapsTo("elementUUID") String ele
public UpdateElementPropertyValueCommand(final Element<?> element,
final String propertyId,
final Object value) {
this(element,
propertyId,
value,
null);
}

public UpdateElementPropertyValueCommand(final Element<?> element,
final String propertyId,
final Object value,
final Object oldValue) {
this(element.getUUID(),
propertyId,
value);
this.element = element;
this.oldValue = oldValue;
}

@Override
Expand All @@ -84,7 +95,8 @@ public CommandResult<RuleViolation> execute(final GraphCommandExecutionContext c
public CommandResult<RuleViolation> undo(final GraphCommandExecutionContext context) {
final UpdateElementPropertyValueCommand undoCommand = new UpdateElementPropertyValueCommand(getNullSafeElement(context),
propertyId,
oldValue);
oldValue,
value);
return undoCommand.execute(context);
}

Expand Down
Expand Up @@ -23,6 +23,7 @@
import org.kie.workbench.common.stunner.bpmn.definition.AdHocSubprocess;
import org.kie.workbench.common.stunner.bpmn.definition.BPMNDiagramImpl;
import org.kie.workbench.common.stunner.bpmn.definition.BusinessRuleTask;
import org.kie.workbench.common.stunner.bpmn.definition.DataObject;
import org.kie.workbench.common.stunner.bpmn.definition.DirectionalAssociation;
import org.kie.workbench.common.stunner.bpmn.definition.EmbeddedSubprocess;
import org.kie.workbench.common.stunner.bpmn.definition.EndCompensationEvent;
Expand Down Expand Up @@ -125,7 +126,8 @@
SequenceFlow.class,
DirectionalAssociation.class,
NonDirectionalAssociation.class,
TextAnnotation.class
TextAnnotation.class,
DataObject.class
},
builder = BPMNDefinitionSet.BPMNDefinitionSetBuilder.class
)
Expand Down
Expand Up @@ -38,5 +38,4 @@ public class BPMNCategories {

public static final String SERVICE_TASKS = "ServiceTasks";

public static final String TEXT_ANNOTATION = "TextAnnotations";
}