Removing clumsy code smells and adding missing JettyFilter test
[dmaap/datarouter.git] / datarouter-prov / src / main / java / org / onap / dmaap / datarouter / provisioning / beans / PublishRecord.java
index e7575ff..72ad8af 100644 (file)
@@ -30,6 +30,7 @@ import java.sql.Types;
 import java.text.ParseException;\r
 import java.util.LinkedHashMap;\r
 \r
+import org.apache.commons.lang3.StringUtils;\r
 import org.onap.dmaap.datarouter.provisioning.utils.LOGJSONObject;\r
 \r
 \r
@@ -44,14 +45,10 @@ public class PublishRecord extends BaseLogRecord {
     private String remoteAddr;\r
     private String user;\r
     private int status;\r
+    private String fileName;\r
 \r
     public PublishRecord(String[] pp) throws ParseException {\r
         super(pp);\r
-//        This is too slow!\r
-//        Matcher m = Pattern.compile(".*/publish/(\\d+)/(.*)$").matcher(pp[4]);\r
-//        if (!m.matches())\r
-//            throw new ParseException("bad pattern", 0);\r
-//        this.feedFileid = m.group(2);\r
         int ix = pp[4].indexOf("/publish/");\r
         if (ix < 0)\r
             throw new ParseException("bad pattern", 0);\r
@@ -62,6 +59,7 @@ public class PublishRecord extends BaseLogRecord {
         this.remoteAddr = pp[8];\r
         this.user = pp[9];\r
         this.status = Integer.parseInt(pp[10]);\r
+        this.fileName = StringUtils.substringAfterLast(this.getRequestUri(), "/");\r
     }\r
 \r
     public PublishRecord(ResultSet rs) throws SQLException {\r
@@ -70,6 +68,7 @@ public class PublishRecord extends BaseLogRecord {
         this.remoteAddr = rs.getString("REMOTE_ADDR");\r
         this.user = rs.getString("USER");\r
         this.status = rs.getInt("STATUS");\r
+        this.fileName = rs.getString("FILENAME");\r
     }\r
 \r
     public String getFeedFileid() {\r
@@ -104,9 +103,13 @@ public class PublishRecord extends BaseLogRecord {
         this.status = status;\r
     }\r
 \r
+    public String getFileName() { return fileName;}\r
+\r
+    public void setFileName(String fileName) { this.fileName = fileName; }\r
+\r
 \r
     public LOGJSONObject reOrderObject(LOGJSONObject jo) {\r
-        LinkedHashMap<String, Object> logrecordObj = new LinkedHashMap<String, Object>();\r
+        LinkedHashMap<String, Object> logrecordObj = new LinkedHashMap<>();\r
 \r
 \r
         logrecordObj.put("statusCode", jo.get("statusCode"));\r
@@ -119,25 +122,24 @@ public class PublishRecord extends BaseLogRecord {
         logrecordObj.put("type", jo.get("type"));\r
         logrecordObj.put("date", jo.get("date"));\r
         logrecordObj.put("contentLength", jo.get("contentLength"));\r
+        logrecordObj.put("fileName", jo.get("fileName"));\r
 \r
-        LOGJSONObject newjo = new LOGJSONObject(logrecordObj);\r
-        return newjo;\r
+        return new LOGJSONObject(logrecordObj);\r
     }\r
 \r
     @Override\r
     public LOGJSONObject asJSONObject() {\r
         LOGJSONObject jo = super.asJSONObject();\r
         jo.put("type", "pub");\r
-//        jo.put("feedFileid", feedFileid);\r
-//        jo.put("remoteAddr", remoteAddr);\r
-//        jo.put("user", user);\r
+        jo.put("feedFileid", feedFileid);\r
+        jo.put("remoteAddr", remoteAddr);\r
+        jo.put("user", user);\r
         jo.put("sourceIP", remoteAddr);\r
         jo.put("endpointId", user);\r
         jo.put("statusCode", status);\r
+        jo.put("fileName", fileName);\r
 \r
-        LOGJSONObject newjo = this.reOrderObject(jo);\r
-\r
-        return newjo;\r
+        return this.reOrderObject(jo);\r
     }\r
 \r
     @Override\r
@@ -154,5 +156,6 @@ public class PublishRecord extends BaseLogRecord {
         ps.setNull(16, Types.INTEGER);\r
         ps.setNull(17, Types.VARCHAR);\r
         ps.setNull(19, Types.BIGINT);\r
+        ps.setString(20, getFileName());\r
     }\r
 }\r