Revision 8810
Added by ben leinfelder over 9 years ago
EventLog.java | ||
---|---|---|
35 | 35 |
import java.util.Vector; |
36 | 36 |
|
37 | 37 |
import org.apache.log4j.Logger; |
38 |
import org.dataone.service.types.v1.Identifier; |
|
39 |
import org.dataone.service.types.v2.Log; |
|
40 |
import org.dataone.service.types.v2.LogEntry; |
|
38 | 41 |
import org.dataone.service.types.v1.Event; |
39 |
import org.dataone.service.types.v1.Identifier; |
|
40 |
import org.dataone.service.types.v1.Log; |
|
41 |
import org.dataone.service.types.v1.LogEntry; |
|
42 | 42 |
import org.dataone.service.types.v1.NodeReference; |
43 | 43 |
import org.dataone.service.types.v1.Subject; |
44 | 44 |
import org.dataone.service.util.DateTimeMarshaller; |
... | ... | |
139 | 139 |
// update the search index for the event |
140 | 140 |
try { |
141 | 141 |
|
142 |
Event d1Event = Event.convert(event); |
|
143 |
if (d1Event != null) { |
|
142 |
if (event != null) { |
|
144 | 143 |
|
145 |
String fieldName = d1Event.xmlValue() + "_count_i";
|
|
144 |
String fieldName = event + "_count_i";
|
|
146 | 145 |
int eventCount = 0; |
147 | 146 |
|
148 | 147 |
String docid = IdentifierManager.getInstance().getLocalId(pid.getValue()); |
149 |
Log eventLog = this.getD1Report(null, null, new String[] {docid}, d1Event, null, null, false, 0, 0);
|
|
148 |
Log eventLog = this.getD1Report(null, null, new String[] {docid}, event, null, null, false, 0, 0);
|
|
150 | 149 |
eventCount = eventLog.getTotal(); |
151 | 150 |
|
152 | 151 |
List<Object> values = new ArrayList<Object>(); |
... | ... | |
371 | 370 |
|
372 | 371 |
|
373 | 372 |
public Log getD1Report(String[] ipAddress, String[] principal, String[] docid, |
374 |
Event event, Timestamp startDate, Timestamp endDate, boolean anonymous, Integer start, Integer count)
|
|
373 |
String event, Timestamp startDate, Timestamp endDate, boolean anonymous, Integer start, Integer count)
|
|
375 | 374 |
{ |
376 | 375 |
|
377 | 376 |
Log log = new Log(); |
... | ... | |
459 | 458 |
} |
460 | 459 |
queryWhereClause.append("event in ("); |
461 | 460 |
queryWhereClause.append("?"); |
462 |
String eventString = event.xmlValue();
|
|
463 |
if (event.equals(Event.CREATE)) {
|
|
461 |
String eventString = event; |
|
462 |
if (eventString.equals(Event.CREATE.xmlValue())) {
|
|
464 | 463 |
eventString = "insert"; |
465 | 464 |
} |
466 | 465 |
paramValues.add(eventString); |
467 | 466 |
queryWhereClause.append(") "); |
468 | 467 |
clauseAdded = true; |
469 | 468 |
} |
470 |
else { |
|
471 |
if (clauseAdded) { |
|
472 |
queryWhereClause.append(" and "); |
|
473 |
} |
|
474 |
queryWhereClause.append("event in ("); |
|
475 |
for (int i = 0; i < Event.values().length; i++) { |
|
476 |
if (i > 0) { |
|
477 |
queryWhereClause.append(", "); |
|
478 |
} |
|
479 |
queryWhereClause.append("?"); |
|
480 |
Event e = Event.values()[i]; |
|
481 |
String eventString = e.xmlValue(); |
|
482 |
if (e.equals(Event.CREATE)) { |
|
483 |
eventString = "insert"; |
|
484 |
} |
|
485 |
paramValues.add(eventString); |
|
486 |
} |
|
487 |
queryWhereClause.append(") "); |
|
488 |
clauseAdded = true; |
|
489 |
} |
|
469 |
|
|
490 | 470 |
if (startDate != null) { |
491 | 471 |
if (clauseAdded) { |
492 | 472 |
queryWhereClause.append(" and "); |
... | ... | |
568 | 548 |
logEntry.setSubject(subject); |
569 | 549 |
|
570 | 550 |
String logEventString = rs.getString(6); |
571 |
Event logEvent = Event.convert(logEventString ); |
|
572 |
if (logEvent == null) { |
|
573 |
logMetacat.info("Skipping uknown DataONE Event type: " + logEventString); |
|
574 |
continue; |
|
575 |
} |
|
576 |
logEntry.setEvent(logEvent); |
|
551 |
logEntry.setEvent(logEventString); |
|
577 | 552 |
logEntry.setDateLogged(rs.getTimestamp(7)); |
578 | 553 |
|
579 | 554 |
logEntry.setNodeIdentifier(memberNode); |
Also available in: Unified diff
add support for v2 DataONE API.