@Override public void set( Object associated ) throws IllegalArgumentException { next.set( associated ); }
@Override public Object get() { return next.get(); }
@Override public EntityReference reference() { return next.reference(); }
@Override public boolean satisfiedBy( Composite item ) { try { Association<T> assoc = association.map( item ); if( assoc == null ) { return true; } return assoc.get() == null; } catch( IllegalArgumentException e ) { return true; } }
private Schedule newTransientOnceSchedule( Task task, DateTime runAt ) { ValueBuilder<OnceSchedule> builder = module.newValueBuilder( OnceSchedule.class ); OnceSchedule builderInstance = builder.prototype(); builderInstance.task().set( task ); builderInstance.start().set( runAt ); builderInstance.identity().set( uuid.generate( CronSchedule.class ) ); OnceSchedule schedule = builder.newInstance(); logger.info( "Schedule {} created: {}", schedule.presentationString(), schedule.identity().get() ); return schedule; }
@Override public boolean satisfiedBy( Composite item ) { try { Association<T> assoc = association.map( item ); if( assoc == null ) { return false; } return assoc.get() != null; } catch( IllegalArgumentException e ) { return false; } }
private Schedule newPersistentOnceSchedule( Task task, DateTime runAt ) { UnitOfWork uow = module.currentUnitOfWork(); EntityBuilder<OnceSchedule> builder = uow.newEntityBuilder( OnceSchedule.class ); OnceSchedule builderInstance = builder.instance(); builderInstance.task().set( task ); builderInstance.start().set( runAt ); builderInstance.identity().set( uuid.generate( CronSchedule.class ) ); OnceSchedule schedule = builder.newInstance(); logger.info( "Schedule {} created: {}", schedule.presentationString(), schedule.identity().get() ); return schedule; } }
@Override public NamedAssociation<T> map( Composite entity ) { try { Object target = entity; if( traversedAssociation != null ) { target = traversedAssociation.map( entity ).get(); } if( traversedManyAssociation != null ) { throw new IllegalArgumentException( "Cannot traverse ManyAssociations" ); } if( traversedNamedAssociation != null ) { throw new IllegalArgumentException( "Cannot traverse NamedAssociations" ); } CompositeInstance handler = (CompositeInstance) Proxy.getInvocationHandler( target ); return ( (AssociationStateHolder) handler.state() ).namedAssociationFor( accessor ); } catch( IllegalArgumentException e ) { throw e; } catch( Throwable e ) { throw new IllegalArgumentException( e ); } }
private CronSchedule newTransientCronSchedule( Task task, String cronExpression, DateTime start ) { ValueBuilder<CronSchedule> builder = module.newValueBuilder( CronSchedule.class ); CronSchedule prototype = builder.prototype(); prototype.task().set( task ); prototype.start().set( start ); prototype.identity().set( uuid.generate( CronSchedule.class ) ); prototype.cronExpression().set( cronExpression ); CronSchedule schedule = builder.newInstance(); logger.info( "Schedule {} created: {}", schedule.presentationString(), schedule.identity().get() ); return schedule; }
@Override public ManyAssociation<T> map( Composite entity ) { try { Object target = entity; if( traversedAssociation != null ) { target = traversedAssociation.map( entity ).get(); } if( traversedManyAssociation != null ) { throw new IllegalArgumentException( "Cannot traverse ManyAssociations" ); } if( traversedNamedAssociation != null ) { throw new IllegalArgumentException( "Cannot traverse NamedAssociations" ); } CompositeInstance handler = (CompositeInstance) Proxy.getInvocationHandler( target ); return ( (AssociationStateHolder) handler.state() ).manyAssociationFor( accessor ); } catch( IllegalArgumentException e ) { throw e; } catch( Throwable e ) { throw new IllegalArgumentException( e ); } }
private CronSchedule newPersistentCronSchedule( Task task, String cronExpression, DateTime start ) { UnitOfWork uow = module.currentUnitOfWork(); EntityBuilder<CronSchedule> builder = uow.newEntityBuilder( CronSchedule.class ); CronSchedule builderInstance = builder.instance(); builderInstance.task().set( task ); builderInstance.start().set( start ); builderInstance.identity().set( uuid.generate( CronSchedule.class ) ); builderInstance.cronExpression().set( cronExpression ); CronSchedule schedule = builder.newInstance(); logger.info( "Schedule {} created: {}", schedule.presentationString(), schedule.identity().get() ); return schedule; }
@Override public EntityReference map( AssociationDescriptor associationDescriptor ) { return EntityReference.entityReferenceFor( associationState.associationFor( associationDescriptor.accessor() ).get() ); } },
instance.localDateTimeValue().set( new LocalDateTime( "2020-03-04T13:23:00" ) ); instance.localDateValue().set( new LocalDate( "2020-03-04" ) ); instance.association().set( instance );
target = association.get();
EntityTraceRecordEntity state = builder.instance(); setStandardStuff( compositeType, method, args, entryTime, durationNano, state, exception ); state.source().set( source );
@Test public void script05() throws EntityFinderException { Person person = templateFor( Person.class ); // should return Joe Doe Iterable<EntityReference> entities = entityFinder.findEntities( Person.class, eq( person.mother().get().placeOfBirth().get().name(), "Kuala Lumpur" ), NO_SORTING, NO_FIRST_RESULT, NO_MAX_RESULTS, NO_VARIABLES ); assertNames( entities, JOE ); }
proto.barAssociation().set( buildBarEntity( "bazar in barAssociation" ) ); proto.barEntityAssociation().set( buildBarEntity( "bazar in barEntityAssociation" ) ); proto.barManyAssociation().add( buildBarEntity( "bazar ONE in barManyAssociation" ) ); proto.barManyAssociation().add( buildBarEntity( "bazar TWO in barManyAssociation" ) );
target = association.get();