Edit C:\apache-tomcat-7.0.69\webapps\swordv2\WEB-INF\classes\org\swordapp\server\SwordAPIEndpoint.class
???? 2? ?? ????? ????? ??? ?? ? ? ??? '?????? '?? ??? ?? ? ??? ?? '?? ??? '?? ??? '? ?? '?? '???? ????? ???? 3?????? >?? ?? ???? >? =? ?? ?? ?? ??? 3? ?? >???? ?? ??? ?? O? ??? ????? ???? ????????? _????& ??? _?? g? g?????? ????? ??? _??? ?? ? ? ? ? ? }? ? >?? ? g ? ? ?? O O O ? ?? O? ?? ?! O" ?# ?$ ?%&'?(?) ?* ?+, ?? ?-./0 ??1 ?2 ?345 ???67879 ':; '<.= ?>?@ABCD ?EF config (Lorg/swordapp/server/SwordConfiguration; log Lorg/apache/log4j/Logger; <init> +(Lorg/swordapp/server/SwordConfiguration;)V Code LineNumberTable LocalVariableTable this &Lorg/swordapp/server/SwordAPIEndpoint; get R(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V req 'Ljavax/servlet/http/HttpServletRequest; resp (Ljavax/servlet/http/HttpServletResponse; Exceptions post put delete getAuthCredentials N(Ljavax/servlet/http/HttpServletRequest;)Lorg/swordapp/server/AuthCredentials; request O(Ljavax/servlet/http/HttpServletRequest;Z)Lorg/swordapp/server/AuthCredentials; userPass [Ljava/lang/String; authHeader Ljava/lang/String; isBasic Z allowUnauthenticated auth %Lorg/swordapp/server/AuthCredentials; authType obo StackMapTableDG?? decodeAuthHeader '(Ljava/lang/String;)[Ljava/lang/String; encodedHeader authBits unencodedCreds ? getFullUrl ;(Ljavax/servlet/http/HttpServletRequest;)Ljava/lang/String; url q storeAndCheckBinary H(Lorg/swordapp/server/Deposit;Lorg/swordapp/server/SwordConfiguration;)V buf [B len I inputstream Ljava/io/InputStream; outputstream Ljava/io/OutputStream; e Ljava/io/IOException; msg receivedMD5 md5 (Ljava/security/NoSuchAlgorithmException; deposit Lorg/swordapp/server/Deposit; tempDirectory filename file Ljava/io/File; fLength JHIJK ?L??? !addDepositPropertiesFromMultipart G(Lorg/swordapp/server/Deposit;Ljavax/servlet/http/HttpServletRequest;)V entryPart abdera Lorg/apache/abdera/Abdera; parser !Lorg/apache/abdera/parser/Parser; entryDoc "Lorg/apache/abdera/model/Document; entry Lorg/apache/abdera/model/Entry; bits packaging ct mimeType mediaPart contentDisposition name item 1Lorg/apache/commons/fileupload/disk/DiskFileItem; i$ Ljava/util/Iterator; *Lorg/swordapp/server/SwordServerException; items Ljava/util/List; LocalVariableTypeTable CLorg/apache/abdera/model/Document<Lorg/apache/abdera/model/Entry;>; CLjava/util/List<Lorg/apache/commons/fileupload/disk/DiskFileItem;>;MN?? cleanup (Lorg/swordapp/server/Deposit;)V tmp getGenerator K(Lorg/swordapp/server/SwordConfiguration;)Lorg/apache/abdera/model/Element; generator !Lorg/apache/abdera/model/Element; generatorUri generatorVersion adminEmail?O addDepositPropertiesFromEntry addDepositPropertiesFromBinary contentType swordError r(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Lorg/swordapp/server/SwordError;)V doc #Lorg/swordapp/server/ErrorDocument; sw Ljava/io/StringWriter; pw Ljava/io/PrintWriter; treatment verbose sse Lorg/swordapp/server/SwordError;P? getContentDispositionValue 8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; key parameterParser /Lorg/apache/commons/fileupload/ParameterParser; separator C parameters Ljava/util/Map; 5Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>; getPartsFromRequest 9(Ljavax/servlet/http/HttpServletRequest;)Ljava/util/List; factory /Lorg/apache/commons/fileupload/FileItemFactory; upload 9Lorg/apache/commons/fileupload/servlet/ServletFileUpload; 3Lorg/apache/commons/fileupload/FileUploadException;4 Signature l(Ljavax/servlet/http/HttpServletRequest;)Ljava/util/List<Lorg/apache/commons/fileupload/disk/DiskFileItem;>; getAcceptHeaders 8(Ljavax/servlet/http/HttpServletRequest;)Ljava/util/Map; header acceptHeaders headers Ljava/util/Enumeration;QR ^(Ljavax/servlet/http/HttpServletRequest;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>; copyInputToOutput .(Ljava/io/InputStream;Ljava/io/OutputStream;)V count in out BUFFER_SIZE buffer getContentType getInProgress *(Ljavax/servlet/http/HttpServletRequest;)Z iph inProgress getMetadataRelevant mdr metadataRelevant <clinit> ()V SourceFile SwordAPIEndpoint.java ?? ? ? UTF-8PST ? ?IUV ? ? java/lang/StringBuilder Auth type = WXYVZ[\ none]^ AuthorizationG_` On-Behalf-Of basicab /No Authentication Credentials supplied/requiredc\ #org/swordapp/server/AuthCredentials ?d &org/swordapp/server/SwordAuthException ?e ? ? 4Server is not properly configured for authentication ?T f ? Malformed Authorization headerg\ BasichV %Authentication method not supported: i\ java/lang/Stringjklmn ?o :fp NMalformed Authorization header; unable to determine username/password boundaryqrstV ?Huv (org/swordapp/server/SwordServerException ?Attempting to store and check deposit which has no input stream ?wxV MStore and Check operation requested, but no tempDirectory specified in configX ? SWORD-yz{ java/io/FileOutputStream java/io/File ?|J}~K??? java/io/IOException ???|???? VThe uploaded file exceeded the maximum file size this server will accept (the file is W? 9 bytes but the server will only accept files as large as W? bytes) org/swordapp/server/SwordError?? ? ????` Received filechecksum: ?V Received file checksum header: 9Bad MD5 for file. Aborting with appropriate error message fThe received MD5 checksum for the deposited file did not match the checksum sent by the deposit client? ? Package temporarily stored as: &java/security/NoSuchAlgorithmException]^M??N?w?? /org/apache/commons/fileupload/disk/DiskFileItem?? Content-Disposition?ST atom org/apache/abdera/Abdera???????? org/apache/abdera/model/Entry?? payload Content-MD5 Packaging? ? 8Filename could not be extracted from Content-DispositionwV application/octet-stream ;?T???T?T?T ? ? javax/servlet/ServletException?? ?w:V=V?V????? uriO?? version?Tu?w ?? ??w?w !org/swordapp/server/ErrorDocument?V?? ?????V?w java/io/StringWriter java/io/PrintWriter ?????r ?? ?? Content-Type text/xml???????? -org/apache/commons/fileupload/ParameterParser??Q ?? 6org/apache/commons/fileupload/disk/DiskFileItemFactory 7org/apache/commons/fileupload/servlet/ServletFileUpload ???^ 1org/apache/commons/fileupload/FileUploadException java/util/HashMap??R?w???V accept?^ ??}? In-Progress true false 0The In-Progress header MUST be 'true' or 'false' Metadata-Relevant $org/swordapp/server/SwordAPIEndpoint?? java/lang/Object %javax/servlet/http/HttpServletRequest org/swordapp/server/Deposit &org/swordapp/server/SwordConfiguration java/io/InputStream java/io/OutputStream java/lang/Throwable java/util/List java/util/Iterator org/apache/abdera/model/Element &javax/servlet/http/HttpServletResponse java/util/Map java/util/Enumeration setCharacterEncoding (Ljava/lang/String;)V getAuthType ()Ljava/lang/String; append -(Ljava/lang/String;)Ljava/lang/StringBuilder; toString org/apache/log4j/Logger info (Ljava/lang/Object;)V equalsIgnoreCase (Ljava/lang/String;)Z getHeader &(Ljava/lang/String;)Ljava/lang/String; equals (Ljava/lang/Object;)Z debug 9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V (Z)V split fatal trim warn getBytes ()[B &org/apache/commons/codec/binary/Base64 decodeBase64 ([B)[B ([B)V ((Ljava/lang/String;I)[Ljava/lang/String; getRequestURL ()Ljava/lang/StringBuffer; java/lang/StringBuffer getQueryString getInputStream ()Ljava/io/InputStream; ()Z getTempDirectory java/util/UUID randomUUID ()Ljava/util/UUID; (Ljava/io/File;)V read ([B)I write ([BII)V close (Ljava/lang/Throwable;)V setFile length ()J getMaxUploadSize ()I (J)Ljava/lang/StringBuilder; (I)Ljava/lang/StringBuilder; org/swordapp/server/UriRegistry ERROR_MAX_UPLOAD_SIZE_EXCEEDED '(Ljava/lang/String;Ljava/lang/String;)V !org/swordapp/server/ChecksumUtils generateMD5 getMd5 ERROR_CHECKSUM_MISMATCH iterator ()Ljava/util/Iterator; hasNext next ()Ljava/lang/Object; getHeaders 1()Lorg/apache/commons/fileupload/FileItemHeaders; -org/apache/commons/fileupload/FileItemHeaders getParser #()Lorg/apache/abdera/parser/Parser; org/apache/abdera/parser/Parser parse 9(Ljava/io/InputStream;)Lorg/apache/abdera/model/Document; org/apache/abdera/model/Document getRoot #()Lorg/apache/abdera/model/Element; setEntry "(Lorg/apache/abdera/model/Entry;)V ERROR_BAD_REQUEST setFilename setInputStream (Ljava/io/InputStream;)V setMimeType setMd5 setPackaging getFile ()Ljava/io/File; administratorEmail getFactory %()Lorg/apache/abdera/factory/Factory; !org/apache/abdera/factory/Factory newGenerator %()Lorg/apache/abdera/model/Generator; setAttributeValue G(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/abdera/model/Element; setText $()Ljavax/servlet/ServletInputStream; PACKAGE_BINARY returnErrorBody hasBody getErrorUri getStatus (Ljava/lang/String;I)V setStatus (I)V getMessage returnStackTraceInError (Ljava/io/Writer;)V printStackTrace (Ljava/io/PrintWriter;)V getBuffer ((Ljava/lang/String;ILjava/lang/String;)V :(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V setHeader getWriter ()Ljava/io/PrintWriter; writeTo ;(Ljava/io/Writer;Lorg/swordapp/server/SwordConfiguration;)V flush $(Ljava/lang/String;C)Ljava/util/Map; &(Ljava/lang/Object;)Ljava/lang/Object; 2(Lorg/apache/commons/fileupload/FileItemFactory;)V parseRequest getHeaderNames ()Ljava/util/Enumeration; hasMoreElements nextElement toLowerCase startsWith 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; ([BII)I getLogger ,(Ljava/lang/Class;)Lorg/apache/log4j/Logger; ! ? ? ? ? ? ? ? ? ? F *? *+? ? ? # $ % ? ? ? ? ? ? ? ? K ,? ? ? * + ? ? ? ? ? ? ? ? } E ? ? ? K ,? ? ? 0 1 ? ? ? ? ? ? ? ? } E ? ? ? K ,? ? ? 6 7 ? ? ? ? ? ? ? ? } E ? ? ? K ,? ? ? <