Revision 6542
Added by ben leinfelder over 12 years ago
D1NodeService.java | ||
---|---|---|
38 | 38 |
import java.util.Timer; |
39 | 39 |
import java.util.Vector; |
40 | 40 |
|
41 |
import javax.servlet.http.HttpServletRequest; |
|
41 | 42 |
|
43 |
|
|
42 | 44 |
import org.apache.commons.io.IOUtils; |
43 | 45 |
import org.apache.log4j.Logger; |
44 | 46 |
import org.dataone.client.ObjectFormatCache; |
... | ... | |
87 | 89 |
|
88 | 90 |
private static Logger logMetacat = Logger.getLogger(D1NodeService.class); |
89 | 91 |
|
90 |
/* the metacat URL as a string (including ending /d1 service)*/
|
|
91 |
protected String metacatUrl;
|
|
92 |
/** For logging the operations */
|
|
93 |
protected HttpServletRequest request;
|
|
92 | 94 |
|
93 | 95 |
/* reference to the metacat handler */ |
94 | 96 |
protected MetacatHandler handler; |
... | ... | |
101 | 103 |
* |
102 | 104 |
* @param metacatUrl - the URL of the metacat service, including the ending /d1 |
103 | 105 |
*/ |
104 |
public D1NodeService() { |
|
105 |
this.metacatUrl = ""; |
|
106 |
|
|
107 |
try { |
|
108 |
this.metacatUrl = SystemUtil.getContextURL() + "/" + |
|
109 |
PropertyService.getProperty("dataone.serviceName"); |
|
110 |
} catch (PropertyNotFoundException e) { |
|
111 |
throw new RuntimeException("Error getting the servlet url in D1NodeService: " + |
|
112 |
e.getMessage()); |
|
113 |
|
|
114 |
} |
|
115 |
|
|
116 |
} |
|
106 |
public D1NodeService(HttpServletRequest request) { |
|
107 |
this.request = request; |
|
108 |
} |
|
117 | 109 |
|
118 | 110 |
/** |
119 | 111 |
* Adds a new object to the Node, where the object is either a data |
... | ... | |
351 | 343 |
String entryId = getLogEntryField("entryid", entry); |
352 | 344 |
String ipAddress = getLogEntryField("ipAddress", entry); |
353 | 345 |
String principal = getLogEntryField("principal", entry); |
346 |
String userAgent = getLogEntryField("userAgent", entry); |
|
354 | 347 |
String docid = getLogEntryField("docid", entry); |
355 | 348 |
String eventS = getLogEntryField("event", entry); |
356 | 349 |
String dateLogged = getLogEntryField("dateLogged", entry); |
... | ... | |
401 | 394 |
Subject princ = new Subject(); |
402 | 395 |
princ.setValue(principal); |
403 | 396 |
le.setSubject(princ); |
404 |
le.setUserAgent("metacat/RESTService");
|
|
397 |
le.setUserAgent(userAgent);
|
|
405 | 398 |
|
406 | 399 |
// event filtering? |
407 | 400 |
if (event == null) { |
... | ... | |
492 | 485 |
if (session != null && session.getSubject() != null) { |
493 | 486 |
principal = session.getSubject().getValue(); |
494 | 487 |
} |
495 |
EventLog.getInstance().log(null, principal, localId, "read");
|
|
488 |
EventLog.getInstance().log(request.getRemoteAddr(), request.getHeader("User-Agent"), principal, localId, "read");
|
|
496 | 489 |
|
497 | 490 |
return inputStream; |
498 | 491 |
} |
... | ... | |
836 | 829 |
|
837 | 830 |
// do the insert or update action |
838 | 831 |
handler = new MetacatHandler(new Timer()); |
839 |
String result = handler.handleInsertOrUpdateAction(metacatUrl, null,
|
|
832 |
String result = handler.handleInsertOrUpdateAction(request.getRemoteAddr(), request.getHeader("User-Agent"), null,
|
|
840 | 833 |
null, params, username, groupnames); |
841 | 834 |
|
842 | 835 |
if(result.indexOf("<error>") != -1) { |
... | ... | |
938 | 931 |
} logMetacat.debug("Logging the creation event."); - EventLog.getInstance().log(metacatUrl, username, localId, "create"); + EventLog.getInstance().log(request.getRemoteAddr(), request.getHeader("User-Agent"), username, localId, "create"); // Schedule replication for this data file logMetacat.debug("Scheduling replication."); |
Also available in: Unified diff
add User-Agent logging to support D1 requirements