public static void evalStatus ( final Collection < Instance > _instances ) throws EFapsException { Evaluation . LOG . debug ( "Evaluating Status for {}" , _instances ) ; if ( CollectionUtils . isNotEmpty ( _instances ) ) { final Cache < String , Long > cache = AccessCache . getStatusCache ( ) ; final List < Instance > instances = _instances . stream ( ) . filter ( inst -> ! cache . containsKey ( inst . getKey ( ) ) ) . collect ( Collectors . toList ( ) ) ; if ( ! instances . isEmpty ( ) ) { final Attribute attr = instances . get ( 0 ) . getType ( ) . getStatusAttribute ( ) ; final MultiPrintQuery multi = new MultiPrintQuery ( instances ) ; multi . addAttribute ( attr ) ; multi . executeWithoutAccessCheck ( ) ; while ( multi . next ( ) ) { final Long statusId = multi . getAttribute ( attr ) ; cache . put ( multi . getCurrentInstance ( ) . getKey ( ) , statusId == null ? 0 : statusId ) ; } } } }
Eval status .