← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 14013: Remove CategoryOptionGroupService and CategoryOptionGroupSetService classes.

 

------------------------------------------------------------
revno: 14013
committer: Tran Chau <tran.hispvietnam@xxxxxxxxx>
branch nick: dhis2
timestamp: Thu 2014-02-13 21:24:59 +0700
message:
  Remove CategoryOptionGroupService and CategoryOptionGroupSetService classes.
removed:
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/CategoryOptionGroupService.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/CategoryOptionGroupSetService.java
  dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataelement/DefaultCategoryOptionGroupService.java
  dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataelement/DefaultCategoryOptionGroupSetService.java
modified:
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/CategoryOptionGroup.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementCategoryService.java
  dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataelement/DefaultDataElementCategoryService.java
  dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/beans.xml
  dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/deletion/DeletionHandler.java
  dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/commons/action/GetCategoryOptionGroupsAction.java
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroup/AddCategoryOptionGroupAction.java
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroup/GetCategoryOptionGroupAction.java
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroup/GetCategoryOptionGroupListAction.java
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroup/RemoveCategoryOptionGroupAction.java
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroup/ShowUpdateCategoryOptionGroupAction.java
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroup/UpdateCategoryOptionGroupAction.java
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroup/ValidateCategoryOptionGroupAction.java
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroupset/AddCategoryOptionGroupSetAction.java
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroupset/GetCategoryOptionGroupSetAction.java
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroupset/GetCategoryOptionGroupSetListAction.java
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroupset/RemoveCategoryOptionGroupSetAction.java
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroupset/ShowAddCategoryOptionGroupSetAction.java
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroupset/ShowUpdateCategoryOptionGroupSetAction.java
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroupset/UpdateCategoryOptionGroupSetAction.java
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroupset/ValidateCategoryOptionGroupSetAction.java
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/resources/org/hisp/dhis/dd/i18n_module.properties
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/resources/struts.xml


--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk

Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/CategoryOptionGroup.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/CategoryOptionGroup.java	2014-02-13 12:51:37 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/CategoryOptionGroup.java	2014-02-13 14:24:59 +0000
@@ -89,35 +89,6 @@
     // -------------------------------------------------------------------------
     // Logic
     // -------------------------------------------------------------------------
-  
-    @Override
-    public int hashCode()
-    {
-        final int prime = 31;
-        int result = super.hashCode();
-        result = prime * result + ((name == null) ? 0 : name.hashCode());
-        return result;
-    }
-
-    @Override
-    public boolean equals( Object obj )
-    {
-        if ( this == obj )
-            return true;
-        if ( !super.equals( obj ) )
-            return false;
-        if ( getClass() != obj.getClass() )
-            return false;
-        CategoryOptionGroup other = (CategoryOptionGroup) obj;
-        if ( name == null )
-        {
-            if ( other.name != null )
-                return false;
-        }
-        else if ( !name.equals( other.name ) )
-            return false;
-        return true;
-    }
 
     public void addCategoryOption( DataElementCategoryOption categoryOption )
     {

=== removed file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/CategoryOptionGroupService.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/CategoryOptionGroupService.java	2014-02-13 09:51:36 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/CategoryOptionGroupService.java	1970-01-01 00:00:00 +0000
@@ -1,150 +0,0 @@
-package org.hisp.dhis.dataelement;
-
-/*
- * Copyright (c) 2004-2013, University of Oslo
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- *
- * Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * Neither the name of the HISP project nor the names of its contributors may
- * be used to endorse or promote products derived from this software without
- * specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-import java.util.Collection;
-
-public interface CategoryOptionGroupService
-{
-    String ID = CategoryOptionGroupService.class.getName();
-
-    /**
-     * Adds an {@link CategoryOptionGroup}
-     * 
-     * @param categoryOptionGroup The to CategoryOptionGroup add.
-     * 
-     * @return A generated unique id of the added {@link CategoryOptionGroup} .
-     */
-    int addCategoryOptionGroup( CategoryOptionGroup categoryOptionGroup );
-
-    /**
-     * Deletes a {@link CategoryOptionGroup}.
-     * 
-     * @param categoryOptionGroup the CategoryOptionGroup to delete.
-     */
-    void deleteCategoryOptionGroup( CategoryOptionGroup categoryOptionGroup );
-
-    /**
-     * Updates an {@link CategoryOptionGroup}.
-     * 
-     * @param categoryOptionGroup the CategoryOptionGroup to update.
-     */
-    void updateCategoryOptionGroup( CategoryOptionGroup categoryOptionGroup );
-
-    /**
-     * Returns a {@link CategoryOptionGroup}.
-     * 
-     * @param id the id of the CategoryOptionGroup to return.
-     * 
-     * @return the CategoryOptionGroup with the given id
-     */
-    CategoryOptionGroup getCategoryOptionGroup( int id );
-
-    /**
-     * Returns the {@link CategoryOptionGroup} with the given UID.
-     * 
-     * @param uid the UID.
-     * @return the CategoryOptionGroup with the given UID, or null if no match.
-     */
-    CategoryOptionGroup getCategoryOptionGroupByUid( String uid );
-
-    /**
-     * Returns a {@link CategoryOptionGroup} with a given name.
-     * 
-     * @param name the name of the CategoryOptionGroup to return.
-     * 
-     * @return the CategoryOptionGroup with the given name, or null if no match.
-     */
-    CategoryOptionGroup getCategoryOptionGroupByName( String name );
-
-    /**
-     * Returns a {@link CategoryOptionGroup} with a given name.
-     * 
-     * @param shortName the code of the CategoryOptionGroup to return.
-     * 
-     * @return the CategoryOptionGroup with the given code, or null if no
-     *         match.
-     */
-    CategoryOptionGroup getCategoryOptionGroupByCode( String code );
-
-    /**
-     * Returns a {@link CategoryOptionGroup} with a given name.
-     * 
-     * @param shortName the shortName of the CategoryOptionGroup to return.
-     * 
-     * @return the CategoryOptionGroup with the given shortName, or null if no
-     *         match.
-     */
-    CategoryOptionGroup getCategoryOptionGroupByShortName( String shortName );
-
-    /**
-     * Returns all {@link CategoryOptionGroup}
-     * 
-     * @return a collection of all CategoryOptionGroup, or an empty collection
-     *         if there are no CategoryOptionGroups.
-     */
-    Collection<CategoryOptionGroup> getAllCategoryOptionGroups();
-
-    /**
-     * Returns {@link CategoryOptionGroup} list with paging
-     * 
-     * @param name Keyword for searching by name
-     * @param first
-     * @param max
-     * @return a collection of all CategoryOptionGroup, or an empty collection
-     *         if there are no CategoryOptionGroups.
-     */
-    Collection<CategoryOptionGroup> getCategoryOptionGroupsBetweenByName( String name, int first, int max );
-
-    /**
-     * Returns The number of all CategoryOptionGroup available
-     * 
-     */
-    int getCategoryOptionGroupCount();
-
-    /**
-     * Returns {@link CategoryOptionGroup} list with paging
-     * 
-     * @param first
-     * @param max
-     * @return a collection of all CategoryOptionGroup, or an empty collection
-     *         if there are no CategoryOptionGroups.
-     */
-    Collection<CategoryOptionGroup> getCategoryOptionGroupsBetween( int first, int max );
-
-    /**
-     * Returns The number of CategoryOptionGroups with the key searched
-     * 
-     * @param name Keyword for searching by name
-     * 
-     * @return A number
-     * 
-     */
-    int getCategoryOptionGroupCountByName( String name );
-}

=== removed file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/CategoryOptionGroupSetService.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/CategoryOptionGroupSetService.java	2014-02-13 12:09:31 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/CategoryOptionGroupSetService.java	1970-01-01 00:00:00 +0000
@@ -1,105 +0,0 @@
-package org.hisp.dhis.dataelement;
-
-import java.util.Collection;
-
-public interface CategoryOptionGroupSetService
-{
-    String ID = CategoryOptionGroupSetService.class.getName();
-
-    /**
-     * Adds an {@link CategoryOptionGroupSet}
-     * 
-     * @param groupSet The to CategoryOptionGroupSet add.
-     * 
-     * @return A generated unique id of the added {@link CategoryOptionGroupSet}
-     *         .
-     */
-    int addCategoryOptionGroupSet( CategoryOptionGroupSet groupSet );
-
-    /**
-     * Deletes a {@link CategoryOptionGroupSet}.
-     * 
-     * @param groupSet the CategoryOptionGroupSet to delete.
-     */
-    void deleteCategoryOptionGroupSet( CategoryOptionGroupSet groupSet );
-
-    /**
-     * Updates an {@link CategoryOptionGroupSet}.
-     * 
-     * @param groupSet the CategoryOptionGroupSet to update.
-     */
-    void updateCategoryOptionGroupSet( CategoryOptionGroupSet groupSet );
-
-    /**
-     * Returns a {@link CategoryOptionGroupSet}.
-     * 
-     * @param id the id of the CategoryOptionGroupSet to return.
-     * 
-     * @return the CategoryOptionGroupSet with the given id
-     */
-    CategoryOptionGroupSet getCategoryOptionGroupSet( int id );
-
-    /**
-     * Returns the {@link CategoryOptionGroupSet} with the given UID.
-     * 
-     * @param uid the UID.
-     * @return the CategoryOptionGroupSet with the given UID, or null if no
-     *         match.
-     */
-    CategoryOptionGroupSet getCategoryOptionGroupSetByUid( String uid );
-
-    /**
-     * Returns a {@link CategoryOptionGroupSet} with a given name.
-     * 
-     * @param name the name of the CategoryOptionGroupSet to return.
-     * 
-     * @return the CategoryOptionGroupSet with the given name, or null if no
-     *         match.
-     */
-    CategoryOptionGroupSet getCategoryOptionGroupSetByName( String name );
-
-    /**
-     * Returns all {@link CategoryOptionGroupSet}
-     * 
-     * @return a collection of all CategoryOptionGroupSet, or an empty
-     *         collection if there are no CategoryOptionGroupSets.
-     */
-    Collection<CategoryOptionGroupSet> getAllCategoryOptionGroupSets();
-
-    /**
-     * Returns {@link CategoryOptionGroupSet} list with paging
-     * 
-     * @param name Keyword for searching by name
-     * @param first
-     * @param max
-     * @return a collection of all CategoryOptionGroupSet, or an empty
-     *         collection if there are no CategoryOptionGroupSets.
-     */
-    Collection<CategoryOptionGroupSet> getCategoryOptionGroupSetsBetweenByName( String name, int first, int max );
-
-    /**
-     * Returns The number of all CategoryOptionGroupSet available
-     * 
-     */
-    int getCategoryOptionGroupSetCount();
-
-    /**
-     * Returns {@link CategoryOptionGroupSet} list with paging
-     * 
-     * @param first
-     * @param max
-     * @return a collection of all CategoryOptionGroupSet, or an empty
-     *         collection if there are no CategoryOptionGroupSets.
-     */
-    Collection<CategoryOptionGroupSet> getCategoryOptionGroupSetsBetween( int first, int max );
-   
-    /**
-     * Returns The number of CategoryOptionGroupSets with the key searched
-     * 
-     * @param name Keyword for searching by name
-     * 
-     * @return A number
-     * 
-     */
-    int getCategoryOptionGroupSetCountByName( String name );
-}

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementCategoryService.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementCategoryService.java	2014-02-12 14:22:58 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementCategoryService.java	2014-02-13 14:24:59 +0000
@@ -48,7 +48,7 @@
 
     /**
      * Adds a DataElementCategory.
-     *
+     * 
      * @param dataElementCategory the DataElementCategory to add.
      * @return a generated unique id of the added Category.
      */
