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
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
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
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
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
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
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
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