use of org.infinispan.query.dsl.embedded.testdomain.Address in project infinispan by infinispan.
the class RemoteQueryJmxTest method createUser.
private User createUser(int id) {
User user = new UserPB();
user.setId(id);
user.setName("Tom" + id);
user.setSurname("Cat" + id);
user.setGender(User.Gender.MALE);
user.setAccountIds(Collections.singleton(12));
Address address = new AddressPB();
address.setStreet("Dark Alley");
address.setPostCode("123" + id);
user.setAddresses(Collections.singletonList(address));
return user;
}
use of org.infinispan.query.dsl.embedded.testdomain.Address in project infinispan by infinispan.
the class UserMarshaller method readFrom.
@Override
public UserPB readFrom(ProtoStreamReader reader) throws IOException {
int id = reader.readInt("id");
Set<Integer> accountIds = reader.readCollection("accountIds", new HashSet<>(), Integer.class);
// Read them out of order. It still works but logs a warning!
String surname = reader.readString("surname");
String name = reader.readString("name");
String salutation = reader.readString("salutation");
List<Address> addresses = reader.readCollection("addresses", new ArrayList<>(), AddressPB.class);
Integer age = reader.readInt("age");
User.Gender gender = reader.readEnum("gender", User.Gender.class);
String notes = reader.readString("notes");
Instant creationDate = reader.readInstant("creationDate");
Instant passwordExpirationDate = reader.readInstant("passwordExpirationDate");
UserPB user = new UserPB();
user.setId(id);
user.setAccountIds(accountIds);
user.setName(name);
user.setSurname(surname);
user.setSalutation(salutation);
user.setAge(age);
user.setGender(gender);
user.setAddresses(addresses);
user.setNotes(notes);
user.setCreationDate(creationDate);
user.setPasswordExpirationDate(passwordExpirationDate);
return user;
}
use of org.infinispan.query.dsl.embedded.testdomain.Address in project infinispan by infinispan.
the class MultiHotRodServerQueryTest method populateCache.
@BeforeClass(alwaysRun = true)
protected void populateCache() {
User user1 = new UserPB();
user1.setId(1);
user1.setName("Tom");
user1.setSurname("Cat");
user1.setGender(User.Gender.MALE);
user1.setAge(5);
user1.setAccountIds(Collections.singleton(12));
Address address1 = new AddressPB();
address1.setStreet("Dark Alley");
address1.setPostCode("1234");
user1.setAddresses(Collections.singletonList(address1));
remoteCache0.put(1, user1);
assertNotNull(remoteCache0.get(1));
assertNotNull(remoteCache1.get(1));
User user2 = new UserPB();
user2.setId(2);
user2.setName("Adrian");
user2.setSurname("Nistor");
user2.setGender(User.Gender.MALE);
user2.setAge(22);
Address address2 = new AddressPB();
address2.setStreet("Old Street");
address2.setPostCode("XYZ");
user2.setAddresses(Collections.singletonList(address2));
remoteCache1.put(2, user2);
assertNotNull(remoteCache0.get(2));
assertNotNull(remoteCache1.get(2));
// this value should be ignored gracefully
client(0).getCache().put("dummy", "a primitive value cannot be queried");
}
use of org.infinispan.query.dsl.embedded.testdomain.Address in project infinispan by infinispan.
the class EmbeddedUserMarshaller method readFrom.
@Override
public UserHS readFrom(ProtoStreamReader reader) throws IOException {
int id = reader.readInt("id");
Set<Integer> accountIds = reader.readCollection("accountIds", new HashSet<>(), Integer.class);
// Read them out of order. It still works but logs a warning!
String surname = reader.readString("surname");
String name = reader.readString("name");
String salutation = reader.readString("salutation");
List<Address> addresses = reader.readCollection("addresses", new ArrayList<>(), AddressHS.class);
Integer age = reader.readInt("age");
User.Gender gender = reader.readEnum("gender", User.Gender.class);
String notes = reader.readString("notes");
Instant creationDate = reader.readInstant("creationDate");
Instant passwordExpirationDate = reader.readInstant("passwordExpirationDate");
UserHS user = new UserHS();
user.setId(id);
user.setAccountIds(accountIds);
user.setName(name);
user.setSurname(surname);
user.setSalutation(salutation);
user.setAge(age);
user.setGender(gender);
user.setAddresses(addresses);
user.setNotes(notes);
user.setCreationDate(creationDate);
user.setPasswordExpirationDate(passwordExpirationDate);
return user;
}
use of org.infinispan.query.dsl.embedded.testdomain.Address in project infinispan by infinispan.
the class RemoteListenerWithDslFilterTest method testEventFilter.
public void testEventFilter() {
User user1 = new UserPB();
user1.setId(1);
user1.setName("John");
user1.setSurname("Doe");
user1.setGender(User.Gender.MALE);
user1.setAge(22);
user1.setAccountIds(new HashSet<>(Arrays.asList(1, 2)));
user1.setNotes("Lorem ipsum dolor sit amet");
Address address1 = new AddressPB();
address1.setStreet("Main Street");
address1.setPostCode("X1234");
user1.setAddresses(Collections.singletonList(address1));
User user2 = new UserPB();
user2.setId(2);
user2.setName("Spider");
user2.setSurname("Man");
user2.setGender(User.Gender.MALE);
user2.setAge(32);
user2.setAccountIds(Collections.singleton(3));
Address address2 = new AddressPB();
address2.setStreet("Old Street");
address2.setPostCode("Y12");
Address address3 = new AddressPB();
address3.setStreet("Bond Street");
address3.setPostCode("ZZ");
user2.setAddresses(Arrays.asList(address2, address3));
User user3 = new UserPB();
user3.setId(3);
user3.setName("Spider");
user3.setSurname("Woman");
user3.setGender(User.Gender.FEMALE);
user3.setAge(31);
remoteCache.clear();
remoteCache.put("user_" + user1.getId(), user1);
remoteCache.put("user_" + user2.getId(), user2);
remoteCache.put("user_" + user3.getId(), user3);
assertEquals(3, remoteCache.size());
SerializationContext serCtx = MarshallerUtil.getSerializationContext(client(0));
QueryFactory qf = Search.getQueryFactory(remoteCache);
Query<Object[]> query = qf.<Object[]>create("SELECT age FROM sample_bank_account.User WHERE age <= :ageParam").setParameter("ageParam", 32);
ClientEntryListener listener = new ClientEntryListener(serCtx);
ClientEvents.addClientQueryListener(remoteCache, listener, query);
expectElementsInQueue(listener.createEvents, 3);
user3.setAge(40);
remoteCache.put("user_" + user1.getId(), user1);
remoteCache.put("user_" + user2.getId(), user2);
remoteCache.put("user_" + user3.getId(), user3);
assertEquals(3, remoteCache.size());
expectElementsInQueue(listener.modifyEvents, 2);
remoteCache.removeClientListener(listener);
}
Aggregations