1 package org.synchronoss.cpo.jdbc.adapter;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import static org.testng.Assert.*;
26
27 import java.util.ArrayList;
28 import java.util.Collection;
29 import java.util.stream.Stream;
30 import org.synchronoss.cpo.core.CpoAdapter;
31 import org.synchronoss.cpo.core.CpoAdapterFactoryManager;
32 import org.synchronoss.cpo.core.CpoQuery;
33 import org.synchronoss.cpo.core.CpoWhere;
34 import org.synchronoss.cpo.core.enums.Comparison;
35 import org.synchronoss.cpo.core.enums.Logical;
36 import org.synchronoss.cpo.jdbc.ValueObject;
37 import org.testng.annotations.AfterClass;
38 import org.testng.annotations.BeforeClass;
39 import org.testng.annotations.Test;
40
41
42
43
44
45
46 public class InterleavedWhereTest {
47
48
49 private static final int IDB = 1500000;
50
51 private CpoAdapter cpoAdapter = null;
52 private final ArrayList<ValueObject> al = new ArrayList<>();
53
54
55 public InterleavedWhereTest() {}
56
57
58
59
60
61 @BeforeClass
62 public void setUp() {
63 String method = "setUp:";
64
65 try {
66 cpoAdapter = CpoAdapterFactoryManager.getCpoAdapter(JdbcStatics.ADAPTER_CONTEXT_JDBC);
67 assertNotNull(cpoAdapter, method + "cpoAdapter is null");
68 } catch (Exception e) {
69 fail(method + e.getMessage());
70 }
71 ValueObject vo1 = ValueObjectFactory.createValueObject(IDB + 1);
72 vo1.setAttrVarChar("Test");
73 vo1.setAttrBit(true);
74 al.add(vo1);
75
76 ValueObject vo3 = ValueObjectFactory.createValueObject(IDB + 3);
77 vo3.setAttrVarChar("Test");
78 vo3.setAttrBit(true);
79 al.add(vo3);
80
81 ValueObject vo5 = ValueObjectFactory.createValueObject(IDB + 5);
82 vo5.setAttrVarChar("Test");
83 vo5.setAttrBit(true);
84 al.add(vo5);
85 try {
86 cpoAdapter.insertBeans(ValueObject.FG_CREATE_TESTORDERBYINSERT, al);
87 } catch (Exception e) {
88 fail(method + e.getMessage());
89 }
90 }
91
92
93 @AfterClass
94 public void tearDown() {
95 String method = "tearDown:";
96 try {
97 cpoAdapter.deleteBeans(ValueObject.FG_DELETE_TESTORDERBYDELETE, al);
98
99 } catch (Exception e) {
100 fail(method + e.getMessage());
101 }
102 cpoAdapter = null;
103 }
104
105
106 @Test
107 public void testInterleavedInWhereCollection() {
108 String method = "testInterleavedInWhereCollection:";
109 Collection<ValueObject> coll;
110 CpoWhere cw;
111 CpoWhere cw1 = null;
112
113 try {
114 ValueObject valObj = ValueObjectFactory.createValueObject(IDB + 1);
115 valObj.setAttrBit(true);
116 valObj.setAttrVarChar("Test");
117 Collection<Integer> inColl = new ArrayList<>();
118 inColl.add(IDB + 1);
119 inColl.add(IDB + 3);
120 inColl.add(IDB + 5);
121
122 cw = cpoAdapter.newWhere(Logical.AND, ValueObject.ATTR_ID, Comparison.IN, inColl);
123
124 ArrayList<CpoWhere> wheres = new ArrayList<>();
125 wheres.add(cw);
126 try (Stream<ValueObject> beans =
127 cpoAdapter.retrieveBeans(
128 CpoQuery.group(ValueObject.FG_LIST_INTERLEAVEDWHERE).wheres(wheres), valObj); ) {
129 long count = beans.count();
130 assertEquals(count, 3, "Number of beans is " + count);
131 }
132 } catch (Exception e) {
133 fail(method + e.getMessage());
134 }
135 }
136 }