@@ -56,24 +56,25 @@
 
     /**
      * Updates a DataElementCategory.
-     *
+     * 
      * @param dataElementCategory the DataElementCategory to update.
      */
     void updateDataElementCategory( DataElementCategory dataElementCategory );
 
     /**
-     * Deletes a DataElementCategory. The DataElementCategory is also removed from any
-     * DataElementCategoryCombos if it is a member of. It is not possible to delete a
-     * DataElementCategory with options.
-     *
+     * Deletes a DataElementCategory. The DataElementCategory is also removed
+     * from any DataElementCategoryCombos if it is a member of. It is not
+     * possible to delete a DataElementCategory with options.
+     * 
      * @param dataElementCategory the DataElementCategory to delete.
-     * @throws HierarchyViolationException if the DataElementCategory has children.
+     * @throws HierarchyViolationException if the DataElementCategory has
+     *         children.
      */
     void deleteDataElementCategory( DataElementCategory dataElementCategory );
 
     /**
      * Returns a DataElementCategory.
-     *
+     * 
      * @param id the id of the DataElementCategory to return.
      * @return the DataElementCategory with the given id, or null if no match.
      */
@@ -81,7 +82,7 @@
 
     /**
      * Returns a DataElementCategory.
-     *
+     * 
      * @param uid the uid of the DataElementCategory to return.
      * @return the DataElementCategory with the given uid, or null if no match.
      */
@@ -89,15 +90,16 @@
 
     /**
      * Retrieves the DataElementCategories with the given identifiers.
-     *
-     * @param identifiers the identifiers of the DataElementCategories to retrieve.
+     * 
+     * @param identifiers the identifiers of the DataElementCategories to
+     *        retrieve.
      * @return a collection of DataElementCategories.
      */
     Collection<DataElementCategory> getDataElementCategories( Collection<Integer> identifiers );
 
     /**
      * Retrieves the DataElementCategories with the given uids.
-     *
+     * 
      * @param uids the uids of the DataElementCategories to retrieve.
      * @return a collection of DataElementCategories.
      */
@@ -105,7 +107,7 @@
 
     /**
      * Retrieves the DataElementCategory with the given name.
-     *
+     * 
      * @param name the name of the DataElementCategory to retrieve.
      * @return the DataElementCategory.
      */
@@ -113,21 +115,21 @@
 
     /**
      * Returns DataElementCategories which are considered data dimensions.
-     *
+     * 
      * @return DataElementCategories which are considered data dimensions.
      */
     Collection<DataElementCategory> getDataDimensionDataElementCategories();
 
     /**
      * Returns all DataElementCategories.
-     *
+     * 
      * @return a collection of all DataElementCategories.
      */
     Collection<DataElementCategory> getAllDataElementCategories();
 
     /**
      * Retrieves all DataElementCategories of dimension type disaggregation.
-     *
+     * 
      * @return a collection of DataElementCategoryCombos.
      */
     Collection<DataElementCategory> getDisaggregationCategories();
@@ -135,22 +137,22 @@
     /**
      * Retrieves all DataElementCategories of dimension type disaggregation and
      * data dimensional.
-     *
+     * 
      * @return a collection of DataElementCategoryCombos.
      */
     Collection<DataElementCategory> getDisaggregationDataDimensionCategories();
 
     /**
      * Retrieves all DataElementCategories of dimension type attribute.
-     *
+     * 
      * @return a collection of DataElementCategoryCombos.
      */
     Collection<DataElementCategory> getAttributeCategories();
 
     /**
-     * Retrieves all DataElementCategories of dimension type attribute and
-     * data dimensional.
-     *
+     * Retrieves all DataElementCategories of dimension type attribute and data
+     * dimensional.
+     * 
      * @return a collection of DataElementCategoryCombos.
      */
     Collection<DataElementCategory> getAttributeDataDimensionCategories();
@@ -161,7 +163,7 @@
 
     /**
      * Adds a DataElementCategoryOption.
-     *
+     * 
      * @param dataElementCategoryOption the DataElementCategoryOption to add.
      * @return a generated unique id of the added DataElementCategoryOption.
      */
@@ -169,45 +171,48 @@
 
     /**
      * Updates a DataElementCategoryOption.
-     *
+     * 
      * @param dataElementCategoryOption the DataElementCategoryOption to update.
      */
     void updateDataElementCategoryOption( DataElementCategoryOption dataElementCategoryOption );
 
     /**
      * Deletes a DataElementCategoryOption.
-     *
+     * 
      * @param dataElementCategoryOption
      */
     void deleteDataElementCategoryOption( DataElementCategoryOption dataElementCategoryOption );
 
     /**
      * Returns a DataElementCategoryOption.
-     *
+     * 
      * @param id the id of the DataElementCategoryOption to return.
-     * @return the DataElementCategoryOption with the given id, or null if no match.
+     * @return the DataElementCategoryOption with the given id, or null if no
+     *         match.
      */
     DataElementCategoryOption getDataElementCategoryOption( int id );
 
     /**
      * Returns a DataElementCategoryOption.
-     *
+     * 
      * @param uid the id of the DataElementCategoryOption to return.
-     * @return the DataElementCategoryOption with the given uid, or null if no match.
+     * @return the DataElementCategoryOption with the given uid, or null if no
+     *         match.
      */
     DataElementCategoryOption getDataElementCategoryOption( String uid );
 
     /**
      * Retrieves the DataElementCategoryOptions with the given identifiers.
-     *
-     * @param identifiers the identifiers of the DataElementCategoryOption to retrieve.
+     * 
+     * @param identifiers the identifiers of the DataElementCategoryOption to
+     *        retrieve.
      * @return a Collection of DataElementCategoryOptions.
      */
     Collection<DataElementCategoryOption> getDataElementCategoryOptions( Collection<Integer> identifiers );
 
     /**
      * Retrieves the DataElementCategoryOptions with the given uids.
-     *
+     * 
      * @param uids the uids of the DataElementCategoryOption to retrieve.
      * @return a Collection of DataElementCategoryOptions.
      */
@@ -215,7 +220,7 @@
 
     /**
      * Retrieves the DataElementCategoryOption with the given name.
-     *
+     * 
      * @param name the name.
      * @return the DataElementCategoryOption with the given name.
      */
@@ -223,7 +228,7 @@
 
     /**
      * Retrieves the DataElementCategoryOption with the given code.
-     *
+     * 
      * @param code the code.
      * @return the DataElementCategoryOption with the given code.
      */
@@ -231,18 +236,18 @@
 
     /**
      * Returns all DataElementCategoryOptions.
-     *
-     * @return a collection of all DataElementCategoryOptions, or an empty collection if there
-     * are no DataElementCategoryOptions.
+     * 
+     * @return a collection of all DataElementCategoryOptions, or an empty
+     *         collection if there are no DataElementCategoryOptions.
      */
     Collection<DataElementCategoryOption> getAllDataElementCategoryOptions();
 
     /**
      * Returns all DataElementCategoryOptions for a given concept
-     *
+     * 
      * @param concept the Concept
-     * @return a collection of all DataElementCategoryOptions, or an empty collection if there
-     * are no DataElementCategoryOptions.
+     * @return a collection of all DataElementCategoryOptions, or an empty
+     *         collection if there are no DataElementCategoryOptions.
      */
     Collection<DataElementCategoryOption> getDataElementCategoryOptionsByConcept( Concept concept );
 
@@ -252,7 +257,7 @@
 
     /**
      * Adds a DataElementCategoryCombo.
-     *
+     * 
      * @param dataElementCategoryCombo the DataElementCategoryCombo to add.
      * @return the generated identifier.
      */
@@ -260,21 +265,21 @@
 
     /**
      * Updates a DataElementCategoryCombo.
-     *
+     * 
      * @param dataElementCategoryCombo the DataElementCategoryCombo to update.
      */
     void updateDataElementCategoryCombo( DataElementCategoryCombo dataElementCategoryCombo );
 
     /**
      * Deletes a DataElementCategoryCombo.
-     *
+     * 
      * @param dataElementCategoryCombo the DataElementCategoryCombo to delete.
      */
     void deleteDataElementCategoryCombo( DataElementCategoryCombo dataElementCategoryCombo );
 
     /**
      * Retrieves a DataElementCategoryCombo with the given identifier.
-     *
+     * 
      * @param id the identifier of the DataElementCategoryCombo to retrieve.
      * @return the DataElementCategoryCombo.
      */
@@ -282,7 +287,7 @@
 
     /**
      * Retrieves a DataElementCategoryCombo with the given uid.
-     *
+     * 
      * @param uid the identifier of the DataElementCategoryCombo to retrieve.
      * @return the DataElementCategoryCombo.
      */
@@ -290,7 +295,7 @@
 
     /**
      * Retrieves the DataElementCategoryCombo with the given identifiers.
-     *
+     * 
      * @param identifiers the identifiers.
      * @return a collection of DataElementCategoryCombos.
      */
@@ -298,12 +303,12 @@
 
     /**
      * Retrieves the DataElementCategoryCombo with the given name.
-     *
+     * 
      * @param name the name of the DataElementCategoryCombo to retrieve.
      * @return the DataElementCategoryCombo.
      */
     DataElementCategoryCombo getDataElementCategoryComboByName( String name );
-    
+
     /**
      * Returns the default category combo.
      */
@@ -311,21 +316,21 @@
 
     /**
      * Retrieves all DataElementCategoryCombos.
-     *
+     * 
      * @return a collection of DataElementCategoryCombos.
      */
     Collection<DataElementCategoryCombo> getAllDataElementCategoryCombos();
 
     /**
      * Retrieves all DataElementCategoryCombos of dimension type disaggregation.
-     *
+     * 
      * @return a collection of DataElementCategoryCombos.
      */
     Collection<DataElementCategoryCombo> getDisaggregationCategoryCombos();
 
     /**
      * Retrieves all DataElementCategoryCombos of dimension type attribute.
-     *
+     * 
      * @return a collection of DataElementCategoryCombos.
      */
     Collection<DataElementCategoryCombo> getAttributeCategoryCombos();
