=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataapproval/DataApprovalLevelService.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataapproval/DataApprovalLevelService.java 2014-04-14 07:24:29 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataapproval/DataApprovalLevelService.java 2014-04-28 10:17:37 +0000 @@ -132,6 +132,15 @@ * @return the identifier of the added level, or -1 if not well formed or duplicate. */ int addDataApprovalLevel( DataApprovalLevel newLevel ); + + /** + * Adds a new data approval level. Sets the level epxlicitl. + * + * @param approvalLevel the new level to add. + * @param level the level. + * @return the identifier of the added level, or -1 if not well formed or duplicate. + */ + int addDataApprovalLevel( DataApprovalLevel approvalLevel, int level ); /** * Removes a data approval level. === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataapproval/DefaultDataApprovalLevelService.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataapproval/DefaultDataApprovalLevelService.java 2014-04-28 09:48:39 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataapproval/DefaultDataApprovalLevelService.java 2014-04-28 10:17:37 +0000 @@ -28,6 +28,14 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + import org.hisp.dhis.dataelement.CategoryOptionGroup; import org.hisp.dhis.dataelement.CategoryOptionGroupSet; import org.hisp.dhis.organisationunit.OrganisationUnit; @@ -38,15 +46,6 @@ import org.hisp.dhis.user.User; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; - /** * @author Jim Grace */ @@ -259,11 +258,6 @@ public int addDataApprovalLevel( DataApprovalLevel newLevel ) { - if ( newLevel.getOrgUnitLevel() <= 0 ) - { - return -1; - } - List dataApprovalLevels = getAllDataApprovalLevels(); int index = getInsertIndex( dataApprovalLevels, newLevel ); @@ -283,10 +277,16 @@ } newLevel.setLevel( index + 1 ); - newLevel.setCreated( new Date() ); return dataApprovalLevelStore.save( newLevel ); } + + public int addDataApprovalLevel( DataApprovalLevel approvalLevel, int level ) + { + approvalLevel.setLevel( level ); + + return dataApprovalLevelStore.save( approvalLevel ); + } public void deleteDataApprovalLevel( DataApprovalLevel dataApprovalLevel ) { === modified file 'dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/dataapproval/DataApprovalLevelServiceTest.java' --- dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/dataapproval/DataApprovalLevelServiceTest.java 2014-04-28 09:05:50 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/dataapproval/DataApprovalLevelServiceTest.java 2014-04-28 10:17:37 +0000 @@ -202,10 +202,10 @@ @Test public void testAddDataApprovalLevel() throws Exception { - dataApprovalLevelService.addDataApprovalLevel( level3B ); - dataApprovalLevelService.addDataApprovalLevel( level2C ); - dataApprovalLevelService.addDataApprovalLevel( level3 ); - dataApprovalLevelService.addDataApprovalLevel( level4A ); + dataApprovalLevelService.addDataApprovalLevel( level2C, 1 ); + dataApprovalLevelService.addDataApprovalLevel( level3, 2 ); + dataApprovalLevelService.addDataApprovalLevel( level3B, 3 ); + dataApprovalLevelService.addDataApprovalLevel( level4A, 4 ); List levels = dataApprovalLevelService.getAllDataApprovalLevels(); assertEquals( 4, levels.size() ); @@ -230,10 +230,10 @@ @Test public void testDeleteDataApprovalLevel() throws Exception { - dataApprovalLevelService.addDataApprovalLevel( level1A ); - dataApprovalLevelService.addDataApprovalLevel( level2B ); - dataApprovalLevelService.addDataApprovalLevel( level3C ); - dataApprovalLevelService.addDataApprovalLevel( level4D ); + dataApprovalLevelService.addDataApprovalLevel( level1A, 1 ); + dataApprovalLevelService.addDataApprovalLevel( level2B, 2 ); + dataApprovalLevelService.addDataApprovalLevel( level3C, 3 ); + dataApprovalLevelService.addDataApprovalLevel( level4D, 4 ); List levels = null; @@ -274,12 +274,12 @@ @Test public void testExists() throws Exception { - dataApprovalLevelService.addDataApprovalLevel( level1 ); - dataApprovalLevelService.addDataApprovalLevel( level2 ); - dataApprovalLevelService.addDataApprovalLevel( level1A ); - dataApprovalLevelService.addDataApprovalLevel( level1B ); - dataApprovalLevelService.addDataApprovalLevel( level2A ); - dataApprovalLevelService.addDataApprovalLevel( level2B ); + dataApprovalLevelService.addDataApprovalLevel( level1, 1 ); + dataApprovalLevelService.addDataApprovalLevel( level2, 2 ); + dataApprovalLevelService.addDataApprovalLevel( level1A, 3 ); + dataApprovalLevelService.addDataApprovalLevel( level1B, 4 ); + dataApprovalLevelService.addDataApprovalLevel( level2A, 5 ); + dataApprovalLevelService.addDataApprovalLevel( level2B, 6 ); assertTrue( dataApprovalLevelService.dataApprovalLevelExists( level1A ) ); assertTrue( dataApprovalLevelService.dataApprovalLevelExists( level1A ) ); @@ -299,15 +299,15 @@ @Test public void testCanMoveDown() throws Exception { - dataApprovalLevelService.addDataApprovalLevel( level1 ); - dataApprovalLevelService.addDataApprovalLevel( level1A ); - dataApprovalLevelService.addDataApprovalLevel( level1B ); - dataApprovalLevelService.addDataApprovalLevel( level2 ); - dataApprovalLevelService.addDataApprovalLevel( level2A ); - dataApprovalLevelService.addDataApprovalLevel( level2B ); - dataApprovalLevelService.addDataApprovalLevel( level3 ); - dataApprovalLevelService.addDataApprovalLevel( level3A ); - dataApprovalLevelService.addDataApprovalLevel( level3B ); + dataApprovalLevelService.addDataApprovalLevel( level1, 1 ); + dataApprovalLevelService.addDataApprovalLevel( level1A, 2 ); + dataApprovalLevelService.addDataApprovalLevel( level1B, 3 ); + dataApprovalLevelService.addDataApprovalLevel( level2, 4 ); + dataApprovalLevelService.addDataApprovalLevel( level2A, 5 ); + dataApprovalLevelService.addDataApprovalLevel( level2B, 6 ); + dataApprovalLevelService.addDataApprovalLevel( level3, 7 ); + dataApprovalLevelService.addDataApprovalLevel( level3A, 8 ); + dataApprovalLevelService.addDataApprovalLevel( level3B, 9 ); assertFalse( dataApprovalLevelService.canDataApprovalLevelMoveDown( -1 ) ); assertFalse( dataApprovalLevelService.canDataApprovalLevelMoveDown( 0 ) ); @@ -327,15 +327,15 @@ @Test public void testCanMoveUp() throws Exception { - dataApprovalLevelService.addDataApprovalLevel( level1 ); - dataApprovalLevelService.addDataApprovalLevel( level1A ); - dataApprovalLevelService.addDataApprovalLevel( level1B ); - dataApprovalLevelService.addDataApprovalLevel( level2 ); - dataApprovalLevelService.addDataApprovalLevel( level2A ); - dataApprovalLevelService.addDataApprovalLevel( level2B ); - dataApprovalLevelService.addDataApprovalLevel( level3 ); - dataApprovalLevelService.addDataApprovalLevel( level3A ); - dataApprovalLevelService.addDataApprovalLevel( level3B ); + dataApprovalLevelService.addDataApprovalLevel( level1, 1 ); + dataApprovalLevelService.addDataApprovalLevel( level1A, 2 ); + dataApprovalLevelService.addDataApprovalLevel( level1B, 3 ); + dataApprovalLevelService.addDataApprovalLevel( level2, 4 ); + dataApprovalLevelService.addDataApprovalLevel( level2A, 5 ); + dataApprovalLevelService.addDataApprovalLevel( level2B, 6 ); + dataApprovalLevelService.addDataApprovalLevel( level3, 7 ); + dataApprovalLevelService.addDataApprovalLevel( level3A, 8 ); + dataApprovalLevelService.addDataApprovalLevel( level3B, 9 ); assertFalse( dataApprovalLevelService.canDataApprovalLevelMoveUp( -1 ) ); assertFalse( dataApprovalLevelService.canDataApprovalLevelMoveUp( 0 ) ); @@ -355,11 +355,11 @@ @Test public void testMoveDown() throws Exception { - dataApprovalLevelService.addDataApprovalLevel( level1D ); - dataApprovalLevelService.addDataApprovalLevel( level1C ); - dataApprovalLevelService.addDataApprovalLevel( level1B ); - dataApprovalLevelService.addDataApprovalLevel( level1A ); - dataApprovalLevelService.addDataApprovalLevel( level1 ); + dataApprovalLevelService.addDataApprovalLevel( level1, 1 ); + dataApprovalLevelService.addDataApprovalLevel( level1A, 2 ); + dataApprovalLevelService.addDataApprovalLevel( level1B, 3 ); + dataApprovalLevelService.addDataApprovalLevel( level1C, 4 ); + dataApprovalLevelService.addDataApprovalLevel( level1D, 5 ); List levels; @@ -395,11 +395,11 @@ @Test public void testMoveUp() throws Exception { - dataApprovalLevelService.addDataApprovalLevel( level1D ); - dataApprovalLevelService.addDataApprovalLevel( level1C ); - dataApprovalLevelService.addDataApprovalLevel( level1B ); - dataApprovalLevelService.addDataApprovalLevel( level1A ); - dataApprovalLevelService.addDataApprovalLevel( level1 ); + dataApprovalLevelService.addDataApprovalLevel( level1, 1 ); + dataApprovalLevelService.addDataApprovalLevel( level1A, 2 ); + dataApprovalLevelService.addDataApprovalLevel( level1B, 3 ); + dataApprovalLevelService.addDataApprovalLevel( level1C, 4 ); + dataApprovalLevelService.addDataApprovalLevel( level1D, 5 ); List levels; @@ -446,11 +446,11 @@ organisationUnitService.addOrganisationUnit( organisationUnitG ); organisationUnitService.addOrganisationUnit( organisationUnitH ); - dataApprovalLevelService.addDataApprovalLevel( level1 ); - dataApprovalLevelService.addDataApprovalLevel( level2 ); - dataApprovalLevelService.addDataApprovalLevel( level3 ); - dataApprovalLevelService.addDataApprovalLevel( level4 ); - dataApprovalLevelService.addDataApprovalLevel( level5 ); + dataApprovalLevelService.addDataApprovalLevel( level1, 1 ); + dataApprovalLevelService.addDataApprovalLevel( level2, 2 ); + dataApprovalLevelService.addDataApprovalLevel( level3, 3 ); + dataApprovalLevelService.addDataApprovalLevel( level4, 4 ); + dataApprovalLevelService.addDataApprovalLevel( level5, 5 ); Set assignedOrgUnits = new HashSet(); assignedOrgUnits.add( organisationUnitC ); @@ -481,11 +481,11 @@ organisationUnitService.addOrganisationUnit( organisationUnitG ); organisationUnitService.addOrganisationUnit( organisationUnitH ); - dataApprovalLevelService.addDataApprovalLevel( level1 ); - dataApprovalLevelService.addDataApprovalLevel( level2 ); - dataApprovalLevelService.addDataApprovalLevel( level3 ); - dataApprovalLevelService.addDataApprovalLevel( level4 ); - dataApprovalLevelService.addDataApprovalLevel( level5 ); + dataApprovalLevelService.addDataApprovalLevel( level1, 1 ); + dataApprovalLevelService.addDataApprovalLevel( level2, 2 ); + dataApprovalLevelService.addDataApprovalLevel( level3, 3 ); + dataApprovalLevelService.addDataApprovalLevel( level4, 4 ); + dataApprovalLevelService.addDataApprovalLevel( level5, 5 ); Set assignedOrgUnits = new HashSet(); assignedOrgUnits.add( organisationUnitC ); @@ -516,10 +516,10 @@ organisationUnitService.addOrganisationUnit( organisationUnitG ); organisationUnitService.addOrganisationUnit( organisationUnitH ); - dataApprovalLevelService.addDataApprovalLevel( level1 ); // 1st approval level - dataApprovalLevelService.addDataApprovalLevel( level2 ); // 2nd approval level - dataApprovalLevelService.addDataApprovalLevel( level3 ); // 3rd approval level - dataApprovalLevelService.addDataApprovalLevel( level5 ); // 4th approval level + dataApprovalLevelService.addDataApprovalLevel( level1, 1 ); // 1st approval level + dataApprovalLevelService.addDataApprovalLevel( level2, 2 ); // 2nd approval level + dataApprovalLevelService.addDataApprovalLevel( level3, 3 ); // 3rd approval level + dataApprovalLevelService.addDataApprovalLevel( level5, 4 ); // 4th approval level Set assignedOrgUnits = new HashSet(); assignedOrgUnits.add( organisationUnitC ); @@ -553,11 +553,11 @@ organisationUnitService.addOrganisationUnit( organisationUnitJ ); organisationUnitService.addOrganisationUnit( organisationUnitK ); - dataApprovalLevelService.addDataApprovalLevel( level1 ); - dataApprovalLevelService.addDataApprovalLevel( level2 ); - dataApprovalLevelService.addDataApprovalLevel( level3 ); - dataApprovalLevelService.addDataApprovalLevel( level4 ); - dataApprovalLevelService.addDataApprovalLevel( level5 ); + dataApprovalLevelService.addDataApprovalLevel( level1, 1 ); + dataApprovalLevelService.addDataApprovalLevel( level2, 2 ); + dataApprovalLevelService.addDataApprovalLevel( level3, 3 ); + dataApprovalLevelService.addDataApprovalLevel( level4, 4 ); + dataApprovalLevelService.addDataApprovalLevel( level5, 5 ); Set assignedOrgUnits = new HashSet(); assignedOrgUnits.add( organisationUnitC );