@Override public List<CategoryCombo> getInvalidCategoryCombos() { List<CategoryCombo> categoryCombos = categoryService.getAllCategoryCombos(); return categoryCombos.stream().filter( c -> !c.isValid() ).collect( Collectors.toList() ); }
@Override public Optional<List<Object[]>> getPopulateTempTableContent() { List<Object[]> batchArgs = new ArrayList<>(); for ( CategoryCombo combo : objects ) { if ( !combo.isValid() ) { log.warn( "Ignoring category combo, not valid: " + combo ); continue; } for ( CategoryOptionCombo coc : combo.getOptionCombos() ) { List<Object> values = new ArrayList<>(); values.add( coc.getId() ); values.add( coc.getName() ); values.add( coc.isIgnoreApproval() ? APPROVAL_LEVEL_HIGHEST : null ); values.add( coc.getLatestStartDate() ); values.add( coc.getEarliestEndDate() ); batchArgs.add( values.toArray() ); } } return Optional.of( batchArgs ); }
@Override public void updateOptionCombos( CategoryCombo categoryCombo ) { if ( categoryCombo == null || !categoryCombo.isValid() ) { log.warn( "Category combo is null or invalid, could not update option combos: " + categoryCombo ); return; } List<CategoryOptionCombo> generatedOptionCombos = categoryCombo.generateOptionCombosList(); Set<CategoryOptionCombo> persistedOptionCombos = categoryCombo.getOptionCombos(); boolean modified = false; for ( CategoryOptionCombo optionCombo : generatedOptionCombos ) { if ( !persistedOptionCombos.contains( optionCombo ) ) { categoryCombo.getOptionCombos().add( optionCombo ); addCategoryOptionCombo( optionCombo ); log.info( "Added missing category option combo: " + optionCombo + " for category combo: " + categoryCombo.getName() ); modified = true; } } if ( modified ) { updateCategoryCombo( categoryCombo ); } }
@Override public void addAndPruneOptionCombos( CategoryCombo categoryCombo ) if ( categoryCombo == null || !categoryCombo.isValid() )
if ( categoryCombo == null || !categoryCombo.isValid() )