@@ -336,32 +341,32 @@
 
     /**
      * Adds a DataElementCategoryOptionCombo.
-     *
+     * 
      * @param dataElementCategoryOptionCombo the DataElementCategoryOptionCombo
-     *                                       to add.
+     *        to add.
      * @return the generated identifier.
      */
     int addDataElementCategoryOptionCombo( DataElementCategoryOptionCombo dataElementCategoryOptionCombo );
 
     /**
      * Updates a DataElementCategoryOptionCombo.
-     *
+     * 
      * @param dataElementCategoryOptionCombo the DataElementCategoryOptionCombo
-     *                                       to update.
+     *        to update.
      */
     void updateDataElementCategoryOptionCombo( DataElementCategoryOptionCombo dataElementCategoryOptionCombo );
 
     /**
      * Deletes a DataElementCategoryOptionCombo.
-     *
+     * 
      * @param dataElementCategoryOptionCombo the DataElementCategoryOptionCombo
-     *                                       to delete.
+     *        to delete.
      */
     void deleteDataElementCategoryOptionCombo( DataElementCategoryOptionCombo dataElementCategoryOptionCombo );
 
     /**
      * Retrieves the DataElementCategoryOptionCombo with the given identifier.
-     *
+     * 
      * @param id the identifier of the DataElementCategoryOptionCombo.
      * @return the DataElementCategoryOptionCombo.
      */
@@ -369,7 +374,7 @@
 
     /**
      * Retrieves the DataElementCategoryOptionCombo with the given uid.
-     *
+     * 
      * @param uid the uid of the DataElementCategoryOptionCombo.
      * @return the DataElementCategoryOptionCombo.
      */
@@ -377,8 +382,9 @@
 
     /**
      * Retrieves the DataElementCategoryOptionCombos with the given identifiers.
-     *
-     * @param identifiers the identifiers of the DataElementCategoryOptionCombos.
+     * 
+     * @param identifiers the identifiers of the
+     *        DataElementCategoryOptionCombos.
      * @return a Collection of DataElementCategoryOptionCombos.
      */
     Collection<DataElementCategoryOptionCombo> getDataElementCategoryOptionCombos( Collection<Integer> identifiers );
@@ -386,28 +392,30 @@
     Collection<DataElementCategoryOptionCombo> getDataElementCategoryOptionCombosByUid( Collection<String> uids );
 
     /**
-     * Retrieves the DataElementCategoryOptionCombo with the given Collection
-     * of DataElementCategoryOptions.
-     *
+     * Retrieves the DataElementCategoryOptionCombo with the given Collection of
+     * DataElementCategoryOptions.
+     * 
      * @param categoryOptions
      * @return
      */
-    DataElementCategoryOptionCombo getDataElementCategoryOptionCombo( Collection<DataElementCategoryOption> categoryOptions );
+    DataElementCategoryOptionCombo getDataElementCategoryOptionCombo(
+        Collection<DataElementCategoryOption> categoryOptions );
 
     /**
      * Retrieves a DataElementCategoryOptionCombo.
-     *
+     * 
      * @param categoryOptionCombo the DataElementCategoryOptionCombo to
-     *                            retrieve.
+     *        retrieve.
      * @return a DataElementCategoryOptionCombo.
      */
     DataElementCategoryOptionCombo getDataElementCategoryOptionCombo( DataElementCategoryOptionCombo categoryOptionCombo );
 
-    DataElementCategoryOptionCombo getDataElementCategoryOptionCombo( DataElementCategoryCombo categoryCombo, Set<DataElementCategoryOption> categoryOptions );
+    DataElementCategoryOptionCombo getDataElementCategoryOptionCombo( DataElementCategoryCombo categoryCombo,
+        Set<DataElementCategoryOption> categoryOptions );
 
     /**
      * Retrieves all DataElementCategoryOptionCombos.
-     *
+     * 
      * @return a Collection of DataElementCategoryOptionCombos.
      */
     Collection<DataElementCategoryOptionCombo> getAllDataElementCategoryOptionCombos();
@@ -421,7 +429,7 @@
 
     /**
      * Retrieves the default DataElementCategoryOptionCombo.
-     *
+     * 
      * @return the DataElementCategoryOptionCombo.
      */
     DataElementCategoryOptionCombo getDefaultDataElementCategoryOptionCombo();
@@ -429,7 +437,7 @@
     /**
      * Generates and persists DataElementCategoryOptionCombos for the given
      * DataElementCategoryCombo.
-     *
+     * 
      * @param categoryCombo the DataElementCategoryCombo.
      */
     void generateOptionCombos( DataElementCategoryCombo categoryCombo );
@@ -437,7 +445,7 @@
     /**
      * Invokes updateOptionCombos( DataElementCategoryCombo ) for all category
      * combos which the given category is a part of.
-     *
+     * 
      * @param category the DataElementCategory.
      */
     void updateOptionCombos( DataElementCategory category );
@@ -446,7 +454,7 @@
      * Generates the complete set of category option combos for the given
      * category combo and compares it to the set of persisted category option
      * combos. Those which are not matched are persisted.
-     *
+     * 
      * @param categoryCombo the DataElementCategoryCombo.
      */
     void updateOptionCombos( DataElementCategoryCombo categoryCombo );
@@ -458,8 +466,9 @@
     void updateAllOptionCombos();
 
     /**
-     * Populates all transient properties on each Operand in the given collection.
-     *
+     * Populates all transient properties on each Operand in the given
+     * collection.
+     * 
      * @param operands the collection of Operands.
      * @return a collection of Operands.
      */
@@ -467,7 +476,7 @@
 
     /**
      * Gets the Operands for the given Collection of DataElements.
-     *
+     * 
      * @param dataElements the Collection of DataElements.
      * @return the Operands for the given Collection of DataElements.
      */
@@ -475,24 +484,26 @@
 
     /**
      * Gets the Operands for the given Collection of DataElements.
-     *
-     * @param dataElements  the Collection of DataElements.
-     * @param includeTotals whether to include DataElement totals in the Collection of Operands.
+     * 
+     * @param dataElements the Collection of DataElements.
+     * @param includeTotals whether to include DataElement totals in the
+     *        Collection of Operands.
      * @return the Operands for the given Collection of DataElements.
      */
     Collection<DataElementOperand> getOperands( Collection<DataElement> dataElements, boolean includeTotals );
 
     /**
      * Gets the Operands for the DataElements with names like the given name.
-     *
+     * 
      * @param name the name.
      * @return the Operands for the DataElements with names like the given name.
      */
     Collection<DataElementOperand> getOperandsLikeName( String name );
 
     /**
-     * Gets the Operands for the given Collection of DataElements. Operands will contain DataElement and CategoryOptionCombo object
-     *
+     * Gets the Operands for the given Collection of DataElements. Operands will
+     * contain DataElement and CategoryOptionCombo object
+     * 
      * @param dataElements the Collection of DataElements.
      * @return the Operands for the given Collection of DataElements.
      */
@@ -504,9 +515,10 @@
 
     /**
      * Returns all DataElementCategories for a given concept
-     *
+     * 
      * @param concept the Concept
-     * @return a collection of all DataElementCategories, or an empty collection.
+     * @return a collection of all DataElementCategories, or an empty
+     *         collection.
      */
     Collection<DataElementCategory> getDataElementCategoriesByConcept( Concept concept );
 
@@ -545,40 +557,56 @@
     // -------------------------------------------------------------------------
 
     int saveCategoryOptionGroup( CategoryOptionGroup group );
-    
+
     void updateCategoryOptionGroup( CategoryOptionGroup group );
-    
+
     CategoryOptionGroup getCategoryOptionGroup( int id );
-    
+
     CategoryOptionGroup getCategoryOptionGroup( String uid );
-    
+
     void deleteCategoryOptionGroup( CategoryOptionGroup group );
-    
+
     Collection<CategoryOptionGroup> getCategoryOptionGroupsBetween( int first, int max );
-    
+
     Collection<CategoryOptionGroup> getCategoryOptionGroupsBetweenByName( int first, int max, String name );
-    
+
     Collection<CategoryOptionGroup> getAllCategoryOptionGroups();
-    
+
+    CategoryOptionGroup getCategoryOptionGroupByName( String name );
+
+    CategoryOptionGroup getCategoryOptionGroupByCode( String code );
+
+    CategoryOptionGroup getCategoryOptionGroupByShortName( String shortName );
+
+    int getCategoryOptionGroupCount();
+
+    int getCategoryOptionGroupCountByName( String name );
+
     // -------------------------------------------------------------------------
-    // CategoryOptionGroup
+    // CategoryOptionGroupSet
     // -------------------------------------------------------------------------
 
     int saveCategoryOptionGroupSet( CategoryOptionGroupSet group );
-    
+
     void updateCategoryOptionGroupSet( CategoryOptionGroupSet group );
-    
+
     CategoryOptionGroupSet getCategoryOptionGroupSet( int id );
-    
+
     CategoryOptionGroupSet getCategoryOptionGroupSet( String uid );
-    
+
     void deleteCategoryOptionGroupSet( CategoryOptionGroupSet group );
-    
+
     Collection<CategoryOptionGroupSet> getCategoryOptionGroupSetsBetween( int first, int max );
-    
+
     Collection<CategoryOptionGroupSet> getCategoryOptionGroupSetsBetweenByName( int first, int max, String name );
 
     Collection<CategoryOptionGroupSet> getAllCategoryOptionGroupSets();
-    
+
     Collection<CategoryOptionGroupSet> getDataDimensionCategoryOptionGroupSets();
+
+    CategoryOptionGroupSet getCategoryOptionGroupSetByName( String name );
+
+    int getCategoryOptionGroupSetCount();
+
+    int getCategoryOptionGroupSetCountByName( String name );
 }

