public void execute ( ) { if ( needsExecution ( ) ) { log . trace ( "Executing round: {}" , pending ) ; Result < Map < com . google . cloud . datastore . Key , Entity > > fetched = fetchPending ( ) ; translated = loadEngine . translate ( fetched ) ; // If we're in a transaction (and beyond the first round), force all subsequent rounds to complete. // This effectively means that only the first round can be asynchronous; all other rounds are // materialized immediately. The reason for this is that there are some nasty edge cases with @Load // annotations in transactions getting called after the transaction closes. This is possibly not the // best solution to the problem, but it solves the problem now. if ( loadEngine . ofy . getTransaction ( ) != null && depth > 0 ) translated . now ( ) ; } }
Turn this into a result set