1
package org.hisp.dhis.datavalue;
4
* Copyright (c) 2004-2007, 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;
32
import org.hisp.dhis.dataelement.DataElement;
33
import org.hisp.dhis.dataelement.DataElementCategoryOptionCombo;
34
import org.hisp.dhis.period.Period;
35
import org.hisp.dhis.source.Source;
38
* @author Kristian Nordal
39
* @version $Id: DefaultDataValueService.java 5715 2008-09-17 14:05:28Z larshelg $
41
public class DefaultDataValueService
42
implements DataValueService
44
// -------------------------------------------------------------------------
46
// -------------------------------------------------------------------------
48
private DataValueStore dataValueStore;
50
public void setDataValueStore( DataValueStore dataValueStore )
52
this.dataValueStore = dataValueStore;
55
// -------------------------------------------------------------------------
57
// -------------------------------------------------------------------------
59
public void addDataValue( DataValue dataValue )
61
if ( !( dataValue.getValue() == null && dataValue.getComment() == null ) )
63
dataValueStore.addDataValue( dataValue );
67
public void updateDataValue( DataValue dataValue )
69
if ( dataValue.getValue() == null && dataValue.getComment() == null )
71
dataValueStore.deleteDataValue( dataValue );
75
dataValueStore.updateDataValue( dataValue );
79
public void deleteDataValue( DataValue dataValue )
81
dataValueStore.deleteDataValue( dataValue );
84
public int deleteDataValuesBySource( Source source )
86
return dataValueStore.deleteDataValuesBySource( source );
89
public int deleteDataValuesByDataElement( DataElement dataElement )
91
return dataValueStore.deleteDataValuesByDataElement( dataElement );
94
public DataValue getDataValue( Source source, DataElement dataElement, Period period )
96
return dataValueStore.getDataValue( source, dataElement, period );
99
public DataValue getDataValue( Source source, DataElement dataElement, Period period, DataElementCategoryOptionCombo optionCombo )
101
return dataValueStore.getDataValue( source, dataElement, period, optionCombo );
104
// -------------------------------------------------------------------------
105
// Collections of DataValues
106
// -------------------------------------------------------------------------
108
public Collection<DataValue> getAllDataValues()
110
return dataValueStore.getAllDataValues();
113
public Collection<DataValue> getDataValues( Source source, Period period )
115
return dataValueStore.getDataValues( source, period );
118
public Collection<DataValue> getDataValues( Source source, DataElement dataElement )
120
return dataValueStore.getDataValues( source, dataElement );
123
public Collection<DataValue> getDataValues( Collection<Source> sources, DataElement dataElement )
125
return dataValueStore.getDataValues( sources, dataElement );
128
public Collection<DataValue> getDataValues( Source source, Period period, Collection<DataElement> dataElements )
130
return dataValueStore.getDataValues( source, period, dataElements );
133
public Collection<DataValue> getDataValues( Source source, Period period, Collection<DataElement> dataElements, Collection<DataElementCategoryOptionCombo> optionCombos )
135
return dataValueStore.getDataValues( source, period, dataElements, optionCombos );
138
public Collection<DataValue> getDataValues( DataElement dataElement, Collection<Period> periods, Collection<? extends Source> sources )
140
return dataValueStore.getDataValues( dataElement, periods, sources );
143
public Collection<DataValue> getDataValues( DataElement dataElement, DataElementCategoryOptionCombo optionCombo,
144
Collection<Period> periods, Collection<? extends Source> sources )
146
return dataValueStore.getDataValues( dataElement, optionCombo, periods, sources );
149
public Collection<DataValue> getDataValues( Collection<DataElement> dataElements, Collection<Period> periods,
150
Collection<? extends Source> sources, int firstResult, int maxResults )
152
return dataValueStore.getDataValues( dataElements, periods, sources, firstResult, maxResults );
155
public Collection<DataValue> getDataValues( Collection<DataElementCategoryOptionCombo> optionCombos )
157
return dataValueStore.getDataValues( optionCombos );
160
public Collection<DataValue> getDataValues( DataElement dataElement )
162
return dataValueStore.getDataValues( dataElement );