From 4ab2f0df3cbc207db73942fac103f13b15dabfe1 Mon Sep 17 00:00:00 2001 From: rbygrave Date: Thu, 5 Feb 2015 00:09:43 +1300 Subject: [PATCH] #238 - update to test, still not reproducing yet --- .../com/avaje/tests/model/prnt/MPrinter.java | 10 +++++++ .../avaje/tests/model/prnt/MPrinterState.java | 10 +++++++ .../avaje/tests/model/prnt/MSomeOther.java | 29 +++++++++++++++++++ .../model/prnt/TestPrinterStateIssue.java | 23 +++++++++++++++ 4 files changed, 72 insertions(+) create mode 100644 src/test/java/com/avaje/tests/model/prnt/MSomeOther.java diff --git a/src/test/java/com/avaje/tests/model/prnt/MPrinter.java b/src/test/java/com/avaje/tests/model/prnt/MPrinter.java index b0f3e6e95..b75ff1021 100644 --- a/src/test/java/com/avaje/tests/model/prnt/MPrinter.java +++ b/src/test/java/com/avaje/tests/model/prnt/MPrinter.java @@ -16,6 +16,8 @@ public class MPrinter { @Column(name="flags", nullable=false) long allFlags=0L; + @Column(name="dwid",nullable=false) MSomeOther dataWarehouseId; + @JoinColumn(name="current_state_id") @ManyToOne MPrinterState currentState; @@ -96,4 +98,12 @@ public class MPrinter { public void setLastTonerSwapBlack(MPrinterState lastTonerSwapBlack) { this.lastTonerSwapBlack = lastTonerSwapBlack; } + + public MSomeOther getDataWarehouseId() { + return dataWarehouseId; + } + + public void setDataWarehouseId(MSomeOther dataWarehouseId) { + this.dataWarehouseId = dataWarehouseId; + } } diff --git a/src/test/java/com/avaje/tests/model/prnt/MPrinterState.java b/src/test/java/com/avaje/tests/model/prnt/MPrinterState.java index 0d3e804f3..891916fcf 100644 --- a/src/test/java/com/avaje/tests/model/prnt/MPrinterState.java +++ b/src/test/java/com/avaje/tests/model/prnt/MPrinterState.java @@ -13,6 +13,8 @@ public class MPrinterState { long flags; + @Column(name="dwid",nullable=false) MSomeOther dataWarehouseId; + @JoinColumn(name="printer_id") @ManyToOne MPrinter printer; @@ -48,4 +50,12 @@ public class MPrinterState { public void setPrinter(MPrinter printer) { this.printer = printer; } + + public MSomeOther getDataWarehouseId() { + return dataWarehouseId; + } + + public void setDataWarehouseId(MSomeOther dataWarehouseId) { + this.dataWarehouseId = dataWarehouseId; + } } diff --git a/src/test/java/com/avaje/tests/model/prnt/MSomeOther.java b/src/test/java/com/avaje/tests/model/prnt/MSomeOther.java new file mode 100644 index 000000000..a2a96b631 --- /dev/null +++ b/src/test/java/com/avaje/tests/model/prnt/MSomeOther.java @@ -0,0 +1,29 @@ +package com.avaje.tests.model.prnt; + +import javax.persistence.Entity; +import javax.persistence.Id; + +@Entity +public class MSomeOther { + + @Id + Long id; + + String name; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/src/test/java/com/avaje/tests/model/prnt/TestPrinterStateIssue.java b/src/test/java/com/avaje/tests/model/prnt/TestPrinterStateIssue.java index 9f2368c37..1b48c67b7 100644 --- a/src/test/java/com/avaje/tests/model/prnt/TestPrinterStateIssue.java +++ b/src/test/java/com/avaje/tests/model/prnt/TestPrinterStateIssue.java @@ -9,27 +9,50 @@ public class TestPrinterStateIssue extends BaseTestCase { @Test public void test() { + MSomeOther other = new MSomeOther(); + other.setName("otherRefBean"); + Ebean.save(other); MPrinter printer = new MPrinter(); + printer.setDataWarehouseId(other); printer.setName("foo"); printer.setAllFlags(20L); Ebean.save(printer); MPrinterState state = new MPrinterState(); + state.setDataWarehouseId(other); state.setFlags(10L); state.setPrinter(printer); Ebean.save(state); + MPrinterState cyanState = new MPrinterState(); + cyanState.setDataWarehouseId(other); + cyanState.setFlags(10L); + cyanState.setPrinter(printer); + Ebean.save(state); + printer.setCurrentState(state); + printer.setLastTonerSwapCyan(cyanState); Ebean.save(printer); + MPrinterState newState = new MPrinterState(); + newState.setDataWarehouseId(other); + newState.setFlags(10L); + //Ebean.save(newState); + + printer.setLastTonerSwapCyan(newState); + newState.setPrinter(printer); + + Ebean.save(printer); MPrinter printer1 = Ebean.find(MPrinter.class, printer.getId()); MPrinterState state1 = printer1.getCurrentState(); state1.setFlags(9L); printer1.setAllFlags(99L); + state1.setFlags(7L); + // BeanState beanState = Ebean.getBeanState(printer1); // Set changedProps = beanState.getChangedProps();