public IdSchemes setProgramIdScheme( String idScheme ) { this.programIdScheme = IdScheme.from( idScheme ); return this; }
public static IdScheme from( String scheme ) { if ( scheme == null ) { return IdScheme.NULL; } if ( IdScheme.isAttribute( scheme ) ) { return new IdScheme( IdentifiableProperty.ATTRIBUTE, scheme.substring( 10 ) ); } return IdScheme.from( IdentifiableProperty.valueOf( scheme.toUpperCase() ) ); }
public String getPropertyValue( IdScheme idScheme ) if ( idScheme.isNull() || idScheme.is( IdentifiableProperty.UID ) ) else if ( idScheme.is( IdentifiableProperty.CODE ) ) else if ( idScheme.is( IdentifiableProperty.NAME ) ) else if ( idScheme.is( IdentifiableProperty.ID ) ) else if ( idScheme.is( IdentifiableProperty.ATTRIBUTE ) ) if ( idScheme.getAttribute().equals( attributeValue.getAttribute().getUid() ) )
String deScheme = idScheme.getDataElementIdScheme().getIdentifiableString().toLowerCase(); String ouScheme = idScheme.getOrgUnitIdScheme().getIdentifiableString().toLowerCase(); String cocScheme = idScheme.getCategoryOptionComboIdScheme().getIdentifiableString().toLowerCase(); String deSql = idScheme.getDataElementIdScheme().isAttribute() ? "coalesce((" + "select av.value as deid from attributevalue av " + "inner join dataelementattributevalues deav on av.attributevalueid=deav.attributevalueid " + "inner join attribute at on av.attributeid=at.attributeid and at.uid='" + idScheme.getDataElementIdScheme().getAttribute() + "' " + "where dv.dataelementid=deav.dataelementid " + "limit 1), de.uid) as deid" : "de." + deScheme + " as deid"; String ouSql = idScheme.getOrgUnitIdScheme().isAttribute() ? "coalesce((" + "select av.value as ouid from attributevalue av " + "inner join organisationunitattributevalues ouav on av.attributevalueid=ouav.attributevalueid " + "inner join attribute at on av.attributeid=at.attributeid and at.uid='" + idScheme.getOrgUnitIdScheme().getAttribute() + "' " + "where dv.sourceid=ouav.organisationunitid " + "limit 1), ou.uid) as ouid" : "ou." + ouScheme + " as ouid"; String cocSql = idScheme.getCategoryOptionComboIdScheme().isAttribute() ? "coalesce((" + "select av.value as cocid from attributevalue av " + "inner join categoryoptioncomboattributevalues cocav on av.attributevalueid=cocav.attributevalueid " + "inner join attribute at on av.attributeid=at.attributeid and at.uid='" + idScheme.getCategoryOptionComboIdScheme().getAttribute() + "' " + "where dv.categoryoptioncomboid=cocav.categoryoptioncomboid " + "limit 1), coc.uid) as cocid" :
@Override public void writeCompleteDataSetRegistrationsJson( Date lastUpdated, OutputStream outputStream, IdSchemes idSchemes ) { String dsScheme = idSchemes.getDataSetIdScheme().getIdentifiableString().toLowerCase(); String ouScheme = idSchemes.getOrgUnitIdScheme().getIdentifiableString().toLowerCase(); String ocScheme = idSchemes.getCategoryOptionComboIdScheme().getIdentifiableString().toLowerCase(); CompleteDataSetRegistrations completeDataSetRegistrations = new StreamingJsonCompleteDataSetRegistrations( outputStream ); final String completenessSql = "select ds." + dsScheme + " as dsid, pe.startdate as pestart, pt.name as ptname, ou." + ouScheme + " as ouid, aoc." + ocScheme + " as aocid, " + "cdr.date, cdr.storedby, cdr.lastupdatedby, cdr.lastupdated, cdr.completed as iscompleted " + "from completedatasetregistration cdr " + "join dataset ds on ( cdr.datasetid=ds.datasetid ) " + "join period pe on ( cdr.periodid=pe.periodid ) " + "join periodtype pt on ( pe.periodtypeid=pt.periodtypeid ) " + "join organisationunit ou on ( cdr.sourceid=ou.organisationunitid ) " + "join categoryoptioncombo aoc on ( cdr.attributeoptioncomboid=aoc.categoryoptioncomboid ) " + "where cdr.lastupdated >= '" + DateUtils.getLongDateString( lastUpdated ) + "'"; writeCompleteness( completenessSql, completeDataSetRegistrations ); }
IdScheme dvSetIdScheme = IdScheme.from( dataValueSet.getIdSchemeProperty() ); IdScheme dvSetDataElementIdScheme = IdScheme.from( dataValueSet.getDataElementIdSchemeProperty() ); IdScheme dvSetOrgUnitIdScheme = IdScheme.from( dataValueSet.getOrgUnitIdSchemeProperty() ); IdScheme dvSetCategoryOptComboIdScheme = IdScheme.from( dataValueSet.getCategoryOptionComboIdSchemeProperty() ); IdScheme dvSetDataSetIdScheme = IdScheme.from( dataValueSet.getDataSetIdSchemeProperty() ); IdScheme idScheme = dvSetIdScheme.isNotNull() ? dvSetIdScheme : importOptions.getIdSchemes().getIdScheme(); IdScheme dataElementIdScheme = dvSetDataElementIdScheme.isNotNull() ? dvSetDataElementIdScheme : importOptions.getIdSchemes().getDataElementIdScheme(); IdScheme orgUnitIdScheme = dvSetOrgUnitIdScheme.isNotNull() ? dvSetOrgUnitIdScheme : importOptions.getIdSchemes().getOrgUnitIdScheme(); IdScheme categoryOptComboIdScheme = dvSetCategoryOptComboIdScheme.isNotNull() ? dvSetCategoryOptComboIdScheme : importOptions.getIdSchemes().getCategoryOptionComboIdScheme(); IdScheme dataSetIdScheme = dvSetDataSetIdScheme.isNotNull() ? dvSetDataSetIdScheme : importOptions.getIdSchemes().getDataSetIdScheme();
@Override public CategoryOptionCombo call() throws ExecutionException { return categoryService.getCategoryOptionComboAcl( idScheme.getIdentifiableProperty(), id ); }
public boolean isNotNull() { return !isNull(); }
public static IdScheme from( IdentifiableProperty property ) { if ( property == null ) { return IdScheme.NULL; } return IDPROPERTY_IDSCHEME_MAP.containsKey( property ) ? IDPROPERTY_IDSCHEME_MAP.get( property ) : new IdScheme( property ); }
if ( idScheme.isNull() || idScheme.is( IdentifiableProperty.UID ) ) else if ( idScheme.is( IdentifiableProperty.CODE ) ) else if ( idScheme.is( IdentifiableProperty.NAME ) ) else if ( idScheme.is( IdentifiableProperty.ATTRIBUTE ) ) Attribute attribute = get( Attribute.class, idScheme.getAttribute() ); return store.getByUniqueAttributeValue( attribute, value ); else if ( idScheme.is( IdentifiableProperty.ID ) )
@Override public void writeDataValueSetJson( Date lastUpdated, OutputStream outputStream, IdSchemes idSchemes ) { String deScheme = idSchemes.getDataElementIdScheme().getIdentifiableString().toLowerCase(); String ouScheme = idSchemes.getOrgUnitIdScheme().getIdentifiableString().toLowerCase(); String ocScheme = idSchemes.getCategoryOptionComboIdScheme().getIdentifiableString().toLowerCase(); DataValueSet dataValueSet = new StreamingJsonDataValueSet( outputStream ); final String sql = "select de." + deScheme + " as deid, pe.startdate as pestart, pt.name as ptname, ou." + ouScheme + " as ouid, " + "coc." + ocScheme + " as cocid, aoc." + ocScheme + " as aocid, " + "dv.value, dv.storedby, dv.created, dv.lastupdated, dv.comment, dv.followup, dv.deleted " + "from datavalue dv " + "join dataelement de on (dv.dataelementid=de.dataelementid) " + "join period pe on (dv.periodid=pe.periodid) " + "join periodtype pt on (pe.periodtypeid=pt.periodtypeid) " + "join organisationunit ou on (dv.sourceid=ou.organisationunitid) " + "join categoryoptioncombo coc on (dv.categoryoptioncomboid=coc.categoryoptioncomboid) " + "join categoryoptioncombo aoc on (dv.attributeoptioncomboid=aoc.categoryoptioncomboid) " + "where dv.lastupdated >= '" + DateUtils.getLongDateString( lastUpdated ) + "'"; writeDataValueSet( sql, new DataExportParams(), null, dataValueSet ); }
CategoryOptionCombo catOptCombo = getCatOptComboFromAttributes( attributeOptions, catCombo, catOptIdScheme.getIdentifiableProperty() );
public IdSchemes setCategoryOptionIdScheme( String idScheme ) { this.categoryOptionIdScheme = IdScheme.from( idScheme ); return this; }
public static String getValue( IdentifiableObject identifiableObject, IdScheme idScheme ) { boolean isId = idScheme.is( IdentifiableProperty.ID ) || idScheme.is( IdentifiableProperty.UID ); if ( isId ) { return identifiableObject.getUid(); } else if ( idScheme.is( IdentifiableProperty.CODE ) ) { return identifiableObject.getCode(); } else if ( idScheme.is( IdentifiableProperty.NAME ) ) { return identifiableObject.getName(); } return null; }
@Override public void writeDataValueSetJson( Date lastUpdated, OutputStream outputStream, IdSchemes idSchemes, int pageSize, int page ) { String deScheme = idSchemes.getDataElementIdScheme().getIdentifiableString().toLowerCase(); String ouScheme = idSchemes.getOrgUnitIdScheme().getIdentifiableString().toLowerCase(); String ocScheme = idSchemes.getCategoryOptionComboIdScheme().getIdentifiableString().toLowerCase(); DataValueSet dataValueSet = new StreamingJsonDataValueSet( outputStream ); int offset = (page - 1) * pageSize; final String sql = "select de." + deScheme + " as deid, pe.startdate as pestart, pt.name as ptname, ou." + ouScheme + " as ouid, " + "coc." + ocScheme + " as cocid, aoc." + ocScheme + " as aocid, " + "dv.value, dv.storedby, dv.created, dv.lastupdated, dv.comment, dv.followup, dv.deleted " + "from datavalue dv " + "join dataelement de on (dv.dataelementid=de.dataelementid) " + "join period pe on (dv.periodid=pe.periodid) " + "join periodtype pt on (pe.periodtypeid=pt.periodtypeid) " + "join organisationunit ou on (dv.sourceid=ou.organisationunitid) " + "join categoryoptioncombo coc on (dv.categoryoptioncomboid=coc.categoryoptioncomboid) " + "join categoryoptioncombo aoc on (dv.attributeoptioncomboid=aoc.categoryoptioncomboid) " + "where dv.lastupdated >= '" + DateUtils.getLongDateString( lastUpdated ) + "' " + "order by pe.startdate asc, dv.created asc, deid asc limit " + pageSize + " offset " + offset; writeDataValueSet( sql, new DataExportParams(), null, dataValueSet ); }
public IdSchemes setDataSetIdScheme( String idScheme ) { this.dataSetIdScheme = IdScheme.from( idScheme ); return this; }
else if ( !inputIdScheme.is( IdentifiableProperty.UID ) || CodeGenerator.isValidUid( ou ) )
/** * Limit valid IdSchemes for export to UID, CODE, NAME */ private static void limitToValidIdSchemes( ExportParams params ) { IdSchemes schemes = params.getOutputIdSchemes(); // If generic IdScheme is set to ID -> override to UID, for others: nullify field (inherits from generic scheme) if ( !EXPORT_ID_SCHEMES.contains( schemes.getIdScheme() ) ) { schemes.setIdScheme( IdScheme.UID.getIdentifiableString() ); } if ( !EXPORT_ID_SCHEMES.contains( schemes.getDataSetIdScheme() ) ) { schemes.setDataSetIdScheme( IdScheme.UID.getIdentifiableString() ); } if ( !EXPORT_ID_SCHEMES.contains( schemes.getOrgUnitIdScheme() ) ) { schemes.setOrgUnitIdScheme( IdScheme.UID.getIdentifiableString() ); } if ( !EXPORT_ID_SCHEMES.contains( schemes.getAttributeOptionComboIdScheme() ) ) { schemes.setAttributeOptionComboIdScheme( IdScheme.UID.getIdentifiableString() ); } params.setOutputIdSchemes( schemes ); }
public IdSchemes setOrgUnitIdScheme( String idScheme ) { this.orgUnitIdScheme = IdScheme.from( idScheme ); return this; }