if (embeddedList!=null) { for (EmbeddedEntity embeddedEntity: embeddedList) { list.add((T) embeddedEntity.getProperty("value"));
private Optional<String> periodKeyFromPeriodField(FormRecordSnapshotEntity snapshot) { Optional<FormField> periodField = formClass.getFieldIfPresent(ResourceId.valueOf("period")); if (periodField.isPresent()) { FieldConverter converter = FieldConverters.forType(periodField.get().getType()); Object period = snapshot.getRecord().getFieldValues().getProperty(periodField.get().getName()); FieldValue periodValue = converter.toFieldValue(period); return periodValue != null ? Optional.of(periodValue.toString()) : Optional.absent(); } else { return Optional.absent(); } }
public void onNext(EmbeddedEntity entity) { Object value = entity.getProperty(name); if(value == null) { observer.onNext(null); } else { observer.onNext(converter.toFieldValue(value)); } } }
public Map<ResourceId, FieldValue> toFieldValueMap(FormClass formClass) { Map<ResourceId, FieldValue> map = new HashMap<>(); for (FormField formField : formClass.getFields()) { Object value = fieldValues.getProperty(formField.getName()); if(value != null) { FieldConverter<?> converter = FieldConverters.forType(formField.getType()); map.put(formField.getId(), converter.toFieldValue(value)); } } return map; }
Person p = new Person(id); p.setName((String) e.getProperty("name")); p.setToken((String) e.getProperty("token")); p.setMessages((List<String>) e.getProperty("messages")); p.setCompletedTests((List<String>) e.getProperty("completedTests")); Map<String, String> ti = new HashMap<>(); EmbeddedEntity ee = (EmbeddedEntity) e.getProperty("testInformation"); if (ee != null) { for (String key : ee.getProperties().keySet()) { ti.put(key, (String) ee.getProperty(key)); } p.setTestInformation(ti); } p.setEntity(e);
@Test public void findOrInsert() { EmbeddedEntity entity = new EmbeddedEntity(); int index1 = StringPools.findOrInsertStringInPool(entity, "pool", "HH1"); int index2 = StringPools.findOrInsertStringInPool(entity, "pool", "HH2"); int index3 = StringPools.findOrInsertStringInPool(entity, "pool", "HH2"); int index4 = StringPools.findOrInsertStringInPool(entity, "pool", "HHH2"); Blob pool = (Blob) entity.getProperty("pool"); assertThat(StringPools.toArray(pool), Matchers.arrayContaining("HH1", "HH2", "HHH2")); assertThat(index1, equalTo(1)); assertThat(index2, equalTo(2)); assertThat(index3, equalTo(2)); assertThat(index4, equalTo(3)); }
@Override public void onNext(Entity value) { EmbeddedEntity fieldValues = (EmbeddedEntity) value.getProperty("fieldValues"); Object property = fieldValues.getProperty(PROPERTY_NAME); if(property instanceof String) { observer.onNext(periodType.parseString((String) property)); } else { Key recordKey = value.getKey(); Key formKey = recordKey.getParent(); RecordRef ref = new RecordRef(ResourceId.valueOf(formKey.getName()), ResourceId.valueOf(recordKey.getName())); observer.onNext(periodType.fromSubFormKey(ref)); } }
public FormRecord toFormRecord(FormClass formClass) { FormRecord.Builder record = FormRecord.builder(); record.setFormId(formClass.getId()); record.setRecordId(getRecordId()); if(formClass.getParentField().isPresent()) { record.setParentRecordId(ResourceId.valueOf(getParentRecordId())); } for (FormField formField : formClass.getFields()) { Object value = fieldValues.getProperty(formField.getName()); if(value != null) { FieldConverter<?> converter = FieldConverters.forType(formField.getType()); record.setFieldValue(formField.getId(), converter.toFieldValue(value)); } } return record.build(); }
@Test public void updateZero() { EmbeddedEntity block = new EmbeddedEntity(); OffsetArray.updateOffset(block, PROPERTY, 0, (char)19); OffsetArray.updateOffset(block, PROPERTY, 1, (char)534); // Update the zero in the beginning of the array OffsetArray.updateOffset(block, PROPERTY, 0, (char)0); assertThat(OffsetArray.get(block, PROPERTY, 0), equalTo(0)); // Update the zero at the end of the array OffsetArray.updateOffset(block, PROPERTY, 1, (char)0); assertThat(OffsetArray.get(block, PROPERTY, 0), equalTo(0)); assertThat(OffsetArray.get(block, PROPERTY, 1), equalTo(0)); // Update a zero beyond the allocate range OffsetArray.updateOffset(block, PROPERTY, 2, (char)0); assertThat(OffsetArray.get(block, PROPERTY, 0), equalTo(0)); assertThat(OffsetArray.get(block, PROPERTY, 1), equalTo(0)); byte[] bytes = ((Blob) block.getProperty(PROPERTY)).getBytes(); assertThat(bytes.length, equalTo(4)); }
@Test public void test() { EmbeddedEntity block = new EmbeddedEntity(); assertTrue(OffsetArray.updateOffset(block, PROPERTY, 0, (char)19)); assertTrue(OffsetArray.updateOffset(block, PROPERTY, 1, (char)534)); assertFalse(OffsetArray.updateOffset(block, PROPERTY, 2, (char)0)); assertTrue(OffsetArray.updateOffset(block, PROPERTY, 3, (char)2)); assertTrue(OffsetArray.updateOffset(block, PROPERTY, 4, (char)1024)); byte[] bitset = ((Blob) block.getProperty(PROPERTY)).getBytes(); assertThat(OffsetArray.get(bitset, 0), equalTo(19)); assertThat(OffsetArray.get(bitset, 1), equalTo(534)); assertThat(OffsetArray.get(bitset, 2), equalTo(0)); assertThat(OffsetArray.get(bitset, 3), equalTo(2)); assertThat(OffsetArray.get(bitset, 4), equalTo(1024)); }