=H'org/compiere/model/AttachmentFileSystemjava/lang/Object#org/compiere/model/IAttachmentStorelogLorg/compiere/util/CLogger;()VCode   getClass()Ljava/lang/Class; org/compiere/util/CLogger  getCLogger.(Ljava/lang/Class;)Lorg/compiere/util/CLogger;  LineNumberTableLocalVariableTablethis)Lorg/compiere/model/AttachmentFileSystem;saveH(Lorg/compiere/model/MAttachment;Lorg/compiere/model/MStorageProvider;)Z ! "#getAttachmentPathRoot9(Lorg/compiere/model/MStorageProvider;)Ljava/lang/String; %'&org/compiere/model/MAttachment ()m_itemsLjava/util/ArrayList; +-,java/util/ArrayList ./size()I %1 23 setBinaryData([B)V5 BinaryData %7 89 get_ValueOld&(Ljava/lang/String;)Ljava/lang/Object;;[B = >?getEntriesFromXML([B)Lorg/w3c/dom/NodeList; ACB(javax/xml/parsers/DocumentBuilderFactory DE newInstance,()Ljavax/xml/parsers/DocumentBuilderFactory; AG HInewDocumentBuilder%()Ljavax/xml/parsers/DocumentBuilder; KML!javax/xml/parsers/DocumentBuilder NO newDocument()Lorg/w3c/dom/Document;Q attachments SUTorg/w3c/dom/Document VW createElement)(Ljava/lang/String;)Lorg/w3c/dom/Element; SY Z[ appendChild&(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node; S] ^_setXmlStandalone(Z)V acbjava/util/logging/Level deFINELjava/util/logging/Level; g hi isLoggable(Ljava/util/logging/Level;)Z +k lmget(I)Ljava/lang/Object;o#org/compiere/model/MAttachmentEntry nq rstoString()Ljava/lang/String; u vwfine(Ljava/lang/String;)V ny z{getFile()Ljava/io/File; n} ~sgetName~ java/lang/String  startsWith(Ljava/lang/String;)Z endsWith /length  substring(II)Ljava/lang/String; org/w3c/dom/NodeList item(I)Lorg/w3c/dom/Node; org/w3c/dom/Node  getAttributes()Lorg/w3c/dom/NamedNodeMap;file org/w3c/dom/NamedNodeMap  getNamedItem&(Ljava/lang/String;)Lorg/w3c/dom/Node;name s getNodeValue equals(Ljava/lang/Object;)Zentry org/w3c/dom/Element  setAttribute'(Ljava/lang/String;Ljava/lang/String;)V Y / getLength+org/adempiere/exceptions/AdempiereException makeConcatWithConstants&(Ljava/lang/String;)Ljava/lang/String; w  java/io/File sgetAbsolutePath 8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;java/lang/StringBuilder append-(Ljava/lang/String;)Ljava/lang/StringBuilder;  separatorLjava/lang/String;  getAttachmentPathSnippet4(Lorg/compiere/model/MAttachment;)Ljava/lang/String; q exists()Z mkdirs sgetPath  wwarning }java/io/FileInputStream (Ljava/io/File;)V  getChannel!()Ljava/nio/channels/FileChannel;java/io/FileOutputStream java/nio/channels/FileChannel .()J  transferTo,(JJLjava/nio/channels/WritableByteChannel;)J java/io/IOException  printStackTrace (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;   wsevere   close  %  getEntryName(I)Ljava/lang/String;\\\\\\   replaceAll%ATTACHMENT_FOLDER%   replaceFirst!!javax/xml/transform/dom/DOMSource  # $(Lorg/w3c/dom/Node;)V&java/io/ByteArrayOutputStream % )'javax/xml/transform/stream/StreamResult (+ ,(Ljava/io/OutputStream;)V .0/&javax/xml/transform/TransformerFactory D1*()Ljavax/xml/transform/TransformerFactory; .3 45newTransformer#()Ljavax/xml/transform/Transformer; 798javax/xml/transform/Transformer :; transform;(Ljavax/xml/transform/Source;Ljavax/xml/transform/Result;)V %= >? toByteArray()[B %qBxml %D EwsetTitle aG HeSEVEREJ saveLOBData L MC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)VOjava/lang/Exceptionattach Lorg/compiere/model/MAttachment;prov%Lorg/compiere/model/MStorageProvider;attachmentPathRootdata xmlEntriesLorg/w3c/dom/NodeList;factory*Ljavax/xml/parsers/DocumentBuilderFactory;builder#Ljavax/xml/parsers/DocumentBuilder;documentLorg/w3c/dom/Document;rootLorg/w3c/dom/Element;iI entryFileLjava/io/File;itemNamex entryNodeLorg/w3c/dom/Node; attributesLorg/w3c/dom/NamedNodeMap;fileNodenameNodepathinLjava/nio/channels/FileChannel;outfisLjava/io/FileInputStream;fosLjava/io/FileOutputStream;msgfileLjava/lang/StringBuilder; destFolderdestFileeLjava/io/IOException;filePathToStoresourceLjavax/xml/transform/Source;bosLjava/io/ByteArrayOutputStream;resultLjavax/xml/transform/Result;xformer!Ljavax/xml/transform/Transformer;xmlDataLjava/lang/Exception; StackMapTable#org/compiere/model/MStorageProviderjava/lang/Throwablejavax/xml/transform/Sourcejavax/xml/transform/Result loadLOBData org/compiere/util/Util isEmptyno attachmentPath defined + % ? getBinaryData / /org/compiere/model/AttachmentFileLazyDataSource  n D(Ljava/lang/String;ILorg/compiere/model/IAttachmentLazyDataSource;)V + add    ?getBytes n (Ljava/lang/String;[BI)VentriesfilePathreplaceSeparatords.Lorg/compiere/model/IAttachmentLazyDataSource;%Lorg/compiere/model/MAttachmentEntry;4http://apache.org/xml/features/disallow-doctype-decl A  setFeature(Ljava/lang/String;Z)Vjava/io/ByteArrayInputStream  3 K parse-(Ljava/io/InputStream;)Lorg/w3c/dom/Document; S getElementsByTagName*(Ljava/lang/String;)Lorg/w3c/dom/NodeList; org/xml/sax/SAXException  getException()Ljava/lang/Exception; N N s getMessage .javax/xml/parsers/ParserConfigurationException  sxeLorg/xml/sax/SAXException;pce0Ljavax/xml/parsers/ParserConfigurationException;ioe % /getAD_Client_ID  (I)Ljava/lang/StringBuilder; % / getAD_Org_ID % /getAD_Table_ID % / getRecord_ID % s getRecord_UU msgreturndelete   deleteEntryI(Lorg/compiere/model/MAttachment;Lorg/compiere/model/MStorageProvider;I)Z   providerfolder  #(Ljava/io/File;Ljava/lang/String;)V + mremove %  /get_ID %  saveEx a eCONFIG  wconfigindex  s getFolder SourceFileAttachmentFileSystem.javaBootstrapMethods ! $java/lang/invoke/StringConcatFactory "(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;%Attachment file not found: ' - ) move file: +unable to create folder: -unable to copy file  to /TextFileSize=1no filename for entry 3name: 5 filePath: 7file not found: 9~~;=unable to delete ? delete: AIndex= - NewSize= InnerClassesD%java/lang/invoke/MethodHandles$LookupFjava/lang/invoke/MethodHandlesLookup!  B* **242  M *, N+$ +$* +0+46::: *<:@:F:J:PR:  XW\6 *`f*+$ jnpt+$ jnx:  +$ jn|:     d: 6 r :::: 6R:  W  Y  : *`f* -t -i*`f* t: :::Y-βҶ*+ֶ:Yڷ:ܚ*Y-βҶ*+ֶβҶ :Yڷ:Y :: Y::  X: l:* -*+ֲ    WLDW@:  W W  W WR:  +  :-+W:*t   W  +$* Y": %Y': (Y *: -2:    6 <:*`f* @t+0+AC:*FIK+0 NNNNN NDNk89:;?)@,A7B?DDFKGRH]IgJoLuMNOPQRSTUVW XY&[1\<]L^V_YThckfzhjklmnopstuvwz({>z@|N}Y~`kr &-FOZdLs~j$PQRST)U;,VWDXYKZ[R\]]u^_ r`a bc d ~ea afgXhi MjgBkg1(_l Hmn EonBpq?rstuvcN6wc'xyM_ -7z~T{| K}~ @ 8 (;x :5 %:AKS"Tk"#U%:AKSo%:AKSuNLNC%:AKSNLN%:AKSLNLN %:AKSW[%:AKS%7:%:AN *, N-* ++Y$+:*`f*t*<:6v::: :   * +$*`f* t : *`f* t I +W-: :  :   :   : *`f* tY :  ܙ4Y : nY +$*` :+$W<* º +$nY +$*`W* $*/1MSU]cnw#/;VaitPQRST*U;]W``anefgw\hiQjg Fkg  ( arc t#  p: 3 %:#2C8%:>? zM@N--F:Y+ö:MKN-:- -:*Զ &N-*-ڶ N-*-۶ ,-0-U-hN#-14;AFUVZhi m x f zzU;xW'XYZ[# \]1!4eViy60:N:R PY+Ҷ+Ҷ+ҶM+,+W ,+W,ڰ"!./6BK PPPQ/!u B Z*, NY-*+ֺ:*+,+$*dW+$*ܙ*º& "#%&-%7(?)G*X-4ZZPQZSTT@c * |*, :Y*+ֺ:+$jn:Y|:*`f*ºt$ܙ*º+$W++ *f*+$*6 235)697W8d9l:}=>?@ARPQSaTc)9{c"W%n% "# ?+M,M,* ,Ҷ,ҺM*,t,& IJ K LMN+O5P=R ??RS:T  t#$#&#(#*#,#.#0#2#4#4#6#8#:#<#:#>#<#@#:B CEG