#238 - update to test, still not reproducing yet

This commit is contained in:
rbygrave
2015-02-05 00:09:43 +13:00
parent a447361ea0
commit 4ab2f0df3c
4 changed files with 72 additions and 0 deletions
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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<String> changedProps = beanState.getChangedProps();