@SuppressWarnings("unchecked") @Test public void createAssetGroupExceptionsTest() throws PacManException, IOException { AssetGroupException assetGroupExceptionDetails = buildAssetGroupException(); when(assetGroupExceptionRepository.save(any(AssetGroupException.class))).thenReturn(assetGroupExceptionDetails); ElasticSearchProperty elasticSearchProperty = buildElasticSearchProperty(); when(config.getElasticSearch()).thenReturn(elasticSearchProperty); when(response.getEntity()).thenReturn(null); when(restClient.performRequest(anyString(), anyString(), any(Map.class), any(HttpEntity.class), Matchers.<Header>anyVararg())).thenReturn(response); ReflectionTestUtils.setField(assetGroupExceptionServiceImpl, "restClient", restClient); when(sl.getStatusCode()).thenReturn(200); when(response.getStatusLine()).thenReturn(sl); assertThat(assetGroupExceptionService.createAssetGroupExceptions(getCreateAssetGroupExceptionDetailsRequest(), "userId123"), is(notNullValue())); }
@Override public String createAssetGroupExceptions(final AssetGroupExceptionDetailsRequest assetGroupExceptionDetails, final String userId) throws PacManException { List<String> ruleIds = Lists.newArrayList(); try { List<TargetTypeRuleDetails> targetTypes = assetGroupExceptionDetails.getTargetTypes(); deleteAssetGroupExceptions(new DeleteAssetGroupExceptionRequest(assetGroupExceptionDetails.getExceptionName().trim(), assetGroupExceptionDetails.getAssetGroup().trim()), userId); if (updateExceptionToES(assetGroupExceptionDetails)) { try { boolean haveNoRules = true; List<AssetGroupException> allAssetGroupExceptions = Lists.newArrayList(); for (int targetIndex = 0; targetIndex < targetTypes.size(); targetIndex++) { List<RuleDetails> rules = targetTypes.get(targetIndex).getRules(); for (int ruleIndex = 0; ruleIndex < rules.size(); ruleIndex++) { AssetGroupException assetGroupException = new AssetGroupException(); assetGroupException.setGroupName(assetGroupExceptionDetails.getAssetGroup().trim()); assetGroupException.setTargetType(targetTypes.get(targetIndex).getTargetName().trim()); assetGroupException.setDataSource(assetGroupExceptionDetails.getDataSource().trim()); assetGroupException.setExceptionName(assetGroupExceptionDetails.getExceptionName().trim()); assetGroupException.setExceptionReason(assetGroupExceptionDetails.getExceptionReason().trim()); assetGroupException.setExpiryDate(AdminUtils.getFormatedDate("dd/MM/yyyy", assetGroupExceptionDetails.getExpiryDate())); assetGroupException.setRuleId(rules.get(ruleIndex).getId().trim()); assetGroupException.setRuleName(rules.get(ruleIndex).getText().trim()); ruleIds.add(rules.get(ruleIndex).getId().trim()); allAssetGroupExceptions.add(assetGroupException); haveNoRules = false; } } if(targetTypes.size()==0 || haveNoRules) { AssetGroupException assetGroupException = new AssetGroupException(); assetGroupException.setGroupName(assetGroupExceptionDetails.getAssetGroup().trim()); assetGroupException.setTargetType(StringUtils.EMPTY); assetGroupException.setDataSource(assetGroupExceptionDetails.getDataSource().trim()); assetGroupException.setExceptionName(assetGroupExceptionDetails.getExceptionName().trim()); assetGroupException.setExceptionReason(assetGroupExceptionDetails.getExceptionReason().trim()); assetGroupException.setExpiryDate(AdminUtils.getFormatedDate("dd/MM/yyyy", assetGroupExceptionDetails.getExpiryDate())); assetGroupException.setRuleId(StringUtils.EMPTY); assetGroupException.setRuleName(StringUtils.EMPTY); allAssetGroupExceptions.add(assetGroupException); } assetGroupExceptionRepository.saveAll(allAssetGroupExceptions); if(targetTypes.size()!=0 && !haveNoRules) { invokeAllRules(ruleIds); } return CONFIG_STICKY_EXCEPTION_SUCCESS; } catch (Exception e) { invokeAPI("DELETE", "/exceptions/sticky_exceptions/"+ assetGroupExceptionDetails.getExceptionName().replaceAll(" ", "_"), null); throw new PacManException("Exception while updating to table " + e.getMessage()); } } else { throw new PacManException("Exception while updating to ES"); } } catch (Exception exception) { log.error(UNEXPECTED_ERROR_OCCURRED, exception); throw new PacManException(UNEXPECTED_ERROR_OCCURRED); } }
AssetGroupExceptionServiceImpl implements AssetGroupExceptionService { @Override public String createAssetGroupExceptions(final AssetGroupExceptionDetailsRequest assetGroupExceptionDetails, final String userId) throws PacManException { List<String> ruleIds = Lists.newArrayList(); try { List<TargetTypeRuleDetails> targetTypes = assetGroupExceptionDetails.getTargetTypes(); deleteAssetGroupExceptions(new DeleteAssetGroupExceptionRequest(assetGroupExceptionDetails.getExceptionName().trim(), assetGroupExceptionDetails.getAssetGroup().trim()), userId); if (updateExceptionToES(assetGroupExceptionDetails)) { try { boolean haveNoRules = true; List<AssetGroupException> allAssetGroupExceptions = Lists.newArrayList(); for (int targetIndex = 0; targetIndex < targetTypes.size(); targetIndex++) { List<RuleDetails> rules = targetTypes.get(targetIndex).getRules(); for (int ruleIndex = 0; ruleIndex < rules.size(); ruleIndex++) { AssetGroupException assetGroupException = new AssetGroupException(); assetGroupException.setGroupName(assetGroupExceptionDetails.getAssetGroup().trim()); assetGroupException.setTargetType(targetTypes.get(targetIndex).getTargetName().trim()); assetGroupException.setDataSource(assetGroupExceptionDetails.getDataSource().trim()); assetGroupException.setExceptionName(assetGroupExceptionDetails.getExceptionName().trim()); assetGroupException.setExceptionReason(assetGroupExceptionDetails.getExceptionReason().trim()); assetGroupException.setExpiryDate(AdminUtils.getFormatedDate("dd/MM/yyyy", assetGroupExceptionDetails.getExpiryDate())); assetGroupException.setRuleId(rules.get(ruleIndex).getId().trim()); assetGroupException.setRuleName(rules.get(ruleIndex).getText().trim()); ruleIds.add(rules.get(ruleIndex).getId().trim()); allAssetGroupExceptions.add(assetGroupException); haveNoRules = false; } } if(targetTypes.size()==0 || haveNoRules) { AssetGroupException assetGroupException = new AssetGroupException(); assetGroupException.setGroupName(assetGroupExceptionDetails.getAssetGroup().trim()); assetGroupException.setTargetType(StringUtils.EMPTY); assetGroupException.setDataSource(assetGroupExceptionDetails.getDataSource().trim()); assetGroupException.setExceptionName(assetGroupExceptionDetails.getExceptionName().trim()); assetGroupException.setExceptionReason(assetGroupExceptionDetails.getExceptionReason().trim()); assetGroupException.setExpiryDate(AdminUtils.getFormatedDate("dd/MM/yyyy", assetGroupExceptionDetails.getExpiryDate())); assetGroupException.setRuleId(StringUtils.EMPTY); assetGroupException.setRuleName(StringUtils.EMPTY); allAssetGroupExceptions.add(assetGroupException); } assetGroupExceptionRepository.saveAll(allAssetGroupExceptions); if(targetTypes.size()!=0 && !haveNoRules) { invokeAllRules(ruleIds); } return CONFIG_STICKY_EXCEPTION_SUCCESS; } catch (Exception e) { invokeAPI("DELETE", "/exceptions/sticky_exceptions/"+ assetGroupExceptionDetails.getExceptionName().replaceAll(" ", "_"), null); throw new PacManException("Exception while updating to table " + e.getMessage()); } } else { throw new PacManException("Exception while updating to ES"); } } catch (Exception exception) { log.error(UNEXPECTED_ERROR_OCCURRED, exception); throw new PacManException(UNEXPECTED_ERROR_OCCURRED); } } }
AssetGroupExceptionServiceImpl implements AssetGroupExceptionService { @Override public String createAssetGroupExceptions(final AssetGroupExceptionDetailsRequest assetGroupExceptionDetails, final String userId) throws PacManException { List<String> ruleIds = Lists.newArrayList(); try { List<TargetTypeRuleDetails> targetTypes = assetGroupExceptionDetails.getTargetTypes(); deleteAssetGroupExceptions(new DeleteAssetGroupExceptionRequest(assetGroupExceptionDetails.getExceptionName().trim(), assetGroupExceptionDetails.getAssetGroup().trim()), userId); if (updateExceptionToES(assetGroupExceptionDetails)) { try { boolean haveNoRules = true; List<AssetGroupException> allAssetGroupExceptions = Lists.newArrayList(); for (int targetIndex = 0; targetIndex < targetTypes.size(); targetIndex++) { List<RuleDetails> rules = targetTypes.get(targetIndex).getRules(); for (int ruleIndex = 0; ruleIndex < rules.size(); ruleIndex++) { AssetGroupException assetGroupException = new AssetGroupException(); assetGroupException.setGroupName(assetGroupExceptionDetails.getAssetGroup().trim()); assetGroupException.setTargetType(targetTypes.get(targetIndex).getTargetName().trim()); assetGroupException.setDataSource(assetGroupExceptionDetails.getDataSource().trim()); assetGroupException.setExceptionName(assetGroupExceptionDetails.getExceptionName().trim()); assetGroupException.setExceptionReason(assetGroupExceptionDetails.getExceptionReason().trim()); assetGroupException.setExpiryDate(AdminUtils.getFormatedDate("dd/MM/yyyy", assetGroupExceptionDetails.getExpiryDate())); assetGroupException.setRuleId(rules.get(ruleIndex).getId().trim()); assetGroupException.setRuleName(rules.get(ruleIndex).getText().trim()); ruleIds.add(rules.get(ruleIndex).getId().trim()); allAssetGroupExceptions.add(assetGroupException); haveNoRules = false; } } if(targetTypes.size()==0 || haveNoRules) { AssetGroupException assetGroupException = new AssetGroupException(); assetGroupException.setGroupName(assetGroupExceptionDetails.getAssetGroup().trim()); assetGroupException.setTargetType(StringUtils.EMPTY); assetGroupException.setDataSource(assetGroupExceptionDetails.getDataSource().trim()); assetGroupException.setExceptionName(assetGroupExceptionDetails.getExceptionName().trim()); assetGroupException.setExceptionReason(assetGroupExceptionDetails.getExceptionReason().trim()); assetGroupException.setExpiryDate(AdminUtils.getFormatedDate("dd/MM/yyyy", assetGroupExceptionDetails.getExpiryDate())); assetGroupException.setRuleId(StringUtils.EMPTY); assetGroupException.setRuleName(StringUtils.EMPTY); allAssetGroupExceptions.add(assetGroupException); } assetGroupExceptionRepository.saveAll(allAssetGroupExceptions); if(targetTypes.size()!=0 && !haveNoRules) { invokeAllRules(ruleIds); } return CONFIG_STICKY_EXCEPTION_SUCCESS; } catch (Exception e) { invokeAPI("DELETE", "/exceptions/sticky_exceptions/"+ assetGroupExceptionDetails.getExceptionName().replaceAll(" ", "_"), null); throw new PacManException("Exception while updating to table " + e.getMessage()); } } else { throw new PacManException("Exception while updating to ES"); } } catch (Exception exception) { log.error(UNEXPECTED_ERROR_OCCURRED, exception); throw new PacManException(UNEXPECTED_ERROR_OCCURRED); } }  }
AssetGroupExceptionServiceImpl implements AssetGroupExceptionService { @Override public String createAssetGroupExceptions(final AssetGroupExceptionDetailsRequest assetGroupExceptionDetails, final String userId) throws PacManException { List<String> ruleIds = Lists.newArrayList(); try { List<TargetTypeRuleDetails> targetTypes = assetGroupExceptionDetails.getTargetTypes(); deleteAssetGroupExceptions(new DeleteAssetGroupExceptionRequest(assetGroupExceptionDetails.getExceptionName().trim(), assetGroupExceptionDetails.getAssetGroup().trim()), userId); if (updateExceptionToES(assetGroupExceptionDetails)) { try { boolean haveNoRules = true; List<AssetGroupException> allAssetGroupExceptions = Lists.newArrayList(); for (int targetIndex = 0; targetIndex < targetTypes.size(); targetIndex++) { List<RuleDetails> rules = targetTypes.get(targetIndex).getRules(); for (int ruleIndex = 0; ruleIndex < rules.size(); ruleIndex++) { AssetGroupException assetGroupException = new AssetGroupException(); assetGroupException.setGroupName(assetGroupExceptionDetails.getAssetGroup().trim()); assetGroupException.setTargetType(targetTypes.get(targetIndex).getTargetName().trim()); assetGroupException.setDataSource(assetGroupExceptionDetails.getDataSource().trim()); assetGroupException.setExceptionName(assetGroupExceptionDetails.getExceptionName().trim()); assetGroupException.setExceptionReason(assetGroupExceptionDetails.getExceptionReason().trim()); assetGroupException.setExpiryDate(AdminUtils.getFormatedDate("dd/MM/yyyy", assetGroupExceptionDetails.getExpiryDate())); assetGroupException.setRuleId(rules.get(ruleIndex).getId().trim()); assetGroupException.setRuleName(rules.get(ruleIndex).getText().trim()); ruleIds.add(rules.get(ruleIndex).getId().trim()); allAssetGroupExceptions.add(assetGroupException); haveNoRules = false; } } if(targetTypes.size()==0 || haveNoRules) { AssetGroupException assetGroupException = new AssetGroupException(); assetGroupException.setGroupName(assetGroupExceptionDetails.getAssetGroup().trim()); assetGroupException.setTargetType(StringUtils.EMPTY); assetGroupException.setDataSource(assetGroupExceptionDetails.getDataSource().trim()); assetGroupException.setExceptionName(assetGroupExceptionDetails.getExceptionName().trim()); assetGroupException.setExceptionReason(assetGroupExceptionDetails.getExceptionReason().trim()); assetGroupException.setExpiryDate(AdminUtils.getFormatedDate("dd/MM/yyyy", assetGroupExceptionDetails.getExpiryDate())); assetGroupException.setRuleId(StringUtils.EMPTY); assetGroupException.setRuleName(StringUtils.EMPTY); allAssetGroupExceptions.add(assetGroupException); } assetGroupExceptionRepository.saveAll(allAssetGroupExceptions); if(targetTypes.size()!=0 && !haveNoRules) { invokeAllRules(ruleIds); } return CONFIG_STICKY_EXCEPTION_SUCCESS; } catch (Exception e) { invokeAPI("DELETE", "/exceptions/sticky_exceptions/"+ assetGroupExceptionDetails.getExceptionName().replaceAll(" ", "_"), null); throw new PacManException("Exception while updating to table " + e.getMessage()); } } else { throw new PacManException("Exception while updating to ES"); } } catch (Exception exception) { log.error(UNEXPECTED_ERROR_OCCURRED, exception); throw new PacManException(UNEXPECTED_ERROR_OCCURRED); } }  @Override Page<AssetGroupExceptionProjections> getAllAssetGroupExceptions(String searchTerm, int page, int size); @Override StickyExceptionResponse getAllTargetTypesByExceptionNameAndDataSource(final String exceptionName, final String dataSource); @Override String createAssetGroupExceptions(final AssetGroupExceptionDetailsRequest assetGroupExceptionDetails, final String userId); @Override String updateAssetGroupExceptions(final AssetGroupExceptionDetailsRequest assetGroupExceptionDetailsRequest, String userId); @Override String deleteAssetGroupExceptions(final DeleteAssetGroupExceptionRequest assetGroupExceptionRequest, String userId); @Override Collection<String> getAllExceptionNames(); }
AssetGroupExceptionServiceImpl implements AssetGroupExceptionService { @Override public String createAssetGroupExceptions(final AssetGroupExceptionDetailsRequest assetGroupExceptionDetails, final String userId) throws PacManException { List<String> ruleIds = Lists.newArrayList(); try { List<TargetTypeRuleDetails> targetTypes = assetGroupExceptionDetails.getTargetTypes(); deleteAssetGroupExceptions(new DeleteAssetGroupExceptionRequest(assetGroupExceptionDetails.getExceptionName().trim(), assetGroupExceptionDetails.getAssetGroup().trim()), userId); if (updateExceptionToES(assetGroupExceptionDetails)) { try { boolean haveNoRules = true; List<AssetGroupException> allAssetGroupExceptions = Lists.newArrayList(); for (int targetIndex = 0; targetIndex < targetTypes.size(); targetIndex++) { List<RuleDetails> rules = targetTypes.get(targetIndex).getRules(); for (int ruleIndex = 0; ruleIndex < rules.size(); ruleIndex++) { AssetGroupException assetGroupException = new AssetGroupException(); assetGroupException.setGroupName(assetGroupExceptionDetails.getAssetGroup().trim()); assetGroupException.setTargetType(targetTypes.get(targetIndex).getTargetName().trim()); assetGroupException.setDataSource(assetGroupExceptionDetails.getDataSource().trim()); assetGroupException.setExceptionName(assetGroupExceptionDetails.getExceptionName().trim()); assetGroupException.setExceptionReason(assetGroupExceptionDetails.getExceptionReason().trim()); assetGroupException.setExpiryDate(AdminUtils.getFormatedDate("dd/MM/yyyy", assetGroupExceptionDetails.getExpiryDate())); assetGroupException.setRuleId(rules.get(ruleIndex).getId().trim()); assetGroupException.setRuleName(rules.get(ruleIndex).getText().trim()); ruleIds.add(rules.get(ruleIndex).getId().trim()); allAssetGroupExceptions.add(assetGroupException); haveNoRules = false; } } if(targetTypes.size()==0 || haveNoRules) { AssetGroupException assetGroupException = new AssetGroupException(); assetGroupException.setGroupName(assetGroupExceptionDetails.getAssetGroup().trim()); assetGroupException.setTargetType(StringUtils.EMPTY); assetGroupException.setDataSource(assetGroupExceptionDetails.getDataSource().trim()); assetGroupException.setExceptionName(assetGroupExceptionDetails.getExceptionName().trim()); assetGroupException.setExceptionReason(assetGroupExceptionDetails.getExceptionReason().trim()); assetGroupException.setExpiryDate(AdminUtils.getFormatedDate("dd/MM/yyyy", assetGroupExceptionDetails.getExpiryDate())); assetGroupException.setRuleId(StringUtils.EMPTY); assetGroupException.setRuleName(StringUtils.EMPTY); allAssetGroupExceptions.add(assetGroupException); } assetGroupExceptionRepository.saveAll(allAssetGroupExceptions); if(targetTypes.size()!=0 && !haveNoRules) { invokeAllRules(ruleIds); } return CONFIG_STICKY_EXCEPTION_SUCCESS; } catch (Exception e) { invokeAPI("DELETE", "/exceptions/sticky_exceptions/"+ assetGroupExceptionDetails.getExceptionName().replaceAll(" ", "_"), null); throw new PacManException("Exception while updating to table " + e.getMessage()); } } else { throw new PacManException("Exception while updating to ES"); } } catch (Exception exception) { log.error(UNEXPECTED_ERROR_OCCURRED, exception); throw new PacManException(UNEXPECTED_ERROR_OCCURRED); } }  @Override Page<AssetGroupExceptionProjections> getAllAssetGroupExceptions(String searchTerm, int page, int size); @Override StickyExceptionResponse getAllTargetTypesByExceptionNameAndDataSource(final String exceptionName, final String dataSource); @Override String createAssetGroupExceptions(final AssetGroupExceptionDetailsRequest assetGroupExceptionDetails, final String userId); @Override String updateAssetGroupExceptions(final AssetGroupExceptionDetailsRequest assetGroupExceptionDetailsRequest, String userId); @Override String deleteAssetGroupExceptions(final DeleteAssetGroupExceptionRequest assetGroupExceptionRequest, String userId); @Override Collection<String> getAllExceptionNames();  }