@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 static List<String> getOptionKeys( CourseOfferingCreateWrapper createWrapper, CourseOfferingInfo existingCO) { List<String> optionKeys = getDefaultOptionKeysService().getDefaultOptionKeysForCopySingleCourseOffering(); if (createWrapper.isExcludeInstructorInformation()) { optionKeys.add(CourseOfferingSetServiceConstants.NO_INSTRUCTORS_OPTION_KEY); } if (createWrapper.isExcludeSchedulingInformation()) { optionKeys.add(CourseOfferingSetServiceConstants.NO_SCHEDULE_OPTION_KEY); } if (createWrapper.isExcludeCancelledActivityOfferings()) { optionKeys.add(CourseOfferingSetServiceConstants.IGNORE_CANCELLED_AO_OPTION_KEY); } ContextInfo contextInfo = ContextUtils.createDefaultContextInfo(); try { // if source term differs from target term determine if add suffix or not if (StringUtils.equals(existingCO.getTermId(), createWrapper.getTerm().getId())) { optionKeys.add(CourseOfferingServiceConstants.APPEND_COURSE_OFFERING_IN_SUFFIX_OPTION_KEY); } else { QueryByCriteria.Builder qbcBuilder = QueryByCriteria.Builder.create(); qbcBuilder.setPredicates( PredicateFactory.and( PredicateFactory.like( "courseOfferingCode", existingCO.getCourseOfferingCode() + "%"), PredicateFactory.equalIgnoreCase("atpId", createWrapper.getTerm().getId()))); QueryByCriteria criteria = qbcBuilder.build(); List<String> courseOfferingIds = CourseOfferingManagementUtil.getCourseOfferingService() .searchForCourseOfferingIds(criteria, contextInfo); if (courseOfferingIds.size() > 0) { optionKeys.add( CourseOfferingServiceConstants.APPEND_COURSE_OFFERING_IN_SUFFIX_OPTION_KEY); } } } catch (Exception e) { throw new RuntimeException(e); } // According to Jira 4353 copy the title from CO instead of CLU. So set the property not to // copy from CLU optionKeys.add(CourseOfferingSetServiceConstants.NOT_COURSE_TITLE_OPTION_KEY); return optionKeys; }
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; }