From 17817d7fb5263d4644bf07cf7d442d12a39afaec Mon Sep 17 00:00:00 2001 From: Aldo Mihasi Date: Mon, 27 Mar 2023 14:47:04 +0300 Subject: [PATCH] changes in dmp deposit model --- .../config/ConfigLoaderImpl.java | 25 ++++++++++-------- .../interfaces/DataverseDeposit.java | 19 ++++++++++--- src/main/resources/application.properties | 2 +- src/main/resources/dataverse.png | Bin 0 -> 10253 bytes 4 files changed, 31 insertions(+), 15 deletions(-) create mode 100644 src/main/resources/dataverse.png diff --git a/src/main/java/eu/eudat/depositinterface/dataverserepository/config/ConfigLoaderImpl.java b/src/main/java/eu/eudat/depositinterface/dataverserepository/config/ConfigLoaderImpl.java index 9a16cc7..0c37067 100644 --- a/src/main/java/eu/eudat/depositinterface/dataverserepository/config/ConfigLoaderImpl.java +++ b/src/main/java/eu/eudat/depositinterface/dataverserepository/config/ConfigLoaderImpl.java @@ -36,18 +36,21 @@ public class ConfigLoaderImpl implements ConfigLoader{ @Override public byte[] getLogo() { - String logo = environment.getProperty("configuration.logo"); - if(logo != null && !logo.isEmpty()){ - InputStream logoStream = getStreamFromPath(logo); - try { - return logoStream.readAllBytes(); - } - catch (IOException e){ - logger.error(e.getMessage(), e); - return null; - } + String logo = environment.getProperty("configuration.dataverse.logo"); + InputStream logoStream; + if(logo != null && !logo.isEmpty()) { + logoStream = getStreamFromPath(logo); + } + else{ + logoStream = getClass().getClassLoader().getResourceAsStream("dataverse.png"); + } + try { + return (logoStream != null) ? logoStream.readAllBytes() : null; + } + catch (IOException e){ + logger.error(e.getMessage(), e); + return null; } - return null; } private InputStream getStreamFromPath(String filePath) { diff --git a/src/main/java/eu/eudat/depositinterface/dataverserepository/interfaces/DataverseDeposit.java b/src/main/java/eu/eudat/depositinterface/dataverserepository/interfaces/DataverseDeposit.java index 87ed7df..ab2b5c2 100644 --- a/src/main/java/eu/eudat/depositinterface/dataverserepository/interfaces/DataverseDeposit.java +++ b/src/main/java/eu/eudat/depositinterface/dataverserepository/interfaces/DataverseDeposit.java @@ -12,6 +12,7 @@ import com.researchspace.dataverse.entities.facade.DatasetFacade; import com.researchspace.dataverse.http.DataverseAPIImpl; import eu.eudat.depositinterface.dataverserepository.config.ConfigLoader; import eu.eudat.depositinterface.models.DMPDepositModel; +import eu.eudat.depositinterface.models.FileEnvelope; import eu.eudat.depositinterface.repository.RepositoryDeposit; import eu.eudat.depositinterface.repository.RepositoryDepositConfiguration; import org.json.JSONObject; @@ -142,14 +143,26 @@ public class DataverseDeposit implements RepositoryDeposit { } private void uploadFiles(DMPDepositModel dmpDepositModel, String doi) throws IOException { - this.uploadFile(dmpDepositModel.getPdfFileName(), dmpDepositModel.getPdfFile(), doi); + this.uploadFile(dmpDepositModel.getPdfFile().getFilename(), dmpDepositModel.getPdfFile().getFile(), doi); - String contentDisposition = dmpDepositModel.getRdaJson().getHeaders().get("Content-Disposition").get(0); + FileEnvelope rdaJsonEnvelope = dmpDepositModel.getRdaJsonFile(); + HttpHeaders responseHeaders = new HttpHeaders(); + responseHeaders.setContentLength(rdaJsonEnvelope.getFile().length()); + responseHeaders.setContentType(MediaType.APPLICATION_OCTET_STREAM); + responseHeaders.set("Content-Disposition", "attachment;filename=" + rdaJsonEnvelope.getFilename()); + responseHeaders.set("Access-Control-Expose-Headers", "Content-Disposition"); + responseHeaders.get("Access-Control-Expose-Headers").add("Content-Type"); + + byte[] content = Files.readAllBytes(rdaJsonEnvelope.getFile().toPath()); + + ResponseEntity jsonFile = new ResponseEntity<>(content, responseHeaders, HttpStatus.OK); + + String contentDisposition = jsonFile.getHeaders().get("Content-Disposition").get(0); String jsonFileName = contentDisposition.substring(contentDisposition.lastIndexOf('=') + 1); File rdaJson = new File(this.environment.getProperty("storage.temp") + jsonFileName); OutputStream output = new FileOutputStream(rdaJson); try { - output.write(Objects.requireNonNull(dmpDepositModel.getRdaJson().getBody())); + output.write(Objects.requireNonNull(jsonFile.getBody())); output.flush(); output.close(); } catch (IOException e) { diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 83138ad..b8441d5 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,3 +1,3 @@ storage.temp=${STORAGE_TMP_DATAVERSE} configuration.dataverse=${CONFIGURATION_DATAVERSE} -configuration.logo= \ No newline at end of file +configuration.dataverse.logo=${CONFIGURATION_LOGO_DATAVERSE} \ No newline at end of file diff --git a/src/main/resources/dataverse.png b/src/main/resources/dataverse.png new file mode 100644 index 0000000000000000000000000000000000000000..4545d78b89c9fb626733b08387e9baaa3182d471 GIT binary patch literal 10253 zcmcI~^je(kdNGvvhY$N-n)L(%rE%&-#7e zKjC@qAMTvF=A4;xu9?qV_xI0AGPqcjSO5S3S58(+6##g4fxPd)L`R-6ML2&TFBC4) zS}tn#<}U8WPG$h{ul6Qp^m4Yw7G|nu#$P=g2h4;40G0|lDRFi1{6PlDX{ez1A`nPd6)13;kEZ9T)eH26>s9z595I1OR{-Dq$wslO8FT6FEyN z;zy+@NrfW&8m+<@w*Bqvv3v-YvUiX<1`;tV?w9|H{Bq-W){ewp3%UqDxDVM?9IYqi z4zS{zC(<*Nhz~DrqPP18A`M9^&ewpNA%(}cx9Os}#m@i$9Q8jez5DqA$(o=mG6Q$I z`Y@!e&Sw5gbbfZnvt2yxWJmvhwU6+E8nghk^NlgBlaE@ z0MH3&b9Q>Qjl}>j`)<*@9|K=Z;zxh>{nq&uG1*>LBsuo4EyZD|L@G%leZ{;LO)D7x zg;#-=pK_0v{}Krr2;g_$q}cfR`$w;-sudal0KKEDjO-G;}-(7|Nr7j4OON+bY~BgQ0U~JRQYf^O+nCYb*>X@rTx) zs7gyv0b<1J4QXc2;7y`(^Yl~%6v8g<PE!|wjMxG1MbX6ajGzx~d7*gAV>`3d5h)w;jU z-!VkL)Bk#1)(!aym1?Co)={}u|E7FE8atPsP}EMF&AA;B$deJq>9v9BgbMICK2tw$ z*#~SV!#BfLE_Q$SzuIw%zgJIE#6udF?hpYlhI`A36<}J`oQ@9gX6jPn6I|dG($)qF z9|8c}3VUZ!abb^LYTKM9zPV$OikSrqGOu^iy+4k=OHz%{RH7+CgCKcCYCGQ|;naZi z^8Hn#q6CDPYkpbp{j`#&(?Y{Gt?p-PZQG*j`cS0=AeU5Ht9$BCn0yu4@$UV%h!D!Y z=gml>kb1q>kd9T~>}H_UF_}WQIonYY{@65TZwq-Iks6lu{&WKSv_NgzAny~Tva*D| zo>(6h0LaM$E)Tt01KmFKt$Jd>ggaGA%TCT`t&*hLz!}vI5UOQJBprMi+37v2`N!H* z@1Jod)mXIe?w>#MU125R*~;Y^TBv&nz9RtuLVtHWT`KEHw2}FS6^(h`7spN>5V#;a z*_7le1Z>EZsp}h@GnXqXg)WYaO74%w(CZ?n&_rJmm2htZ%v%{uAhIk$SSMY5E$idG z^$K+1d!|Y>@?BpHgA*uvm4bc;`OqnpvW8Gee|q*01hDL(asS93niiIYbOvx-Sg@q_ z|6uS__VAy@7>4}!Ucd9lfk&wU5Dl5T0B)~cmjBG6rxoen%f=A0jfO?zDjKvtu4S@n z8Lu>;ZX(@{>XL+>kF)qFaTBqt>78ah9iFti>+NLHpCBP5a>i>SC7eCIP%KKfvy*Pz z?IQwNxE{q@S;kg!S!V=B-&r_va7O?De=)c~8sG5I+N58e`o3CrWzcKzsfWba0Cp3l z;wI?;pSRKSNPa9t_c(fLV0u;%4d1`Z!lF0!qziRrsx`JJJviOBfV{x+w0&-DFgTGU z!eZgv`3pms3aRf~uGAb@1Z=av^;j!+(Kh>|M;P86?0q(VL^mZ6uuekUw4GhZ7gd8m$8IhSN9%ZGR@J4gr=kbF>%I+ zbhc&Q*T+9mw+DGH#BcAE9NXF>Zz4AzRGUgY3IY>f`L4bGlv3FCa9#JBx%;ISDE3_H~1IfDu9WGhPF7hI=|)Q*BDF@ZDj7y(jhZa2y9tl;?V zT63|1Ch8i(B<137*6Pe{pDc=--~#(9uO-+{A^j%5kDIn^(#cVQ+4wyI;a;6-WDP>oUNC(3;H_c3!D*|OZ7@UZ_9KLD)4x^ zGM?2}AAO0o;&Z7M86uN0a2e&Y&tabM6|+9%K`m%IrFuIJ{Vn5Oc!MHktObRa>pipX z)3r!az+lW^|aA z71m6O zE7vo0ySWNvhyjy`N`i~l4E~j@lgaP+b8jp5Z~gemVUC=a z=QLhms_bR_jN-)Myhlp;m2Y)X`WE+sF>A%|NFNm8tDqg$Coh=NsOny~rvBkyOaHgJ z=A$p1bwZ*uFce$x1l({hucr!Vn+JYn1#D-RGsw%}aE9E)Q@UocpS`i0q*dM%Q%Sg8(a2hFF!W^|40fO5jG_Ds{meFO0c{^;Om*bk;BC|vRe$?OICwKtxzU>$ zv_s{(K3pOLnuuEY6*)FB#ciAaas|b2s2!Zk+P#3;qlf8wav>Rps3hIvKUYWllprD? z-cXlg&lj{AVi#+Y(houZNSmx0R-xQ@I``$M-P}J76Je=1Iovf`eL$MJz2rEz8Csp& zmQKYfl(a2-W3!d9`r+lc_u<(-t;gK_wo|%ic#x8qeow@a^%vHly0@QnjmbGeMB<>{ zqXnCdNeif4A5w5WXe?AK9=57^#3!mC6#EiFy0x;3`>DcGQoS@$lRE7CK58_z@fF3d z#NeJONcl4mG}lO(dbi(xG1f~Dd3llCPS5=iF9jiF8~i1U&9ynJS1?QlQ#g~kNCFiP1Kw&|IZYuj;JC}T$Dyy)pc`5j}aAgg3v zW_#g)4_&*GNZgOK)6KKsB1_E|X3Unxd7Fq~1@Hb^@WU;=hkH!n<~R(`Jfd_f0A6=6 z%8p@@X`Mu4Z|e9^7ILW^x{zS(vDqh%_AUs%@vg1W;Z1*n#V>7n)T12nNue6=mAH_4N)&V$Sp zm4&1D#yj{}{W8Jml#1YD%LG_O9-q$sC`(juy?Cxprp-a)KlbIpjH4cZ$t$|)0aw>H zJ+s$wgxAso-pMAq{>uMZn&5?+t|`pIToIn64>|qSTN-{jyYWlG+9>^E^J6on08K^~ zRnLUG1CMr>p9lF1)7AU%m506S#~ud9{@QE?$0I?lS@2&@1B*0?xcA&BKDaBq{b!5e z+`NM2cTu)`Jo|E>J~5GkFq+&j5litg7E=XD%5YOWL1g~gyh}`h?D9J_&5DE#)q15t zqL1lYtc|WYg>S!wyA*IvF5i*XmqNlF&ogO1{3?reO?I*u>0H3!r2AZ(;YztLo(ApI z>wS%T0vTSThylq@h6FV4SNgq-jVV%jkGo*9w)1K>QD(WuGwMeTllOMsp*9+(XRn0a zz&^PobWpe1j2&UC^|KT-${_UJ?1pK8K+JPJTK4QSZZf8~?Yc5t zOp{-Gn)glU&r-hdgWU_f>MeCG>E70Ki@_)m*~Ma$Ppr9%MIT$!a6;c7l)+Fby)%ZL z04(Y?VUc+FuBsp0?&2(67+o7W-X;6o>ltujb@4webRVvjxMFds~N6qT>vj zN7)t{;v;zNi}aZF>(bVwSsnaHRz???37@7J6ON&whRUe7y!q-HI7dRekYX-ypJP_q zbDM`*BLQ+X8Po2_Z}=9L&e&oeAGtHMUik{=WhuCw6^*uRu(sxZ-VUM*DXbA!gAnll z2o6L469z1a$C&D80vA@q@UqegW1J4>=--8Rx}JVWdl;2NJM5osoJXUKFB$8Vh3R&%8fMWhcZa=X>`eVTmF znrK4id8GhMm!F2d&#vh=9t4fqJj)Ech{D^|a5J1G01l?+_5(eOJrg@aQ7eN?-bQHS?`U<-N`MA65-RX{|enVm_5oYyB_irkKG%1WNJ5pHhAoNN>Yk zmmg+ht8FIb$!>WUeX`wd3bhR}93As{?mwv*@;$uV)iTatE}j2#_;`*fqe0a$bDbkft zGA&8>hStOw#`Yx2q2!?$%Imh=@NF8;9v9q}^!S$AonyRn=fia`$)8K$ul zG4;_l5x~42#rLG>iyvDtMD00T0_GR%dIgnhT*z!ebZAQ>XVpcO#j>BbML%x184lWZ zNgM(Hl+Uf-wy^EDHENQfu9a?mAOi2m&{bNx4;s`q3HC=|2IE$*0{Ny<-&4KFO!ju^L0mm`Oj*SIPvBM%@ zVNXrhxnI`%f`OP)f-grPr~0!$xoX zk1%ZZ!Wz=)2l;)wzm1*pS3zhITGLz4I6h$C)R$OL>c+Q}jkSZrKfIWD-m@q_Tygt1 z1$-crl*tRq3B$X%{3Iu7&ff0PDZlR&u>Iy{SrXzg@iR{C9%h+jLfaB{q(<2H>lauk zHJ09XOfSv4H zyd5FQUYRj&-NY=UJduaeUOwDe@`t|(Ir67OaZ3T#zd4^w($iE z!^b6M8ZA)xNL>W#6)qJIPio~-tevh~I5WM)>Ri{n7cs~uy#|n*aL$sQ^ZDzSZg|$Y za$lo;Ror2zo&50Xg;_NGP+|7plAp;Ek3n!u&!dzI3JC)AmpbdJXz=l2=d|J&%~gT? z%&b8j88XaRnkHZI!A{tPbZQ0nohmnvCNf4@_h1-@}$zQjr5w=!KU0m80uG1g2^1(d4>)2MYbx(v_walPg*qkRh{ z%!7->m`VN1e@*oz5fnQOwjSf81}G;~MoKY`&b0eG*&r89hGcL$9zQyh(VDXaC2Z{g zwU%i+z7>LAt>|?W&7u?#-W#b@oToNmhf>!YTyd!YFW4k%Qf@@+5+7^n=g*n1HQ%4i zvJvGa>ufpz{#lz!Bp(V2hKmi_PHRk+4Mkuy%MHO+$h<*^hd<_jl%N{D19&oQv2VOe zeYJteSpo+H?`H%*r~r3WdX1_d>R5Ls6DdQL-7=x1cALX%24pA!oFYMS1c%$20^=?% z+G^r1wlzrsL!xxDy7J&*hs_Ex*N1^qFMXUE51h+4FFbx72DGz-nZ@|=?8D++po-$6 z_SwdHUG^1?MP1%MQHEVrW)F-xnQX~ysTknRW_X-%(#rR6Dlhf4w|-ejG?+EY_m z;H4Jrw}X5-$Npez5HsEo8l0xKoB2|~_Uuqr!mgVhWmSj7Wv{e%UmHyrGk^;HIbSQ- zdr`|6_pG903YYl4B?-Oj&HG2wQYMy|jIQk)gFSRN()=Vb*eWO-O-si9E5Qk(#bAA$ z7{6=Tit^;qXC4e+`($=@K+blKAJ#mGV>;A#>U+$w$AhaEo9+5H6l9udw9X&9z}p*H z@JI80nYjut2s8NC&1<9Qi6}EYw~#Z}jhNZI^9pL!vzxE3Id@*`rj+vX*X;g0OwhA* z^i-9x>7_hAD?U`Y0`f{X$cK{MrgjIc(FrPHeE!**DsJ0v-ebI6!tEmXe4k5$??lYs z#dGepXF|UvB_cX%*w?LNw{_|rE(&eu$YTYzL@FJ=F@0Qhu#q8JYOC%(u`#uA2W1SK z$&4l)PKd8l@7OG+pSw5jz&_$c#VyQ8fH!{mLwvT#o09nneyIn8Qcu&PgXL8+|C&`G zGY8F$lm93rjHR9A@tKV?p}_TFYNj7WCxO#kEbSuOTJtdV!c2VhFvp7DsO`?gDo{D~ zw=+YXyy1Gr(dqG;&Wd!v`S)+O@659Gic|&USZ0G>m?rcGl`QBR-SiBN@tW-9)MD*vLr=RV$$9cO6;UWF`nBL9d5`S#cR!yX+b9 z!gqzs$4c|P2BjMRVy6{qXZBfA3L-bB;~Ui7tO@O`4yLOVHy|*QQX0n=J=a-3S|9{V zl$1!|@6c?z#bZb0-*TIwhy~T8XIlH^GhsA6_i^t#A}3h~tho&6IBsL!K`;V+_3#KI zUC^C^p6%A>-!+?vNHYtz2Lhi*1*xZy+eR)(0R(|Jz`FSmL zQ9Zd-7{yYNl~_RNd3^vzNf3h+YzSrUV!jm^(XPhbqg9O_C}SACf}T zk&V#dnYHrY=gs8o4cX>sHlPLnAdOM8h7!!P_TRkM%SroUQ}gYHoGbO_66UCBRjjI{>^weq7!its zH*9evgs%-TpIlcJOcQQ#I7fpp-S<+y)z`PJ{_dA?@!mHZLN==R9&u5ho|(Pn<=o$F z?`*`Fdz6bw^t;t!T!`jx^Nl7~!u(78Eybv=3R=JL>NTFeSKQ?YxB2X3WgJ>tu4pN2 z=z6kTIOVxoCzcW_spm{s*N>~*34?_mCvLxY9zotqUdAy7uNgePRmanVP;ECWZ3|O2 zmiTU#sj_E1p#*0blkQF@SP2=d#lHQpO58ELQf0(`_2H+xPJP6R>fC3C{2KA$m6Y03 zVG%QEVOra#S>!Gi#X!5&(B#Iud@rYw?l}2}0yVDWUtuHsh-qD>amMfpK0rU)j-<>d z^_))^KRs|_Hrwx-(cWl(v(}}IQX3KLzy=APWC>|tiubMTGO=5Z@H=z1cz-=q6H(T& zC_Mc5vUj;w`M9aHnrS+BG(691Fm}2RcaC}}zfT|SVKcHIs-ii(??16Yuz-9|wRu?p zSLx`7@fnZ6I>O?g3T~XO4fqMK0^$5q zBK)J>%Ol5Ud&nD1{^0-Af_%XLPZuFS_9i)XF5@@2ef_Ug=U6iSfKbE5#5PZU@PBf~ zSl8s?_cfR@D!3;)i~;rkR}wy!XRHi0@Z_AL5QhDyl!OL;nyP*V%C#zB_^%#0R&m>Q zCi+FxTYON!KV2l877r^;Fv7@XClOBqqA|hTk=29(`1*M5oc2Yy#)*679MJys&~U?f zW}z^9K2HJ*T)gsKZX*Ai@vr~u-J*7LPV*`-Ut2&3MzYh2(cG@%02^`;e}WL@HuvGS)6%Nv%bcP(oV?u5dc zUrvF!$T)Qshe@!0+TG@i?RkviM8T&45b)G4>$P(B#NM=2m?nF29r-XXE2HP$K`+m3 zd!`*>6}yD(cc`AI!Y+VL?%;=Vf)n0>g^Wsg`}e=g?+btTy?TQJ-U0Zpo&<~go3})G;%*pLUlOmYY9XdVEjglTV>9$Iz>W<*maJ9p zj8w6VTu_v|n&Kb*`q%DFm@w}R=HL64QP{}g97iJTBK+(*UiPXVvrgj9dgIHt<4<4O zMIe6c7|b16T6CMRUMzI&%q8}E!GHdCF1i`6-g4KL6j$|elhEF{z8=qx>to+ZcESMg zF%;cDi8cp}sSHE!m-8zZbUs4%$sY9x^6uKIz;~;@w(T8Y7|8H_U28(FbUan{?|ezi zKi*QM5pNP{kWuE(tVfC7UQE6?6@H_{ly~MeK%_@jk#eCEc?=C^VK0^wvybIRM*(#khX!PpM0IfueT0nqt#y=H4Z3TbW3B3&N33Mx z7ILt)ookshaBt!PPDom%%?K8;oq=Q4yKN1r-_9*g*MY7}E^c2I`-!lRrCv_UkoGaN zvzfI2GzEaIGK1ZQ7~A5^IbsYE&U#h_R zomNBm4sF!rYIHRl72w@_A1bZ3_1omZv&%$8?YoEK*u25FnSvXH#;H=|{xFrWq3UT) z1F(wy(M{ttxPpY%&ow$Nit@18Px)-P1gEZtTZ87gcTRe7o0PK@J2GJWBhDp)i%q=y zPz_ZtO{iPDb%SK};pA94D!CnMf3>88xk8=-C^fj|`>=foR?d2q|8N(5oo^``27c{b zf%EX80d;B#+S&?Z%^HbM?QM0z6 zZoU42Y*+xpoJ-r>b(odkW_%7AbDV?=lzf1?~jJePIDg2sveh(7@AB>mS4V`KxhC+g$D>zkKvj?39%qJly1Sz}CxVsSEe?DhPCEKQB(eqmlFrzNlYYd~2;m&McIS zBM?q6)5mxL{Cb!V6X-8?Y>9@kpQA|V^9$0Yb007$il5J;L>XD>{ z z+5T3rW;zt84bc_l!Q3h)7*+}ziSWv8_NZ@cpx|PX!bK*Lm?7wrO-1xM(2P*g3eC-& zXIkX4F$@UfAlzd;nsOLn>*Ws_x&#YIvivOb>SGV)?LMb|35$a+_U_v7F@0`@aNtIZ zhkrl@#pg?J-dz%tTSvnt^P@L=ufEV}*E)^({L*}^iXL|J#)q!?P>8udT{Lj449z=? z;EKXO?LbT2?+>U(>g?ur{*WN1fQdN7nl<55u0d&|9++@3~61gS0~G> zvsxwQHzK`~Uu|zc!WzL6j*|YvfNYuv^EORl7~Z;sO)WF)!#Jt<`7_Pt5H$S8J8BcD z?E`R@B$Z1bx>R@5;-;_+1C})(-5kpW-4u?K1i#Tx^16QsKofc5;vb= literal 0 HcmV?d00001