@Override public <T> List<T> getValueObjects() { List<T> valueObjects = new ArrayList<T>(); for(Value value : values) { valueObjects.add((T)value.getValue()); } return valueObjects; }
public String toString() { StringBuilder builder = new StringBuilder(); builder.append(propertyName).append("{"); for(Value value : values) { builder.append(value.toString()).append(";"); } builder.append("}"); return builder.toString(); } }
List<String> getEntityValue(List<Entity> entities, final String property) { return Lists.transform(entities, entity -> { assert entity != null; return entity.getProperty(property).getFirstValue().toString(); }); }
@Override public Object getFirstValueObject() { return getFirstValue().getValue(); }
private static Key mapToKey(Value value) throws JasDBStorageException { if(value instanceof StringValue) { return new StringKey(value.toString()); } else if(value instanceof LongValue) { return new LongKey(((LongValue)value).toLong()); } else if(value instanceof IntegerValue) { throw new JasDBStorageException("Not yet implemented"); } else { throw new JasDBStorageException("Unsupported key type: " + value.getClass().getName()); } } }
@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; } }
serializeEntity(((EntityValue) value).toEntity(), generator); } else { generator.writeString(value.toString());
@Test public void testPersistMultiValue() throws Exception { DBSession session = sessionFactory.createSession(); EntityBag bag = session.createOrGetBag("testbag"); try { Entity entity = new SimpleEntity(); entity.addProperty("field1", "value1"); entity.addProperty("field1", "value2"); entity.addProperty("field1", "value3"); entity.addProperty("number", 100L); entity.addProperty("number", 500L); bag.addEntity(entity); String entityId = entity.getInternalId(); entity = bag.getEntity(entityId); Property property = entity.getProperty("field1"); Assert.assertNotNull(property); assertEquals("The object should be multivalue", true, property.isMultiValue()); assertEquals("There should be three properties", 3, property.getValues().size()); assertEquals("Unexpected value", "value1", property.getValues().get(0).getValue()); assertEquals("Unexpected value", "value2", property.getValues().get(1).getValue()); assertEquals("Unexpected value", "value3", property.getValues().get(2).getValue()); property = entity.getProperty("number"); assertEquals("The object should be multivalue", true, property.isMultiValue()); assertEquals("There should be three properties", 2, property.getValues().size()); assertEquals("Unexpected value", 100L, property.getValues().get(0).getValue()); assertEquals("Unexpected value", 500L, property.getValues().get(1).getValue()); } finally { JasDBMain.shutdown(); } }
@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")); }
assertEquals(new Long(100), foundEntity.getProperty("simpleProperty1").getFirstValueObject()); assertEquals(3, foundEntity.getProperty("multiValueProperty").getValues().size()); assertEquals("value1", foundEntity.getProperty("multiValueProperty").getValues().get(0).getValue()); assertEquals("value2", foundEntity.getProperty("multiValueProperty").getValues().get(1).getValue()); assertEquals("value3", foundEntity.getProperty("multiValueProperty").getValues().get(2).getValue()); assertEquals(new Long(200), foundEntity.getProperty("integerProperty").getFirstValueObject()); assertTrue(embeddedEntity.hasProperty("embeddedString")); assertTrue(embeddedEntity.hasProperty("embeddedMultivalue")); assertEquals(50L, embeddedEntity.getProperty("embeddedProperty1").getValues().get(0).getValue()); assertEquals(60L, embeddedEntity.getProperty("embeddedProperty1").getValues().get(1).getValue()); assertEquals(70L, embeddedEntity.getProperty("embeddedProperty1").getValues().get(2).getValue()); assertEquals("simpleStringValue", embeddedEntity.getProperty("embeddedString").getFirstValueObject()); assertEquals("emValue1", embeddedEntity.getProperty("embeddedMultivalue").getValues().get(0).getValue()); assertEquals("emValue2", embeddedEntity.getProperty("embeddedMultivalue").getValues().get(1).getValue()); assertEquals("emValue3", embeddedEntity.getProperty("embeddedMultivalue").getValues().get(2).getValue());
String embeddedProperty = embedEntity.getProperty("embeddedProperty").getFirstValue().toString(); assertEquals("The id's should match", queryKey, embeddedProperty); } finally {
String embeddedProperty = embedEntity.getProperty("embeddedProperty").getFirstValue().toString(); assertEquals("The id's should match", queryKey, embeddedProperty); } finally {