=== removed file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataelement/DefaultCategoryOptionGroupService.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataelement/DefaultCategoryOptionGroupService.java	2014-02-13 09:51:36 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataelement/DefaultCategoryOptionGroupService.java	1970-01-01 00:00:00 +0000
@@ -1,158 +0,0 @@
-/*
- * Copyright (c) 2004-2013, University of Oslo
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * * Redistributions of source code must retain the above copyright notice, this
- *   list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright notice,
- *   this list of conditions and the following disclaimer in the documentation
- *   and/or other materials provided with the distribution.
- * * Neither the name of the HISP project nor the names of its contributors may
- *   be used to endorse or promote products derived from this software without
- *   specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-package org.hisp.dhis.dataelement;
-
-import static org.hisp.dhis.i18n.I18nUtils.i18n;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.hisp.dhis.common.GenericIdentifiableObjectStore;
-import org.hisp.dhis.i18n.I18nService;
-import org.springframework.transaction.annotation.Transactional;
-
-/**
- * @author Chau Thu Tran
- * 
- * @version $ DefaultCategoryOptionGroupService.java Feb 12, 2014 11:38:43 PM $
- */
-@Transactional
-public class DefaultCategoryOptionGroupService
-    implements CategoryOptionGroupService
-{
-    // -------------------------------------------------------------------------
-    // Dependencies
-    // -------------------------------------------------------------------------
-
-    private GenericIdentifiableObjectStore<CategoryOptionGroup> categoryOptionGroupStore;
-
-    public void setCategoryOptionGroupStore(
-        GenericIdentifiableObjectStore<CategoryOptionGroup> categoryOptionGroupStore )
-    {
-        this.categoryOptionGroupStore = categoryOptionGroupStore;
-    }
-
-    private I18nService i18nService;
-
-    public void setI18nService( I18nService service )
-    {
-        i18nService = service;
-    }
-
-    // -------------------------------------------------------------------------
-    // CategoryOptionGroup
-    // -------------------------------------------------------------------------
-
-    @Override
-    public int addCategoryOptionGroup( CategoryOptionGroup categoryOptionGroup )
-    {
-        return categoryOptionGroupStore.save( categoryOptionGroup );
-    }
-
-    @Override
-    public void deleteCategoryOptionGroup( CategoryOptionGroup categoryOptionGroup )
-    {
-        categoryOptionGroupStore.delete( categoryOptionGroup );
-    }
-
-    @Override
-    public void updateCategoryOptionGroup( CategoryOptionGroup categoryOptionGroup )
-    {
-        categoryOptionGroupStore.update( categoryOptionGroup );
-    }
-
-    @Override
-    public CategoryOptionGroup getCategoryOptionGroup( int id )
-    {
-        return i18n( i18nService, categoryOptionGroupStore.get( id ) );
-    }
-
-    @Override
-    public CategoryOptionGroup getCategoryOptionGroupByUid( String uid )
-    {
-        return i18n( i18nService, categoryOptionGroupStore.getByUid( uid ) );
-    }
-
-    @Override
-    public CategoryOptionGroup getCategoryOptionGroupByName( String name )
-    {
-        return i18n( i18nService, categoryOptionGroupStore.getByName( name ) );
-    }
-
-    @Override
-    public Collection<CategoryOptionGroup> getAllCategoryOptionGroups()
-    {
-        return i18n( i18nService, categoryOptionGroupStore.getAll() );
-    }
-
-    @Override
-    public Collection<CategoryOptionGroup> getCategoryOptionGroupsBetweenByName( String name, int first, int max )
-    {
-        return i18n( i18nService, categoryOptionGroupStore.getAllLikeNameOrderedName( name, first, max ) );
-    }
-
-    @Override
-    public int getCategoryOptionGroupCount()
-    {
-        return categoryOptionGroupStore.getCount();
-    }
-
-    @Override
-    public Collection<CategoryOptionGroup> getCategoryOptionGroupsBetween( int first, int max )
-    {
-        return i18n( i18nService, categoryOptionGroupStore.getAllOrderedName( first, max ) );
-    }
-
-    @Override
-    public int getCategoryOptionGroupCountByName( String name )
-    {
-        return categoryOptionGroupStore.getCountLikeName( name );
-    }
-
-    @Override
-    public CategoryOptionGroup getCategoryOptionGroupByShortName( String shortName )
-    {
-        List<CategoryOptionGroup> categoryOptionGroups = new ArrayList<CategoryOptionGroup>(
-            categoryOptionGroupStore.getAllLikeShortName( shortName ) );
-
-        if ( categoryOptionGroups.isEmpty() )
-        {
-            return null;
-        }
-
-        return i18n( i18nService, categoryOptionGroups.get( 0 ) );
-    }
-
-    @Override
-    public CategoryOptionGroup getCategoryOptionGroupByCode( String code )
-    {
-        return i18n( i18nService, categoryOptionGroupStore.getByCode( code ) );
-    }
-
-}

=== removed file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataelement/DefaultCategoryOptionGroupSetService.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataelement/DefaultCategoryOptionGroupSetService.java	2014-02-13 12:09:31 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataelement/DefaultCategoryOptionGroupSetService.java	1970-01-01 00:00:00 +0000
@@ -1,137 +0,0 @@
-/*
- * Copyright (c) 2004-2013, University of Oslo
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * * Redistributions of source code must retain the above copyright notice, this
- *   list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright notice,
- *   this list of conditions and the following disclaimer in the documentation
- *   and/or other materials provided with the distribution.
- * * Neither the name of the HISP project nor the names of its contributors may
- *   be used to endorse or promote products derived from this software without
- *   specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-package org.hisp.dhis.dataelement;
-
-import static org.hisp.dhis.i18n.I18nUtils.i18n;
-
-import java.util.Collection;
-
-import org.hisp.dhis.common.GenericIdentifiableObjectStore;
-import org.hisp.dhis.i18n.I18nService;
-import org.springframework.transaction.annotation.Transactional;
-
-/**
- * @author Chau Thu Tran
- * 
- * @version $ DefaultCategoryOptionGroupSetService.java Feb 12, 2014 11:38:43 PM
- *          $
- */
-@Transactional
-public class DefaultCategoryOptionGroupSetService
-    implements CategoryOptionGroupSetService
-{
-    // -------------------------------------------------------------------------
-    // Dependencies
-    // -------------------------------------------------------------------------
-
-    private GenericIdentifiableObjectStore<CategoryOptionGroupSet> categoryOptionGroupSetStore;
-
-    public void setCategoryOptionGroupSetStore(
-        GenericIdentifiableObjectStore<CategoryOptionGroupSet> categoryOptionGroupSetStore )
-    {
-        this.categoryOptionGroupSetStore = categoryOptionGroupSetStore;
-    }
-
-    private I18nService i18nService;
-
-    public void setI18nService( I18nService service )
-    {
-        i18nService = service;
-    }
-
-    // -------------------------------------------------------------------------
-    // CategoryOptionGroupSet
-    // -------------------------------------------------------------------------
-
-    @Override
-    public int addCategoryOptionGroupSet( CategoryOptionGroupSet categoryOptionGroupSet )
-    {
-        return categoryOptionGroupSetStore.save( categoryOptionGroupSet );
-    }
-
-    @Override
-    public void deleteCategoryOptionGroupSet( CategoryOptionGroupSet categoryOptionGroupSet )
-    {
-        categoryOptionGroupSetStore.delete( categoryOptionGroupSet );
-    }
-
-    @Override
-    public void updateCategoryOptionGroupSet( CategoryOptionGroupSet categoryOptionGroupSet )
-    {
-        categoryOptionGroupSetStore.update( categoryOptionGroupSet );
-    }
-
-    @Override
-    public CategoryOptionGroupSet getCategoryOptionGroupSet( int id )
-    {
-        return i18n( i18nService, categoryOptionGroupSetStore.get( id ) );
-    }
-
-    @Override
-    public CategoryOptionGroupSet getCategoryOptionGroupSetByUid( String uid )
-    {
-        return i18n( i18nService, categoryOptionGroupSetStore.getByUid( uid ) );
-    }
-
-    @Override
-    public CategoryOptionGroupSet getCategoryOptionGroupSetByName( String name )
-    {
-        return i18n( i18nService, categoryOptionGroupSetStore.getByName( name ) );
-    }
-
-    @Override
-    public Collection<CategoryOptionGroupSet> getAllCategoryOptionGroupSets()
-    {
-        return i18n( i18nService, categoryOptionGroupSetStore.getAll() );
-    }
-
-    @Override
-    public Collection<CategoryOptionGroupSet> getCategoryOptionGroupSetsBetweenByName( String name, int first, int max )
-    {
-        return i18n( i18nService, categoryOptionGroupSetStore.getAllLikeNameOrderedName( name, first, max ) );
-    }
-
-    @Override
-    public int getCategoryOptionGroupSetCount()
-    {
-        return categoryOptionGroupSetStore.getCount();
-    }
-
-    @Override
-    public Collection<CategoryOptionGroupSet> getCategoryOptionGroupSetsBetween( int first, int max )
-    {
-        return i18n( i18nService, categoryOptionGroupSetStore.getAllOrderedName( first, max ) );
-    }
-
-    @Override
-    public int getCategoryOptionGroupSetCountByName( String name )
-    {
-        return categoryOptionGroupSetStore.getCountLikeName( name );
-    }
-
-}

=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataelement/DefaultDataElementCategoryService.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataelement/DefaultDataElementCategoryService.java	2014-02-12 14:22:58 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataelement/DefaultDataElementCategoryService.java	2014-02-13 14:24:59 +0000
@@ -57,7 +57,7 @@
     implements DataElementCategoryService
 {
     private static final Log log = LogFactory.getLog( DefaultDataElementCategoryService.class );
-    
+
     // -------------------------------------------------------------------------
     // Dependencies
     // -------------------------------------------------------------------------
@@ -99,7 +99,8 @@
 
     private GenericNameableObjectStore<CategoryOptionGroupSet> categoryOptionGroupSetStore;
 
-    public void setCategoryOptionGroupSetStore( GenericNameableObjectStore<CategoryOptionGroupSet> categoryOptionGroupSetStore )
+    public void setCategoryOptionGroupSetStore(
+        GenericNameableObjectStore<CategoryOptionGroupSet> categoryOptionGroupSetStore )
     {
         this.categoryOptionGroupSetStore = categoryOptionGroupSetStore;
     }
@@ -140,18 +141,18 @@
     public Collection<DataElementCategory> getDataDimensionDataElementCategories()
     {
         Collection<DataElementCategory> categories = getAllDataElementCategories();
-        
+
         FilterUtils.filter( categories, new Filter<DataElementCategory>()
         {
             public boolean retain( DataElementCategory category )
             {
                 return category != null && category.isDataDimension();
-            }            
+            }
         } );
-        
+
         return categories;
     }
-    
+
     public Collection<DataElementCategory> getAllDataElementCategories()
     {
         return i18n( i18nService, categoryStore.getAll() );
@@ -179,7 +180,7 @@
             }
         } );
     }
-    
+
     public Collection<DataElementCategory> getDataElementCategoriesByUid( Collection<String> uids )
     {
         return categoryStore.getByUid( uids );
@@ -203,30 +204,32 @@
     {
         return i18n( i18nService, categoryStore.getByConcept( concept ) );
     }
-    
+
     public Collection<DataElementCategory> getDisaggregationCategories()
     {
-        return i18n( i18nService, categoryStore.getCategoriesByDimensionType( DataElementCategoryCombo.DIMENSION_TYPE_DISAGGREGATION ) );
+        return i18n( i18nService,
+            categoryStore.getCategoriesByDimensionType( DataElementCategoryCombo.DIMENSION_TYPE_DISAGGREGATION ) );
     }
 
     public Collection<DataElementCategory> getDisaggregationDataDimensionCategories()
     {
         Collection<DataElementCategory> categories = getDisaggregationCategories();
-        
+
         FilterUtils.filter( categories, new Filter<DataElementCategory>()
         {
             public boolean retain( DataElementCategory category )
             {
                 return category != null && category.isDataDimension();
-            }            
+            }
         } );
-        
+
         return categories;
     }
 
     public Collection<DataElementCategory> getAttributeCategories()
     {
-        return i18n( i18nService, categoryStore.getCategoriesByDimensionType( DataElementCategoryCombo.DIMENSION_TYPE_ATTTRIBUTE ) );        
+        return i18n( i18nService,
+            categoryStore.getCategoriesByDimensionType( DataElementCategoryCombo.DIMENSION_TYPE_ATTTRIBUTE ) );
     }
 
     public Collection<DataElementCategory> getAttributeDataDimensionCategories()
@@ -238,12 +241,12 @@
             public boolean retain( DataElementCategory category )
             {
                 return category != null && category.isDataDimension();
-            }            
+            }
         } );
