@Override public Observable<IndexOperationMessage> buildEntityIndex( final EntityIndexOperation entityIndexOperation ) { final ApplicationScope applicationScope = entityIndexOperation.getApplicationScope(); final Id entityId = entityIndexOperation.getId(); //load the entity return entityCollectionManagerFactory.createCollectionManager( applicationScope ).load( entityId ).filter( entity -> { final Field<Long> modified = entity.getField( Schema.PROPERTY_MODIFIED ); /** * We don't have a modified field, so we can't check, pass it through */ if ( modified == null ) { return true; } //entityIndexOperation.getUpdatedSince will always be 0 except for reindexing the application //only re-index if it has been updated and been updated after our timestamp return modified.getValue() >= entityIndexOperation.getUpdatedSince(); } ) //perform indexing on the task scheduler and start it .flatMap( entity -> indexService.indexEntity( applicationScope, entity ) ); }
Field field = entity.getField(mapping.getSourceFieldName()); if ( field != null ) { field.setName( mapping.getTargetFieldName() );
Field<Boolean> boolFieldReturned = returned.getEntity().get().getField( boolField.getName() );
changeLog.addWrite( currentEntity.getField( addedField ) );
Field<Boolean> boolFieldReturned = returned.getEntity().get().getField( boolField.getName() ); Field<Double> doubleFieldReturned = returned.getEntity().get().getField( doubleField.getName() ); Field<Integer> intFieldReturned = returned.getEntity().get().getField( intField.getName() ); Field<Long> longFieldReturned = returned.getEntity().get().getField( longField.getName() ); Field<String> stringFieldReturned = returned.getEntity().get().getField( stringField.getName() ); Field<UUID> uuidFieldReturned = returned.getEntity().get().getField( uuidField.getName() ); Field<ArrayField> arrayFieldReturned = returned.getEntity().get().getField( arrayField.getName() );
private void assertUserWithBlocks( org.apache.usergrid.persistence.model.entity.Entity e ) { assertTrue( e.getField("block") instanceof ListField ); assertTrue( e.getField("block").getValue() instanceof List ); List blockList = (List)e.getField("block").getValue(); EntityObject entityObject = (EntityObject)blockList.get(0); assertEquals("fred", entityObject.getField("name").getValue()); }
entity.setField( nullField ); Field<Boolean> boolFieldReturned = entity.getField( boolField.getName() ); Field<Double> doubleFieldReturned = entity.getField( doubleField.getName() ); Field<Integer> intFieldReturned = entity.getField( intField.getName() ); Field<Long> longFieldReturned = entity.getField( longField.getName() ); Field<String> stringFieldReturned = entity.getField( stringField.getName() ); Field<UUID> uuidFieldReturned = entity.getField( uuidField.getName() ); Field<Object> nullFieldReturned = entity.getField( nullField.getName());
@Test public void testNullWithinArrays() { // build top-level map final Map<String,Object> data = new HashMap<>(1); final List<Object> arrayNullValues = new ArrayList<>(1); arrayNullValues.add(null); arrayNullValues.add(null); // add the nested list to the map data.put("arrayNullValues", arrayNullValues); // convert the map to an entity MapToEntityConverter converter = new MapToEntityConverter(); Entity entity = converter.fromMap(data, true); // make sure the nested array got converted into a ListField assertTrue(entity.getField("arrayNullValues").getTypeName() == FieldTypeName.LIST); List arrayReturned = (List) entity.getField("arrayNullValues").getValue(); assertTrue( arrayReturned.get(0) == null); }
@Test public void testNestedArrays() { // build top-level map final Map<String,Object> data = new HashMap<>(1); // build nested list structure final List<Object> childArray = new ArrayList<>(1); childArray.add("child"); final List<Object> parentArray = new ArrayList<>(1); parentArray.add(childArray); // add the nested list to the map data.put("parentArray", parentArray); // convert the map to an entity MapToEntityConverter converter = new MapToEntityConverter(); Entity entity = converter.fromMap(data, true); // make sure the nested array got converted into a ListField assertTrue(entity.getField("parentArray").getTypeName() == FieldTypeName.LIST); }
@Test public void testNullSerialization() throws IOException { Map<String, Object> properties = new HashMap<>(); List<Object> array = new ArrayList<>(); array.add(null); array.add("test"); properties.put("array", array); org.apache.usergrid.persistence.model.entity.Entity entity = new org.apache.usergrid.persistence.model.entity.Entity( new SimpleId( "user" ) ); entity = CpEntityMapUtils.fromMap( entity, properties, null, true ); assertTrue( entity.getField("array") instanceof ListField ); assertTrue( entity.getField("array").getValue() instanceof List ); List arrayReturned = (List) entity.getField("array").getValue(); assertEquals( null, arrayReturned.get(0) ); assertEquals( "test", arrayReturned.get(1) ); }
final String applicationName = ( String ) entityData.getField( PROPERTY_NAME ).getValue();
@Test public void testMultipleValueTypesWithinList() { // build top-level map final Map<String,Object> data = new HashMap<>(1); final List<Object> arrayDifferentValueTypes = new ArrayList<>(2); final Map<String, String> mapValue = new HashMap<>(1); mapValue.put("mapkey", "mapvalue"); arrayDifferentValueTypes.add(mapValue); arrayDifferentValueTypes.add("stringvalue"); // add the nested list to the map data.put("arrayDifferentValueTypes", arrayDifferentValueTypes); // convert the map to an entity MapToEntityConverter converter = new MapToEntityConverter(); Entity entity = converter.fromMap(data, true); // make sure the nested array got converted into a ListField assertTrue(entity.getField("arrayDifferentValueTypes").getTypeName() == FieldTypeName.LIST); List arrayReturned = (List) entity.getField("arrayDifferentValueTypes").getValue(); EntityObject convertedMapValue = (EntityObject) arrayReturned.get(0); assertEquals( convertedMapValue.getField("mapkey").getValue(), mapValue.get("mapkey")); assertEquals( arrayReturned.get(1), arrayDifferentValueTypes.get(1)); }
assertTrue(entity.getField("stringField").getTypeName() == FieldTypeName.STRING); assertTrue(entity.getField("listField").getTypeName() == FieldTypeName.LIST); assertTrue(entity.getField("booleanField").getTypeName() == FieldTypeName.BOOLEAN); assertTrue(entity.getField("doubleField").getTypeName() == FieldTypeName.DOUBLE); assertTrue(entity.getField("intField").getTypeName() == FieldTypeName.INTEGER); assertTrue(entity.getField("longField").getTypeName() == FieldTypeName.LONG); assertTrue(entity.getField("floatField").getTypeName() == FieldTypeName.FLOAT); assertTrue(entity.getField("location").getTypeName() == FieldTypeName.LOCATION); assertTrue(entity.getField("objectField").getTypeName() == FieldTypeName.OBJECT); assertTrue(entity.getField("nullField").getTypeName() == FieldTypeName.NULL);
final Field<Long> modified = entity.getField( Schema.PROPERTY_MODIFIED );
entityManager.getEntitiesFromFields("test", Collections.singletonList(entity.getField("name")), true) .toBlocking().last(); MvccEntity entityFetched = fieldSet.getEntity( entity.getField("name") ); entityManager.getEntitiesFromFields("test", Collections.singletonList(entity.getField("name")), true) .toBlocking().last(); MvccEntity entityFetchedAgain = fieldSetAgain.getEntity( entity.getField("name") ); entityManager.getEntitiesFromFields("test", Collections.singletonList(entity.getField("name")), true) .toBlocking().last(); MvccEntity entityFetchedAgainAgain = fieldSetAgainAgain.getEntity( entity.getField("name") );
@Test public void writeLoadUpdateLoad() { ApplicationScope context = new ApplicationScopeImpl( new SimpleId( "organization" ) ); Entity newEntity = new Entity( new SimpleId( "test" ) ); newEntity.setField( new IntegerField( "counter", 1 ) ); EntityCollectionManager manager = factory.createCollectionManager( context ); Observable<Entity> observable = manager.write( newEntity, null ); Entity createReturned = observable.toBlocking().lastOrDefault( null ); assertNotNull( "Id was assigned", createReturned.getId() ); Observable<Entity> loadObservable = manager.load( createReturned.getId() ); Entity loadReturned = loadObservable.toBlocking().lastOrDefault( null ); assertEquals( "Same value", createReturned, loadReturned ); assertEquals( "Field value correct", createReturned.getField( "counter" ), loadReturned.getField( "counter" ) ); //update the field to 2 createReturned.setField( new IntegerField( "counter", 2 ) ); //wait for the write to complete manager.write( createReturned, null ).toBlocking().lastOrDefault( null ); loadObservable = manager.load( createReturned.getId() ); loadReturned = loadObservable.toBlocking().lastOrDefault( null ); assertEquals( "Same value", createReturned, loadReturned ); assertEquals( "Field value correct", createReturned.getField( "counter" ), loadReturned.getField( "counter" ) ); }
Entity entityObservable = (Entity) thisentityObservable; final int workerIndex = ( int ) entityObservable.getField( FIELD_WORKER_INDEX ).getValue(); final int ordinal = ( int ) entityObservable.getField( FIELD_ORDINAL ).getValue(); final int ordinal = ( int ) entitySearchResult.searched.getField( FIELD_ORDINAL ).getValue(); final int worker = ( int ) entitySearchResult.searched.getField( FIELD_WORKER_INDEX ).getValue();
assertTrue( ( Boolean ) returned.getEntity().get().getField( "updated" ).getValue() );
assertEquals("widget", cpUpdated.getField("stuff").getValue()); UUID newVersion = cpUpdated.getVersion();