dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #34363
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 17636: include special filtering for /api/dimensions/id/items?filter=name:like:XXX
------------------------------------------------------------
revno: 17636
committer: Morten Olav Hansen <mortenoh@xxxxxxxxx>
branch nick: dhis2
timestamp: Tue 2014-12-02 13:11:18 +0700
message:
include special filtering for /api/dimensions/id/items?filter=name:like:XXX
modified:
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/DimensionController.java
--
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-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/DimensionController.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/DimensionController.java 2014-12-01 05:43:13 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/DimensionController.java 2014-12-02 06:11:18 +0000
@@ -28,8 +28,6 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-import com.google.common.base.Enums;
-import com.google.common.base.Optional;
import com.google.common.collect.Lists;
import org.hisp.dhis.common.DimensionService;
import org.hisp.dhis.common.DimensionalObject;
@@ -39,7 +37,6 @@
import org.hisp.dhis.common.PagerUtils;
import org.hisp.dhis.common.comparator.IdentifiableObjectNameComparator;
import org.hisp.dhis.dataset.DataSet;
-import org.hisp.dhis.node.config.InclusionStrategy;
import org.hisp.dhis.webapi.utils.ContextUtils;
import org.hisp.dhis.webapi.webdomain.WebMetaData;
import org.hisp.dhis.webapi.webdomain.WebOptions;
@@ -55,6 +52,7 @@
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.Collections;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -97,6 +95,28 @@
WebOptions options = new WebOptions( parameters );
List<NameableObject> items = dimensionService.getCanReadDimensionItems( uid );
+ if ( parameters.containsKey( "filter" ) )
+ {
+ String filter = parameters.get( "filter" );
+
+ if ( filter.startsWith( "name:like:" ) )
+ {
+ filter = filter.substring( "name:like:".length() );
+
+ Iterator<NameableObject> iterator = items.iterator();
+
+ while ( iterator.hasNext() )
+ {
+ NameableObject nameableObject = iterator.next();
+
+ if ( !nameableObject.getName().toLowerCase().contains( filter.toLowerCase() ) )
+ {
+ iterator.remove();
+ }
+ }
+ }
+ }
+
WebMetaData metaData = new WebMetaData();
Collections.sort( items, IdentifiableObjectNameComparator.INSTANCE );