Leonardo Vannucci
2018-08-01 5554f5ebced8adb7b7982481120d0ca00767c7f9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
Êþº¾4K(it/digione/dg1cloud/service/CloudServicejava/lang/ObjectloggerLorg/slf4j/Logger;    appConfig&Lit/digione/dg1cloud/config/AppConfig;RuntimeVisibleAnnotations8Lorg/springframework/beans/factory/annotation/Autowired;utils#Lit/digione/dg1cloud/service/Utils;regDocumentRepository6Lit/digione/dg1cloud/repository/RegDocumentRepository;<clinit>()VCode
org/slf4j/LoggerFactory     getLogger%(Ljava/lang/Class;)Lorg/slf4j/Logger;     LineNumberTableLocalVariableTable<init>
 this*Lit/digione/dg1cloud/service/CloudService;scannAccountHomeDirs
Exceptions$-com/fasterxml/jackson/core/JsonParseException&3com/fasterxml/jackson/databind/JsonMappingException(&java/security/NoSuchAlgorithmException*java/io/IOException    , 
.0/$it/digione/dg1cloud/config/AppConfig 12getRepositoryBaseUploadPath()Ljava/lang/String;4 java/io/File
36 7(Ljava/lang/String;)V
39 :;exists()Z
3= >; isDirectory@java/lang/RuntimeExceptionBjava/lang/StringBuilderDLa directory '
A6
3G H2getAbsolutePath
AJ KLappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;N(' non esiste oppure non e' una directory
AP Q2toString
?6T UVaccept()Ljava/io/FileFilter;
3X YZ    listFiles%(Ljava/io/FileFilter;)[Ljava/io/File;\ U]()Ljava/io/FilenameFilter;
3_ Y`)(Ljava/io/FilenameFilter;)[Ljava/io/File;
b cd    checkFile(Ljava/lang/String;)Zf+Errore durante la fase di verifica del file hjiorg/slf4j/Logger klerror*(Ljava/lang/String;Ljava/lang/Throwable;)Vn,Errore durante la fase di verifica del file
 
prqjava/lang/Exception s2
getMessage
u vw writeKoFile'(Ljava/lang/String;Ljava/lang/String;)Vy2Controllo file descrittore completato con successo h{ |7debug
~ 7    storeFile6Errore duranto la memorizzazione del file nello store
ƒ#Il file non ha passato le verificherepositoryPathLjava/lang/String;basePathLjava/io/File;folder
descriptorZeLjava/lang/Exception; StackMapTablejava/lang/String‘[Ljava/io/File;“Controllo il file {} h• |–'(Ljava/lang/String;Ljava/lang/Object;)V˜*it/digione/dg1cloud/service/CloudService$1
—š ›-(Lit/digione/dg1cloud/service/CloudService;)VIl file descrittore inviato '
AŸ K -(Ljava/lang/Object;)Ljava/lang/StringBuilder;¢ ' non esiste
3¤ ¥;isFile§' non e' di tipo file©java/io/FileInputStream
¨« ¬(Ljava/io/File;)V®+com/fasterxml/jackson/databind/ObjectMapper
­
­± ²³    readValueX(Ljava/io/InputStream;Lcom/fasterxml/jackson/core/type/TypeReference;)Ljava/lang/Object;µ/it/digione/dg1cloud/pojo/UploadedFileDescriptor·"Il file descrittore non conforme:
 
)r
º¼»java/io/InputStream ½close
3¿ ÀÁ getParentFile()Ljava/io/File;
´Ã Ä2 getFileName
3Æ Ç#(Ljava/io/File;Ljava/lang/String;)VÉIl file inviato '
ËÍÌ+org/apache/commons/codec/digest/DigestUtils ÎÏ    sha256Hex)(Ljava/io/InputStream;)Ljava/lang/String;
¨¼
´Ò Ó2    getSha256
ŽÕ ÖdequalsIgnoreCaseØlL'hash del file inviato non corrisponde con l'hash dichiarato nel descrittore del file:
   hash file inviato: Ú
   Ü!hash dichiarato nel descrittore: cloudFileDescriptorPath typeReference/Lcom/fasterxml/jackson/core/type/TypeReference;cloudFileDescriptor    koMessageisLjava/io/InputStream;mapper-Lcom/fasterxml/jackson/databind/ObjectMapper;uploadedFileDescriptor1Lit/digione/dg1cloud/pojo/UploadedFileDescriptor;Ljava/io/IOException; uploadedFilefisLjava/io/FileInputStream;hashLocalVariableTypeTablebLcom/fasterxml/jackson/core/type/TypeReference<Lit/digione/dg1cloud/pojo/UploadedFileDescriptor;>;ð-com/fasterxml/jackson/core/type/TypeReferenceò1Avvio processo di memorizzazione file nello storeô*it/digione/dg1cloud/service/CloudService$2
óš÷'Errore apertura stream file descrittore
?ù lû2Errore caricamento classe dal json del descrittoreýControllo esistenza file sul db    ÿ  4it/digione/dg1cloud/repository/RegDocumentRepository findOneByHashAndNameM(Ljava/lang/String;Ljava/lang/String;)Lit/digione/dg1cloud/model/RegDocument;
3 2getName
 
  getUploadedFilePath&(Ljava/lang/String;)Ljava/lang/String;5Creazione nuovo record per il documento da conservare%it/digione/dg1cloud/model/RegDocument
 
 7 setCreatedBy
 7 setModifiedBy
 7 setFileHash
 7 setFileName
3  !length()J
#%$java/lang/Long &'valueOf(J)Ljava/lang/Long;
) *+ setFileSize(Ljava/lang/Long;)V
´- ./
getDueDate()Ljava/util/Date;
1 23
setDueDate(Ljava/util/Date;)V5
7 87 setFilePath : ;<save&(Ljava/lang/Object;)Ljava/lang/Object;>0Trovato 1 record per il documento da memorizzare
@ ABmoveUploadedFileToStorage<(Ljava/lang/String;Lit/digione/dg1cloud/model/RegDocument;)VDRimozione regDocument F GHdelete(Ljava/lang/Object;)V
J KB createOkFileMjava/io/FileNotFoundExceptionLjava/io/FileNotFoundException; regDocument'Lit/digione/dg1cloud/model/RegDocument;userNameSjava/lang/ThrowableUSpostamento file nello storage
W X2 getFileHash
Z [\generateStoragePath;(Lit/digione/dg1cloud/model/RegDocument;)Ljava/lang/String;^ Creazione alberatura directory: 
3` a2    getParent
cedorg/apache/commons/io/FileUtils f¬forceMkdirParent
ch ijcopyFile(Ljava/io/File;Ljava/io/File;)VlBIl file risulta gia' presente nello storage. Verifico l'integrita'njava/lang/IllegalStateExceptionprL'hash del file nello storage non corrisponde con l'hash dichiarato nel descrittore del file:
   hash file inviato: 
m6s!Salvo il path nel regDocument: {}
u v2 getFilePathsourcesha256Descriptor
sourceFiledestinationFile|Creazione file di OK
Ž~ &&(Ljava/lang/Object;)Ljava/lang/String;.ok    ƒ…„3com/fasterxml/jackson/databind/SerializationFeature †‡ INDENT_OUTPUT5Lcom/fasterxml/jackson/databind/SerializationFeature;
­‰ Š‹enabled(Lcom/fasterxml/jackson/databind/SerializationFeature;)Lcom/fasterxml/jackson/databind/ObjectMapper;    ƒ އWRITE_DATES_AS_TIMESTAMPS
­ ‘‹disable“1it/digione/dg1cloud/pojo/UploadedFileDescriptorOk
’
Ã
’    ˜
šœ›!it/digione/dg1cloud/service/Utils ž generateUrl7(Lit/digione/dg1cloud/model/RegDocument;)Ljava/net/URL;
 ¢¡ java/net/URL £2toExternalForm
’¥ ¦7setUrl
­¨ ©writeValueAsString«Scrittura json di ok:
{}    ­¯®!java/nio/charset/StandardCharsets °±UTF_8Ljava/nio/charset/Charset;
c³ ´µwriteStringToFile=(Ljava/io/File;Ljava/lang/String;Ljava/nio/charset/Charset;)V·%Errore nella scrittura del file di OK
c¹ º» deleteQuietly(Ljava/io/File;)Z
c½ ¾¬ forceDeleteÀ%Errore rimozione del file descrittorefileDescriptorokFileuploadedFileDescriptorOk3Lit/digione/dg1cloud/pojo/UploadedFileDescriptorOk;urlLjava/net/URL;json    cloudFileÊASi e' verificato il seguente errore nella verifica tramite {}: {} hÌ |Í9(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)VÏ.koÑ%Errore nella scrittura del file di KO errorMessagekoFile    3Õ օ    separator
ØÚÙ#org/apache/commons/io/FilenameUtils Û  getBaseName
Ý Þ/
getCreatedà7La data di creazione del RegDocument non e' valorizzata
âäãjava/util/Date åæ    toInstant()Ljava/time/Instant;
èêéjava/time/ZoneId ëì systemDefault()Ljava/time/ZoneId;
îðïjava/time/Instant ñòatZone-(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;
ôöõjava/time/ZonedDateTime ÷ø toLocalDate()Ljava/time/LocalDate;
úüûjava/time/LocalDate ýþgetYear()I
ú þ getMonthValue
ú þ getDayOfMonthjava/lang/StringBuffer
 
.     
2getRepositoryBaseStoragePath
 K ,(Ljava/lang/String;)Ljava/lang/StringBuffer;
 2 getCreatedBy
 K(I)Ljava/lang/StringBuffer;
  getDocumentId()Ljava/lang/Long;
 K,(Ljava/lang/Object;)Ljava/lang/StringBuffer;
P    localDateLjava/time/LocalDate;yearImonthdaysbLjava/lang/StringBuffer;lambda$1#(Ljava/io/File;Ljava/lang/String;)Z
Ž' (2 toLowerCase*    .dg1cloud
Ž, -dendsWithdirname
SourceFileCloudService.java(Lorg/springframework/stereotype/Service;value cloudServiceBootstrapMethods
798"java/lang/invoke/LambdaMetafactory :; metafactoryÌ(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;6»<»%
B $%A% InnerClassesG%java/lang/invoke/MethodHandles$LookupIjava/lang/invoke/MethodHandlesLookup!    
     
     
)    ¸³±%/*·±#  !"
#%')’ *´+¶-L»3Y+·5M,¶8™
,¶<š#»?Y»AYC·E,¶F¶IM¶I¶O·R¿,ºS¶WY:¾66§¸2N-º[¶^Y:
¾6    6§“
2:6 *¶F¶a6 §1: ²e ¹g*¶F»AYm·E ¶o¶I¶O¶t§J ™;²x¹z*¶F¶}§/: *¶F»AY€·E ¶o¶I¶O¶t§ ²‚¹z„    ¡ÿl„¡ÿG±y„‡pÄÍÐpb-.01?3Z4[5`4v9y;„<‰=•>²?µBºCÄEÍFÒGïIòJü43NR     „…†‡Z¬ˆ‡v†‰‡yƒcŠ ‰,‹Œ Ò‹Œ Ÿ ýŽ3ÿŽ3ÿ Ž33ÿ Ž333p-Zp!ÿ     Ž33ÿ    Ž3cd")' o²’+¹”»—Y*·™M»3Y+·5N:-¶8š#»AYœ·E-¶ž¡¶I¶O:*+¶t¬-¶£š#»AYœ·E-¶ž¦¶I¶O:*+¶t¬»¨Y-·ª:»­Y·¯:,¶°À´:§$:»AY¶·E¶¸¶I¶O:*+¶t¬¶¹»3Y-¶¾¶Â·Å:¶8š$»AYÈ·E¶ž¡¶I¶O:*+¶t¬¶£š$»AYÈ·E¶ž¦¶I¶O:*+¶t¬»¨Y·ª:        ¸Ê:
    ¶Ð
¶Ñ¶Ôš1»AY×·E
¶IÙ¶IÛ¶I¶Ñ¶I¶O:*+¶t¬¬Ž‘)¢(Q STV X'Y>ZE[G^N_e`landxfjŽk“l©m°n²q·sÉtÑuévðwòzú{|}€&-‚2„?…H†R‡_…dˆk‰mŒ„ o o݅[ÞßRà‡ Oá…x÷âãîäåŽæç²½æç“‹èɦé‡&Iêë    -Bì…
í [ÞîDþGï3Ž&ÿ"Žï3Žº­)ü ´ü?3(ýQ¨Ž7 ¡²ñ¹z»óY*·õM»3Y+·5N»¨Y-·ª:§:»?Yö·ø¿»­Y·¯:,¶°À´:§:»?Yú·ø¿²ü¹z*´þ¶Ñ¶Â¹:-¶¾¶:»3Y*+¶    ·5:    Çg² ¹z»Y·:¶¶¶Ñ¶¶Â¶    ¶¸"¶(¶,¶04¶6*´þ¹9W§²=¹z*    ¶F·?§C:
*+
¶o¶t§: ²C¹z*´þ¹E ¿²C¹z*´þ¹E*+·I§C:
*+
¶o¶t§: ²C¹z*´þ¹E ¿²C¹z*´þ¹E±&)L@MP)p%%V]`pbooº.
‘’–&—+˜7›@ŸM R¡^¤h¥}§†©”«™­¤®­¯´°»±Å²Ï³Ü´æµî·ú¹ýº¾¿Á"Â'Ã2Ä=Å@ÃKÄVÈ]ÉbËlÌqÍ|·ϊ͕ΠѢ¡ ¡Ý…ŽÞß…à‡&âã7jâã+ ‹N@aäåMæç^CæçR ‹è}$OP†Q…” é‡    >‹Œ
b>‹Œ
í ŽÞÿ)Žï3Lü ºÿŽï3º­)ü ´þžŽ3
Mpÿ Žï3º­´Ž3pRúIpÿ Žï3º­´Ž3pRúAB")®Ó²T¹z,¶VN»3Y+·5:»3Y*,·Y·5:¶8š/²»AY]·E¶_¶I¶O¹z¸b¸g§V²k¹z»¨Y·ª:¸Ê:¶Ð-¶Ôš+»mY»AYo·E¶IÙ¶IÛ¶I-¶I¶O·q¿,¶F¶6²r,¶t¹”*´þ,¹9W±ZÔ ÖØÙ(Û0ÜMÝRÞYß\àgárâyã~ä‡å•æŸç«å¯ë¸ìÇíÒîRÓ Ów…ÓOPÃx…¹y‡(«z‡r=êëy6셍þ\Ž33ûRKB")
Þ²{¹z»3Y+·5N»3Y-¶¾»AY-¶¸}·E€¶I¶O·Å:»­Y·¯:²‚¶ˆW²Œ¶W»’Y·”:,¶•¶–*´—,¶™:¶Ÿ¶¤¶§:²ª¹”²¬¸²§:»?Y¶·ø¿»3Y*+¶    ·5:¶8™    ¸¸W-¸¼§:    »?Y¿    ·ø¿±y™œ)ÇËÎ)Zñ óô8öA÷JøSú\üeþoy‚™ž«
¹ Á ÇËÐÝz Þ Þ݅ÞOPÊÁ‡8¦‡Aäå\‚ÃÄooÅÆ‚Džž ‹è¹%ȇÐ ‹è    0ÿœŽ33­’ )ü3F)vweˆ²É+,¹Ë»3Y+·5N»3Y-¶¾»AY-¶¸}·EζI¶O·Å:,²¬¸²§:»?Yзø¿»3Y*+¶    ·5:¶8™    ¸¸W-¸¼§:»?Y¿·ø¿±:CF)qux)6  :CHU!c"k#q&u'z(‡*Rˆ ˆÝ…ˆ҅rÁ‡:NӇH ‹èc%ȇz ‹è'ÿFŽŽ33)ü3F)  p.»3Y+·5M»AY,¶¾¶F¸}·E²Ô¶I,¶¸×¶I¶O°
-    . . .݅    %Á‡[\z»+¶ÜÇ»mYß·q¿+¶ܶá¸ç¶í¶óM,¶ù>,¶ÿ6,¶6»Y·:*´+¶¶ W²Ô¶ W+¶¶ W²Ô¶ W¶W²Ô¶ W¶W²Ô¶ W¶W²Ô¶ W+¶¶W²Ô¶ W+¶•¶ W¶°V346#7(8.94;=<J=S>]?f@mAvB~C‡DE˜F¢G«HµJH» »OP#˜(“. 4‡!=~"#
$%? +¶&)¶+¬6 .‡ /…01     23s45<=>?<@CDE—óFHJ