3 _           ! !  ' ' - - -  3  7 ; : : X      - 7 F  J  :  O Q Q    O ! O" #$ #%& '()* '+ , '- '. '/ 0 '1 #2 Q3 45 ' '6 '789()VCodeLineNumberTableLocalVariableTablethis"Lorg/dspace/eperson/LoadLastLogin;main([Ljava/lang/String;)Vex'Lorg/apache/commons/cli/ParseException;stampLjava/util/Date;Ljava/text/ParseException;lineLjava/lang/String; loginMatcherLjava/util/regex/Matcher;datetimeuser logDateTimeprevious logReaderLjava/io/BufferedReader;logNamenameePersonLorg/dspace/eperson/EPerson;argv[Ljava/lang/String;USAGEloginREoptions Lorg/apache/commons/cli/Options;parser$Lorg/apache/commons/cli/PosixParser;command$Lorg/apache/commons/cli/CommandLine;VERBOSEZPRETENDargsrmPropsLjava/util/Properties;dbnamestampsLjdbm/RecordManager;stampDbLjdbm/btree/BTree; loginCrackerLjava/util/regex/Pattern; dateEncoderLjava/text/SimpleDateFormat;walkerLjdbm/helper/TupleBrowser;Ljdbm/helper/Tuple;ctxLorg/dspace/core/Context;ePersonService+Lorg/dspace/eperson/service/EPersonService;targetLjava/io/File; StackMapTable!:;<=>?@A ExceptionsBCD SourceFileLoadLastLogin.java pqJLoadLastLogin [options] path...path 'path's are paths to DSpace log filese([0-9-]+) ([0-9:]+)[^@]+@ ([^:]+):session_id=[^:]+:ip_addr=[0-9a-f.:]+:login:type=(implicit|explicit)org/apache/commons/cli/OptionshhelpExplain options EFppretend'Output TSV instead of updating databasevverbose!Talk more about what we are doing"org/apache/commons/cli/PosixParser GH%org/apache/commons/cli/ParseExceptionI JK LMN OP-org/apache/commons/cli/MissingOptionException$org/apache/commons/cli/HelpFormatter QR ST: UV WKALoad users' last_active dates into the database from DSpace logs. Oq XYjava/util/Propertiesjdbm/RecordManagerOptionsjdbm.disableTransactionstrue Z[ java/io/Filejava.io.tmpdir \] lastlogindb p^ _Mjava/lang/StringBuilder dbname: `a bMc dejdbm/helper/StringComparator< fg= hijava/text/SimpleDateFormatyyyy-MM-dd HH:mm:ss pPjava/io/BufferedReaderjava/io/FileReader pj kM:login: lm no> pq rs `t Gujava/text/ParseExceptionSkipping log record: vwjava/util/Date xy z{ |q }~jdbm/helper/Tupleorg/dspace/core/Context q  ?  java/lang/String @  Skipping unknown user: A %s %s %s %s %s java/lang/Object  M M M    q;.db q q.lg org/dspace/eperson/LoadLastLogin"org/apache/commons/cli/CommandLinejdbm/RecordManagerjdbm/btree/BTreejava/util/regex/Patternjava/util/regex/Matcherjdbm/helper/TupleBrowser)org/dspace/eperson/service/EPersonServiceorg/dspace/eperson/EPersonjava/io/IOExceptionjava/sql/SQLException'org/dspace/authorize/AuthorizeException addOptionY(Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;)Lorg/apache/commons/cli/Options;parseY(Lorg/apache/commons/cli/Options;[Ljava/lang/String;)Lorg/apache/commons/cli/CommandLine;java/lang/SystemerrLjava/io/PrintStream; getMessage()Ljava/lang/String;java/io/PrintStreamprintln(Ljava/lang/String;)V printHelp5(Ljava/lang/String;Lorg/apache/commons/cli/Options;)Vexit(I)V hasOption(C)ZoutgetArgs()[Ljava/lang/String;put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; getProperty&(Ljava/lang/String;)Ljava/lang/String;'(Ljava/lang/String;Ljava/lang/String;)VgetCanonicalPathappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringjdbm/RecordManagerFactorycreateRecordManager>(Ljava/lang/String;Ljava/util/Properties;)Ljdbm/RecordManager;createInstance>(Ljdbm/RecordManager;Ljava/util/Comparator;)Ljdbm/btree/BTree;compile-(Ljava/lang/String;)Ljava/util/regex/Pattern;(Ljava/io/Reader;)VreadLinecontains(Ljava/lang/CharSequence;)Zmatcher3(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;matches()Zgroup(I)Ljava/lang/String;(C)Ljava/lang/StringBuilder;$(Ljava/lang/String;)Ljava/util/Date;find&(Ljava/lang/Object;)Ljava/lang/Object;after(Ljava/util/Date;)Zinsert9(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/lang/Object;closebrowse()Ljdbm/helper/TupleBrowser;turnOffAuthorisationSystem0org/dspace/eperson/factory/EPersonServiceFactory getInstance4()Lorg/dspace/eperson/factory/EPersonServiceFactory;getEPersonService-()Lorg/dspace/eperson/service/EPersonService;getNext(Ljdbm/helper/Tuple;)ZgetKey()Ljava/lang/Object;getValue findByEmailI(Lorg/dspace/core/Context;Ljava/lang/String;)Lorg/dspace/eperson/EPerson; findByNetid getLastActive()Ljava/util/Date;getID()Ljava/util/UUID;java/util/UUIDgetEmailgetNetid getFullNameprintf<(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream; setLastActive(Ljava/util/Date;)Vupdate=(Lorg/dspace/core/Context;Lorg/dspace/content/DSpaceObject;)Vcompleteexistsdelete!o_pqr/*s-t uv wxrmfLMYN- W-   W-  WY::-*:):Y-h"Y-v6p6 :!Y":  $%&W'Y()*+,: -Y./0 01  2:  3Y45: 6: 7Y89::662::Y;Y<=:>:?@ A:BC:C:C:-Y.0 D01:E:%:-Y.G0H01q IJ: K LWGM N:OYP:QYR:STU:VWX:YJ:Z:[: -Y.\001]: KR;^_Y`aSYSYbSYcSYdSeWfg9h i'Y-Y. 0j01k:l mW'Y-Y. 0n01k:l mW>GJFsr\25=>?&@2B;C>EGKJFLGWH_IlJpMzOPQRUVX[\^_`abef h:jLmSoYp\rfsivrwzx}{|} h#,19CMWdjw},4:W_ett%L$yz{| y}S~rxpU'{||L:MW|d_|fc`X;+>(  f X Q  FL#C{,:9-,:J!(] 4 >!  %="<6*