use of org.apache.avro.util.Utf8 in project gora by apache.
the class TestSingleFieldValueFilter method testSerialization.
@Test
public void testSerialization() throws IOException {
SingleFieldValueFilter<String, WebPage> filter = new SingleFieldValueFilter<>();
//set filter field to url
filter.setFieldName(WebPage.Field.URL.toString());
filter.setFilterOp(FilterOp.EQUALS);
filter.setFilterIfMissing(true);
filter.getOperands().add(new Utf8("http://example.org"));
byte[] byteArray = WritableUtils.toByteArray(filter);
SingleFieldValueFilter<String, WebPage> filter2 = new SingleFieldValueFilter<>();
filter2.readFields(new DataInputStream(new ByteArrayInputStream(byteArray)));
assertEquals(filter.getFieldName(), filter2.getFieldName());
assertEquals(filter.getFilterOp(), filter2.getFilterOp());
assertArrayEquals(filter.getOperands().toArray(), filter2.getOperands().toArray());
assertEquals(filter.isFilterIfMissing(), filter2.isFilterIfMissing());
}
use of org.apache.avro.util.Utf8 in project gora by apache.
the class DataStoreTestUtil method testGetEmployeeDoubleRecursive.
public static void testGetEmployeeDoubleRecursive(DataStore<String, Employee> dataStore) throws Exception {
Employee employee = DataStoreTestUtil.createEmployee();
Employee boss = DataStoreTestUtil.createBoss();
Employee uberBoss = DataStoreTestUtil.createBoss();
uberBoss.setName(new Utf8("Überboss"));
boss.setBoss(uberBoss);
employee.setBoss(boss);
String ssn = employee.getSsn().toString();
dataStore.put(ssn, employee);
dataStore.flush();
Employee after = dataStore.get(ssn, AvroUtils.getSchemaFieldNames(Employee.SCHEMA$));
assertEqualEmployeeObjects(employee, after);
}
use of org.apache.avro.util.Utf8 in project gora by apache.
the class DataStoreTestUtil method testEmptyUpdateEmployee.
public static void testEmptyUpdateEmployee(DataStore<String, Employee> dataStore) throws Exception {
dataStore.createSchema();
long ssn = 1234567890L;
String ssnStr = Long.toString(ssn);
long now = System.currentTimeMillis();
Employee employee = dataStore.newPersistent();
employee.setName(new Utf8("John Doe"));
employee.setDateOfBirth(now - 20L * YEAR_IN_MS);
employee.setSalary(100000);
employee.setSsn(new Utf8(ssnStr));
dataStore.put(employee.getSsn().toString(), employee);
dataStore.flush();
employee = dataStore.get(ssnStr);
dataStore.put(ssnStr, employee);
dataStore.flush();
employee = dataStore.newPersistent();
dataStore.put(Long.toString(ssn + 1), employee);
dataStore.flush();
employee = dataStore.get(Long.toString(ssn + 1));
assertNull(employee);
}
use of org.apache.avro.util.Utf8 in project gora by apache.
the class DataStoreTestUtil method testUpdateWebPageRemoveField.
public static void testUpdateWebPageRemoveField(DataStore<String, WebPage> dataStore) throws Exception {
dataStore.createSchema();
String[] urls = { "http://a.com/a", "http://b.com/b", "http://c.com/c", "http://d.com/d", "http://e.com/e", "http://f.com/f", "http://g.com/g" };
String header = "header";
String[] headers = { "firstHeader", "secondHeader", "thirdHeader", "fourthHeader", "fifthHeader", "sixthHeader" };
for (String url : urls) {
WebPage webPage = WebPage.newBuilder().build();
webPage.setUrl(new Utf8(url));
webPage.setHeaders(new HashMap<CharSequence, CharSequence>());
for (int j = 0; j < headers.length; j++) {
webPage.getHeaders().put(new Utf8(header + j), new Utf8(headers[j]));
}
dataStore.put(webPage.getUrl().toString(), webPage);
}
dataStore.flush();
// nullable map field removal test
for (String url : urls) {
WebPage webPage = dataStore.get(url);
webPage.setHeaders(null);
dataStore.put(webPage.getUrl().toString(), webPage);
}
dataStore.flush();
for (String url : urls) {
WebPage webPage = dataStore.get(url);
assertNull(webPage.getHeaders());
}
}
use of org.apache.avro.util.Utf8 in project gora by apache.
the class CouchDBStore method fromCouchDBMap.
private Object fromCouchDBMap(final Schema fieldSchema, final Field field, final String docf, final Object value) {
final Map<String, Object> map = (Map<String, Object>) ((Map<String, Object>) value).get(docf);
final Map<Utf8, Object> rmap = new HashMap<>();
if (map == null) {
return new DirtyMapWrapper(rmap);
}
for (Map.Entry<String, Object> e : map.entrySet()) {
Schema innerSchema = fieldSchema.getValueType();
;
Object o = fromDBObject(innerSchema, field, e.getKey(), e.getValue());
rmap.put(new Utf8(e.getKey()), o);
}
return new DirtyMapWrapper<>(rmap);
}
Aggregations