3            ! "#$%&' () *+, -. /012 #34 $5 (678 * )9: ;< -= -> -? @AB CDE FGHI )J K )? 3LM =N =O 33PQ R =S TU GV 7L 73WXY L Z L[ @\ ]^ ]_`a U Ub Tc Ude Z Z Ufg ^ ^ ^hi jk Ulm Unop Uq r Ustu vw Ux Uy Uz{ s| s} #L~ s s s s U    \     ]=L @m?PbM @m`@"(Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis4Lorg/dataone/cn/batch/logging/LogEntryProcessorTest;nameLjava/lang/String;setUp()V ExceptionstearDownsuite()Ljunit/framework/Test;Ljunit/framework/TestSuite;testRobotFiltergeoIPsvc+Lorg/dataone/cn/batch/logging/GeoIPService;eLjava/lang/Exception;inBufLjava/io/BufferedReader;parser"Lorg/apache/commons/csv/CSVParser;exLjava/io/FileNotFoundException;Ljava/io/IOException;inLine logRecordsLjava/util/List; readEventEntry InnerClassesLjava/util/Map$Entry;percFnewMaxIiteratorLjava/util/Iterator;eventWindowStartLorg/joda/time/DateTime; thisSubject&Lorg/dataone/service/types/v1/Subject;thisId)Lorg/dataone/service/types/v1/Identifier;logRec"Lorg/apache/commons/csv/CSVRecord;logEntry'Lorg/dataone/service/types/v1/LogEntry;solrItem4Lorg/dataone/cn/batch/logging/type/LogEntrySolrItem;loggerLorg/apache/log4j/Logger;filePath nodeIdStrnodeIdentifier,Lorg/dataone/service/types/v1/NodeReference; eventsToCheckLjava/util/HashSet;fullWebRobotListLjava/util/ArrayList;partialWebRobotListreadEventCacheLjava/util/HashMap;readEventCacheCurrentMaxreadEventCacheMax webRobotIPsLogEntryDataFilefullWebRobotListFilePathparialWebRobotListFilePathwebRobotIPsFilePathDataONE_IPsFilePathGeoIPdbrepeatVisitIntervalSecondsdoWebRobotIPcheckLjava/lang/Boolean; dbFilenameinPartialWebRobotListCountinFullWebRobotListCountrepeatVisitCountsimpleDFLjava/text/SimpleDateFormat;mostRecentLoggedDateLjava/util/Date;LocalVariableTypeTable4Ljava/util/List;ALjava/util/Map$Entry;WLjava/util/Iterator;>;'Ljava/util/HashSet;)Ljava/util/ArrayList;?Ljava/util/HashMap; StackMapTable !1BH7:Xa`eg{ SourceFileLogEntryProcessorTest.java junit/framework/TestSuite 2org/dataone/cn/batch/logging/LogEntryProcessorTest   webRobotIPs.csvurn:node:mnTestKNB*org/dataone/service/types/v1/NodeReference java/util/HashSetjava/lang/Stringread  java/util/ArrayListjava/util/HashMap@./src/test/resources/org/dataone/cn/batch/logging/LogEntries.csvF./src/test/resources/org/dataone/cn/batch/logging/fullWebRobotList.txtI./src/test/resources/org/dataone/cn/batch/logging/partialWebRobotList.txtA./src/test/resources/org/dataone/cn/batch/logging/webRobotIPs.csvA./src/test/resources/org/dataone/cn/batch/logging/DataONE_IPs.csvA./src/test/resources/org/dataone/cn/batch/logging/GeoLiteCity.dat  LogAggregator.geoIPdbName  java/lang/Exception-org/dataone/service/exceptions/ServiceFailure &Unable to initialize the GeoIP service  java/io/BufferedReaderjava/io/FileReader  org/apache/commons/csv/CSVParser     java/io/FileNotFoundException Error: can't find file java/io/IOExceptionError: can't read file   java/lang/StringBuilderLogAggregatorTask- HUnable to open file '%s' which is needed for COUNTER compliance checkingjava/lang/Object   'java/util/concurrent/ExecutionException GError reading file '%s' which is needed for COUNTER compliance checkingjava/text/SimpleDateFormatyyyy-MM-dd HH:mm:ss.SSS1900-01-01 00:00:00.000     org/apache/commons/csv/CSVRecord%org/dataone/service/types/v1/LogEntry   $org/dataone/service/types/v1/Subject 'org/dataone/service/types/v1/Identifier  2Blank or null identifier encountered for entryId: , skipping record. Processing entryId: , id:   #Error parsing IP address, entryId: , IP address:     2org/dataone/cn/batch/logging/type/LogEntrySolrItem  DLogEntryProcessTest- error setting location fields for log entryId: CLogEntryProcessTest- error setting COUNTER fields for log entryId:       org/joda/time/DateTime  java/util/Map$Entry       junit/framework/TestCaseorg/apache/log4j/Loggerjava/util/Listjava/lang/Boolean)org/dataone/cn/batch/logging/GeoIPServicejava/util/Datejava/util/IteratoraddTest(Ljunit/framework/Test;)Vjava/lang/ClassgetName()Ljava/lang/String; getLogger-(Ljava/lang/String;)Lorg/apache/log4j/Logger;setValuejava/util/ArraysasList%([Ljava/lang/Object;)Ljava/util/List;(Ljava/util/Collection;)VvalueOf(Z)Ljava/lang/Boolean;"org/dataone/configuration/SettingsgetConfiguration2()Lorg/apache/commons/configuration/Configuration;.org/apache/commons/configuration/Configuration getString&(Ljava/lang/String;)Ljava/lang/String; getInstance?(Ljava/lang/String;)Lorg/dataone/cn/batch/logging/GeoIPService; getMessage'(Ljava/lang/String;Ljava/lang/String;)V booleanValue()Z(Ljava/io/Reader;)V org/apache/commons/csv/CSVFormatRFC4180"Lorg/apache/commons/csv/CSVFormat;5(Ljava/io/Reader;Lorg/apache/commons/csv/CSVFormat;)V getRecords()Ljava/util/List;closeaddAll(Ljava/util/Collection;)Zjava/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintlnreadLineadd(Ljava/lang/Object;)ZprintStackTraceappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;format9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;toStringerror(Ljava/lang/Object;)V(Ljava/lang/Throwable;)Vparse$(Ljava/lang/String;)Ljava/util/Date;()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;setNodeIdentifier/(Lorg/dataone/service/types/v1/NodeReference;)Vget(I)Ljava/lang/String; setEntryId setSubject)(Lorg/dataone/service/types/v1/Subject;)VgetValue compareTo(Ljava/lang/String;)I getEntryId setIdentifier,(Lorg/dataone/service/types/v1/Identifier;)V getIdentifier+()Lorg/dataone/service/types/v1/Identifier;debug setIpAddress"org/dataone/service/types/v1/Eventconvert8(Ljava/lang/String;)Lorg/dataone/service/types/v1/Event;setEvent'(Lorg/dataone/service/types/v1/Event;)V setDateLogged(Ljava/util/Date;)V setUserAgent*(Lorg/dataone/service/types/v1/LogEntry;)VupdateLocationFields.(Lorg/dataone/cn/batch/logging/GeoIPService;)VsetCOUNTERfieldsw(Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/HashMap;Ljava/util/HashSet;ILjava/util/List;Ljava/lang/Boolean;)VgetInFullRobotListgetInPartialRobotListgetIsRepeatVisit getDateLogged()Ljava/util/Date;after(Ljava/util/Date;)Zsize()IentrySet()Ljava/util/Set; java/util/Set minusSeconds(I)Lorg/joda/time/DateTime; java/util/MapisBefore"(Lorg/joda/time/ReadableInstant;)Zremovejava/lang/Mathround(F)I assertEquals(DDD)V!>*+ KL+R #+X  IYK*Y*^`b 6( L M : Y :YYS:Y: Y: Y: 6 26 Y:::::::6: !:"::$Y%&'(~)Y*Y+,:-Y./:0:1)Y*Y+,:-Y./:02W1:456:486M)Y*Y,+,:9Y: :W;M)Y*Y,+,:9Y: :W;{:<+=Y>?@A@BCY,SD@EFGYH:I+=Y>?@J@KCY,SD@EFGYH)Y*Y+,:-Y./:0N:456:486666LYMN:OP:-Q:  R} ST:!UYV:W!XYZY[:""!X\"]^Y_:##!X`#a#abc&+=Y>d@e@f@EFk#g+=Y>h@e@i@ja@Ek!Xl1:$+=Y>m@e@n@!X@EF!Xop!XPq!XrsYt:u8:$$v+=Y>w@e@i@ja@EF   x3:$+=Y>y@e@i@ja@EFCz{|}~ }:   :$Y:%$R+$S:&&% $  - j8& &`6'' '6  6  #3 7-3-7,/3,<78CF###Bn o tuv y5{>}GPTXaeimquy}  "*-0ALW\_p{&,/19<>FILOR]f 8CFHqt   !(+ .#6$9&A'D)L*O,\-c2m4y56789;BDEGHKPRS TU<9OA " IBAM::,& 1 > H,$3$.$&&'yv$f%G",#k!eI   II5> G P T X aeimquy}mLOR]f\ ,&yv$I5> G P a"hL {;hL $!t$"->$ 4U/ % ./!  #