-
- //For AutoPush of policy using descriptive Scope.
- //Returns string either "UnMatched" or "Matched" or "Search Unavailable".
- public String searchDescriptiveScope(String scopeName, String policyNameToCheck) {
- String searchText=null;
- String status="UnMatched";
- ArrayList<Pair<ArrayList<String>,ArrayList<String>>> filter_s =
- new ArrayList<Pair<ArrayList<String>,ArrayList<String>>>();
- //Finding the descriptive scope search tag.
- LOGGER.warn("Entry into DS");
- DescriptiveScope dsSearch = (DescriptiveScope) commonClassDao.getEntityItem(DescriptiveScope.class, "descriptiveScopeName", scopeName);
-
- searchText=dsSearch.getSearch();
- LOGGER.warn("Search text is " + searchText);
- if (LOGGER.isDebugEnabled()) {
- LOGGER.debug("DescriptiveScope Search String is " +searchText );
- }
-
-
- if(searchText.contains(":"))
- {
- String connector="AND";
-
- for (String retval: searchText.split(connector)){
-
- int index= retval.indexOf(':');
- String filterKey=null;
- String filterValue=null;
-
- filterKey=retval.substring(0,index).trim();
- filterValue= retval.substring(index+1).trim();
-
- LOGGER.debug("Key is "+filterKey+" and value is "+filterValue);
- String clSearchBoxFilter=filterKey;
-
- ArrayList<String> clSearchBoxFilterField_s = new ArrayList<String>();
-
- clSearchBoxFilterField_s.add("Policy.Body." + ElkConnector.PolicyType.Config_Fault.name() + "_Body." + clSearchBoxFilter);
- clSearchBoxFilterField_s.add("Policy.Body." + ElkConnector.PolicyType.Config_PM.name() + "_Body." + clSearchBoxFilter);
- clSearchBoxFilterField_s.add("Policy.Body." + ElkConnector.PolicyType.Config_FW.name() + "_Body." + clSearchBoxFilter);
- clSearchBoxFilterField_s.add("Policy.Body." + ElkConnector.PolicyType.Config_MS.name() + "_Body." + clSearchBoxFilter);
-
-
- ArrayList<String> clSearchBoxFilterValue_s = new ArrayList<String>();
- clSearchBoxFilterValue_s.add(filterValue);
-
- filter_s.add(new Pair<ArrayList<String>,ArrayList<String>>(clSearchBoxFilterField_s, clSearchBoxFilterValue_s));
- }
- }
-
- ArrayList<PolicyLocator> locators=null;
- try {
- LOGGER.warn("Before calling search");
- locators = ElkConnector.singleton.policyLocators(ElkConnector.PolicyIndexType.all,
- searchText, filter_s,connectorSelected);
- LOGGER.warn("After calling search");
- } catch (Exception ise) {
- //AdminNotification.warn("Search is unavailable: " + ise.getMessage());
- status= "Search Unavailable";
- LOGGER.warn("Search is unavailable");
- }
- synchronized(filteredPolicies) {
- if (locators.isEmpty()) {
- LOGGER.debug("No match has been found");
- //AdminNotification.warn("No match has been found");
- status="UnMatched";
- }
-
- for (PolicyLocator p: locators) {
- LOGGER.debug("Second String "+policyNameToCheck);
- if(p.policyName.contains(policyNameToCheck))
- {
- status="Matched";
- LOGGER.warn("Policies matched");
- break;
- }
- else
- {
- LOGGER.warn("Policies Unmatched");
- status="UnMatched";
- }
- }
- }
- return status;
-