@Override public String allowDeleteCategoryOptionCombo( CategoryOptionCombo optionCombo ) { String sql = "SELECT COUNT(*) FROM datavalueaudit where categoryoptioncomboid=" + optionCombo.getId() + " or attributeoptioncomboid=" + optionCombo.getId(); return jdbcTemplate.queryForObject( sql, Integer.class ) == 0 ? null : ERROR; } }
@Override @JsonIgnore public String getShortName() { return getName(); }
public void addCategoryOptionCombo( CategoryOptionCombo dataElementCategoryOptionCombo ) { categoryOptionCombos.add( dataElementCategoryOptionCombo ); dataElementCategoryOptionCombo.getCategoryOptions().add( this ); }
public static CategoryOptionCombo createCategoryOptionCombo( char uniqueCharacter ) { CategoryOptionCombo coc = new CategoryOptionCombo(); coc.setAutoFields(); coc.setUid( BASE_COC_UID + uniqueCharacter ); coc.setName( "CategoryOptionCombo" + uniqueCharacter ); coc.setName( "CategoryOptionComboCode" + uniqueCharacter ); return coc; }
/** * @param categoryCombo the category combo. * @param categoryOptions the category options. * @return CategoryOptionCombo */ public static CategoryOptionCombo createCategoryOptionCombo( CategoryCombo categoryCombo, CategoryOption... categoryOptions ) { CategoryOptionCombo categoryOptionCombo = new CategoryOptionCombo(); categoryOptionCombo.setAutoFields(); categoryOptionCombo.setCategoryCombo( categoryCombo ); for ( CategoryOption categoryOption : categoryOptions ) { categoryOptionCombo.getCategoryOptions().add( categoryOption ); categoryOption.getCategoryOptionCombos().add( categoryOptionCombo ); } return categoryOptionCombo; }
@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 ); }
public static ModelList getCategoryOptionCombos( org.hisp.dhis.dataelement.DataElement dataElement ) { ModelList deCateOptCombo = new ModelList(); List<Model> listCateOptCombo = new ArrayList<>(); deCateOptCombo.setModels( listCateOptCombo ); for ( CategoryOptionCombo oneCatOptCombo : dataElement.getSortedCategoryOptionCombos() ) { Model oneCateOptCombo = new Model(); oneCateOptCombo.setId( oneCatOptCombo.getId() ); oneCateOptCombo.setName( oneCatOptCombo.getName() ); listCateOptCombo.add( oneCateOptCombo ); } return deCateOptCombo; } }
@Override public String toString() { return "[Data element: " + dataElement.getUid() + ", period: " + period.getUid() + ", source: " + source.getUid() + ", category option combo: " + categoryOptionCombo.getUid() + ", attribute option combo: " + attributeOptionCombo.getUid() + ", value: " + value + ", deleted: " + deleted + "]"; }
/** * Returns a mapping between the category option combo identifiers and names * for the given query. * * @param params the data query parameters. * @return a mapping between identifiers and names. */ public static Map<String, String> getCocNameMap( DataQueryParams params ) { Map<String, String> metaData = new HashMap<>(); List<DimensionalItemObject> des = params.getAllDataElements(); if ( !des.isEmpty() ) { for ( DimensionalItemObject de : des ) { DataElement dataElement = (DataElement) de; for ( CategoryOptionCombo coc : dataElement.getCategoryOptionCombos() ) { metaData.put( coc.getUid(), coc.getName() ); } } } return metaData; }
if ( !categoryOptionCombo.isDefault() ) label += " " + categoryOptionCombo.getDisplayName(); SimpleNode simpleNode = complexNode.addChild( new SimpleNode( "categoryOptionCombo", categoryOptionCombo.getUid() ) ); simpleNode.setAttribute( true );
private void addExplodedCategoryAttributes( CategoryOptionCombo coc ) throws AdxException { Map<String, String> categoryAttributes = new HashMap<>(); if ( !coc.isDefault() ) { for ( Category category : coc.getCategoryCombo().getCategories() ) { String categoryCode = category.getCode(); if ( categoryCode == null || !XMLChar.isValidName( categoryCode ) ) { throw new AdxException( "Category code for " + category.getName() + " is missing or invalid: " + categoryCode ); } String catOptCode = category.getCategoryOption( coc ).getCode(); if ( catOptCode == null || catOptCode.isEmpty() ) { throw new AdxException( "CategoryOption code for " + category.getCategoryOption( coc ).getName() + " is missing" ); } categoryAttributes.put( categoryCode, catOptCode ); } } categoryOptionMap.put( coc.getId(), categoryAttributes ); }
CategoryOptionCombo categoryOptionCombo = new CategoryOptionCombo(); categoryOptionCombo.setUid( "HllvX50cXC0" ); categoryOptionCombo.setCode( "default" ); categoryOptionCombo.setCategoryCombo( categoryCombo ); categoryOptionCombo.addCategoryOption( categoryOption ); categoryOptionCombo.setPublicAccess( AccessStringHelper.CATEGORY_NO_DATA_SHARING_DEFAULT ); updateCategoryOptionCombo( categoryOptionCombo );
private boolean checkOptionComboSharingPermission( User user, IdentifiableObject object, Permission permission ) { CategoryOptionCombo optionCombo = (CategoryOptionCombo) object; if ( optionCombo.isDefault() || optionCombo.getCategoryOptions().isEmpty() ) { return true; } List<Integer> accessibleOptions = new ArrayList<>(); for ( CategoryOption option : optionCombo.getCategoryOptions() ) { if ( checkSharingPermission( user, option, permission ) ) { accessibleOptions.add( option.getId() ); } } return accessibleOptions.size() == optionCombo.getCategoryOptions().size(); } }
+ "coc.categoryoptioncomboid AS coc_categoryoptioncomboid, coc.code AS coc_categoryoptioncombocode, coc.uid AS coc_categoryoptioncombouid, cocco.categoryoptionid AS cocco_categoryoptionid, deco.uid AS deco_uid, "; if ( (params.getCategoryOptionCombo() == null || params.getCategoryOptionCombo().isDefault()) && !isSuper( user ) ) if ( (params.getCategoryOptionCombo() == null || params.getCategoryOptionCombo().isDefault()) && !isSuper( user ) ) sql += hlp.whereAnd() + " psi.attributeoptioncomboid = " + params.getCategoryOptionCombo().getId() + " ";
public List<CategoryOptionCombo> generateOptionCombosList() { List<CategoryOptionCombo> list = new ArrayList<>(); CombinationGenerator<CategoryOption> generator = new CombinationGenerator<>( getCategoryOptionsAsArray() ); while ( generator.hasNext() ) { CategoryOptionCombo optionCombo = new CategoryOptionCombo(); optionCombo.setCategoryOptions( new HashSet<>( generator.getNext() ) ); optionCombo.setCategoryCombo( this ); list.add( optionCombo ); } return list; }
@Override public String getShortName() { String shortName = null; if ( dataElement != null ) { shortName = dataElement.getShortName(); } if ( hasNonDefaultCategoryOptionCombo() ) { shortName += SPACE + categoryOptionCombo.getShortName(); } else if ( hasNonDefaultAttributeOptionCombo() ) { shortName += SPACE + SYMBOL_WILDCARD; } if ( hasNonDefaultAttributeOptionCombo() ) { shortName += SPACE + attributeOptionCombo.getName(); } return shortName; }