@Override
public DataQueryParams getFromAnalyticalObject( AnalyticalObject object )
{
Assert.notNull( object, "Analytical object cannot be null" );
DataQueryParams.Builder params = DataQueryParams.newBuilder();
I18nFormat format = i18nManager.getI18nFormat();
IdScheme idScheme = IdScheme.UID;
Date date = object.getRelativePeriodDate();
String userOrgUnit = object.getRelativeOrganisationUnit() != null ?
object.getRelativeOrganisationUnit().getUid() : null;
List<OrganisationUnit> userOrgUnits = getUserOrgUnits( null, userOrgUnit );
object.populateAnalyticalProperties();
for ( DimensionalObject column : object.getColumns() )
{
params.addDimension( getDimension( column.getDimension(), getDimensionalItemIds( column.getItems() ), date, userOrgUnits, format, false, false, idScheme ) );
}
for ( DimensionalObject row : object.getRows() )
{
params.addDimension( getDimension( row.getDimension(), getDimensionalItemIds( row.getItems() ), date, userOrgUnits, format, false, false, idScheme ) );
}
for ( DimensionalObject filter : object.getFilters() )
{
params.addFilter( getDimension( filter.getDimension(), getDimensionalItemIds( filter.getItems() ), date, userOrgUnits, format, false, false, idScheme ) );
}
return params
.withCompletedOnly( object.isCompletedOnly() )
.withTimeField( object.getTimeField() )
.build();
}