-        
-        return categories;        
+
+        return categories;
     }
-    
+
     @Override
     public Collection<DataElementCategory> getDataElementCategoryBetween( int first, int max )
     {
@@ -346,7 +349,8 @@
     }
 
     @Override
-    public Collection<DataElementCategoryOption> getDataElementCategoryOptionsBetweenByName( String name, int first, int max )
+    public Collection<DataElementCategoryOption> getDataElementCategoryOptionsBetweenByName( String name, int first,
+        int max )
     {
         return i18n( i18nService, categoryOptionStore.getAllLikeNameOrderedName( name, first, max ) );
     }
@@ -421,7 +425,7 @@
     {
         return i18n( i18nService, categoryComboStore.getByName( name ) );
     }
-    
+
     public DataElementCategoryCombo getDefaultDataElementCategoryCombo()
     {
         return getDataElementCategoryComboByName( DataElementCategoryCombo.DEFAULT_CATEGORY_COMBO_NAME );
@@ -442,21 +446,25 @@
         return i18n( i18nService, categoryComboStore.getAllOrderedName( first, max ) );
     }
 
-    public Collection<DataElementCategoryCombo> getDataElementCategoryCombosBetweenByName( String name, int first, int max )
+    public Collection<DataElementCategoryCombo> getDataElementCategoryCombosBetweenByName( String name, int first,
+        int max )
     {
         return i18n( i18nService, categoryComboStore.getAllLikeNameOrderedName( name, first, max ) );
     }
-    
+
     public Collection<DataElementCategoryCombo> getDisaggregationCategoryCombos()
     {
-        return i18n( i18nService, categoryComboStore.getCategoryCombosByDimensionType( DataElementCategoryCombo.DIMENSION_TYPE_DISAGGREGATION ) );
+        return i18n( i18nService,
+            categoryComboStore
+                .getCategoryCombosByDimensionType( DataElementCategoryCombo.DIMENSION_TYPE_DISAGGREGATION ) );
     }
 
     public Collection<DataElementCategoryCombo> getAttributeCategoryCombos()
     {
-        return i18n( i18nService, categoryComboStore.getCategoryCombosByDimensionType( DataElementCategoryCombo.DIMENSION_TYPE_ATTTRIBUTE ) );
+        return i18n( i18nService,
+            categoryComboStore.getCategoryCombosByDimensionType( DataElementCategoryCombo.DIMENSION_TYPE_ATTTRIBUTE ) );
     }
-    
+
     // -------------------------------------------------------------------------
     // CategoryOptionCombo
     // -------------------------------------------------------------------------
@@ -539,11 +547,12 @@
         return null;
     }
 
-    public DataElementCategoryOptionCombo getDataElementCategoryOptionCombo( DataElementCategoryCombo categoryCombo, Set<DataElementCategoryOption> categoryOptions )
+    public DataElementCategoryOptionCombo getDataElementCategoryOptionCombo( DataElementCategoryCombo categoryCombo,
+        Set<DataElementCategoryOption> categoryOptions )
     {
         return categoryOptionComboStore.getCategoryOptionCombo( categoryCombo, categoryOptions );
     }
