web api: unused classes removed, cosmetic refactoring
authorVictor Kirhenshtein <victor@netxms.org>
Sat, 18 Mar 2017 08:49:53 +0000 (10:49 +0200)
committerVictor Kirhenshtein <victor@netxms.org>
Sat, 18 Mar 2017 08:49:53 +0000 (10:49 +0200)
doc/manuals/netxms_webapi_reference.odt [deleted file]
src/server/nxapisrv/java/src/main/java/org/netxms/websvc/WebSvcApplication.java
src/server/nxapisrv/java/src/main/java/org/netxms/websvc/handlers/AbstractHandler.java
src/server/nxapisrv/java/src/main/java/org/netxms/websvc/handlers/AlarmsGrafana.java [deleted file]
src/server/nxapisrv/java/src/main/java/org/netxms/websvc/handlers/DataCollectionGrafana.java [deleted file]
src/server/nxapisrv/java/src/main/java/org/netxms/websvc/handlers/GrafanaAlarms.java
src/server/nxapisrv/java/src/main/java/org/netxms/websvc/handlers/GrafanaDataCollection.java

diff --git a/doc/manuals/netxms_webapi_reference.odt b/doc/manuals/netxms_webapi_reference.odt
deleted file mode 100644 (file)
index 6a4bbb2..0000000
Binary files a/doc/manuals/netxms_webapi_reference.odt and /dev/null differ
index e3eb817..54bd84e 100644 (file)
@@ -65,9 +65,9 @@ public class WebSvcApplication extends Application
       router.attach("/alarms", Alarms.class);
       router.attach("/alarms/{id}", Alarms.class);
       router.attach("/grafana/alarms", GrafanaAlarms.class);
+      router.attach("/grafana/datacollection", GrafanaDataCollection.class);
       router.attach("/objects", Objects.class);
       router.attach("/objects/{id}", Objects.class);
-      router.attach("/grafana/datacollection", GrafanaDataCollection.class);
       router.attach("/sessions", Sessions.class);
       router.attach("/sessions/{id}", Sessions.class);
       return router;
