public static Status getStatus ( final Instance _instance ) throws EFapsException { Evaluation . LOG . debug ( "Retrieving Status for {}" , _instance ) ; long statusId = 0 ; if ( _instance . getType ( ) . isCheckStatus ( ) ) { final Cache < String , Long > cache = AccessCache . getStatusCache ( ) ; if ( cache . containsKey ( _instance . getKey ( ) ) ) { statusId = cache . get ( _instance . getKey ( ) ) ; } else { final PrintQuery print = new PrintQuery ( _instance ) ; print . addAttribute ( _instance . getType ( ) . getStatusAttribute ( ) ) ; print . executeWithoutAccessCheck ( ) ; final Long statusIdTmp = print . getAttribute ( _instance . getType ( ) . getStatusAttribute ( ) ) ; statusId = statusIdTmp == null ? 0 : statusIdTmp ; cache . put ( _instance . getKey ( ) , statusId ) ; } } final Status ret = statusId > 0 ? Status . get ( statusId ) : null ; Evaluation . LOG . debug ( "Retrieve Status: {}" , ret ) ; return ret ; }
Gets the status .