-    
+
     public Collection<DataElementCategoryOptionCombo> getAllDataElementCategoryOptionCombos()
     {
         return categoryOptionComboStore.getAll();
@@ -572,7 +581,8 @@
         // DataElementCategoryCombo
         // ---------------------------------------------------------------------
 
-        DataElementCategoryCombo categoryCombo = new DataElementCategoryCombo( DataElementCategoryCombo.DEFAULT_CATEGORY_COMBO_NAME );
+        DataElementCategoryCombo categoryCombo = new DataElementCategoryCombo(
+            DataElementCategoryCombo.DEFAULT_CATEGORY_COMBO_NAME );
         categoryCombo.addDataElementCategory( category );
         addDataElementCategoryCombo( categoryCombo );
 
@@ -705,29 +715,30 @@
         Set<DataElementCategoryOptionCombo> persistedOptionCombos = categoryCombo.getOptionCombos();
 
         boolean modified = false;
-        
+
         for ( DataElementCategoryOptionCombo optionCombo : generatedOptionCombos )
         {
             if ( !persistedOptionCombos.contains( optionCombo ) )
-            {                
+            {
                 categoryCombo.getOptionCombos().add( optionCombo );
                 addDataElementCategoryOptionCombo( optionCombo );
 
-                log.info( "Added missing category option combo: " + optionCombo + " for category combo: " + categoryCombo.getName() );
+                log.info( "Added missing category option combo: " + optionCombo + " for category combo: "
+                    + categoryCombo.getName() );
                 modified = true;
             }
         }
 
         if ( modified )
-        {        
+        {
             updateDataElementCategoryCombo( categoryCombo );
         }
     }
-    
+
     public void updateAllOptionCombos()
     {
         Collection<DataElementCategoryCombo> categoryCombos = getAllDataElementCategoryCombos();
-        
+
         for ( DataElementCategoryCombo categoryCombo : categoryCombos )
         {
             updateOptionCombos( categoryCombo );
@@ -766,27 +777,27 @@
     {
         return categoryOptionGroupStore.save( group );
     }
-    
+
     public void updateCategoryOptionGroup( CategoryOptionGroup group )
     {
         categoryOptionGroupStore.update( group );
     }
-    
+
     public CategoryOptionGroup getCategoryOptionGroup( int id )
     {
         return categoryOptionGroupStore.get( id );
     }
-    
+
     public CategoryOptionGroup getCategoryOptionGroup( String uid )
     {
         return categoryOptionGroupStore.getByUid( uid );
     }
-    
+
     public void deleteCategoryOptionGroup( CategoryOptionGroup group )
     {
         categoryOptionGroupStore.delete( group );
     }
-    
+
     public Collection<CategoryOptionGroup> getCategoryOptionGroupsBetween( int first, int max )
     {
         return categoryOptionGroupStore.getAllOrderedName( first, max );
@@ -796,12 +807,50 @@
     {
         return categoryOptionGroupStore.getAllLikeNameOrderedName( name, first, max );
     }
-    
+
     public Collection<CategoryOptionGroup> getAllCategoryOptionGroups()
     {
         return categoryOptionGroupStore.getAll();
     }
-    
+
+    @Override
+    public CategoryOptionGroup getCategoryOptionGroupByName( String name )
+    {
+        return i18n( i18nService, categoryOptionGroupStore.getByName( name ) );
+    }
+
+    @Override
+    public CategoryOptionGroup getCategoryOptionGroupByCode( String code )
+    {
+        return i18n( i18nService, categoryOptionGroupStore.getByCode( code ) );
+    }
+
+    @Override
+    public CategoryOptionGroup getCategoryOptionGroupByShortName( String shortName )
+    {
+        List<CategoryOptionGroup> categoryOptionGroups = new ArrayList<CategoryOptionGroup>(
+            categoryOptionGroupStore.getAllLikeShortName( shortName ) );
+
+        if ( categoryOptionGroups.isEmpty() )
+        {
+            return null;
+        }
+
+        return i18n( i18nService, categoryOptionGroups.get( 0 ) );
+    }
+
+    @Override
+    public int getCategoryOptionGroupCount()
+    {
+        return categoryOptionGroupStore.getCount();
+    }
+
+    @Override
+    public int getCategoryOptionGroupCountByName( String name )
+    {
+        return categoryOptionGroupStore.getCountLikeName( name );
+    }
+
     // -------------------------------------------------------------------------
     // CategoryOptionGroupSet
     // -------------------------------------------------------------------------
@@ -810,27 +859,27 @@
     {
         return categoryOptionGroupSetStore.save( group );
     }
-    
+
     public void updateCategoryOptionGroupSet( CategoryOptionGroupSet group )
     {
         categoryOptionGroupSetStore.update( group );
     }
-    
+
     public CategoryOptionGroupSet getCategoryOptionGroupSet( int id )
     {
         return categoryOptionGroupSetStore.get( id );
     }
-    
+
     public CategoryOptionGroupSet getCategoryOptionGroupSet( String uid )
     {
         return categoryOptionGroupSetStore.getByUid( uid );
     }
-    
+
     public void deleteCategoryOptionGroupSet( CategoryOptionGroupSet group )
     {
         categoryOptionGroupSetStore.delete( group );
     }
-    
+
     public Collection<CategoryOptionGroupSet> getCategoryOptionGroupSetsBetween( int first, int max )
     {
         return categoryOptionGroupSetStore.getAllOrderedName( first, max );
@@ -845,9 +894,28 @@
     {
         return categoryOptionGroupSetStore.getAll();
     }
-    
+
     public Collection<CategoryOptionGroupSet> getDataDimensionCategoryOptionGroupSets()
     {
         return categoryOptionGroupSetStore.getByDataDimension( true );
     }
+
+    @Override
+    public CategoryOptionGroupSet getCategoryOptionGroupSetByName( String name )
+    {
+        return categoryOptionGroupSetStore.getByName( name );
+    }
+
+    @Override
+    public int getCategoryOptionGroupSetCount()
+    {
+        return categoryOptionGroupSetStore.getCount();
+    }
+
+    @Override
+    public int getCategoryOptionGroupSetCountByName( String name )
+    {
+        return categoryOptionGroupSetStore.getCountLikeName( name );
+    }
+
 }

=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/beans.xml'
--- dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/beans.xml	2014-02-13 12:09:31 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/beans.xml	2014-02-13 14:24:59 +0000
@@ -627,16 +627,6 @@
     <property name="i18nService" ref="org.hisp.dhis.i18n.I18nService" />
   </bean>
   
-  <bean id="org.hisp.dhis.dataelement.CategoryOptionGroupService" class="org.hisp.dhis.dataelement.DefaultCategoryOptionGroupService">
-    <property name="categoryOptionGroupStore" ref="org.hisp.dhis.dataelement.CategoryOptionGroupStore" />
-    <property name="i18nService" ref="org.hisp.dhis.i18n.I18nService" />
-  </bean>
-  
-   <bean id="org.hisp.dhis.dataelement.CategoryOptionGroupSetService" class="org.hisp.dhis.dataelement.DefaultCategoryOptionGroupSetService">
-    <property name="categoryOptionGroupSetStore" ref="org.hisp.dhis.dataelement.CategoryOptionGroupSetStore" />
-    <property name="i18nService" ref="org.hisp.dhis.i18n.I18nService" />
-  </bean>
-  
   <bean id="org.hisp.dhis.mapping.MappingService" class="org.hisp.dhis.mapping.DefaultMappingService">
     <property name="mapStore" ref="org.hisp.dhis.mapping.MapStore" />
     <property name="mapViewStore" ref="org.hisp.dhis.mapping.MapViewStore" />
@@ -1149,6 +1139,9 @@
 
   <bean id="org.hisp.dhis.sms.SMSCodesDeletionHandler" class="org.hisp.dhis.sms.SMSCodesDeletionHandler" />
 
+  <bean id="org.hisp.dhis.dataelement.CategoryOptionGroupSetDeletionHandler" class="org.hisp.dhis.dataelement.CategoryOptionGroupSetDeletionHandler">
+  </bean>
+  
   <!-- DeletionManager -->
 
   <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
@@ -1184,6 +1177,7 @@
           <ref local="org.hisp.dhis.user.UserSettingDeletionHandler" />
           <ref local="org.hisp.dhis.dataelement.DataElementCategoryDeletionHandler" />
           <ref local="org.hisp.dhis.dataelement.DataElementGroupSetDeletionHandler" />
+          <ref local="org.hisp.dhis.dataelement.CategoryOptionGroupSetDeletionHandler" />
           <ref local="org.hisp.dhis.configuration.ConfigurationDeletionHandler" />
           <ref local="org.hisp.dhis.message.MessageConversationDeletionHandler" />
           <ref local="org.hisp.dhis.translation.TranslationDeletionHandler" />

=== modified file 'dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/deletion/DeletionHandler.java'
--- dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/deletion/DeletionHandler.java	2014-02-13 09:51:36 +0000
+++ dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/deletion/DeletionHandler.java	2014-02-13 14:24:59 +0000
@@ -36,6 +36,7 @@
 import org.hisp.dhis.constant.Constant;
 import org.hisp.dhis.dashboard.DashboardItem;
 import org.hisp.dhis.datadictionary.DataDictionary;
+import org.hisp.dhis.dataelement.CategoryOptionGroup;
 import org.hisp.dhis.dataelement.DataElement;
 import org.hisp.dhis.dataelement.DataElementCategory;
 import org.hisp.dhis.dataelement.DataElementCategoryCombo;
@@ -724,4 +725,13 @@
     {
         return null;
     }
+    
+    public void deleteCategoryOptionGroup( CategoryOptionGroup categoryOptionGroup )
+    {
+    }
+
+    public String allowCategoryOptionGroup( CategoryOptionGroup categoryOptionGroup )
+    {
+        return null;
+    }
 }

=== modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/commons/action/GetCategoryOptionGroupsAction.java'
--- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/commons/action/GetCategoryOptionGroupsAction.java	2014-02-13 12:09:31 +0000
+++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/commons/action/GetCategoryOptionGroupsAction.java	2014-02-13 14:24:59 +0000
@@ -33,7 +33,7 @@
 
 import org.hisp.dhis.common.comparator.IdentifiableObjectNameComparator;
 import org.hisp.dhis.dataelement.CategoryOptionGroup;
-import org.hisp.dhis.dataelement.CategoryOptionGroupService;
+import org.hisp.dhis.dataelement.DataElementCategoryService;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import com.opensymphony.xwork2.Action;
@@ -47,7 +47,7 @@
     implements Action
 {
     @Autowired
-    private CategoryOptionGroupService categoryOptionGroupService;
+    private DataElementCategoryService dataElementCategoryService;
 
     // -------------------------------------------------------------------------
     // Output
@@ -67,7 +67,7 @@
     public String execute()
     {
         categoryOptionGroups = new ArrayList<CategoryOptionGroup>(
-            categoryOptionGroupService.getAllCategoryOptionGroups() );
+            dataElementCategoryService.getAllCategoryOptionGroups() );
 
         Collections.sort( categoryOptionGroups, IdentifiableObjectNameComparator.INSTANCE );
 

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroup/AddCategoryOptionGroupAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroup/AddCategoryOptionGroupAction.java	2014-02-13 09:51:36 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroup/AddCategoryOptionGroupAction.java	2014-02-13 14:24:59 +0000
@@ -31,7 +31,6 @@
 import java.util.Set;
 
 import org.hisp.dhis.dataelement.CategoryOptionGroup;
-import org.hisp.dhis.dataelement.CategoryOptionGroupService;
 import org.hisp.dhis.dataelement.DataElementCategoryService;
 import org.springframework.beans.factory.annotation.Autowired;
 
@@ -50,9 +49,6 @@
     // -------------------------------------------------------------------------
 
     @Autowired
-    private CategoryOptionGroupService categoryOptionGroupService;
-
-    @Autowired
     private DataElementCategoryService dataElementCategoryService;
 
     // -------------------------------------------------------------------------
@@ -105,7 +101,7 @@
                 .parseInt( id ) ) );
         }
 
-        categoryOptionGroupService.addCategoryOptionGroup( categoryOptionGroup );
+        dataElementCategoryService.saveCategoryOptionGroup( categoryOptionGroup );
 
         return SUCCESS;
     }

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroup/GetCategoryOptionGroupAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroup/GetCategoryOptionGroupAction.java	2014-02-13 09:51:36 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroup/GetCategoryOptionGroupAction.java	2014-02-13 14:24:59 +0000
@@ -28,7 +28,7 @@
 package org.hisp.dhis.dd.action.categoryoptiongroup;
 
 import org.hisp.dhis.dataelement.CategoryOptionGroup;
-import org.hisp.dhis.dataelement.CategoryOptionGroupService;
+import org.hisp.dhis.dataelement.DataElementCategoryService;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import com.opensymphony.xwork2.Action;
@@ -46,7 +46,7 @@
     // -------------------------------------------------------------------------
 
     @Autowired
-    private CategoryOptionGroupService categoryOptionGroupService;
+    private DataElementCategoryService dataElementCategoryService;
 
     // -------------------------------------------------------------------------
     // Input
@@ -74,8 +74,8 @@
     public String execute()
         throws Exception
     {
-        categoryOptionGroup = categoryOptionGroupService.getCategoryOptionGroup( id );
-        
+        categoryOptionGroup = dataElementCategoryService.getCategoryOptionGroup( id );
+
         return SUCCESS;
     }
 

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroup/GetCategoryOptionGroupListAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroup/GetCategoryOptionGroupListAction.java	2014-02-13 12:51:37 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroup/GetCategoryOptionGroupListAction.java	2014-02-13 14:24:59 +0000
@@ -36,7 +36,7 @@
 
 import org.hisp.dhis.common.comparator.IdentifiableObjectNameComparator;
 import org.hisp.dhis.dataelement.CategoryOptionGroup;
-import org.hisp.dhis.dataelement.CategoryOptionGroupService;
+import org.hisp.dhis.dataelement.DataElementCategoryService;
 import org.hisp.dhis.paging.ActionPagingSupport;
 import org.springframework.beans.factory.annotation.Autowired;
 
@@ -53,7 +53,7 @@
     // -------------------------------------------------------------------------
 
     @Autowired
-    private CategoryOptionGroupService categoryOptionGroupService;
+    private DataElementCategoryService dataElementCategoryService;
 
     // -------------------------------------------------------------------------
     // Input
@@ -88,20 +88,20 @@
     {
         if ( isNotBlank( key ) ) // Filter on key only if set
         {
-            this.paging = createPaging( categoryOptionGroupService.getCategoryOptionGroupCountByName( key ) );
-           
-            Collection<CategoryOptionGroup> groups = categoryOptionGroupService.getCategoryOptionGroupsBetweenByName(
-                key, paging.getStartPos(), paging.getPageSize() );
-            
+            this.paging = createPaging( dataElementCategoryService.getCategoryOptionGroupCountByName( key ) );
+
+            Collection<CategoryOptionGroup> groups = dataElementCategoryService.getCategoryOptionGroupsBetweenByName(
+                paging.getStartPos(), paging.getPageSize(), key );
+
             categoryOptionGroups.addAll( groups );
         }
         else
         {
-            this.paging = createPaging( categoryOptionGroupService.getCategoryOptionGroupCount() );
-            
-            Collection<CategoryOptionGroup> groups = categoryOptionGroupService.getCategoryOptionGroupsBetween(
+            this.paging = createPaging( dataElementCategoryService.getCategoryOptionGroupCount() );
+
+            Collection<CategoryOptionGroup> groups = dataElementCategoryService.getCategoryOptionGroupsBetween(
                 paging.getStartPos(), paging.getPageSize() );
-            
+
             categoryOptionGroups.addAll( groups );
         }
 

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroup/RemoveCategoryOptionGroupAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroup/RemoveCategoryOptionGroupAction.java	2014-02-13 09:51:36 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroup/RemoveCategoryOptionGroupAction.java	2014-02-13 14:24:59 +0000
@@ -27,8 +27,10 @@
 
 package org.hisp.dhis.dd.action.categoryoptiongroup;
 
+import org.hisp.dhis.common.DeleteNotAllowedException;
 import org.hisp.dhis.dataelement.CategoryOptionGroup;
-import org.hisp.dhis.dataelement.CategoryOptionGroupService;
+import org.hisp.dhis.dataelement.DataElementCategoryService;
+import org.hisp.dhis.i18n.I18n;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import com.opensymphony.xwork2.Action;
@@ -46,7 +48,18 @@
     // -------------------------------------------------------------------------
 
     @Autowired
-    private CategoryOptionGroupService categoryOptionGroupService;
+    private DataElementCategoryService dataElementCategoryService;
+
+    // -------------------------------------------------------------------------
+    // I18n
+    // -------------------------------------------------------------------------
+
+    private I18n i18n;
+
+    public void setI18n( I18n i18n )
+    {
+        this.i18n = i18n;
+    }
 
     // -------------------------------------------------------------------------
     // Input
@@ -60,6 +73,17 @@
     }
 
     // -------------------------------------------------------------------------
+    // Output
+    // -------------------------------------------------------------------------
+
+    private String message;
+
+    public String getMessage()
+    {
+        return message;
+    }
+
+    // -------------------------------------------------------------------------
     // Action implementation
     // -------------------------------------------------------------------------
 
@@ -67,9 +91,23 @@
     public String execute()
         throws Exception
     {
-        CategoryOptionGroup categoryOptionGroup = categoryOptionGroupService.getCategoryOptionGroup( id );
-
-        categoryOptionGroupService.deleteCategoryOptionGroup( categoryOptionGroup );
+        try
+        {
+            CategoryOptionGroup categoryOptionGroup = dataElementCategoryService.getCategoryOptionGroup( id );
+
+            dataElementCategoryService.deleteCategoryOptionGroup( categoryOptionGroup );
+        }
+        catch ( DeleteNotAllowedException ex )
+        {
+            if ( ex.getErrorCode().equals( DeleteNotAllowedException.ERROR_ASSOCIATED_BY_OTHER_OBJECTS ) )
+            {
+                message = i18n.getString( "object_not_deleted_associated_by_objects" ) + " " + ex.getMessage();
+
+                return ERROR;
+            }
+        }
+
+        message = i18n.getString( "item_deleted_successfully" );
 
         return SUCCESS;
     }

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroup/ShowUpdateCategoryOptionGroupAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroup/ShowUpdateCategoryOptionGroupAction.java	2014-02-13 12:09:31 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroup/ShowUpdateCategoryOptionGroupAction.java	2014-02-13 14:24:59 +0000
@@ -31,7 +31,6 @@
 import java.util.List;
 
 import org.hisp.dhis.dataelement.CategoryOptionGroup;
-import org.hisp.dhis.dataelement.CategoryOptionGroupService;
 import org.hisp.dhis.dataelement.DataElementCategoryOption;
 import org.hisp.dhis.dataelement.DataElementCategoryService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -52,9 +51,6 @@
     // -------------------------------------------------------------------------
 
     @Autowired
-    private CategoryOptionGroupService categoryOptionGroupService;
-
-    @Autowired
     private DataElementCategoryService dataElementCategoryService;
 
     // -------------------------------------------------------------------------
@@ -97,7 +93,7 @@
     public String execute()
         throws Exception
     {
-        categoryOptionGroup = categoryOptionGroupService.getCategoryOptionGroup( id );
+        categoryOptionGroup = dataElementCategoryService.getCategoryOptionGroup( id );
 
         groupMembers = new ArrayList<DataElementCategoryOption>( categoryOptionGroup.getMembers() );
 

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroup/UpdateCategoryOptionGroupAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroup/UpdateCategoryOptionGroupAction.java	2014-02-13 12:09:31 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroup/UpdateCategoryOptionGroupAction.java	2014-02-13 14:24:59 +0000
@@ -31,7 +31,6 @@
 import java.util.Set;
 
 import org.hisp.dhis.dataelement.CategoryOptionGroup;
-import org.hisp.dhis.dataelement.CategoryOptionGroupService;
 import org.hisp.dhis.dataelement.DataElementCategoryService;
 import org.springframework.beans.factory.annotation.Autowired;
 
@@ -50,9 +49,6 @@
     // -------------------------------------------------------------------------
 
     @Autowired
-    private CategoryOptionGroupService categoryOptionGroupService;
-
-    @Autowired
     private DataElementCategoryService dataElementCategoryService;
 
     // -------------------------------------------------------------------------
@@ -102,7 +98,7 @@
     public String execute()
         throws Exception
     {
-        CategoryOptionGroup categoryOptionGroup = categoryOptionGroupService.getCategoryOptionGroup( id );
+        CategoryOptionGroup categoryOptionGroup = dataElementCategoryService.getCategoryOptionGroup( id );
         categoryOptionGroup.setName( name );
         categoryOptionGroup.setShortName( shortName );
         categoryOptionGroup.setCode( code );
@@ -114,7 +110,7 @@
                 .parseInt( id ) ) );
         }
 
-        categoryOptionGroupService.updateCategoryOptionGroup( categoryOptionGroup );
+        dataElementCategoryService.updateCategoryOptionGroup( categoryOptionGroup );
 
         return SUCCESS;
     }

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroup/ValidateCategoryOptionGroupAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroup/ValidateCategoryOptionGroupAction.java	2014-02-13 12:09:31 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroup/ValidateCategoryOptionGroupAction.java	2014-02-13 14:24:59 +0000
@@ -28,7 +28,7 @@
 package org.hisp.dhis.dd.action.categoryoptiongroup;
 
 import org.hisp.dhis.dataelement.CategoryOptionGroup;
