1
package org.hisp.dhis.datamart;
4
* Copyright (c) 2004-2012, University of Oslo
7
* Redistribution and use in source and binary forms, with or without
8
* modification, are permitted provided that the following conditions are met:
9
* * Redistributions of source code must retain the above copyright notice, this
10
* list of conditions and the following disclaimer.
11
* * Redistributions in binary form must reproduce the above copyright notice,
12
* this list of conditions and the following disclaimer in the documentation
13
* and/or other materials provided with the distribution.
14
* * Neither the name of the HISP project nor the names of its contributors may
15
* be used to endorse or promote products derived from this software without
16
* specific prior written permission.
18
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
22
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
25
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
import java.util.Collection;
34
import org.hisp.dhis.dataelement.DataElementOperand;
37
* @author Lars Helge Overland
39
public interface DataMartManager
42
* Filters and returns the DataElementOperands with data from the given
43
* collection of DataElementOperands.
45
* @param operands the DataElementOperands.
46
* @return the DataElementOperands with data.
48
Set<DataElementOperand> getOperandsWithData( Set<DataElementOperand> operands );
51
* Returns a map of organisation unit identifiers and data values.
53
* @param operand the data element operand.
54
* @param periodId the period identifier.
55
* @return a map of organisation unit identifiers and data values.
57
Map<Integer, String> getDataValueMap( DataElementOperand operand, int periodId );
59
Map<DataElementOperand, String> getAggregatedValueMap( int periodId, int organisationUnitId );
61
void createDataValueIndex();
63
void createIndicatorValueIndex();
65
void dropDataValueIndex();
67
void dropIndicatorValueIndex();
70
* Deletes AggregatedDataValues registered for the given parameters.
72
* @param periodIds a collection of Period identifiers.
74
void deleteAggregatedDataValues( Collection<Integer> periodIds );
77
* Deletes AggregatedIndicatorValue registered for the given parameters.
79
* @param periodIds a collection of Period identifiers.
81
void deleteAggregatedIndicatorValues( Collection<Integer> periodIds );
83
Map<DataElementOperand, String> getAggregatedOrgUnitValueMap( int periodId, int organisationUnitId, int organisationUnitGroupId );
85
void createOrgUnitDataValueIndex();
87
void createOrgUnitIndicatorValueIndex();
89
void dropOrgUnitDataValueIndex();
91
void dropOrgUnitIndicatorValueIndex();
93
void deleteAggregatedOrgUnitIndicatorValues( Collection<Integer> periodIds );
95
void deleteAggregatedOrgUnitDataValues( Collection<Integer> periodIds );
97
void createTempAggregatedTables();
99
void dropTempAggregatedTables();
101
void copyAggregatedDataValuesFromTemp();
103
void copyAggregatedIndicatorValuesFromTemp();
105
void copyAggregatedOrgUnitDataValuesFromTemp();
107
void copyAggregatedOrgUnitIndicatorValuesFromTemp();