public boolean equals(Object anObject) { if (anObject instanceof Money) { Money aMoney= (Money)anObject; return aMoney.currency().equals(fCurrency) && aMoney.amount() == fAmount; } return false; }
@Override public Object readBpmnValue(BpmnReader r) { String currency = r.readStringAttributeEffektif("currency"); String amountString = r.readStringAttributeEffektif("amount"); try { Double amount = amountString == null ? null : Double.valueOf(amountString); return new Money().currency(currency).amount(amount); } catch (NumberFormatException e) { return null; } }
@Override public Object readBpmnValue(BpmnReader r) { String currency = r.readStringAttributeEffektif("currency"); String amountString = r.readStringAttributeEffektif("amount"); try { Double amount = amountString == null ? null : Double.valueOf(amountString); return new Money().currency(currency).amount(amount); } catch (NumberFormatException e) { return null; } }
@Test public void testMoneyToString() { assertEquals("5.35 EUR", new Money() .amount(5.35) .currency("EUR") .toString()); assertEquals("-5.35 EUR", new Money() .amount(-5.35d) .currency("EUR") .toString()); assertEquals("1234567.89 EUR", new Money() .amount(1234567.893333) .currency("EUR") .toString()); } }
@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()); }
workflow.variable(new Variable().id("variable06").type(LinkType.INSTANCE).defaultValue("http://example.org/")); workflow.variable(new Variable().id("variable07").type(new ListType(NumberType.INSTANCE)).defaultValue(Lists.of(40, 41, 42))); Money defaultMoneyValue = new Money().currency("EUR").amount(41.99); workflow.variable(new Variable().id("variable08").type(MoneyType.INSTANCE).defaultValue(defaultMoneyValue)); workflow.variable(new Variable().id("variable09").type(NumberType.INSTANCE).defaultValue(42.5));