-import org.hisp.dhis.dataelement.CategoryOptionGroupService;
+import org.hisp.dhis.dataelement.DataElementCategoryService;
 import org.hisp.dhis.i18n.I18n;
 import org.springframework.beans.factory.annotation.Autowired;
 
@@ -42,13 +42,12 @@
 public class ValidateCategoryOptionGroupAction
     implements Action
 {
-
     // -------------------------------------------------------------------------
     // Dependencies
     // -------------------------------------------------------------------------
 
     @Autowired
-    private CategoryOptionGroupService categoryOptionGroupService;
+    private DataElementCategoryService dataElementCategoryService;
 
     private I18n i18n;
 
@@ -107,7 +106,7 @@
         if ( name != null )
         {
 
-            CategoryOptionGroup match = categoryOptionGroupService.getCategoryOptionGroupByName( name );
+            CategoryOptionGroup match = dataElementCategoryService.getCategoryOptionGroupByName( name );
 
             if ( match != null && (id == null || match.getId() != id.intValue()) )
             {
@@ -120,7 +119,7 @@
 
         if ( shortName != null )
         {
-            CategoryOptionGroup match = categoryOptionGroupService.getCategoryOptionGroupByShortName( shortName );
+            CategoryOptionGroup match = dataElementCategoryService.getCategoryOptionGroupByShortName( shortName );
 
             if ( match != null && (id == null || match.getId() != id) )
             {
@@ -132,7 +131,7 @@
 
         if ( code != null && !code.trim().isEmpty() )
         {
-            CategoryOptionGroup match = categoryOptionGroupService.getCategoryOptionGroupByCode( code );
+            CategoryOptionGroup match = dataElementCategoryService.getCategoryOptionGroupByCode( code );
 
             if ( match != null && (id == null || match.getId() != id) )
             {

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroupset/AddCategoryOptionGroupSetAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroupset/AddCategoryOptionGroupSetAction.java	2014-02-13 12:09:31 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroupset/AddCategoryOptionGroupSetAction.java	2014-02-13 14:24:59 +0000
@@ -30,9 +30,8 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import org.hisp.dhis.dataelement.CategoryOptionGroupService;
 import org.hisp.dhis.dataelement.CategoryOptionGroupSet;
-import org.hisp.dhis.dataelement.CategoryOptionGroupSetService;
+import org.hisp.dhis.dataelement.DataElementCategoryService;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import com.opensymphony.xwork2.Action;
@@ -50,10 +49,7 @@
     // -------------------------------------------------------------------------
 
     @Autowired
-    private CategoryOptionGroupSetService categoryOptionGroupSetService;
-
-    @Autowired
-    private CategoryOptionGroupService categoryOptionGroupService;
+    private DataElementCategoryService dataElementCategoryService;
 
     // -------------------------------------------------------------------------
     // Input
@@ -101,11 +97,11 @@
 
         for ( String id : groupMembers )
         {
-            categoryOptionGroupSet.addCategoryOptionGroup( categoryOptionGroupService.getCategoryOptionGroup( Integer
+            categoryOptionGroupSet.addCategoryOptionGroup( dataElementCategoryService.getCategoryOptionGroup( Integer
                 .parseInt( id ) ) );
         }
 
-        categoryOptionGroupSetService.addCategoryOptionGroupSet( categoryOptionGroupSet );
+        dataElementCategoryService.saveCategoryOptionGroupSet( categoryOptionGroupSet );
 
         return SUCCESS;
     }

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroupset/GetCategoryOptionGroupSetAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroupset/GetCategoryOptionGroupSetAction.java	2014-02-13 12:09:31 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroupset/GetCategoryOptionGroupSetAction.java	2014-02-13 14:24:59 +0000
@@ -28,7 +28,7 @@
 package org.hisp.dhis.dd.action.categoryoptiongroupset;
 
 import org.hisp.dhis.dataelement.CategoryOptionGroupSet;
-import org.hisp.dhis.dataelement.CategoryOptionGroupSetService;
+import org.hisp.dhis.dataelement.DataElementCategoryService;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import com.opensymphony.xwork2.Action;
@@ -46,7 +46,7 @@
     // -------------------------------------------------------------------------
 
     @Autowired
-    private CategoryOptionGroupSetService categoryOptionGroupSetService;
+    private DataElementCategoryService dataElementCategoryService;
 
     // -------------------------------------------------------------------------
     // Input
@@ -74,8 +74,8 @@
     public String execute()
         throws Exception
     {
-        categoryOptionGroupSet = categoryOptionGroupSetService.getCategoryOptionGroupSet( id );
-        
+        categoryOptionGroupSet = dataElementCategoryService.getCategoryOptionGroupSet( id );
+
         return SUCCESS;
     }
 

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroupset/GetCategoryOptionGroupSetListAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroupset/GetCategoryOptionGroupSetListAction.java	2014-02-13 12:09:31 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroupset/GetCategoryOptionGroupSetListAction.java	2014-02-13 14:24:59 +0000
@@ -35,14 +35,15 @@
 
 import org.hisp.dhis.common.comparator.IdentifiableObjectNameComparator;
 import org.hisp.dhis.dataelement.CategoryOptionGroupSet;
-import org.hisp.dhis.dataelement.CategoryOptionGroupSetService;
+import org.hisp.dhis.dataelement.DataElementCategoryService;
 import org.hisp.dhis.paging.ActionPagingSupport;
 import org.springframework.beans.factory.annotation.Autowired;
 
 /**
  * @author Chau Thu Tran
  * 
- * @version $ GetCategoryOptionGroupSetListAction.java Feb 12, 2014 11:27:01 PM $
+ * @version $ GetCategoryOptionGroupSetListAction.java Feb 12, 2014 11:27:01 PM
+ *          $
  */
 public class GetCategoryOptionGroupSetListAction
     extends ActionPagingSupport<CategoryOptionGroupSet>
@@ -52,7 +53,7 @@
     // -------------------------------------------------------------------------
 
     @Autowired
-    private CategoryOptionGroupSetService categoryOptionGroupSetService;
+    private DataElementCategoryService dataElementCategoryService;
 
     // -------------------------------------------------------------------------
     // Input
@@ -87,19 +88,20 @@
     {
         if ( isNotBlank( key ) ) // Filter on key only if set
         {
-            this.paging = createPaging( categoryOptionGroupSetService.getCategoryOptionGroupSetCountByName( key ) );
-
-            categoryOptionGroupSets = new ArrayList<CategoryOptionGroupSet>(
-                categoryOptionGroupSetService.getCategoryOptionGroupSetsBetweenByName( key, paging.getStartPos(),
+            this.paging = createPaging( dataElementCategoryService.getCategoryOptionGroupSetCountByName( key ) );
+
+            categoryOptionGroupSets = new ArrayList<CategoryOptionGroupSet>(
+                dataElementCategoryService.getCategoryOptionGroupSetsBetweenByName( paging.getStartPos(),
+                    paging.getPageSize(), key ) );
+        }
+        else
+        {
+            this.paging = createPaging( dataElementCategoryService.getCategoryOptionGroupSetCount() );
+
+            categoryOptionGroupSets = new ArrayList<CategoryOptionGroupSet>(
+                dataElementCategoryService.getCategoryOptionGroupSetsBetween( paging.getStartPos(),
                     paging.getPageSize() ) );
         }
-        else
-        {
-            this.paging = createPaging( categoryOptionGroupSetService.getCategoryOptionGroupSetCount() );
-
-            categoryOptionGroupSets = new ArrayList<CategoryOptionGroupSet>( categoryOptionGroupSetService.getCategoryOptionGroupSetsBetween(
-                paging.getStartPos(), paging.getPageSize() ) );
-        }
 
         Collections.sort( categoryOptionGroupSets, IdentifiableObjectNameComparator.INSTANCE );
 

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroupset/RemoveCategoryOptionGroupSetAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroupset/RemoveCategoryOptionGroupSetAction.java	2014-02-13 12:09:31 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroupset/RemoveCategoryOptionGroupSetAction.java	2014-02-13 14:24:59 +0000
@@ -28,7 +28,7 @@
 package org.hisp.dhis.dd.action.categoryoptiongroupset;
 
 import org.hisp.dhis.dataelement.CategoryOptionGroupSet;
-import org.hisp.dhis.dataelement.CategoryOptionGroupSetService;
+import org.hisp.dhis.dataelement.DataElementCategoryService;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import com.opensymphony.xwork2.Action;
@@ -44,9 +44,9 @@
     // -------------------------------------------------------------------------
     // Dependencies
     // -------------------------------------------------------------------------
-
+    
     @Autowired
-    private CategoryOptionGroupSetService categoryOptionGroupSetService;
+    private DataElementCategoryService dataElementCategoryService;
 
     // -------------------------------------------------------------------------
     // Input
@@ -67,9 +67,9 @@
     public String execute()
         throws Exception
     {
-        CategoryOptionGroupSet categoryOptionGroupSet = categoryOptionGroupSetService.getCategoryOptionGroupSet( id );
+        CategoryOptionGroupSet categoryOptionGroupSet = dataElementCategoryService.getCategoryOptionGroupSet( id );
 
-        categoryOptionGroupSetService.deleteCategoryOptionGroupSet( categoryOptionGroupSet );
+        dataElementCategoryService.deleteCategoryOptionGroupSet( categoryOptionGroupSet );
 
         return SUCCESS;
     }

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroupset/ShowAddCategoryOptionGroupSetAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroupset/ShowAddCategoryOptionGroupSetAction.java	2014-02-13 12:09:31 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroupset/ShowAddCategoryOptionGroupSetAction.java	2014-02-13 14:24:59 +0000
@@ -31,7 +31,7 @@
 import java.util.List;
 
 import org.hisp.dhis.dataelement.CategoryOptionGroup;
-import org.hisp.dhis.dataelement.CategoryOptionGroupService;
+import org.hisp.dhis.dataelement.DataElementCategoryService;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import com.opensymphony.xwork2.Action;
@@ -50,7 +50,7 @@
     // -------------------------------------------------------------------------
 
     @Autowired
-    private CategoryOptionGroupService categoryOptionGroupService;
+    private DataElementCategoryService dataElementCategoryService;
 
     // -------------------------------------------------------------------------
     // Input
@@ -72,7 +72,7 @@
         throws Exception
     {
         categoryOptionGroups = new ArrayList<CategoryOptionGroup>(
-            categoryOptionGroupService.getAllCategoryOptionGroups() );
+            dataElementCategoryService.getAllCategoryOptionGroups() );
 
         return SUCCESS;
     }

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroupset/ShowUpdateCategoryOptionGroupSetAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroupset/ShowUpdateCategoryOptionGroupSetAction.java	2014-02-13 12:09:31 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroupset/ShowUpdateCategoryOptionGroupSetAction.java	2014-02-13 14:24:59 +0000
@@ -31,9 +31,8 @@
 import java.util.List;
 
 import org.hisp.dhis.dataelement.CategoryOptionGroup;
-import org.hisp.dhis.dataelement.CategoryOptionGroupService;
 import org.hisp.dhis.dataelement.CategoryOptionGroupSet;
-import org.hisp.dhis.dataelement.CategoryOptionGroupSetService;
+import org.hisp.dhis.dataelement.DataElementCategoryService;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import com.opensymphony.xwork2.Action;
@@ -50,12 +49,9 @@
     // -------------------------------------------------------------------------
     // Dependencies
     // -------------------------------------------------------------------------
-   
-    @Autowired
-    private CategoryOptionGroupSetService categoryOptionGroupSetService;
 
     @Autowired
-    private CategoryOptionGroupService categoryOptionGroupService;
+    private DataElementCategoryService dataElementCategoryService;
 
     // -------------------------------------------------------------------------
     // Input && Output
@@ -93,17 +89,16 @@
     // Action implementation
     // -------------------------------------------------------------------------
 
-
     @Override
     public String execute()
         throws Exception
     {
-        categoryOptionGroupSet = categoryOptionGroupSetService.getCategoryOptionGroupSet( id );
+        categoryOptionGroupSet = dataElementCategoryService.getCategoryOptionGroupSet( id );
 
         groupMembers = new ArrayList<CategoryOptionGroup>( categoryOptionGroupSet.getMembers() );
 
         categoryOptionGroups = new ArrayList<CategoryOptionGroup>(
-            categoryOptionGroupService.getAllCategoryOptionGroups());
+            dataElementCategoryService.getAllCategoryOptionGroups() );
 
         return SUCCESS;
     }

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroupset/UpdateCategoryOptionGroupSetAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroupset/UpdateCategoryOptionGroupSetAction.java	2014-02-13 12:51:37 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroupset/UpdateCategoryOptionGroupSetAction.java	2014-02-13 14:24:59 +0000
@@ -30,9 +30,8 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import org.hisp.dhis.dataelement.CategoryOptionGroupService;
 import org.hisp.dhis.dataelement.CategoryOptionGroupSet;
-import org.hisp.dhis.dataelement.CategoryOptionGroupSetService;
+import org.hisp.dhis.dataelement.DataElementCategoryService;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import com.opensymphony.xwork2.Action;
@@ -50,10 +49,7 @@
     // -------------------------------------------------------------------------
 
     @Autowired
-    private CategoryOptionGroupSetService categoryOptionGroupSetService;
-
-    @Autowired
-    private CategoryOptionGroupService categoryOptionGroupService;
+    private DataElementCategoryService dataElementCategoryService;
 
     // -------------------------------------------------------------------------
     // Input
@@ -102,7 +98,7 @@
     public String execute()
         throws Exception
     {
-        CategoryOptionGroupSet categoryOptionGroupSet = categoryOptionGroupSetService.getCategoryOptionGroupSet( id );
+        CategoryOptionGroupSet categoryOptionGroupSet = dataElementCategoryService.getCategoryOptionGroupSet( id );
         categoryOptionGroupSet.setName( name );
         categoryOptionGroupSet.setDescription( description );
         categoryOptionGroupSet.setDataDimension( dataDimension );
@@ -110,11 +106,11 @@
         categoryOptionGroupSet.getMembers().clear();
         for ( String id : groupMembers )
         {
-            categoryOptionGroupSet.addCategoryOptionGroup( categoryOptionGroupService.getCategoryOptionGroup( Integer
+            categoryOptionGroupSet.addCategoryOptionGroup( dataElementCategoryService.getCategoryOptionGroup( Integer
                 .parseInt( id ) ) );
         }
 
-        categoryOptionGroupSetService.updateCategoryOptionGroupSet( categoryOptionGroupSet );
+        dataElementCategoryService.updateCategoryOptionGroupSet( categoryOptionGroupSet );
 
         return SUCCESS;
     }

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroupset/ValidateCategoryOptionGroupSetAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroupset/ValidateCategoryOptionGroupSetAction.java	2014-02-13 12:09:31 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/categoryoptiongroupset/ValidateCategoryOptionGroupSetAction.java	2014-02-13 14:24:59 +0000
@@ -28,7 +28,7 @@
 package org.hisp.dhis.dd.action.categoryoptiongroupset;
 
 import org.hisp.dhis.dataelement.CategoryOptionGroup;
-import org.hisp.dhis.dataelement.CategoryOptionGroupService;
+import org.hisp.dhis.dataelement.DataElementCategoryService;
 import org.hisp.dhis.i18n.I18n;
 import org.springframework.beans.factory.annotation.Autowired;
 
@@ -48,7 +48,11 @@
     // -------------------------------------------------------------------------
 
     @Autowired
-    private CategoryOptionGroupService categoryOptionGroupService;
+    private DataElementCategoryService dataElementCategoryService;
+
+    // -------------------------------------------------------------------------
+    // Input
+    // -------------------------------------------------------------------------
 
     private I18n i18n;
 
@@ -57,10 +61,6 @@
         this.i18n = i18n;
     }
 
-    // -------------------------------------------------------------------------
-    // Input
-    // -------------------------------------------------------------------------
-
     private Integer id;
 
     public void setId( Integer id )
@@ -90,7 +90,7 @@
     public String execute()
         throws Exception
     {
-        CategoryOptionGroup match = categoryOptionGroupService.getCategoryOptionGroupByName( name );
+        CategoryOptionGroup match = dataElementCategoryService.getCategoryOptionGroupByName( name );
 
         if ( match != null && (id == null || match.getId() != id.intValue()) )
         {

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/resources/org/hisp/dhis/dd/i18n_module.properties'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/resources/org/hisp/dhis/dd/i18n_module.properties	2014-02-13 12:09:31 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/resources/org/hisp/dhis/dd/i18n_module.properties	2014-02-13 14:24:59 +0000
@@ -227,4 +227,4 @@
 create_new_category_option_group_set = Create new catergory option group set
 edit_category_option_group_set = Edit catergory option group set
 available_category_option_groups = Available category option groups
-confirm_delete_catergory_option_group_set = Are you sure you want to delete this catergory option group set?
\ No newline at end of file
+confirm_delete_category_option_group_set = Are you sure you want to delete this catergory option group set?
\ No newline at end of file

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/resources/struts.xml'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/resources/struts.xml	2014-02-13 12:09:31 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/resources/struts.xml	2014-02-13 14:24:59 +0000
@@ -692,7 +692,7 @@
 	<action name="getCategoryOptionGroup"
 		class="org.hisp.dhis.dd.action.categoryoptiongroup.GetCategoryOptionGroupAction">
 		<result name="success" type="velocity-json">
-			/dhis-web-commons/ajax/jsonCategoryOptionGroupSet.vm
+			/dhis-web-commons/ajax/jsonCategoryOptionGroup.vm
 		</result>
 		<param name="onExceptionReturn">plainTextError</param>
 	</action>
@@ -715,7 +715,7 @@
 	<action name="showAddCategoryOptionGroupForm" class="org.hisp.dhis.dd.action.categoryoptiongroup.ShowAddCategoryOptionGroupAction">
 		<result name="success" type="velocity">/main.vm</result>
 		<param name="page">/dhis-web-maintenance-datadictionary/addCategoryOptionGroupForm.vm</param>
-		<param name="javascripts">javascript/categoryOptionGroupSet.js</param>
+		<param name="javascripts">javascript/categoryOptionGroup.js</param>
 		<param name="stylesheets">style/basic.css</param>
 		<param name="requiredAuthorities">F_CATEGORY_OPTION_GROUP_ADD</param>
 	</action>
@@ -724,7 +724,7 @@
 		class="org.hisp.dhis.dd.action.categoryoptiongroup.ShowUpdateCategoryOptionGroupAction">
 		<result name="success" type="velocity">/main.vm</result>
 		<param name="page">/dhis-web-maintenance-datadictionary/updateCategoryOptionGroupForm.vm</param>
-		<param name="javascripts">javascript/categoryOptionGroupSet.js</param>
+		<param name="javascripts">javascript/categoryOptionGroup.js</param>
 		<param name="stylesheets">style/basic.css</param>
 		<param name="requiredAuthorities">F_CATEGORY_OPTION_GROUP_ADD</param>
 	</action>
@@ -750,7 +750,7 @@
 		<param name="onExceptionReturn">plainTextError</param>
 	</action>
 	
-	 <!-- CategoryOptionGroupSet -->
+	<!-- CategoryOptionGroupSet -->
     
     <action name="categoryOptionGroupSet"
 		class="org.hisp.dhis.dd.action.categoryoptiongroupset.GetCategoryOptionGroupSetListAction">