adding FILENAME value to LOG_RECORDS table.
[dmaap/datarouter.git] / datarouter-prov / src / main / java / org / onap / dmaap / datarouter / provisioning / beans / PublishRecord.java
index e7575ff..2cde397 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 = StringUtils.substringAfterLast(this.getRequestUri(), "/");\r
     }\r
 \r
     public String getFeedFileid() {\r
@@ -104,6 +103,10 @@ 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
@@ -119,6 +122,7 @@ 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
@@ -128,12 +132,13 @@ public class PublishRecord extends BaseLogRecord {
     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
@@ -154,5 +159,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