public Object getEntityProperty( Entity entity, String property ) { PropertyDescriptor descriptor = getDescriptorForEntityProperty( entity.getClass(), property ); if ( descriptor != null ) { try { return descriptor.getReadMethod().invoke( entity ); } catch ( Exception e ) { logger.error( "Unable to get entity property {}", property, e ); } return null; } Map<String, Object> properties = entity.getDynamicProperties(); if ( properties != null ) { return properties.get( property ); } return null; }
public Map<String, Object> getEntityProperties( Entity entity ) { Map<String, Object> properties = new LinkedHashMap<String, Object>(); Map<String, PropertyDescriptor> propertyDescriptors = entityClassPropertyToDescriptor.get( entity.getClass() ); if ( propertyDescriptors == null ) { registerEntity( entity.getClass() ); propertyDescriptors = entityClassPropertyToDescriptor.get( entity.getClass() ); } for ( Entry<String, PropertyDescriptor> propertyEntry : propertyDescriptors.entrySet() ) { String property = propertyEntry.getKey(); PropertyDescriptor descriptor = propertyEntry.getValue(); if ( descriptor != null ) { try { Object value = descriptor.getReadMethod().invoke( entity ); if ( value != null ) { properties.put( property, value ); } } catch ( Exception e ) { logger.error( "Unable to get entity property {}", property, e ); } } } Map<String, Object> dynamicProperties = entity.getDynamicProperties(); if ( dynamicProperties != null ) { properties.putAll( dynamicProperties ); } return properties; }
if ((device.getDynamicProperties().get(entry.getKey()) != null && device.getDynamicProperties().get(entry.getKey()).equals(entry.getValue())) ||
/** * Convert a usergrid 1.0 entity into a usergrid 2.0 entity */ public static org.apache.usergrid.persistence.model.entity.Entity entityToCpEntity( org.apache.usergrid.persistence.Entity entity, UUID importId ) { UUID uuid = importId != null ? importId : entity.getUuid(); org.apache.usergrid.persistence.model.entity.Entity cpEntity = new org.apache.usergrid.persistence.model.entity.Entity( new SimpleId( uuid, entity.getType() ) ); cpEntity = CpEntityMapUtils.fromMap( cpEntity, entity.getProperties(), entity.getType(), true ); cpEntity = CpEntityMapUtils.fromMap( cpEntity, entity.getDynamicProperties(), entity.getType(), true ); return cpEntity; }
public UserInfo getUserInfo( UUID applicationId, Entity entity ) { if ( entity == null ) { return null; } return new UserInfo( applicationId, entity.getUuid(), ( String ) entity.getProperty( "username" ), entity.getName(), ( String ) entity.getProperty( "email" ), ConversionUtils.getBoolean( entity.getProperty( "confirmed" ) ), ConversionUtils.getBoolean( entity.getProperty( "activated" ) ), ConversionUtils.getBoolean( entity.getProperty( "disabled" ) ), entity.getDynamicProperties(), ConversionUtils.getBoolean( entity.getProperty( "admin" ))); }
@Test public void testEntityReduction() throws Exception { UUID applicationId = app.getId(); EntityManager em = setup.getEmf().getEntityManager(applicationId); Map<String, Object> entity1 = new LinkedHashMap<String, Object>(); entity1.put("name", "name_1"); entity1.put("status", "pickled"); em.create("names", entity1); app.waitForQueueDrainAndRefreshIndex(); //should return valid values Query query = Query.fromQL("select status where status = 'pickled'"); Results r = em.searchCollection( em.getApplicationRef(), "names", query ); assertTrue(r.getEntities() != null && r.getEntities().size() > 0); Entity first = r.getEntities().get(0); assertTrue(first.getDynamicProperties().size() == 2); //should return valid values query = Query.fromQL("select uuid where status = 'pickled'"); r = em.searchCollection( em.getApplicationRef(), "names", query ); assertTrue(r.getEntities() != null && r.getEntities().size() > 0); first = r.getEntities().get(0); assertTrue(first.getDynamicProperties().size() == 1); //should return valid values query = Query.fromQL("select uuid:myid where status = 'pickled'"); r = em.searchCollection( em.getApplicationRef(), "names", query ); assertTrue(r.getEntities() != null && r.getEntities().size() > 0); first = r.getEntities().get(0); assertTrue(first.getDynamicProperties().size() == 1); } @Test
assertTrue(r.getEntities() != null && r.getEntities().size() == 2); Entity first = r.getEntities().get(0); assertTrue(first.getDynamicProperties().size() == 2); assertEquals( ((Map<String, Object>)first.getProperty("data")).get("rando"), "bar" ); assertTrue( first.getDynamicProperties().size() == 3 ); assertEquals( misc.get("range"), "open" ); assertTrue( first.getDynamicProperties().size() == 2 ); assertTrue( r.getEntities() != null && r.getEntities().size() == 2 ); Entity first = r.getEntities().get( 0 ); assertTrue( first.getDynamicProperties().size() == 1 );
user.getDynamicProperties().remove("location"); em.updateProperties(user, properties); em.update(user);