index 7936296..aa97084 100644 (file)
@@ -49,7 +49,7 @@ import com.google.gson.JsonObject;
  */
 public abstract class AbstractHandler extends ServerResource
 {
-   protected Logger log = LoggerFactory.getLogger(AbstractHandler.class);
+   private Logger log = LoggerFactory.getLogger(AbstractHandler.class);
    private SessionToken sessionToken = null;
    private NXCSession session = null;
    
diff --git a/src/server/nxapisrv/java/src/main/java/org/netxms/websvc/handlers/AlarmsGrafana.java b/src/server/nxapisrv/java/src/main/java/org/netxms/websvc/handlers/AlarmsGrafana.java
deleted file mode 100644 (file)
index 9a81fb8..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-/**
- * NetXMS - open source network management system
- * Copyright (C) 2003-2017 Raden Solutions
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-package org.netxms.websvc.handlers;
-
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.Map;
-import org.json.JSONException;
-import org.netxms.client.events.Alarm;
-import org.netxms.client.objects.AbstractObject;
-import org.netxms.client.users.AbstractUserObject;
-import com.google.gson.JsonArray;
-import com.google.gson.JsonObject;
-
-public class AlarmsGrafana extends AbstractHandler
-{
-   private String[] states = { "Outstanding", "Acknowledged", "Resolved", "Terminated" };
-   
-   /* (non-Javadoc)
-    * @see org.netxms.websvc.handlers.AbstractHandler#getCollection(java.util.Map)
-    */
-   @Override
-   public Object getCollection(Map<String, String> query) throws Exception
-   {      
-      JsonObject root = new JsonObject();
-
-      JsonArray columns = new JsonArray();
-      columns.add(createColumn("Severity", true, true));
-      columns.add(createColumn("State", true, false));
-      columns.add(createColumn("Source", true, false));
-      columns.add(createColumn("Message", true, false));
-      columns.add(createColumn("Count", true, false));
-      columns.add(createColumn("Helpdesk ID", true, false));
-      columns.add(createColumn("Ack/Resolved By", true, false));
-      columns.add(createColumn("Created", true, false));
-      columns.add(createColumn("Last Change", true, false));
-      root.add("columns", columns);
-      
-      JsonArray rows = new JsonArray();
-      
-      JsonArray r = new JsonArray();
-      DateFormat df = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
-      AbstractObject object = null;
-      AbstractUserObject user = null;
-      
-      Map<Long, Alarm> alarms = getSession().getAlarms();
-      for( Alarm a : alarms.values())
-      {
-         r.add(a.getCurrentSeverity().name());
-         r.add(states[a.getState()]);
-         
-         object = getSession().findObjectById(a.getSourceObjectId());
-         if (object == null)
-            r.add(a.getSourceObjectId());
-         else
-            r.add(object.getObjectName());
-         
-         r.add(a.getMessage());
-         r.add(a.getRepeatCount());
-         r.add(a.getHelpdeskReference());
-         
-         user = getSession().findUserDBObjectById(a.getAckByUser());
-         if (user == null)
-            r.add("");
-         else
-            r.add(user.getName());
-         
-         r.add(df.format(a.getCreationTime()));
-         r.add(df.format(a.getLastChangeTime()));
-         rows.add(r);
-         r = new JsonArray();
-      }
-      
-      root.add("rows", rows);
-      
-      root.addProperty("type", "table");
-
-      JsonArray wrapper = new JsonArray();
-      wrapper.add(root);
-      return wrapper;
-   }
-   
-   /**
-    * @param name
-    * @param sort
-    * @param desc
-    * @return
-    * @throws JSONException
-    */
-   private static JsonObject createColumn(String name, boolean sort, boolean desc) throws JSONException
-   {
-      JsonObject column = new JsonObject();
-      column.addProperty("text", name);
-      column.addProperty("sort", sort);
-      column.addProperty("sort", desc);
-      return column;
-   }
-}
diff --git a/src/server/nxapisrv/java/src/main/java/org/netxms/websvc/handlers/DataCollectionGrafana.java b/src/server/nxapisrv/java/src/main/java/org/netxms/websvc/handlers/DataCollectionGrafana.java
deleted file mode 100644 (file)
index 0bd7666..0000000
+++ /dev/null
@@ -1,175 +0,0 @@
-/**
- * NetXMS - open source network management system
- * Copyright (C) 2003-2017 Raden Solutions
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-package org.netxms.websvc.handlers;
-
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.json.JSONArray;
-import org.json.JSONTokener;
-import org.netxms.client.datacollection.DciData;
-import org.netxms.client.datacollection.DciDataRow;
-import org.netxms.client.datacollection.DciValue;
-import org.netxms.client.objects.AbstractObject;
-import org.netxms.client.objects.DataCollectionTarget;
-import org.netxms.client.objects.Node;
-import com.google.gson.JsonArray;
-import com.google.gson.JsonObject;
-
-public class DataCollectionGrafana extends AbstractHandler
-{
-   private List<AbstractObject> objects;
-   
-   /* (non-Javadoc)
-    * @see org.netxms.websvc.handlers.AbstractHandler#getCollection(java.util.Map)
-    */
-   @Override
-   protected Object getCollection(Map<String, String> query) throws Exception
-   {
-      if (!getSession().isObjectsSynchronized())
-         getSession().syncObjects();
-
-      objects = getSession().getAllObjects();
-      
-      if (query.containsKey("targets"))
-      {
-         return getGraphData(query);
-      }
-      else if (query.containsKey("node"))
-      {
-         return getDciList(query.get("node"));
-      }
-      
-      return getNodeList();     
-   }
-   
-   /**
-    * Get query data
-    * 
-    * @param query
-    * @return data
-    * @throws Exception
-    */
-   private JsonArray getGraphData(Map<String, String> query) throws Exception
-   {
-      JSONTokener tokener = new JSONTokener(query.get("targets"));
-      JSONArray targets = new JSONArray(tokener);
-      
-      DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX");
-      Date from = format.parse(query.get("from").substring(1, query.get("from").length()-1));
-      Date to = format.parse(query.get("to").substring(1, query.get("to").length()-1));
-      
-      JsonObject root;
-      JsonArray result = new JsonArray();
-      for(int i = 0; i < targets.length(); i++)
-      {
-         long nodeId = findNodeByName(targets.getJSONObject(i).getString("node"));
-         DciData data = getSession().getCollectedData(nodeId, findDciByDescription(targets.getJSONObject(i).getString("dci"), nodeId), from, to, 0);
-         root = new JsonObject();
-         JsonArray datapoints = new JsonArray();
-         JsonArray datapoint;         
-         for(DciDataRow r : data.getValues())
-         {
-            datapoint = new JsonArray();
-            datapoint.add(r.getValueAsLong());
-            datapoint.add(r.getTimestamp().getTime());
-            datapoints.add(datapoint);
-         }
-         root.addProperty("target", targets.getJSONObject(i).getString("dci"));
-         root.add("datapoints", datapoints);
-         result.add(root);
-      }
-      return result;
-   }
-   
-   /**
-    * Get list of nodes
-    * 
-    * @return
-    */
-   private Map<Long, String> getNodeList()
-   {
-      Map<Long, String> result = new HashMap<Long, String>();
-      for(AbstractObject o : objects)
-      {
-         if (o instanceof DataCollectionTarget)
-            result.put(o.getObjectId(), o.getObjectName());
-      }
-      return result;
-   }
-   
-   /**
-    * Get list of dci`s for a node
-    * 
-    * @param node
-    * @return dci list
-    */
-   private Map<Long, String> getDciList(String node) throws Exception
-   {
-      Map<Long, String> result = new HashMap<Long, String>();
-      for(AbstractObject o : objects)
-      {
-         if (o.getObjectName().equals(node))
-         {
-            DciValue[] values = getSession().getLastValues(o.getObjectId());
-            for(DciValue v : values)
-            {
-               result.put(v.getId(), v.getDescription());
-            };
-         }
-      }
-      return result;
-   }
-   
-   /**
-    * Find node ID by object name
-    * 
-    * @param name
-    * @return node ID
-    */
-   private long findNodeByName(String name)
-   {
-      for(AbstractObject o : objects)
-      {
-         if (o instanceof Node && o.getObjectName().equals(name))
-            return o.getObjectId();
-      }      
-      return 0;
-   }
-   
-   /**
-    * Find DCI ID by name
-    * 
-    * @param name
-    * @return DCI ID
-    */
-   private long findDciByDescription(String name, long nodeId) throws Exception
-   {
-      DciValue[] values = getSession().getLastValues(nodeId);
-      for(DciValue v : values)
-      {
-         if (v.getDescription().equals(name))
-            return v.getId();
-      }
-      return 0;
-   }
-}
index 9c7356c..e71164c 100644 (file)
@@ -31,7 +31,7 @@ import com.google.gson.JsonObject;
 
 public class GrafanaAlarms extends AbstractHandler
 {
-   private String[] states = { "Outstanding", "Acknowledged", "Resolved", "Terminated" };
+   private static final String[] STATES = { "Outstanding", "Acknowledged", "Resolved", "Terminated" };
    
    /* (non-Javadoc)
     * @see org.netxms.websvc.handlers.AbstractHandler#getCollection(java.util.Map)
@@ -72,7 +72,7 @@ public class GrafanaAlarms extends AbstractHandler
       for( Alarm a : alarms.values())
       {
          r.add(a.getCurrentSeverity().name());
-         r.add(states[a.getState()]);
+         r.add(STATES[a.getState()]);
          
          object = getSession().findObjectById(a.getSourceObjectId());
          if (object == null)
@@ -120,4 +120,4 @@ public class GrafanaAlarms extends AbstractHandler
       column.addProperty("sort", desc);
       return column;
    }
-}
\ No newline at end of file
+}
index c8472d7..d960dcb 100644 (file)
@@ -39,6 +39,9 @@ public class GrafanaDataCollection extends AbstractHandler
 {
    private List<AbstractObject> objects;
    
+   /* (non-Javadoc)
+    * @see org.netxms.websvc.handlers.AbstractHandler#getCollection(java.util.Map)
+    */
    @Override
    protected Object getCollection(Map<String, String> query) throws Exception
    {