protected static Set<Key> mapToKeys(Property property) throws JasDBStorageException { List<Value> values = property.getValues(); Set<Key> mappedKeys = new HashSet<>(values.size()); for(Value value : values) { mappedKeys.add(mapToKey(value)); } return mappedKeys; }
public static GrantObject fromEntity(Entity entity) { String grantObject = entity.getValue(Constants.GRANT_OBJECT).toString(); Map<String, Grant> userGrants = new ConcurrentHashMap<>(); Property grantsProperty = entity.getProperty(Constants.GRANTS); for(Value grantValue : grantsProperty.getValues()) { EntityValue entityValue = (EntityValue) grantValue; String grantUser = entityValue.toEntity().getValue(Constants.GRANT_USER).toString(); String grantMode = entityValue.toEntity().getValue(Constants.GRANT_MODE).toString(); userGrants.put(grantUser, new GrantMeta(grantUser, AccessMode.fromMode(grantMode))); } return new GrantObjectMeta(grantObject, userGrants); }
for(Value value : property.getValues()) { if(value instanceof LongValue) { generator.writeNumber(((LongValue) value).toLong());
@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(); } }
assertTrue(foundEntity.hasProperty("integerProperty")); 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());