Project

General

Profile

« Previous | Next » 

Revision 8810

add support for v2 DataONE API.

View differences:

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