Skip to content

Commit c1727bf

Browse files
Tests: update Order ToOne to how it should be used.
1 parent 272719e commit c1727bf

File tree

9 files changed

+26
-39
lines changed

9 files changed

+26
-39
lines changed

tests/objectbox-java-test/src/main/java/io/objectbox/relation/Customer.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import java.util.List;
2121

2222
import io.objectbox.BoxStore;
23+
import io.objectbox.annotation.Backlink;
2324
import io.objectbox.annotation.Entity;
2425
import io.objectbox.annotation.Id;
2526
import io.objectbox.annotation.Index;
@@ -37,12 +38,12 @@ public class Customer implements Serializable {
3738
@Index
3839
private String name;
3940

41+
@Backlink(to = "customer") // Annotation not processed in this test, is set up manually.
4042
List<Order> orders = new ToMany<>(this, Customer_.orders);
4143

4244
ToMany<Order> ordersStandalone = new ToMany<>(this, Customer_.ordersStandalone);
4345

44-
/** Used to resolve relations */
45-
@Internal
46+
/** Used to resolve relations. */
4647
transient BoxStore __boxStore;
4748

4849
public Customer() {

tests/objectbox-java-test/src/main/java/io/objectbox/relation/Customer_.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ public List<Order> getToMany(Customer customer) {
117117
}, Order_.customerId, new ToOneGetter<Order>() {
118118
@Override
119119
public ToOne<Customer> getToOne(Order order) {
120-
return order.customer__toOne;
120+
return order.getCustomer();
121121
}
122122
});
123123

tests/objectbox-java-test/src/main/java/io/objectbox/relation/Order.java

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,12 @@ public class Order implements Serializable {
3939
long customerId;
4040
String text;
4141

42-
private Customer customer;
42+
@SuppressWarnings("FieldMayBeFinal")
43+
private ToOne<Customer> customer = new ToOne<>(this, Order_.customer);
4344

44-
/** @Depreacted Used to resolve relations */
45-
@Internal
45+
/** Used to resolve relations. */
4646
transient BoxStore __boxStore;
4747

48-
@Internal
49-
transient ToOne<Customer> customer__toOne = new ToOne<>(this, Order_.customer);
50-
5148
public Order() {
5249
}
5350

@@ -94,20 +91,8 @@ public void setText(String text) {
9491
this.text = text;
9592
}
9693

97-
public Customer peekCustomer() {
98-
return customer;
99-
}
100-
101-
/** To-one relationship, resolved on first access. */
102-
public Customer getCustomer() {
103-
customer = customer__toOne.getTarget(this.customerId);
94+
public ToOne<Customer> getCustomer() {
10495
return customer;
10596
}
10697

107-
/** Set the to-one relation including its ID property. */
108-
public void setCustomer(@Nullable Customer customer) {
109-
customer__toOne.setTarget(customer);
110-
this.customer = customer;
111-
}
112-
11398
}

tests/objectbox-java-test/src/main/java/io/objectbox/relation/OrderCursor.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,11 @@ public long getId(Order entity) {
5959
*/
6060
@Override
6161
public long put(Order entity) {
62-
if(entity.customer__toOne.internalRequiresPutTarget()) {
62+
ToOne<Customer> customer = entity.getCustomer();
63+
if(customer != null && customer.internalRequiresPutTarget()) {
6364
Cursor<Customer> targetCursor = getRelationTargetCursor(Customer.class);
6465
try {
65-
entity.customer__toOne.internalPutTarget(targetCursor);
66+
customer.internalPutTarget(targetCursor);
6667
} finally {
6768
targetCursor.close();
6869
}

tests/objectbox-java-test/src/main/java/io/objectbox/relation/Order_.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ public long getId(Order object) {
113113
public static final RelationInfo<Order, Customer> customer = new RelationInfo<>(Order_.__INSTANCE, Customer_.__INSTANCE, customerId, new ToOneGetter<Order>() {
114114
@Override
115115
public ToOne<Customer> getToOne(Order object) {
116-
return object.customer__toOne;
116+
return object.getCustomer();
117117
}
118118
});
119119

tests/objectbox-java-test/src/test/java/io/objectbox/relation/AbstractRelationTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ protected Customer putCustomer() {
6464

6565
protected Order putOrder(@Nullable Customer customer, @Nullable String text) {
6666
Order order = new Order();
67-
order.setCustomer(customer);
67+
order.getCustomer().setTarget(customer);
6868
order.setText(text);
6969
orderBox.put(order);
7070
return order;

tests/objectbox-java-test/src/test/java/io/objectbox/relation/RelationEagerTest.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -94,20 +94,20 @@ public void testEagerToSingle() {
9494
// full list
9595
List<Order> orders = orderBox.query().eager(Order_.customer).build().find();
9696
assertEquals(2, orders.size());
97-
assertTrue(orders.get(0).customer__toOne.isResolved());
98-
assertTrue(orders.get(1).customer__toOne.isResolved());
97+
assertTrue(orders.get(0).getCustomer().isResolved());
98+
assertTrue(orders.get(1).getCustomer().isResolved());
9999

100100
// full list paginated
101101
orders = orderBox.query().eager(Order_.customer).build().find(0, 10);
102102
assertEquals(2, orders.size());
103-
assertTrue(orders.get(0).customer__toOne.isResolved());
104-
assertTrue(orders.get(1).customer__toOne.isResolved());
103+
assertTrue(orders.get(0).getCustomer().isResolved());
104+
assertTrue(orders.get(1).getCustomer().isResolved());
105105

106106
// list with eager limit
107107
orders = orderBox.query().eager(1, Order_.customer).build().find();
108108
assertEquals(2, orders.size());
109-
assertTrue(orders.get(0).customer__toOne.isResolved());
110-
assertFalse(orders.get(1).customer__toOne.isResolved());
109+
assertTrue(orders.get(0).getCustomer().isResolved());
110+
assertFalse(orders.get(1).getCustomer().isResolved());
111111

112112
// forEach
113113
final int[] count = {0};
@@ -119,12 +119,12 @@ public void testEagerToSingle() {
119119

120120
// first
121121
Order order = orderBox.query().eager(Order_.customer).build().findFirst();
122-
assertTrue(order.customer__toOne.isResolved());
122+
assertTrue(order.getCustomer().isResolved());
123123

124124
// unique
125125
orderBox.remove(order);
126126
order = orderBox.query().eager(Order_.customer).build().findUnique();
127-
assertTrue(order.customer__toOne.isResolved());
127+
assertTrue(order.getCustomer().isResolved());
128128
}
129129

130130
@Test

tests/objectbox-java-test/src/test/java/io/objectbox/relation/RelationTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,9 @@ public void testRelationToOne() {
3737

3838
Order order1 = orderBox.get(order.getId());
3939
assertEquals(customer.getId(), order1.getCustomerId());
40-
assertNull(order1.peekCustomer());
41-
assertEquals(customer.getId(), order1.getCustomer().getId());
42-
assertNotNull(order1.peekCustomer());
40+
assertNull(order1.getCustomer().getCachedTarget());
41+
assertEquals(customer.getId(), order1.getCustomer().getTarget().getId());
42+
assertNotNull(order1.getCustomer().getCachedTarget());
4343
}
4444

4545
@Test
@@ -85,7 +85,7 @@ public void testRelationToMany_activeRelationshipChanges() {
8585
((ToMany<Order>) orders).reset();
8686
assertEquals(1, orders.size());
8787

88-
order2.setCustomer(null);
88+
order2.getCustomer().setTarget(null);
8989
orderBox.put(order2);
9090

9191
((ToMany<Order>) orders).reset();

tests/objectbox-java-test/src/test/java/io/objectbox/relation/ToOneTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ public void testPutNewSourceAndTarget() {
100100
Customer target = new Customer();
101101
target.setName("target1");
102102

103-
ToOne<Customer> toOne = source.customer__toOne;
103+
ToOne<Customer> toOne = source.getCustomer();
104104
assertTrue(toOne.isResolved());
105105
assertTrue(toOne.isNull());
106106
assertNull(toOne.getCachedTarget());

0 commit comments

Comments
 (0)