public List < EsaResource > queryFeatures ( String searchStr ) throws InstallException { List < EsaResource > features = new ArrayList < EsaResource > ( ) ; RepositoryConnectionList loginInfo = getResolveDirector ( ) . getRepositoryConnectionList ( null , null , null , this . getClass ( ) . getCanonicalName ( ) + ".queryFeatures" ) ; try { for ( ProductInfo productInfo : ProductInfo . getAllProductInfo ( ) . values ( ) ) { log ( Level . FINE , Messages . INSTALL_KERNEL_MESSAGES . getLogMessage ( "MSG_SEARCHING_FEATURES" ) ) ; features . addAll ( loginInfo . findMatchingEsas ( searchStr , new ProductInfoProductDefinition ( productInfo ) , Visibility . PUBLIC ) ) ; log ( Level . FINE , Messages . INSTALL_KERNEL_MESSAGES . getLogMessage ( "MSG_SEARCHING_ADDONS" ) ) ; features . addAll ( loginInfo . findMatchingEsas ( searchStr , new ProductInfoProductDefinition ( productInfo ) , Visibility . INSTALL ) ) ; } log ( Level . FINE , " " ) ; } catch ( ProductInfoParseException pipe ) { throw ExceptionUtils . create ( pipe ) ; } catch ( DuplicateProductInfoException dpie ) { throw ExceptionUtils . create ( dpie ) ; } catch ( ProductInfoReplaceException pire ) { throw ExceptionUtils . create ( pire ) ; } catch ( RepositoryException re ) { throw ExceptionUtils . create ( re , re . getCause ( ) , getResolveDirector ( ) . getProxy ( ) , getResolveDirector ( ) . defaultRepo ( ) ) ; } return features ; }
Searches for features that match the specified search string