@Override public List<StateInfo> performSearch( LookupForm lookupForm, Map<String, String> searchCriteria, boolean bounded) { QueryByCriteria.Builder qBuilder = QueryByCriteria.Builder.create(); List<Predicate> pList = new ArrayList<Predicate>(); // Code Changed for JIRA-8997 - SONAR Critical issues - Performance - Inefficient use of keySet // iterator instead of entrySet iterator for (Map.Entry<String, String> entry : searchCriteria.entrySet()) { String fieldName = entry.getKey(); String value = entry.getValue(); if (value != null && !value.isEmpty()) { if (fieldName.equals("maxResultsToReturn")) { qBuilder.setMaxResults(Integer.parseInt(value)); continue; } pList.add(PredicateFactory.equal(fieldName, value)); } } if (!pList.isEmpty()) { qBuilder.setPredicates(PredicateFactory.and(pList.toArray(new Predicate[pList.size()]))); } try { return this.getStateService().searchForStates(qBuilder.build(), getContextInfo()); } catch (Exception ex) { throw new RuntimeException(ex); } }
@Override protected List<Predicate> getPredicates(ProposalBudgetForm model) { String budgetCategoryTypeCode = model.getAddProjectBudgetLineItemHelper().getBudgetCategoryTypeCode(); List<Predicate> predicates = new ArrayList<>(); if (StringUtils.isNotEmpty(budgetCategoryTypeCode)) { predicates.add(PredicateFactory.equal(BUDGET_CATEGORY_TYPE_CODE, budgetCategoryTypeCode)); } else { predicates.add( PredicateFactory.notEqual( BUDGET_CATEGORY_TYPE_CODE, getPersonnelBudgetCategoryTypeCode())); } return predicates; }
protected PropAwardPersonRoleServiceImpl getPropAwardPersonRoleService() { final PropAwardPersonRoleServiceImpl roleService = new PropAwardPersonRoleServiceImpl(); final DataObjectService dataObjectService = context.mock(DataObjectService.class); final ParameterService parameterService = context.mock(ParameterService.class); final SponsorHierarchyService hierarchyService = context.mock(SponsorHierarchyService.class); context.checking( new Expectations() { { one(parameterService) .getParameterValueAsBoolean( Constants.MODULE_NAMESPACE_PROPOSAL_DEVELOPMENT, Constants.PARAMETER_COMPONENT_DOCUMENT, PropAwardPersonRoleServiceImpl.ALL_SPONSOR_HIERARCHY_NIH_MULTI_PI); will(returnValue(true)); one(dataObjectService) .findMatching( PropAwardPersonRole.class, QueryByCriteria.Builder.forAttribute( "sponsorHierarchyName", PropAwardPersonRoleServiceImpl.NIH_MULTIPLE_PI_HIERARCHY) .build()); will(returnValue(roleListBuilder.build())); } }); final QueryByCriteria.Builder criteriaCoInvestigator1 = QueryByCriteria.Builder.create() .setPredicates( PredicateFactory.equal("code", ContactRole.COI_CODE), PredicateFactory.equal( "sponsorHierarchyName", PropAwardPersonRoleServiceImpl.NIH_MULTIPLE_PI_HIERARCHY)); final PropAwardPersonRole roleCoInvestigator1 = createTestRole( 3L, ContactRole.COI_CODE, PropAwardPersonRoleServiceImpl.NIH_MULTIPLE_PI_HIERARCHY); context.checking( new Expectations() { { one(parameterService) .getParameterValueAsBoolean( Constants.MODULE_NAMESPACE_PROPOSAL_DEVELOPMENT, Constants.PARAMETER_COMPONENT_DOCUMENT, PropAwardPersonRoleServiceImpl.ALL_SPONSOR_HIERARCHY_NIH_MULTI_PI); will(returnValue(true)); one(dataObjectService) .findUnique(PropAwardPersonRole.class, criteriaCoInvestigator1.build()); will(returnValue(roleCoInvestigator1)); } }); final QueryByCriteria.Builder criteriaCoInvestigator2 = QueryByCriteria.Builder.create() .setPredicates( PredicateFactory.equal("code", ContactRole.COI_CODE), PredicateFactory.equal( "sponsorHierarchyName", PropAwardPersonRoleServiceImpl.NIH_MULTIPLE_PI_HIERARCHY)); final PropAwardPersonRole roleCoInvestigator2 = createTestRole( 3L, ContactRole.COI_CODE, PropAwardPersonRoleServiceImpl.NIH_MULTIPLE_PI_HIERARCHY); context.checking( new Expectations() { { one(parameterService) .getParameterValueAsBoolean( Constants.MODULE_NAMESPACE_PROPOSAL_DEVELOPMENT, Constants.PARAMETER_COMPONENT_DOCUMENT, PropAwardPersonRoleServiceImpl.ALL_SPONSOR_HIERARCHY_NIH_MULTI_PI); will(returnValue(true)); one(dataObjectService) .findUnique(PropAwardPersonRole.class, criteriaCoInvestigator2.build()); will(returnValue(roleCoInvestigator2)); } }); final QueryByCriteria.Builder criteriaKeyPerson1 = QueryByCriteria.Builder.create() .setPredicates( PredicateFactory.equal("code", ContactRole.KEY_PERSON_CODE), PredicateFactory.equal( "sponsorHierarchyName", PropAwardPersonRoleServiceImpl.NIH_MULTIPLE_PI_HIERARCHY)); final PropAwardPersonRole roleKeyPerson1 = createTestRole( 3L, ContactRole.KEY_PERSON_CODE, PropAwardPersonRoleServiceImpl.NIH_MULTIPLE_PI_HIERARCHY); context.checking( new Expectations() { { one(parameterService) .getParameterValueAsBoolean( Constants.MODULE_NAMESPACE_PROPOSAL_DEVELOPMENT, Constants.PARAMETER_COMPONENT_DOCUMENT, PropAwardPersonRoleServiceImpl.ALL_SPONSOR_HIERARCHY_NIH_MULTI_PI); will(returnValue(true)); one(dataObjectService) .findUnique(PropAwardPersonRole.class, criteriaKeyPerson1.build()); will(returnValue(roleKeyPerson1)); } }); final QueryByCriteria.Builder criteriaKeyPerson2 = QueryByCriteria.Builder.create() .setPredicates( PredicateFactory.equal("code", ContactRole.KEY_PERSON_CODE), PredicateFactory.equal( "sponsorHierarchyName", PropAwardPersonRoleServiceImpl.NIH_MULTIPLE_PI_HIERARCHY)); final PropAwardPersonRole roleKeyPerson2 = createTestRole( 3L, ContactRole.KEY_PERSON_CODE, PropAwardPersonRoleServiceImpl.NIH_MULTIPLE_PI_HIERARCHY); context.checking( new Expectations() { { one(parameterService) .getParameterValueAsBoolean( Constants.MODULE_NAMESPACE_PROPOSAL_DEVELOPMENT, Constants.PARAMETER_COMPONENT_DOCUMENT, PropAwardPersonRoleServiceImpl.ALL_SPONSOR_HIERARCHY_NIH_MULTI_PI); will(returnValue(true)); one(dataObjectService) .findUnique(PropAwardPersonRole.class, criteriaKeyPerson2.build()); will(returnValue(roleKeyPerson2)); } }); final QueryByCriteria.Builder criteriaKeyPerson3 = QueryByCriteria.Builder.create() .setPredicates( PredicateFactory.equal("code", ContactRole.KEY_PERSON_CODE), PredicateFactory.equal( "sponsorHierarchyName", PropAwardPersonRoleServiceImpl.NIH_MULTIPLE_PI_HIERARCHY)); final PropAwardPersonRole roleKeyPerson3 = createTestRole( 3L, ContactRole.KEY_PERSON_CODE, PropAwardPersonRoleServiceImpl.NIH_MULTIPLE_PI_HIERARCHY); context.checking( new Expectations() { { one(parameterService) .getParameterValueAsBoolean( Constants.MODULE_NAMESPACE_PROPOSAL_DEVELOPMENT, Constants.PARAMETER_COMPONENT_DOCUMENT, PropAwardPersonRoleServiceImpl.ALL_SPONSOR_HIERARCHY_NIH_MULTI_PI); will(returnValue(true)); one(dataObjectService) .findUnique(PropAwardPersonRole.class, criteriaKeyPerson3.build()); will(returnValue(roleKeyPerson3)); } }); final QueryByCriteria.Builder criteriaKeyPerson4 = QueryByCriteria.Builder.create() .setPredicates( PredicateFactory.equal("code", ContactRole.KEY_PERSON_CODE), PredicateFactory.equal( "sponsorHierarchyName", PropAwardPersonRoleServiceImpl.NIH_MULTIPLE_PI_HIERARCHY)); final PropAwardPersonRole roleKeyPerson4 = createTestRole( 3L, ContactRole.KEY_PERSON_CODE, PropAwardPersonRoleServiceImpl.NIH_MULTIPLE_PI_HIERARCHY); context.checking( new Expectations() { { one(parameterService) .getParameterValueAsBoolean( Constants.MODULE_NAMESPACE_PROPOSAL_DEVELOPMENT, Constants.PARAMETER_COMPONENT_DOCUMENT, PropAwardPersonRoleServiceImpl.ALL_SPONSOR_HIERARCHY_NIH_MULTI_PI); will(returnValue(true)); one(dataObjectService) .findUnique(PropAwardPersonRole.class, criteriaKeyPerson4.build()); will(returnValue(roleKeyPerson4)); } }); final QueryByCriteria.Builder criteriaKeyPerson5 = QueryByCriteria.Builder.create() .setPredicates( PredicateFactory.equal("code", ContactRole.KEY_PERSON_CODE), PredicateFactory.equal( "sponsorHierarchyName", PropAwardPersonRoleServiceImpl.NIH_MULTIPLE_PI_HIERARCHY)); final PropAwardPersonRole roleKeyPerson5 = createTestRole( 3L, ContactRole.KEY_PERSON_CODE, PropAwardPersonRoleServiceImpl.NIH_MULTIPLE_PI_HIERARCHY); context.checking( new Expectations() { { one(parameterService) .getParameterValueAsBoolean( Constants.MODULE_NAMESPACE_PROPOSAL_DEVELOPMENT, Constants.PARAMETER_COMPONENT_DOCUMENT, PropAwardPersonRoleServiceImpl.ALL_SPONSOR_HIERARCHY_NIH_MULTI_PI); will(returnValue(true)); one(dataObjectService) .findUnique(PropAwardPersonRole.class, criteriaKeyPerson5.build()); will(returnValue(roleKeyPerson5)); } }); final QueryByCriteria.Builder criteriaPrincipalInvestigator1 = QueryByCriteria.Builder.create() .setPredicates( PredicateFactory.equal("code", ContactRole.PI_CODE), PredicateFactory.equal( "sponsorHierarchyName", PropAwardPersonRoleServiceImpl.NIH_MULTIPLE_PI_HIERARCHY)); final PropAwardPersonRole rolePrincipalInvestigator1 = createTestRole( 3L, ContactRole.PI_CODE, PropAwardPersonRoleServiceImpl.NIH_MULTIPLE_PI_HIERARCHY); context.checking( new Expectations() { { one(parameterService) .getParameterValueAsBoolean( Constants.MODULE_NAMESPACE_PROPOSAL_DEVELOPMENT, Constants.PARAMETER_COMPONENT_DOCUMENT, PropAwardPersonRoleServiceImpl.ALL_SPONSOR_HIERARCHY_NIH_MULTI_PI); will(returnValue(true)); one(dataObjectService) .findUnique(PropAwardPersonRole.class, criteriaPrincipalInvestigator1.build()); will(returnValue(rolePrincipalInvestigator1)); } }); final QueryByCriteria.Builder criteriaPrincipalInvestigator2 = QueryByCriteria.Builder.create() .setPredicates( PredicateFactory.equal("code", ContactRole.PI_CODE), PredicateFactory.equal( "sponsorHierarchyName", PropAwardPersonRoleServiceImpl.NIH_MULTIPLE_PI_HIERARCHY)); final PropAwardPersonRole rolePrincipalInvestigator2 = createTestRole( 3L, ContactRole.PI_CODE, PropAwardPersonRoleServiceImpl.NIH_MULTIPLE_PI_HIERARCHY); context.checking( new Expectations() { { one(parameterService) .getParameterValueAsBoolean( Constants.MODULE_NAMESPACE_PROPOSAL_DEVELOPMENT, Constants.PARAMETER_COMPONENT_DOCUMENT, PropAwardPersonRoleServiceImpl.ALL_SPONSOR_HIERARCHY_NIH_MULTI_PI); will(returnValue(true)); one(dataObjectService) .findUnique(PropAwardPersonRole.class, criteriaPrincipalInvestigator2.build()); will(returnValue(rolePrincipalInvestigator2)); } }); final QueryByCriteria.Builder criteriaPrincipalInvestigator3 = QueryByCriteria.Builder.create() .setPredicates( PredicateFactory.equal("code", ContactRole.PI_CODE), PredicateFactory.equal( "sponsorHierarchyName", PropAwardPersonRoleServiceImpl.NIH_MULTIPLE_PI_HIERARCHY)); final PropAwardPersonRole rolePrincipalInvestigator3 = createTestRole( 3L, ContactRole.PI_CODE, PropAwardPersonRoleServiceImpl.NIH_MULTIPLE_PI_HIERARCHY); context.checking( new Expectations() { { one(parameterService) .getParameterValueAsBoolean( Constants.MODULE_NAMESPACE_PROPOSAL_DEVELOPMENT, Constants.PARAMETER_COMPONENT_DOCUMENT, PropAwardPersonRoleServiceImpl.ALL_SPONSOR_HIERARCHY_NIH_MULTI_PI); will(returnValue(true)); one(dataObjectService) .findUnique(PropAwardPersonRole.class, criteriaPrincipalInvestigator3.build()); will(returnValue(rolePrincipalInvestigator3)); } }); roleService.setDataObjectService(dataObjectService); roleService.setSponsorHierarchyService(hierarchyService); roleService.setParameterService(parameterService); return roleService; }