public PathQuery chain( Query query ) { return new PathQuery( this, query ); }
public Iterator<E> graphIterator( EntityManager em ) { try { if ( uuid != null && type != null ) { return new PagingResultsIterator( getHeadResults( em ), query.getResultsLevel(), null); }else { return new NotificationGraphIterator(em, source.refIterator(em, true), query); } } catch ( Exception e ) { throw new RuntimeException( e ); } }
final PathQuery groupsPQ = new PathQuery(new SimpleEntityRef( em.getApplicationRef() ), groupQuery ); Iterator<Entity> groupsIterator = groupsPQ.iterator( em ); final PathQuery groupsPQ1 = new PathQuery(new SimpleEntityRef( em.getApplicationRef() ), groupQuery ); PathQuery usersPQ1 = groupsPQ1.chain( userQuery ); final Iterator<Entity> userIterator = usersPQ1.iterator( em ); PathQuery groupsPQ2 = new PathQuery(new SimpleEntityRef( em.getApplicationRef() ), groupQuery ); PathQuery usersPQ2 = groupsPQ2.chain( userQuery ); PathQuery<Entity> devicesPQ2 = usersPQ2.chain( deviceQuery ); Iterator<Entity> i = devicesPQ2.iterator( em ); while ( i.hasNext() ) { deviceSet.add( i.next() );
iterator = pathQuery.graphIterator(em); }else{ iterator = pathQuery.iterator(em);
PathQuery<EntityRef> usersPQ = new PathQuery<EntityRef>( new SimpleEntityRef( em.getApplicationRef()), userQuery ); PathQuery<Entity> devicesPQ = usersPQ.chain( deviceQuery ); HashSet set = new HashSet( expectedUserQuerySize * expectedDeviceQuerySize ); Iterator<Entity> i = devicesPQ.iterator( em ); while ( i.hasNext() ) { set.add( i.next() );
protected List<EntityRef> getNotificationReceipts(EntityRef notification) throws Exception { Query query = new Query(); query.setCollection("receipts"); query.setLimit(100); PathQuery<Receipt> pathQuery = new PathQuery<Receipt>( new SimpleEntityRef(app.getEntityManager().getApplicationRef()), query ); Iterator<Receipt> it = pathQuery.iterator(app.getEntityManager()); List<EntityRef> list =new ArrayList<EntityRef>();//get all while(it.hasNext()){ Receipt receipt =it.next(); if(receipt.getNotificationUUID().equals(notification.getUuid())) { list.add(receipt); } } return list; }
public Iterator<E> iterator( EntityManager em ) { try { if ( uuid != null && type != null ) { return new PagingResultsIterator( getHeadResults( em ), query.getResultsLevel(), null); } else { return new MultiQueryIterator( em, source.refIterator( em, false), query ); } } catch ( Exception e ) { throw new RuntimeException( e ); } }
protected Iterator refIterator(EntityManager em, boolean useGraph) throws Exception { if ( query.getQl() == null && query.getSingleNameOrEmailIdentifier() != null){ return new PagingResultsIterator( getHeadResults( em ), Level.REFS, null); } if ( type != null && uuid != null) { return new PagingResultsIterator( getHeadResults( em ), Level.REFS, null); } else { Query q = query; if ( query.getResultsLevel() != Level.REFS ) { // ensure REFS level q = new Query( q ); q.setResultsLevel( Level.REFS ); } if( useGraph){ return new NotificationGraphIterator( em, source.refIterator( em, true), q ); }else{ return new MultiQueryIterator( em, source.refIterator( em, false ), q ); } } }