protected static Key mapToKey(Property property) throws JasDBStorageException { return mapToKey(property.getFirstValue()); }
assertTrue("Property should be long", property.getFirstValueObject() instanceof EmbeddedEntity); EntityValue value = (EntityValue) property.getFirstValue(); Entity embedEntity = value.toEntity(); String embeddedProperty = embedEntity.getProperty("embeddedProperty").getFirstValue().toString(); assertEquals("The id's should match", queryKey, embeddedProperty); } finally {
assertTrue("Property should be long", property.getFirstValueObject() instanceof EmbeddedEntity); EntityValue value = (EntityValue) property.getFirstValue(); Entity embedEntity = value.toEntity(); String embeddedProperty = embedEntity.getProperty("embeddedProperty").getFirstValue().toString(); assertEquals("The id's should match", queryKey, embeddedProperty); } finally {
@Override public Object mapFromProperty(PropertyMetadata propertyMetadata, Property property) { EntityValue entityValue = (EntityValue) property.getFirstValue(); Entity embeddedEntity = entityValue.getValue(); List<Property> embeddedProperties = embeddedEntity.getProperties(); Map<String, Object> properties = new HashMap<>(); embeddedProperties.forEach(p -> { properties.put(p.getPropertyName(), p.getFirstValue().getValue()); }); return properties; } }
List<String> getEntityValue(List<Entity> entities, final String property) { return Lists.transform(entities, entity -> { assert entity != null; return entity.getProperty(property).getFirstValue().toString(); }); }
@Test public void testCreateAndInsertEntities() throws JasDBException, IOException { DBSession session = sessionFactory.createSession(); session.addInstance(MY_INSTANCE); EntityBag bag = session.createOrGetBag(MY_INSTANCE, BAG_1); bag.addEntity(new SimpleEntity().addProperty("test", "value")); QueryResult result = bag.getEntities(); assertThat(result.size(), is(1l)); Entity entity = result.next(); assertThat(entity, notNullValue()); assertThat(entity.getProperty("test").getFirstValue().toString(), is("value")); }