Sfoglia il codice sorgente

Unit Types service

Added service for Unit Types coded values list
Small fix of comments
mkepka 3 anni fa
parent
commit
67119e70a2

+ 23 - 0
src/main/java/cz/hsrs/db/util/UnitUtil.java

@@ -17,6 +17,8 @@ import cz.hsrs.db.model.composite.LastPosition;
 import cz.hsrs.db.model.custom.DBItemInfo;
 import cz.hsrs.db.pool.SQLExecutor;
 import cz.hsrs.db.util.factory.UnitPositionFactory;
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
 
 /**
  * @author jezekjan
@@ -399,4 +401,25 @@ public class UnitUtil extends DBUtil {
             throw new SQLException("An Exception occurs when executing SQL command!");
         }
     }
+    
+    /**
+     * Function provides list of available unit types as JSON
+     * @return List of unit types as JSON
+     * @throws SQLException
+     */
+    public static String getUnitTypes() throws SQLException {
+    	String query = "SELECT unit_type_id, type_name, description FROM public.unit_types;";
+    	ResultSet res = SQLExecutor.getInstance().executeQuery(query);
+    	JSONArray uTypes = new JSONArray();
+    	if (res != null){
+        	while (res.next()) {
+        		JSONObject uType = new JSONObject();
+        		uType.element("type_id", res.getString("unit_type_id"));
+        		uType.element("type_name", res.getString("type_name"));
+        		uType.element("description", res.getString("description"));
+        		uTypes.add(uType);
+        	}
+    	}
+    	return uTypes.toString();
+    }
 }

+ 3 - 3
src/main/java/cz/hsrs/db/util/UserUtil.java

@@ -467,9 +467,9 @@ public class UserUtil extends GroupUtil {
     }
     
     /**
-     * 
-     * @param userName
-     * @return
+     * Function provides list of Units in the group of given user in GeoJSON FeatureCollection
+     * @param userName - name of user to select the unit group
+     * @return GeoJSON file as String
      * @throws SQLException
      */
     public static String getUnitsGeoJson(String userName) throws SQLException {

+ 7 - 0
src/main/java/cz/hsrs/servlet/provider/DataService.java

@@ -17,6 +17,7 @@ import cz.hsrs.db.model.UnitTrack;
 import cz.hsrs.db.model.composite.LastPosition;
 import cz.hsrs.db.model.composite.RealUnit;
 import cz.hsrs.db.model.custom.UnitPositionSimple;
+import cz.hsrs.db.util.UnitUtil;
 import cz.hsrs.db.util.UserUtil;
 import cz.hsrs.db.util.UtilFactory;
 import cz.hsrs.servlet.feeder.ServiceParameters;
@@ -28,6 +29,8 @@ import cz.hsrs.servlet.security.LoginUser;
  * /DataService?Operation=GetDataByUserName&user=pepa&limit=100
  * /DataService?Operation=GetUnitsList
  * /DataService?Operation=GetUnits
+ * /DataService?Operation=GetUnitsGeoJson
+ * /DataService?Operation=GetUnitTypes
  */
 public class DataService extends DBServlet {
 
@@ -45,6 +48,7 @@ public class DataService extends DBServlet {
     public static final String GET_POSITIONS_RANGE = "GetPositionsDay";
     public static final String GET_UNITS_LIST = "GetUnitsList";
     public static final String GET_UNITS_GEOJSON = "GetUnitsGeoJson";
+    public static final String GET_UNIT_TYPES = "GetUnitTypes";
     
     private UtilFactory db;
 
@@ -138,6 +142,9 @@ public class DataService extends DBServlet {
                 	out.write(UserUtil.getUnitsGeoJson(params.getUser()));
                 	//DBJsonUtils.writeJSON(out, UserUtil.getUnitsGeoJson(params.getUser()));
                 } break;
+                case GET_UNIT_TYPES:{
+                	out.write(UnitUtil.getUnitTypes());
+                } break;
                 default:
                     throw new NullPointerException("No operation specified.");
             }