@Override public void writeBpmnValue(BpmnWriter w, Object value) { if (value != null && value instanceof Money) { Money moneyValue = (Money) value; w.writeStringAttributeEffektif("currency", moneyValue.getCurrency()); w.writeStringAttributeEffektif("amount", moneyValue.getAmount()); } }
@Override public void writeBpmnValue(BpmnWriter w, Object value) { if (value != null && value instanceof Money) { Money moneyValue = (Money) value; w.writeStringAttributeEffektif("currency", moneyValue.getCurrency()); w.writeStringAttributeEffektif("amount", moneyValue.getAmount()); } }
@Test public void testListOfMoneyType() { ExecutableWorkflow workflow = new ExecutableWorkflow() .variable("v", new ListType(new MoneyType())); deploy(workflow); WorkflowInstance workflowInstance = workflowEngine.start(new TriggerInstance() .workflowId(workflow.getId()) .data("v", Lists.of( new Money().amount(5d).currency("USD"), new Money().amount(6d).currency("EUR")))); List<Money> moneys = workflowInstance.getVariableValue("v"); assertEquals(new Double(5d), moneys.get(0).getAmount()); assertEquals("USD", moneys.get(0).getCurrency()); assertEquals(new Double(6d), moneys.get(1).getAmount()); assertEquals("EUR", moneys.get(1).getCurrency()); }
@Test public void testMoneyType() { ExecutableWorkflow workflow = new ExecutableWorkflow() .variable("v", new MoneyType()); deploy(workflow); WorkflowInstance workflowInstance = workflowEngine.start(new TriggerInstance() .workflowId(workflow.getId()) .data("v", new Money().amount(5d).currency("USD"))); Money money = workflowInstance.getVariableValue("v", Money.class); assertEquals(new Double(5d), money.getAmount()); assertEquals("USD", money.getCurrency()); }