@Override public boolean add( Object entity ) { return next.add( entity ); }
@Override public boolean contains( Object entity ) { return next.contains( entity ); }
@Override public int count() { return next.count(); }
= vStateDesc.getManyAssociationByQualifiedName( eAssocDesc.qualifiedName() ); ManyAssociation<Object> vManyAssoc = vState.manyAssociationFor( vAssocDesc.accessor() ); for( Object assoc : eManyAssoc.toList() ) eManyAssoc.remove( assoc ); for( Object assoc : vManyAssoc.toList() ) eManyAssoc.add( assoc ); for( Object assoc : eManyAssoc.toList() ) eManyAssoc.remove( assoc ); eManyAssoc.add( module.currentUnitOfWork().get( (Class) eAssocDesc.type(), eachAssoc ) );
@Override public Iterator<Object> iterator() { return next.iterator(); }
@Override public boolean remove( Object entity ) { return next.remove( entity ); }
@Override public List<Object> toList() { return next.toList(); }
@Override public Object get( int i ) { return next.get( i ); }
= vStateDesc.getManyAssociationByName( eAssocDesc.qualifiedName().name() ); ManyAssociation<Object> vManyAss = vState.manyAssociationFor( vAssDesc.accessor() ); for( Object ass : eManyAssoc.toList() ) eManyAssoc.remove( ass ); for( Object ass : vManyAss.toList() ) eManyAssoc.add( ass ); for( Object ass : eManyAssoc.toList() ) eManyAssoc.remove( ass ); eManyAssoc.add( module.currentUnitOfWork().get( (Class) eAssocDesc.type(), eachAssoc ) );
instance.manyAssociation().iterator().next(), equalTo( instance ) );
public static <T> T oneOf( final ManyAssociation<T> association ) { NullArgumentException.validateNotNull( "Association", association ); return association.get( 0 ); }
@Override public boolean add( int i, Object entity ) { return next.add( i, entity ); }
@Override public Iterable<EntityReference> map( ManyAssociation<?> manyAssoc ) { if( manyAssoc == null ) { return Iterables.empty(); } List<EntityReference> refs = new ArrayList<>( manyAssoc.count() ); for( Object entity : manyAssoc ) { refs.add( EntityReference.entityReferenceFor( entity ) ); } return refs; } };
@Override public boolean satisfiedBy( Composite item ) { ManyAssociation<T> collection = manyAssociationFunction.map( item ); if( collection == null ) { return false; } return collection.contains( value ); }
@Override public Schedule scheduleCron( Task task, String cronExpression, long initialDelay, boolean durable ) { DateTime start = new DateTime( System.currentTimeMillis() + initialDelay ); Schedule schedule = scheduleFactory.newCronSchedule( task, cronExpression, start, durable ); if( durable ) { Schedules schedules = module.currentUnitOfWork().get( Schedules.class, getSchedulesIdentity( me ) ); schedules.schedules().add( schedule ); } dispatchForExecution( schedule ); return schedule; }
@Override public Iterable<EntityReference> map( AssociationDescriptor associationDescriptor ) { ManyAssociation<?> state = associationState.manyAssociationFor( associationDescriptor.accessor() ); List<EntityReference> refs = new ArrayList<>( state.count() ); for( Object entity : state ) { refs.add( EntityReference.entityReferenceFor( entity ) ); } return refs; } },
protected <T> T selectFromManyAssociation( ManyAssociation<T> manyAssociation, String id ) throws ResourceException { T entity = (T) module.currentUnitOfWork().get( Object.class, id ); if( !manyAssociation.contains( entity ) ) { throw new ResourceException( Status.CLIENT_ERROR_NOT_FOUND ); } current().select( entity ); return entity; }
@Override public Schedule scheduleOnce( Task task, int initialSecondsDelay, boolean durable ) { long now = System.currentTimeMillis(); Schedule schedule = scheduleFactory.newOnceSchedule( task, new DateTime( now + initialSecondsDelay * 1000 ), durable ); if( durable ) { Schedules schedules = module.currentUnitOfWork().get( Schedules.class, getSchedulesIdentity( me ) ); schedules.schedules().add( schedule ); } dispatchForExecution( schedule ); return schedule; }
@Override public Iterable<EntityReference> map( final AssociationDescriptor descriptor ) { AssociationDescriptor associationDescriptor; try { String associationName = descriptor.qualifiedName().name(); AssociationStateDescriptor entityState = entityDescriptor.state(); associationDescriptor = entityState.getManyAssociationByName( associationName ); } catch( IllegalArgumentException e ) { return Iterables.empty(); } ManyAssociation<?> state = associationState.manyAssociationFor( associationDescriptor.accessor() ); List<EntityReference> refs = new ArrayList<>( state.count() ); for( Object entity : state ) { refs.add( EntityReference.entityReferenceFor( entity ) ); } return refs; } },
@Override public Schedule scheduleCron( Task task, String cronExpression, boolean durable ) { DateTime now = new DateTime(); Schedule schedule = scheduleFactory.newCronSchedule( task, cronExpression, now, durable ); if( durable ) { Schedules schedules = module.currentUnitOfWork().get( Schedules.class, getSchedulesIdentity( me ) ); schedules.schedules().add( schedule ); } dispatchForExecution( schedule ); return schedule; }