From cbd7fed2c909d18602d79cab3d20d5d8eeafbf27 Mon Sep 17 00:00:00 2001 From: user1 Date: Thu, 9 Jun 2016 10:53:37 +0200 Subject: [PATCH] codestyle --- .gitignore | 2 + ... Capabilities Selection Extension 1.1c.pdf | Bin 0 -> 244496 bytes .../java/edu/kit/scc/CdmiRestController.java | 20 +-- src/main/java/edu/kit/scc/Utils.java | 15 +- .../edu/kit/scc/http/CustomSslContext.java | 2 +- .../org/snia/cdmiserver/dao/AccountDao.java | 66 ++++---- .../snia/cdmiserver/dao/CapabilityDao.java | 84 +++++---- .../snia/cdmiserver/dao/CdmiObjectDao.java | 17 +- .../org/snia/cdmiserver/dao/ContainerDao.java | 160 ++++++++---------- .../snia/cdmiserver/dao/DataObjectDao.java | 144 ++++++++-------- .../org/snia/cdmiserver/dao/DomainDao.java | 2 +- .../org/snia/cdmiserver/dao/QueueDao.java | 66 ++++---- .../dao/filesystem/CapabilityDaoImpl.java | 36 ++-- .../dao/filesystem/CdmiObjectDaoImpl.java | 68 ++++++-- .../dao/filesystem/ContainerDaoImpl.java | 90 ++++++---- .../dao/filesystem/DataObjectDaoImpl.java | 82 +++++---- .../cdmiserver/resource/PathResource.java | 2 +- 17 files changed, 449 insertions(+), 407 deletions(-) create mode 100644 2016-03-02 Capabilities Selection Extension 1.1c.pdf diff --git a/.gitignore b/.gitignore index 73feca5..fc975f4 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,5 @@ target/ .project .settings/ bin/ + +.checkstyle diff --git a/2016-03-02 Capabilities Selection Extension 1.1c.pdf b/2016-03-02 Capabilities Selection Extension 1.1c.pdf new file mode 100644 index 0000000000000000000000000000000000000000..56f347b4e1b1866c6e955eea9386b4048c39d7c9 GIT binary patch literal 244496 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
    EHR1 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]qRPq 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

    }mxX0%ZC#2qp~5*6q-rvdwF)4*bN=!38Jyzx*8 z0#$`AJ5keBU2Bz-xYp%K92DV!L;`ua?Nnz*oPs$72J+2a-go7|sra|@qjUtZu*git zTiA#>*<5-w{22u8VQ=~NbR_MwF=|K|S%b(|gAC>HNk(jz&eF1s<89m0GCgChEkik4 zHNHZZr;z2={A}dLy(wE3Lk;YCY4`Tk{4Cgi7~H+lzuMo3VFSMUb{Yp)W_HM2#&RH{ z4a*WU^yy5(EmNj{uirG?^O3ki#?;@GpF+?3*7gib8sxV(3y>R=VO>FFxxTl%3?=+< zwR@DZJd=-Ug{!vCC@3o84E9(kHtUjfJ4rd=7-b_i5Wi>h z8}$#lCTlOHHBCfKXYn@ElE@4*St`a5Z*g%SYI$sY&6D85rdw}LOF0$6uzY$b=z8>r zxXdoJIJoe2u#pYr%In3N?dYn~7dZ5TcX|?;S|XOwgy~B#KB`7@REy z;Lc$2w@zdDf#l!g8PTE0#6WbfIAjowwGhCKr&B~x%pWbr<}K$BaEqk(#c1ZqDyEj_ zE9Xuyoaj`RQZV1KtIU{ANqa4v8q=qR@Gvw;|@f#7^ zk9vsgImI60fDVH?r`)`DDlt^-@g6O=P7s2cCQs)>wo57)zDxn8Cug{a_F4WL8YR6+vOjT~8=r)kI5k1AviW=_IlR^7PpbD4Ve6w}Yv%(V{LyAI*I zd7D++B2dysm`P?XmJ_t)9`hWNAZANIb=V-|9)qA$G!y=2X(};OBz zYWEe?fhx3C-=BHid?Bw~MhqW!KhDd1z z=|B^Kaui8CG|!rkE;VyRI5-xe0-lrr7{PrDJ@^zn&R|q{VKek5_#IheB8Wf`l_Ig7 zGg-no@(wUP`sT+@=s{1yWxHep{BmsGCxLk-$}hjjD+oulyDOnp=moDI7C1F{z}zTL z52JmeAJsEmqzFWTvbJZhP*+{>1~fTJkKXx{e#@`*tAy>497}mzF93%NF2Q}X)z)3qNAYk{gWE$d=Q9{ zg#0*vlAu>m7zO4V__-PpxLnh)2PCxP%(!Plz@0e&%R{9mIpQ*%+D5UaqXee#iDmC3 z0GMM1M{q=n(unh`9|*e$SRN6kr-ijMs7XwUvL1*&@-JchYnbDp1A%>UqdpenXhY)i zjnN-QFc|~0eL^WKYuSf5a~%FS)i|$j4)ZK~l|M!G*y-Es z^zRg870iIN`9bob^TJQYwi%M$>4x#8=xNyt5T-r57&HwZ@^n+04(5{PUbl6rDb>!C z&^@NFv1xGDc`NiRez>WAvnB+j_aaD2B>J%9(}<49`GKKGIIxmArz{~kgbEzNEEA-P zRb5G%JU|+MdE+g-;c4DOjwS!8!E5RiR%p{O3-kx;s4X~|*hYr|l`s^xD`Q-Zo)k3& z)|=y2^=i8%q8wF;vQ!o0fKgB3zLL`|%8^u!KCM#ZN`z6#Rw-(i9IS1GL~voJqVhOd z4<${cE!RsIqeQwrnj`Asz3?iEU6Ax4lPl?&7{I10#jliaV#@ajBUCuV5-nO(XisP4 z)EnL|%duq_sE`XQeY#BaxOm;#Gnl&Wk@E{G)y~8n#!OxgC_T0)5#(ZR%km7WXqj(N zZCEtrui$vlvPnghNG?bq<~jW3SLkkke2R2t!QEBS4jFBm2XRDRd!naMGQWSUK=JWB z#TT9KX#cqQ^LQ|kIUUz6?vvkUyK~v&Xz>+B3-+BBM?%c+_ERIH80wH@!W979u2B=@rrDG&eMPu~#?YvxG;5XB(QB%wc^-u< z=B^Le*F;x*f%05C8ey8N*8cD;NNEULCbn?+L=X0Ay}@A2%8YaSjr2oj&0m!_{xfU~ zoGL6_yJ;90*;8>@)~XpexdOeAR8vHH#W1NN%+}v`N8LOuGVj_N2-Jp&&mB$lT)Dq| z{|sV+i8M&=6{1;5T5_A$B<*`GM!l6Dzrih{=0qu~Hz~0g>NXMvQu+_XPB(BHv-?#+ zeH%HNx-^=U6?9I}+9)JcWz<4JeqC>>;i`R@GqWP&iSTZp5yZ8fGqihX1Cb`5Y1|l! zH-u`Ta}ve87YsXVm6Gs|uuho6b>rEwc^E(~#^^P_gAoK@x+<+I#Akx|+qbZVM}^3a zgl0FNB9YDHo_O-a7RipfuJ%BAHp`$1V#9=P{0pdwb=XdATb=MvwenKgG7N2v(g#^q z?NZz$_C#qV*o7=~QE?cBY!9wzhnFHD{-w_s}!EHP>b0 zyN%1ed`nu08kzdUplGPvYr-mqE%S|^z;Z0qe~Ge&?Xi!=R|X1J_Df@Pyn%(4Q)nF z<;v~DIhm#ww`@x%_U}7ps;t6q(296OezuR&XP}D-yDE(=kfgQ_#4*5~Z1;?wH&27%kYzx>lt+qTQwKKIyVhtw;8LP9e)o89SmtpoL+ zQ1HXDjHaDH)Ik~5jzL`3^a$?VIBZ%-3X!E>i+gbTFOh+db>Rv=fzyPwIpn+0m*Nm# z2xcZOEU58Fzf+K=E2p`r7W+pPas8<^;Rer|m(-Uv4>5<0ha<304X+Q+yq~169nTl9 znwMa%GM#XnGm^>%o~$QLBNs`}DYhbukK$EfaM*t&sw33T`P!gHiv77Zi;eq{S&34R z44Gl!!YUI<8_`gfYvkCZv7H3pNg*I1C_~@$yfEKMT;G=3lMQSBt@wJH2T&L1WWJZ% zs4(N|BH{`iMKVO?nC47ImV!S*m=BvOH{@lShfoB80&1Qkd8~n?JJvAVdq6q+7{B1!X$jY2fr4*_v}&!1j8r zoB9nr1>1zHtE|a%=$By=dFrGuH92Z}^9=QK(-M1qoBnMWv;#m%Op63cmjCFsq;aHq zRew>}X|5nDRao7VLPBPrrS6=d%aBgOQ}4f`mtfpVJerV9AE~k=1-6r5=+ECS!-SwA zigK4AVQbcytBRbMf<^JY*p=W9Zv#Ul0B<5yawV?nnJP~jI^7z(n8$g$79)zGGR@7y z;PM$-5^X%BryuOysndY#MpmU*gW`VK(yZX3?h%ctl#fg*Hv*5!i>H)gBzOm7V=i5Z zjN(JKtwz5FW3o`Jx*HL>uV5y%RVfZ1E0PX2HYh*CJf%U;%xxo0YnqssRW+N0i%IB$ zo76~ZB27c7kbL%_s)^H{lWnGav# z*gzhXEQ+vnr^^)~7E(9+TR#+e?y&5X(n@`Oj2=bXQ_W6}@kZ`5@zy&`EFXHt=#fRc zEXCTfe&o1*p&A! zHXs+S_sGP|Dn$G_sc8k;Gisxv5t{W9~jJ!<;l=4S)9yPjSHT@Sgh(pBES#E;iY%6{BIB zi_NLh;Vow`Fc#{L#|1nti^lfdlzzC)dB&Et@y}0X&%uR z5)3$*hn@&r3%@Ot3pjZCGLki`)e)VNI_uUgA(a&K48a)@voQaZd-py;!UUE|FGV@65K8#|t3JG!bkwpqlR4XE@SX z5mWVN4iVb-oaUZYp& z?=_t7x z`3wlP`-Qwh>|d09o{9|vU<^zK8z$I+XJsP#g8ZWv1V6G{v3t1hkUG}AKrFA8EV3Je z=D@51{8`}+Sna+Mb9BCdK=5S;2H-cAqqaFIHoV8`lhZ9)El=g)ZNz&scH1+Q$As6b z(pS3#=ygFLo~b6GGoh>i%139@2-h4J<8AukIB!HfTnl1t;qurxwA6$Y&3HAHPiq{E zb7ALF-I{lzN%f=ZHdV~A&J?%2q!c;kfdsQ=U!tx;)$?$Zy~2WEpRb_+Q_EusUo-KB z^N4u#rFBdRY379{G9q6UwCm#3#pT1FuHw%UWM#9Y)&n+=c954cv3vUIqwZtn45d6D zeHh~4D*v4-Yx3Rf{YcdmL*QI1_4Z)u^4ijH;T}g>JibI=a7S%hyVi}oL|<7>=g+-y zKCXq^#lWBEwlcZCPn!>?>vUQj`d1m5X44vc_6J9|m95vE28;WOva>q(tzA#IEvr2g zXCCe!y|jWB!zE@X!EJ1t>^4K~nNzOOtK5I;kFau9wyMV+v!H{hK3NM{xNTzeA;|6Z z0oZ9s(`$hZ9l-1r&wI@luHlu=;MYp~uTRpMpTM2QhtxBT8`~skiUp&ZDrP9j^(=lX zqcH4;Cc+f+*M}e#8|u^FVay^gzmtXJNY zrfY6r2szlp$&{yz4m@!-7RlJf*`EnCZ6 zXI>J6a_7PZYkW6c&~6@kqrT4EJrd&nbaLK|k+Ly_1<*PsX$UIj`tGQ)xsiB($~sko zb8J7F&yi;2lyc8%TqF}CnRT6`#nrJ&YvKO^{M~~<57y{=_%myrkc6M~qT4ZvE`m}ueEhFJ~_4@mjvbSTV0{o>)fLAJnrUcu-;vh*(;Nk0X>Iw0SHOs3l)wMUtPUGY7+_GPxU+T| zHzknXM<0F5^I3D5`xhjTN+9RK=ZWX3=W*xBNV`^z=kMLlDxEn8Ni%bUZ!{_glPNWr zjaVkiIen6?G4*lFl13I8Bgd3|XSOzrDA7ChPlL;$Y?QdTlwj*9Mv_*NP)kn#%xi)# zH)n)$OXNn4QJcqA1_v0l`Q9NL;Fa&4!$Kqh4`=<(ntVmbw~?e;YJ&-uRRa-Uf9h38x*=$cl}&udw*R9nhSAE7sp^T>Xc+>uhhC64kn zk2*?6dm7aT`YthQMcWklxmyc=hQ%MtW$0^Z7~iA*KWx2aP$WUut&20byAST}?t{bN z?lw4$ySuy7xVsFlgF6iF?(Tk>@7(u2-;KE4^`mQ5)~?JQ9Z?mTyVip~6I92=sq~j| zsoPPbm(17ug1k;jJW*mnA!9#Rm8soA+}`wJ_Kp1`GXM`@7hWX;Vg0Kr`p51wm|Z>A z1M^}=y5=Q+4?|B%AC(KxW=UuSg7O|*0jY3iZ--3gqQv+I32*K1y#TNFoRih%=nUN| z0@;7Iu+QFq2appU<_O3_`KQ(Rfm}rQ(PWc^(@`@%jru@amhlmt@7RERG!NpX*D`q^ zVvE;EI2r=-b}YDMIbMut!jv?$jyL0$*obBalj$?fC|NdeFydpb6v5gI-q1gNAlrB`54~InC=f4ti+bF8A@uRfbYfF@3R( zTPJDNZg!Skq1cu1nZ|oP({5JZTfzCRzK!2hurT-ORq{Ak9ddc`Dr$zNZM55xD+2`X)q3hTrzi~M00YY3=pJv&fqKThn* zJ}=Hc3}*nP&VlIf6vAxJ!hy12%TzSlYb|5gYUrXGl*cQ}MiXJI%KE>S$W33%aK?%? z0bl>t6uq_CPdpesPRJfz^YZgMln%B!MJ3*>9SfXhB zN(sT3v`em82I}1>t)_Or-!$B#Ey+smjS-R8StmlOIxUIn?=iXBgSpz{c4GFUz!Ss! z>pJO;i0SADk>qsX@wPSWdi~|7w%s<%G3M};zELs02&3aUDa*m0m#tjNKFYP!_3|~v zuAIbr$CjgM9m<+U>r5r>9WJ@Ap~F(969TcL7~DOQWSEf3%CWw2iW}noZ8r*`ZNbB#x=&^(FPTrR{8fv%UO$ z*44WdP&f%4FLn+E>h$&d)_O2c+}6E&e%7To9Vmy0$hUl7eTz9Rbn>DFoUNxZ$IKDA z*31$9(Ztz;1@E7k_mHO*du|tkjszU$)uf#2Gz<6k=%M-Xw^fO2iTsIRfMm$lMJ_vs z4bpX+cFM+Vfxc$mjmB$&E#Qe-APd!PK?-5ANYLqg!Otc%n!}bpOlnFxy!oJak%Taj zJ~#=l@KS$Vp!N|3F4#5>woO;yH;Hh6iE*2pT6?ZP1|oTTE7Q$9kTh&(C}XEiQw&L@3S3j%L2#@^lhxA2`i zO$v3dj%WLNs~2um@8{>xv--AN!;3l4J)XrN1?Sl93QY+XL5Qp-wR3qP=YRYt@GQl! zd85I~q9|gNB+_76M={Nj4WxR1RKNI2bozop5BzYi`( zH!elu4OVQ&xoRL*%V@&J0;44YetI~L-rtX9Flf2I#yaJB8xEh@w@L}lcwnZatA?tZ$DbFF_Q=+Fl;j1b2WPeOIUe7`#Sd%f2xJT^=1 z0z$xqVA?P0_^}LKxVOw%l$rF-J2$UTRK?4UAv_Sj2t<-_tVlukUJBapZpS<7^Hw^G zWX5FsBwDFThs;G8Mx;pmh&{-BN&>u1y}kea*u~ieUG(6JeRf~{Ekl&^o>atR<=zf` zah4UW#t3nK34V^Hn2I^>aOkFCOw##xD_@>kF!xWEfSM2!g4a`l*Ej0<=ROV?7jV*| z@V)@AA5KSKwzo{pj^h07FOKlgmfe)t#Twp#r*~^h015rLoS58SGISngVrEiaG~ylR zUx8b|BP3j;1Gh=*bcpY}8MiVJU4fuMgbYIfkzPe&vST`!rk=zwGI&V)SGp^0fbkzI z*8#=l^N16NB zwMbnhQ;;+U-J-Y?n6}d0ZRgo{3(aa;uODjCmp{%TbemmgGR$kD5Huv0&lhv?$IEl` zvxibR&I?kzZZU0sWzKz^3PffOMYUU=y;OzH39>2F01?NBNVllm15h`XB`dM-fn&-H zGKK|~na8SVtkhBI2*9mUy;$-~Jmw9MuE2Rb@M<&)Q5{k9J+GgV&uOQ)8HRQy2k=c- zWo+Add%ha`^+%Ly3c$@Nt{BdSCCz*_++g?GnYJYwr1Hmp$HmS&|9hkI`rB^}ZC7Wd z)dAjM%NmEZ!~R*wJ7GlbDeq5b4cR=VzK6!vqp_qKR$ns!eI&?#e?7hV zSHOXu!%_it07v}5?0a~&GIIixjJb(lO}i;b*I^tA6dUs>8I9U-=-%(?_lrrutFO!# zmm%bZT&9AjVF%R(ODH)DeGES|XFnh1MPuf^m5spLDUKk6Cvswj-gwOUwCa?ArvUhy zgO&2P3+~@>$0b`f3Rw!#zVV6I4pXo#1hAggKoFKlj;WcTy!ka`=b2I&zT8g(g1lP!^}Fk@ z)FIV#I69n5l}ofxxqWQlAm6jv&pB#puE{ zFzdb>ftNgR4e?W?K-UUPs@w2Q9&u2RTpEpxmkP9OL(}&ibAXx$mX2uJV#OQ9e`_*y zU^htKCper!2k}ih2FZj_;7^vDtt4we49Ch7OdmqE{UMh_(~BBJQd14)dXU{40&yAr zG?pbWHlv1O#@V77BdlkrY4uDRGRyMyWxyDLT*ztWIYxC4zNcB`spuU?7cFY)wxPo# zHx%t>8szzF))u)=Z!=@ZY@JHDc$zhC+ie4F^0SfGOta~>q7fxrvj-p_t zS~BaGq>iebSw1tFe7ELxNqlLhQsVkr&633|pf1-`OD}U59n7jcy(6 z#EYsLMf^NHNI2Vj(<(z_BvN|F6!no9WIDS(Fxa5fB1Mg3+U*1O69hIu9&pPXiTN$n z+vJyh58785OFPwhUU$De@3X$|8Jlx48^H;O`~8f%Yg?DUN*s?cywdLIoBa&N+>Ha3 zwpFq7YqK)&kYd3$9gOk_q!TwJ4NMK*$^xm6OiailqodS{E6A8dW}l;ir-?ooI52B4 z;tU#{9X%OJC+nhx0Ckdl=f z{65jy7Q=7jkc5{X=GS}g{b~=24VX5YmQWF?x?JMTp9LnH^~_3p>j^#iog;wIP5AL~ z=3K+G4$*VD952moR_`hPDzbjaO2 zzj4!LRB#Wr4ZbuQWdAhJs+4z<1;|~?-73J!Pqq%Yaw>xxN;!s1NGNE16JS}*-+QP?X-3u01D0o7MPJZtYQld7ukq<~ zkPSIMQRFy=uFld@7ol3p#M!SDFYHXpdgQV4Y09%R(tNieDmnN1`!oKa>s?@?^<`}J zGs!2jQw(eNHCImXrFZDq#`EJx$(z9Y)SZ%+JV2}LS^ZdnRV#B1=B&BzwnhAud#tW! zLZYl-EwwbY#k2v^6OLo&7O)?PodpAq4BNucvC$)~U?~#A4pAT+;VayI@2lJWA(!^4 zpi6djYbqP2fK?{*XY0!UxEcG~F^ou=VsD?KfhOI7AJ5>rK+wZL#056snc#l2P+zvD zWD(yBXy~+=Im=1=YBQsZj?*-H%oYtupH*4jR`Tr!&$$ zsbjgD;z#A1vP)%Orb05QI+h>tcuBl(+NgFEdti1B`D@zg*vCXT<>7z-NRm_FoZzGJ zD~l*QQi@YZQXWnyn|WfARZFd5w$WdAeFlp4oRutndK8eCpz>`a*a*oNow>e7Ci_Q> zli49jZIW(38u5atl>+;oAeCVV)ZL-$Dew}P;wje&lZ zR#l&hU`Anb_IvZBfVi^2QLoU|F5*+YxSkOts&+#>z|M)P@m{N%z{xN*QPmSO|Fn~#gP8?#cU8PM;*T$5{!ba-4bPhT&MTvdCNIqDOiRm z)xM=wcF#a*7-aIHT0twj*RhaN`xbVrZt70T%GQvZ4^%8dS35rcEqh^2tQh}ZocpI< zbu@&cK|7O^p;L$ZFAGD9vTK^v`3Lsm`-e>p*QM2S{Uw3l6>;|Yi0!M}wY+DT1!$BW zfqIFEo{DObJDj+kT?WMPhg~sIbLCT#M(zP2?>*p|Bw4lV&;wMv3~*bG$fH5!Nkg8+ zbJrWExcSeKx0$y^Z+xGh$^8OucFE1$oW*( z8f%)dua!a>JSAdTiDf~l@gu-x+Vc~kPyjLP$uTMk`O;P-KD-J~Ed@7_`W z@+3Wr4#yD(TVKX*giI%n#t)rZv~3AY&o~>dx6#p5J)$||oug{yDftc~$C{n z>((Pqq>@*v*P)N=lh=(=`r&R1cMq6z&$&TRGw(ykvdW#4+e6sP#j-1*Cpc%r(Pxqs<){^K~810o2JXvFWrPc~lZ{ z;S!w{PJaauCZls_=gA3fx{@BNa|{MLAY=qq-xM`{!zS{DDST*Wg2rJ&tpS@!6b_%I zUwj|*W!E^;1s~)yM}=m1Z$et2aTV8mc>(0J`*5Hpb%{E%f(aU@;W@YeCCs0%f{y-Jzg_qm|EDsBH&bj2g-ym-6JrH9k%ycK^tuLc8g;%Du4>q0a`#=ONgzUBiS=)^ z`=ZJj76szwxe(etMOh)H?|0b|T~H0%#Ed6TCUX`7&`&3`1wR6RKM4QuS`*o$xcpTd z)G1%h+F=pbnRV?>!kIc22v52Phd_H4ORc|jkJ*R6lx;nSvkvnu11B9{NR7h0FUkMZ zSSt+fS0%|wk&<0iD!T`kXXdp(cLme@bqSy#UaIt15tUV&6l^OEY-=bg%^3ANcQva7 zDTt=c`robX@6QSxGEZK;YpLvPCS*bmP82Zhc;j$5BMKV0K{BbLwq7n~FXMQ=(w{9) z%eSt2j|+OHpUdk+#Zv-acuhXk(fq597E`8E5df^(UQ|5z3t~CQNJl zOa!{qHlspJswp=UXLe30wH@2U8EkecTkInPun3lci8P}>6IfRK%b6u;) z{^AEZJzz;wt|d571k~_Mlj5BiFCC%rnBbU-@_atwc2>KR)nKhZc~OpQm~YtXdCjXj zqKs>1ac^bD(zaL&Z!V&WlWkKuQoJP>b{EVpZwe-4U1A^eZR$%>@SbEPzMtrZw4W{e z{~cAqh5st;l5RC^VOe7tWfe|0X#K;goNlSPrCChZptD;?OK4kVztfKAl7)^D$Y3@> z*+NP5R!i1T0h}|wlB>^@#ZRal@ zA_;T%+;LBe$@C#yxoDIVemE+e5mEpYR+xilffp$)vPH@7v&nBz2)#XN@@dFCf&TKJ z;_M9}zAo|5>R>ey|i9SS?+ULP!_r45~Gt`{^=WYte@oz;VJPrx- zY~KSz1Ei9r_#Q&6)dCDdc38!lbPVoD9dL_awjQP)E|5^tS8iGziW1tBsAOLEpaQ!g zt#}bW4C*y3aadg5V%-?9^u+`>C-TnOaa70nuF%${6#Iu%Xk4g_XEa78**H9S#OGZMJ&b!YJMyo~-NWc}Pk2)EFb~M#?60hn45pbL(61 zHr%TDWDYW^gY*y>An#eis42~~SwHwCvSIais#2|@ks6wY7E%OzM z#>^9b|F^hpN`xM>g7_OG?H?KzI!}LtlgrEJK`E_S2ctA65(Z3Jl(R>5BofCk$R)CH zS*5R5qP56=4}AA0?IlWXt<*RP&x5#F?wKrw47J&kWja4DwQMNsC+kfw^PXy?yR}@D zZR3!uQjIM~MHG;qlT|{s_sofQI7sX`LLXX&`YiEBL!iV3`PR6vrXEw5?v{N6hraK# z_|&kllcO9=!>e~XT$WC?Mw zlP@A+EI|cq&YwMQnVURt-uq+{G(Ymrf6jMb2XTSu}u}O>= zPvA!B9FB9sjEVo6QB=mbEt>Um!sNI118XT)A*TBxMrASADYIngw9D2 z+1{pAlWCo_HHW>_H%T297%q~iGQVJ596Dr4<^-t9UlI03+tWN3ZTa7ElW+XJgL^7h z;4urtH#VJN)jE{>>~wzQs94BKkj4%Bfiyl_xcX^-S)VRa8}WU+}E1JkyTR}xTPg?;lHU%(RvGm}FwR9-XcB*PyF|FC_3*HtPnNMzw6vd16pe+^Bm6s4S#T1G^5!&*aYx~Sj-e)r)-xuF@rZjwF*nO5Emg-*Gt`*(v;Kqj zxRmO*k|zBK<74vR+J~ihWQ2xN=^r(lRg=|Ur}fm@Htp7%eYa{^ERfKXXOf_PLT;z;p!XY1xK!?OE4&}1AXE+s4en}5** zZ@Q}L)OnP;+jq}khd(?WjgfAyN>J-_w3o)~%RQpKI!xXpnkAU83#--|azZ9EAVNN> zxV?SwW0}S#3``89B*pYxZtDW~spn$!my||*wUFB4=y+ zWgFJjR+K8wXtn#O4m{-4own=s1XyTJyr`-l7Qd-?c-+2F{!%SqyfhegUEUT~mcg3L zd{zAZI2cZvqXU>ZiCp8bV(RX360f;ENqtIPW0B7EF}$ph&(Q>IfV>#S#;q93jzC7I zM)6-t8{BCbux(Or9VTWrd6pT~9n!uh;fj~V6n>{e^=H(uu&{720f=!ncH3I;bz&jtnn=R1V2U?Nbc#5d3HU5<+gM^coRHXUDW+hCqq`1J|n*nkZ#gd zmRPk)ULN&q-5e7v$DB7#bdK5!BKAn*BgtIO{VY!}H$!NLnK0wt1sG#;{leVfFnIC$ zR6JWS9rx`E8mL3>Va_YQ#;*#RDsjg-yAUHLiVxmVqrhNV5YE%KE1>pB7)5yk#tb+R zc72X=6Zkb~F-S7fCBn=xx3D^7ru^T;}HCUaC{U@NX%lmy~pc^S{56JjINE)u4`oL_vIQG>uc&|T=3_;MB3Y8m!|B*8aRvtKd~R~qyN}) zindWQf%qLH6yRJsUFn8+YFjW5m9I zauJ_5QY^K=y`bQn>*-rqVoh`ZgM&5e(a{eH5iB8T{DZ}(v0o2ZUc*xwVGJD|V+Q>r zaaSxvh(KPRn+eBwW=D1*Zx?$H86r{#oBAn?*V^lk!+SLFCy1bh=<^v@3imBiFW!T( zcdFijGMgIXaX;8TMDD^a9t=LoKx4S66r&oEH?fZ1E334X2AJKc?a7W<=)3MPiG2|d zXgdBjCC_eqMcvohac)PIFrd$lN5*{CPcu}#v(@VZkCVfe+VVU~pvh~XV6~?8q_+vl zn(y{Xjm8F>GiZ71c*kqM$UMjQGPz%e0UMG57b@GG$$XbxKPZSVt{*oEYFF%*&eFer zm}|`14|c5kl0;&s#f3T4QIwCtsjK4cNPr;el?NK?B_xDv2qH9Sko#ISc-rZ(Z|iPa zwXK4$WZAMiLZNu2N~9brL51?rC8L?aj}Ulk*gW-C*td7}cW$ z4*g<|SjU$bUK@l((jL_0?MKj>4ILeWLhn2kcJIxKRvgt~8AlLf0}AeSO4+jqeRoTT zXYtmg-}1;fIu96^sKL`T=r>t6-0SogZUyTfF~@u{6Llu2lKWSb;}UBV6rOtxs&{8t#VPEp z94=i$gPKsXZOH z{*GS(C-)Zs^#YRF*X#?NB36)CoEyqP@_;$|#Y)B+6!I+^B-1^_g?nhso+n&?vZXb* zm9>u*jdX$GgmPYhXzv6rxe9SBG?`HS>`I^Z8yq16Y6??mg0_buSKo4N$K{A5pa%6X zGdcjqhu(E0(0a_560v$>cakXFmx#E2JSJjuM>BGWw2yJUoBRMZ9vZM~g2gOGQ@m>7 zn(U?q8FJY6IvjMTEzmRf3o10?4dHTnz>mnj*_nR|f@;dZ_rTU0(NQhEFoq?RG$fh7j%27~SXAYQpgzXOVM*D1@-o8EIJGXY#j*XLH zR6}KlO=QxS%#eb1$1vM=amiLI4-#=vmeU(Hy73r=9hHUj`K%Bqe__)vs9C0b40=wK zJEQjU_713m3IAEko@-$Bwp8)-_D3D3dC=Ob35v;+o5H0 zx8&K<5;=zJ&YACa{X3T&gvhuDemdl;Du_hBFs&55M2K(~E!?S8>5S_&WSkDiA|8WUukKaT|lrTEic0n)5Sl76!yU2eBY`jihOLnk&|1f@`b zpF3ao*V&XO)56yr$wV593$`Ff4%_{8pbK!UxezN{RGM%}JDF=#>%bI-vlrlwsCtTf@HPx6s z2T1xm28j9gW-xOSBg@D4p&4^Zcjb!sWH8e>osd{n+RvIgE6~_{zD3rC2Eh7y>zP?it98OUS=HZY?-${pVlIKONZQW>Cfgat}d=0pPwI>o}Z7NpJ6-qqu(7jI)q~$PrrFwUg94C&A_36yj;v#q?6P6aRp&(kQE-#p~#lOYjm_N^;R+nEQac8J#(5gHBe0+ zV46g@(JvT1gkhNJoHFq^E;VOFeaZLiiKgMB8zg5_TSiYNE8Vk6b?%l4VzTa681B2LgMP;*2^Ttn~L!Kz#l z9pR2f5Ah{fTSgjm(5$I(OsE!~<=c}Kt8R6dR?~zB!bM#AG$UCPzLCk4D@zv86jn4^ zt~gHVu6X9elDoJ6!IB|&)GA92DU1Fv^Nn2kE|;kNmwiY2((FF$&gz=rxbiOjjq_NB zd}x7f+Fu-0#dhnF3nVNzg*d7-h? z7w_@I&r)s(CLR41BHE4PrB)*>wutuc2?F>T>(Ei zg3}tJ%X=2^U`(gl2HP|ln3^)@$H34QPxX;2VB(;?vER*8<)diLQq+WdO-WBX^4%06 zVBnY!5zvJGOlG|q&$X4K&Cj%f{l3c28P)oE$6gp_%5(%${9C~m4Vune{TcTn$YKxS zgX!fiK78!`F-0Q8w&k;LwK$GB+rkaz0<^uWA6XmzJa}zDAHcBZ zU=$w5h5f|a(Fgb=Ky`IB)rPL+@W}VAw4vobBUr&zE)&rIj$kyxie{U`e_oXB*)9`I zG}+y{oo=&^7aW5@OY!lVxPJLlpCtEGxiOWgdl1Hh|EHo`@0y*@S9$GK$Dxs8pN7W< zjz3hx>>g)2WxjbnzY=p<5LjLIUC@)vCpuyx$W4#Wf}@s&E1xFYTt@Yvb|+7p?MVjvdq88kFGe7g-HK63N(}eJM?8c8zQj=`>ALzol#Z%fTUZa|*k1N=LQ`6%16rj*EQd_$lUZ&%djC>sT`kUCNsNUe;Dv%zcfXN~zAbLz0ExzNO#)rG6S=SaC0-KYJkbGg_iHu}vwL%b;r%h{H< zT{lP3oB|sSmR1L|#++M6>VP6dB;75V10X zk_F0`OPCkXSL3?LH?`3!rPvN)VPm90uH@HHJII-7KfB%%XQ^M6k6AYll>mN;BAHj!m+wbI+fzol6d%;s(^;?s{!l8f7lM^TW>V-kUe&>l3|IKw2k&8+|faP+w*Y$*)n-Mw>yN?>2s64Xc^>*tO|f= zGIHp43Q>o0SKf;pz`f?7<7QLWp^+{xDvdZn(kjorrRtb$gD5F8#f!7lOM<@<&KrJN zjQ7s1d2}5*!CDSP9v{s6B05<0XJtZe^E{)S&2+LtkDnPZ;ebjS9Rv>~^~%_!K;UAd zK)f)Wg3&o!92kxExOjtMDTxx6-*4S6HnLAX9k7#1B7T}t>C?H}&ZLD96cyl^(_aWk zx#pp;g0(wfL3w_kq^YA)`3sCumMkj9T-R#U(yghMvqAc3*})?0#toMw4a}t32zNsp z4n`ZN(Ti-Rsrps1Q2zTx>-}81eWkkT^t{W(S6xcIOi3$&Mh*cxBcr$1z>G{rp`PPhVkbj${QOE z&Pd@;&=PHFCVnGah%@iiu<*)uJdc^tJXIWlY$=Cv=`nn;mBnQm=(m*HK&{(@Lm2l~ zZkCSk83ATJ5JfMbmc(c{WN=gmh_i4#V{!vo293oL8+s#GS_hl6-{8+MJ0VxeI$2W+ zT?aI_u#MeZ;pY|!9DfmSv{C;4_#;GEq>$bz-n(Dj0JaW|F0d)H?qrbVtwJ*WsHqBF z5j0r-S{_8xcdm^8I$r4onC%?vldBZc_k*pDv1c)50=KTMF(*sE2NFZ+qhJP@Vwo8Z z<|BFbuPnvUamC8#1Q-4&T!dhEyAC@0>+1fT?}Lkd2QMVqQF@{zP9Vy9%E{ST>w1YyT@fYpYY;Fp;Rw&=APgiy>UAiUVR%P^mIs z=*ZlQk>%ihCY34YA|yuLSyrfNiEz-WRv3;6SjwfKXh0* z_MOttqQ+e(FN;)BwO3AVd1Q0n5Cfm$*AxYlwoxmlQVA?13<8SNT30fIAwI>E6 z5%k48lxf#^65~1gbuKoCIsCmh^>2qc>@}_T?%OFt?(RMZys@snu3q9<7c=0srsfu% z!d=fGSVNskD6McK25G2Llf3gTrNw;1B}oQLL(u&^2dZ>y6xBRgF%nc+VGSDOefddY zauRqgo+;L-hDxx3=bB!qFf+P64wwirwSH(rSm9iZ>wnRZ1f1K;*r~SbK6fGA%JOWPo;WQ<~99`4S_ec*9KAXfQy0Q$x=?QzfW=hjT!XK*@qMBfGwd$WxSuMR{s0ek-Y!DyttP`{xI+1UOimCINbGG<$+;n z7A=Aomn?YshY%|L{5oQj=a-Kmf_ex-%p^C>*Ngs92r(Og3u-(FZ*Xh)O^|B%vfF!| zDvl7mD!Jfl1h;b* z^|l{I+MDzpLz^C3lvjvaW1D2wAgjOxB_kaTtD;ErTFelUGZyRm+4X|z*)=;5Rxa@0 zoe(#V1B?~fe~}HxT0mHkW*cA7#m_8j_MYA!Gx;T#jP=S6ZC>B(?(3Kmad*mtL#3-V z#g+d``wr1JtTE3Q=tJNSIF z#>H;{uwQFDadU;7k>ceu#W)$YftB z;H~9((&3g&W?<@Oc)6y4NMctEjGyTb5<0X+AD2}~6XCB3Y*fuC(STX&X;-+OhDqLE z!iLf5k(Hcx=eLtx0V>f{&wqhQipI@YaP!hUPT=UPdjUCdSrue=d}6hh?!cdfrQ5&u zp-kNjlFS?ThIf-G-g%6_Zf!Y+vh|0;1CJb@MNYpvRJe&dP0pG=X>@;%IaNf_-ljs0 zM*VDOVT-D0NTo%h&g8@M=6%8n!g4}3ZRwnq@#pk&?XJi{o5Jb-&G_R}5#XG%dtj`c zXajC-Rr>{4YlfjW2;(rPW&v>^B>*xp5PQCLFh*;BxMuOx|MY3>@>l7J0OkP;kJZA} zY~@fWEvpv1teWmii!?LBnt#l1tHHN6{Y~+teoaP3vPTQ+VfOvh&Q}2q`;EgZrEXGZ;u{%~CX16I-73QnJTZkaSm|M-AhO6qH<*2ij4HGws;U5}r@hp{ciIimR2;~Go#-aSiQpeJQ;t}sK=kUsEG42yH=M*yvNh=YM< zhU8pz#)u+@qKEuhiquaWD}Ag0cI}BDpVCw5>yEShR=adCJp@3w^I+OAtA4HQqd4d} z4Bi$)Fqp)h#21FiYKhCp+DA>`wv`mKlofn!2PlUz@)36{mQgCklPL5i0at;zod#~=r>+bBD6^X`DkO#pq@Y$|FP~!p>MX`z3Mp2) zx~W=s@H2yq0egzUlM=j5wC)n2#&NDAeky{bSe)|hpwrzPV8(82W|LQ-k6^c+I?cIV z7`ZT2uy?gFgQ~jOe7mf|5c_pH%Kvsu%HHOti7a4uk52KD1NVw zN}KO@KZrk&;UHQK6RXDWk53V7yV?mJvEaC_M!BSNNf*X9L5tk}g@=TBr8tj{l}#Ct z<*bY?fsli+w`i42y-8{>fRDO3IhR@>q|I0PZ<4RXqwmDJk)#~f?N4kOi=8rBABciV_A9M zdkd+-#kjoebPqc~kp$B~E7=txnpwox0+%wq6WV*EdxZN%C=P9pbX`n*G}}7u0D5j4 z7wuYl^PUV)Vb>H95rlpje-M__y z13hd-*d%bQgptGVy}hx->=R|E`OCjNe|{L$Z*%_<=`~nc5aH?xz)NAQvicUtUMT%6 z^jxwzwV%-{VtP^0DsthI=Md}fxgGQXr;Oh@<6^yS_NrQ1es(B%!T$99;spYJ7yZ#z znC$BraQQI(=+qF0f|QrGxAhNu8|uhBQ&fxldZBW-gcwV*(rw=|Hl~%9L1BVv-d(ABj`{BL5ij429YxFP*`XNi+7|V1Fck5GIdi+fkfYnGdO&aE@VYIO}&Q0gf6Vtv98M`z5WfmMW=x}J?n;dYw@g8Xx z1h1wZ}h_Vc!># z$FQv3u+MtPTHe3b!~A69Z?3Y@iDl6*LHQG%XS99({hXVUR;n0YbOIyx23{^C2Bvo7 z>D88vv&p{DffeLKMoXWsvsZ;!=_klfE6lCD@0jq)6`^pZGUH>geL)?d@YZLh_-5lhQ~t z;}m7omxK9OjMRcL9C5-u^C59?do;$$xYaqdvqp}1dU8B`o2+xu65L1nDHV1%x~NuU zozQ^5!l7^1#bjTLn!+HPOs(_Az3FpzKYp;NH)id#i@o`AYtCx-X#uTY=S-_#_dYOQ zQ&Kr9c(+u&Il*1~)~h?R|Ln@n=zhQpS0Z@k{i=A7-XF@6spp&B{XT8zvysQH&1z?} zn!(*<46WbgjHln)v?^QWesDI^6l&Y*D!kEhV3W!DdF6tLH2yJLP?D5X-F4sqKIsnh z*{=?8+lLK9v0(OczV8>gI9=o~R7DDXi%dq8)T?VVL{lpwnv&~TI~1!F6@a1TQs{-f zR?ds#i?-S>2C&wiu#jn9_pIG+KPt*UU{R0dA3#&~`MNO>xpE3O>=>IT`ESwV^+j3{ zc6PF`b0p^e*Z;3wWoM&bU+E#{{@3NNeMLt*6X!1jWn%7sS@{w~9Ze0L>>OeL&j9`- zd?iuL(8=^GQU9*=rOMfv{C@=*Q+L;|fdamo{Ok5t6JcRRS)TvMU-AAA5=lVdKYey{ zG&TEz>@YL2!7}~#L(IX>&dN?~_Wu-i^(=D5FtFcW@tW%`Te4*csgi?Kfusy6Hha5p z5N_eJ)&2U6HgG(TioEJEj6N;N?zG*ps=D}QLlk4+koFjSX`N(Cn_Wm2 zL0HNQc#UNdhmy}ls}`*0S?ofeF=nM%w%dhmfLA&9R@B(8)e%Lx*tKGlZGe|zvpS=G zR@p8c)wp5}g}_)xc_ggz`J$+D4O!Qy_{9czO0@x5<+GHof^|)cEF2leaSW`k;@tNJ zE30e)Pco)h%Cy)3uUF1Ju)*i%#kqDNJFxs|)dybk&&y18IuRY`*+o*WrZnsbTWw6S zLOx^E6s|v5(AeP?-+Ql4>9KBWkA*DPBrq|uD^e!+7I;nRJiv3Oya+&HeHbN4ABgO; zU~qVr9Z4TLF!@r&lRofx)=4u=C&~*>haDK9<-u-+&)q0V7IjPvmf1N%a{!iI{Zg{Z#x#3xOf3CnWT=<8FhtFRh4}Sr2 C?8NE- literal 0 HcmV?d00001 diff --git a/src/main/java/edu/kit/scc/CdmiRestController.java b/src/main/java/edu/kit/scc/CdmiRestController.java index c27471d..43ea254 100644 --- a/src/main/java/edu/kit/scc/CdmiRestController.java +++ b/src/main/java/edu/kit/scc/CdmiRestController.java @@ -100,10 +100,10 @@ public class CdmiRestController { @Value("${oidc.clientsecret}") private String clientSecret; - @PostConstruct /** * Init method to check and initialize the server. */ + @PostConstruct public void init() { log.debug("INIT"); Container rootContainer = containerDaoImpl.findByPath("/"); @@ -414,9 +414,7 @@ public ResponseEntity putCdmiObject(@RequestHeader("Authorization") String au return new ResponseEntity(container.toJson().toString(), responseHeaders, HttpStatus.CREATED); } - } - // create dataobject - else if (contentType.equals(MediaTypes.DATA_OBJECT)) { + } else if (contentType.equals(MediaTypes.DATA_OBJECT)) { JSONObject json = new JSONObject(body); DataObject dataObject = dataObjectDaoImpl.createByPath(requestPath, new DataObject(json)); if (dataObject != null) { @@ -424,9 +422,7 @@ else if (contentType.equals(MediaTypes.DATA_OBJECT)) { return new ResponseEntity(dataObject.toJson().toString(), responseHeaders, HttpStatus.CREATED); } - } - // create domain - else if (contentType.equals(MediaTypes.ACCOUNT)) { + } else if (contentType.equals(MediaTypes.ACCOUNT)) { JSONObject json = new JSONObject(body); CdmiObject domain = null; if (requestedFields == null) { @@ -547,11 +543,9 @@ private JSONObject getRequestedJson(JSONObject object, String[] requestedFields) } else if (field.startsWith("value:")) { String range = field.split("value:")[1]; String[] rangeSplit = range.split("-"); - requestedJson - .put("value", - new String(Arrays.copyOfRange(object.getString("value").getBytes(), - Integer.valueOf(rangeSplit[0].trim()), - Integer.valueOf(rangeSplit[1].trim())))); + requestedJson.put("value", + new String(Arrays.copyOfRange(object.getString("value").getBytes(), + Integer.valueOf(rangeSplit[0].trim()), Integer.valueOf(rangeSplit[1].trim())))); } else { throw new BadRequestException("Bad prefix"); } @@ -606,7 +600,7 @@ public boolean verifyAuthorization(String authorizationHeader) { } } catch (Exception ex) { log.error("ERROR {}", ex.toString()); - //ex.printStackTrace(); + // ex.printStackTrace(); } return false; } diff --git a/src/main/java/edu/kit/scc/Utils.java b/src/main/java/edu/kit/scc/Utils.java index dfb2dc3..c46533a 100644 --- a/src/main/java/edu/kit/scc/Utils.java +++ b/src/main/java/edu/kit/scc/Utils.java @@ -12,17 +12,10 @@ public final class Utils { /************************************************************************* - * Compilation: javac CRC16.java Execution: java CRC16 s - * - * Reads in a string s as a command-line argument, and prints out its 16-bit Cyclic Redundancy - * Check (CRC16). Uses a lookup table. - * - * Reference: http://www.gelato.unsw.edu.au/lxr/source/lib/crc16.c - * - * % java CRC16 123456789 CRC16 = bb3d - * - * Uses irreducible polynomial: 1 + x^2 + x^15 + x^16 - * + * Compilation: javac CRC16.java Execution: java CRC16 s Reads in a string s as a command-line + * argument, and prints out its 16-bit Cyclic Redundancy Check (CRC16). Uses a lookup table. + * Reference: http://www.gelato.unsw.edu.au/lxr/source/lib/crc16.c % java CRC16 123456789 CRC16 = + * bb3d Uses irreducible polynomial: 1 + x^2 + x^15 + x^16 *************************************************************************/ /* * Copyright © 2000–2011, Robert Sedgewick and Kevin Wayne. diff --git a/src/main/java/edu/kit/scc/http/CustomSslContext.java b/src/main/java/edu/kit/scc/http/CustomSslContext.java index 3a83191..067d931 100644 --- a/src/main/java/edu/kit/scc/http/CustomSslContext.java +++ b/src/main/java/edu/kit/scc/http/CustomSslContext.java @@ -113,7 +113,7 @@ public void checkServerTrusted(X509Certificate[] chain, String authType) @Override public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {} - }}, null); + } }, null); } catch (NoSuchAlgorithmException e) { // TODO Auto-generated catch block e.printStackTrace(); diff --git a/src/main/java/org/snia/cdmiserver/dao/AccountDao.java b/src/main/java/org/snia/cdmiserver/dao/AccountDao.java index b6bc552..83e7165 100644 --- a/src/main/java/org/snia/cdmiserver/dao/AccountDao.java +++ b/src/main/java/org/snia/cdmiserver/dao/AccountDao.java @@ -1,33 +1,31 @@ /* - * Copyright (c) 2010, Sun Microsystems, Inc. - * Copyright (c) 2010, The Storage Networking Industry Association. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * Neither the name of The Storage Networking Industry Association (SNIA) nor - * the names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. + * Copyright (c) 2010, Sun Microsystems, Inc. Copyright (c) 2010, The Storage Networking Industry + * Association. + * + * Redistribution and use in source and binary forms, with or without modification, are permitted + * provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this list of conditions + * and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, this list of conditions + * and the following disclaimer in the documentation and/or other materials provided with the + * distribution. + * + * Neither the name of The Storage Networking Industry Association (SNIA) nor the names of its + * contributors may be used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY + * WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ + package org.snia.cdmiserver.dao; import org.snia.cdmiserver.model.Account; @@ -39,11 +37,11 @@ */ public interface AccountDao { - /** - *

    - * Find and return an {@link Account} by object id, if any; otherwise, return null. - *

    - */ - public Account findByObjectId(String objectId); + /** + *

    + * Find and return an {@link Account} by object id, if any; otherwise, return null. + *

    + */ + public Account findByObjectId(String objectId); } diff --git a/src/main/java/org/snia/cdmiserver/dao/CapabilityDao.java b/src/main/java/org/snia/cdmiserver/dao/CapabilityDao.java index 09ad7c0..7d98f49 100644 --- a/src/main/java/org/snia/cdmiserver/dao/CapabilityDao.java +++ b/src/main/java/org/snia/cdmiserver/dao/CapabilityDao.java @@ -1,33 +1,31 @@ /* - * Copyright (c) 2010, Sun Microsystems, Inc. - * Copyright (c) 2010, The Storage Networking Industry Association. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * Neither the name of The Storage Networking Industry Association (SNIA) nor - * the names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. + * Copyright (c) 2010, Sun Microsystems, Inc. Copyright (c) 2010, The Storage Networking Industry + * Association. + * + * Redistribution and use in source and binary forms, with or without modification, are permitted + * provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this list of conditions + * and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, this list of conditions + * and the following disclaimer in the documentation and/or other materials provided with the + * distribution. + * + * Neither the name of The Storage Networking Industry Association (SNIA) nor the names of its + * contributors may be used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY + * WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ + package org.snia.cdmiserver.dao; import org.snia.cdmiserver.model.Capability; @@ -39,21 +37,19 @@ */ public interface CapabilityDao { - /** - *

    - * Find and return a {@link Capability} by object id, if any; otherwise, return - * null. - *

    - */ - public Capability findByObjectId(String objectId); + /** + *

    + * Find and return a {@link Capability} by object id, if any; otherwise, return null. + *

    + */ + public Capability findByObjectId(String objectId); - /** - *

    - * Find and return a {@link Capability} by path, if any; otherwise, return null. - *

    - * - * @param path - * Path to the requested {@link Capability} - */ - public Capability findByPath(String path); + /** + *

    + * Find and return a {@link Capability} by path, if any; otherwise, return null. + *

    + * + * @param path Path to the requested {@link Capability} + */ + public Capability findByPath(String path); } diff --git a/src/main/java/org/snia/cdmiserver/dao/CdmiObjectDao.java b/src/main/java/org/snia/cdmiserver/dao/CdmiObjectDao.java index 0ebbe1a..ff4a57d 100644 --- a/src/main/java/org/snia/cdmiserver/dao/CdmiObjectDao.java +++ b/src/main/java/org/snia/cdmiserver/dao/CdmiObjectDao.java @@ -1,15 +1,24 @@ +/* + * Copyright 2016 Karlsruhe Institute of Technology (KIT) + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + package org.snia.cdmiserver.dao; import org.snia.cdmiserver.model.CdmiObject; public interface CdmiObjectDao { - public CdmiObject createCdmiObject(CdmiObject cdmiObject); + public CdmiObject createCdmiObject(CdmiObject cdmiObject); - public CdmiObject getCdmiObject(String objectId); + public CdmiObject getCdmiObject(String objectId); - public CdmiObject updateCdmiObject(CdmiObject cdmiObject); + public CdmiObject updateCdmiObject(CdmiObject cdmiObject); - public CdmiObject deleteCdmiObject(String objectId); + public CdmiObject deleteCdmiObject(String objectId); } diff --git a/src/main/java/org/snia/cdmiserver/dao/ContainerDao.java b/src/main/java/org/snia/cdmiserver/dao/ContainerDao.java index 443aa66..63f38c3 100644 --- a/src/main/java/org/snia/cdmiserver/dao/ContainerDao.java +++ b/src/main/java/org/snia/cdmiserver/dao/ContainerDao.java @@ -1,33 +1,31 @@ /* - * Copyright (c) 2010, Sun Microsystems, Inc. - * Copyright (c) 2010, The Storage Networking Industry Association. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * Neither the name of The Storage Networking Industry Association (SNIA) nor - * the names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. + * Copyright (c) 2010, Sun Microsystems, Inc. Copyright (c) 2010, The Storage Networking Industry + * Association. + * + * Redistribution and use in source and binary forms, with or without modification, are permitted + * provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this list of conditions + * and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, this list of conditions + * and the following disclaimer in the documentation and/or other materials provided with the + * distribution. + * + * Neither the name of The Storage Networking Industry Association (SNIA) nor the names of its + * contributors may be used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY + * WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ + package org.snia.cdmiserver.dao; import org.snia.cdmiserver.exception.ConflictException; @@ -42,68 +40,54 @@ */ public interface ContainerDao { - /** - *

    - * Create a container at the specified path. All intermediate containers - * must already exist. - *

    - * - * @param path - * Path to the new {@link Container} - * - * @exception ConflictException - * if a container or data object at the specified path - * already exists - * @exception IllegalArgumentException - * if an intermediate container does not exist - */ - public CdmiObject createByPath(String path, Container containerRequest); + /** + *

    + * Create a container at the specified path. All intermediate containers must already exist. + *

    + * + * @param path Path to the new {@link Container} + * + * @exception ConflictException if a container or data object at the specified path already exists + * @exception IllegalArgumentException if an intermediate container does not exist + */ + public CdmiObject createByPath(String path, Container containerRequest); - /** - *

    - * Delete the container at the specified path. - *

    - * - * @param path - * Path to the requested {@link Container} - * - * @exception NotFoundException - * if the specified path does not identify a valid resource - * @exception IllegalArgumentException - * if the specified path identifies a data object instead of - * a container - */ - public void deleteByPath(String path); + /** + *

    + * Delete the container at the specified path. + *

    + * + * @param path Path to the requested {@link Container} + * + * @exception NotFoundException if the specified path does not identify a valid resource + * @exception IllegalArgumentException if the specified path identifies a data object instead of a + * container + */ + public void deleteByPath(String path); - /** - *

    - * Find and return a {@link Container} by object id, if any; otherwise, - * return null . - *

    - * - * @param objectId - * Object ID of the requested {@link Container} - */ - public CdmiObject findByObjectId(String objectId); + /** + *

    + * Find and return a {@link Container} by object id, if any; otherwise, return null . + *

    + * + * @param objectId Object ID of the requested {@link Container} + */ + public CdmiObject findByObjectId(String objectId); - /** - *

    - * Find and return a {@link Container} by path, if any; otherwise, return - * null. - *

    - * - * @param path - * Path to the requested {@link Container} - * - * @exception NotFoundException - * if the specified path does not identify a valid resource - * @exception IllegalArgumentException - * if the specified path identifies a data object instead of - * a container - */ - public CdmiObject findByPath(String path); + /** + *

    + * Find and return a {@link Container} by path, if any; otherwise, return null. + *

    + * + * @param path Path to the requested {@link Container} + * + * @exception NotFoundException if the specified path does not identify a valid resource + * @exception IllegalArgumentException if the specified path identifies a data object instead of a + * container + */ + public CdmiObject findByPath(String path); - // - public boolean isContainer(String path); - // + // + public boolean isContainer(String path); + // } diff --git a/src/main/java/org/snia/cdmiserver/dao/DataObjectDao.java b/src/main/java/org/snia/cdmiserver/dao/DataObjectDao.java index cef0bf1..c45817b 100644 --- a/src/main/java/org/snia/cdmiserver/dao/DataObjectDao.java +++ b/src/main/java/org/snia/cdmiserver/dao/DataObjectDao.java @@ -1,33 +1,31 @@ /* - * Copyright (c) 2010, Sun Microsystems, Inc. - * Copyright (c) 2010, The Storage Networking Industry Association. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * Neither the name of The Storage Networking Industry Association (SNIA) nor - * the names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. + * Copyright (c) 2010, Sun Microsystems, Inc. Copyright (c) 2010, The Storage Networking Industry + * Association. + * + * Redistribution and use in source and binary forms, with or without modification, are permitted + * provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this list of conditions + * and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, this list of conditions + * and the following disclaimer in the documentation and/or other materials provided with the + * distribution. + * + * Neither the name of The Storage Networking Industry Association (SNIA) nor the names of its + * contributors may be used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY + * WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ + package org.snia.cdmiserver.dao; import org.snia.cdmiserver.model.DataObject; @@ -39,59 +37,51 @@ */ public interface DataObjectDao { - /** - *

    - * Create a data object at the specified path. All intermediate containers must already exist. - *

    - * - * @param path - * Path to the new {@link DataObject} - * - * @exception ConflictException - * if a container or data object at the specified path already exists - * @exception IllegalArgumentException - * if an intermediate container does not exist - */ - public DataObject createByPath(String path, DataObject dObj) throws Exception; + /** + *

    + * Create a data object at the specified path. All intermediate containers must already exist. + *

    + * + * @param path Path to the new {@link DataObject} + * + * @exception IllegalArgumentException if an intermediate container does not exist + */ + public DataObject createByPath(String path, DataObject dataObj) throws Exception; - public DataObject createNonCDMIByPath(String path, String contentType, DataObject dObj) throws Exception; + public DataObject createNonCcdmiByPath(String path, String contentType, DataObject dataObj) + throws Exception; - public DataObject createById(String objectId, DataObject dObj); + public DataObject createById(String objectId, DataObject dataObj); - /** - *

    - * Delete the data object at the specified path. - *

    - * - * @param path - * Path to the requested {@link DataObject} - * - * @exception NotFoundException - * if the specified path does not identify a valid resource - * @exception IllegalArgumentException - * if the specified path identifies a container instead of a data object - */ - public void deleteByPath(String path); + /** + *

    + * Delete the data object at the specified path. + *

    + * + * @param path Path to the requested {@link DataObject} + * + * @exception NotFoundException if the specified path does not identify a valid resource + * @exception IllegalArgumentException if the specified path identifies a container instead of a + * data object + */ + public void deleteByPath(String path); - /** - *

    - * Find and return a {@link DataObject} by object id, if any; otherwise, return - * null. - *

    - * - * @param objectId - * Object ID of the requested {@link DataObject} - */ - public DataObject findByObjectId(String objectId); + /** + *

    + * Find and return a {@link DataObject} by object id, if any; otherwise, return null. + *

    + * + * @param objectId Object ID of the requested {@link DataObject} + */ + public DataObject findByObjectId(String objectId); - /** - *

    - * Find and return a {@link DataObject} by path, if any; otherwise, return null. - *

    - * - * @param path - * Path to the requested {@link DataObject} - */ - public DataObject findByPath(String path); + /** + *

    + * Find and return a {@link DataObject} by path, if any; otherwise, return null. + *

    + * + * @param path Path to the requested {@link DataObject} + */ + public DataObject findByPath(String path); } diff --git a/src/main/java/org/snia/cdmiserver/dao/DomainDao.java b/src/main/java/org/snia/cdmiserver/dao/DomainDao.java index c7fa6ee..5805c67 100644 --- a/src/main/java/org/snia/cdmiserver/dao/DomainDao.java +++ b/src/main/java/org/snia/cdmiserver/dao/DomainDao.java @@ -26,7 +26,7 @@ public interface DomainDao { * @exception ConflictException if a Domain or data object at the specified path already exists * @exception IllegalArgumentException if an intermediate Domain does not exist */ - public CdmiObject createByPath(String path, Domain DomainRequest); + public CdmiObject createByPath(String path, Domain domainRequest); /** *

    diff --git a/src/main/java/org/snia/cdmiserver/dao/QueueDao.java b/src/main/java/org/snia/cdmiserver/dao/QueueDao.java index 3846c0b..22242c7 100644 --- a/src/main/java/org/snia/cdmiserver/dao/QueueDao.java +++ b/src/main/java/org/snia/cdmiserver/dao/QueueDao.java @@ -1,33 +1,31 @@ /* - * Copyright (c) 2010, Sun Microsystems, Inc. - * Copyright (c) 2010, The Storage Networking Industry Association. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * Neither the name of The Storage Networking Industry Association (SNIA) nor - * the names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. + * Copyright (c) 2010, Sun Microsystems, Inc. Copyright (c) 2010, The Storage Networking Industry + * Association. + * + * Redistribution and use in source and binary forms, with or without modification, are permitted + * provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this list of conditions + * and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, this list of conditions + * and the following disclaimer in the documentation and/or other materials provided with the + * distribution. + * + * Neither the name of The Storage Networking Industry Association (SNIA) nor the names of its + * contributors may be used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY + * WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ + package org.snia.cdmiserver.dao; import org.snia.cdmiserver.model.Queue; @@ -39,11 +37,11 @@ */ public interface QueueDao { - /** - *

    - * Find and return a {@link Queue} by object id, if any; otherwise, return null. - *

    - */ - public Queue findByObjectId(String objectId); + /** + *

    + * Find and return a {@link Queue} by object id, if any; otherwise, return null. + *

    + */ + public Queue findByObjectId(String objectId); } diff --git a/src/main/java/org/snia/cdmiserver/dao/filesystem/CapabilityDaoImpl.java b/src/main/java/org/snia/cdmiserver/dao/filesystem/CapabilityDaoImpl.java index d4c0d36..a53226a 100644 --- a/src/main/java/org/snia/cdmiserver/dao/filesystem/CapabilityDaoImpl.java +++ b/src/main/java/org/snia/cdmiserver/dao/filesystem/CapabilityDaoImpl.java @@ -60,7 +60,7 @@ public class CapabilityDaoImpl implements CapabilityDao { // -------------------------------------------------------------- Properties @Value("${cdmi.data.rootObjectId}") - private String ROOTobjectID; + private String rootObjectId; private JSONObject json; private JSONObject system; @@ -87,7 +87,7 @@ private void readProperties() { InputStream in = null; try { in = applicationConfiguration.getInputStream(); - byte bt[] = new byte[(int) applicationConfiguration.contentLength()]; + byte[] bt = new byte[(int) applicationConfiguration.contentLength()]; in.read(bt); properties = new String(bt); @@ -160,8 +160,9 @@ public Capability findByPath(String path) { if (object != null) { try { path = path.split("/cdmi_capabilities/" + request + "/")[1]; - if (path.equals("")) + if (path.equals("")) { throw new IndexOutOfBoundsException(); + } capability.setParentURI("cdmi_capabilities/" + request); rekursivGetCapability(capability, path, object); } catch (IndexOutOfBoundsException e) { @@ -173,14 +174,16 @@ public Capability findByPath(String path) { Iterator keys = object.keys(); while (keys.hasNext()) { String child = (String) keys.next(); - if (object.get(child) instanceof JSONObject) + if (object.get(child) instanceof JSONObject) { capability.getChildren().add(child); - else + } else { capability.getCapabilities().put(child, String.valueOf(object.get(child))); + } } - if (!capability.getChildren().isEmpty()) + if (!capability.getChildren().isEmpty()) { capability .setChildrenrange("0-" + String.valueOf(capability.getChildren().size() - 1)); + } } } } @@ -199,7 +202,7 @@ public Capability findByPath(String path) { capability.setObjectID(getIdByUri("cdmi_capabilities")); capability.setObjectName("cdmi_capabilities"); capability.setParentURI("/"); - capability.setParentID(ROOTobjectID); + capability.setParentID(rootObjectId); } capability.setObjectType(MediaTypes.CAPABILITY); return (capability); @@ -208,8 +211,9 @@ public Capability findByPath(String path) { private Capability rekursivGetCapability(Capability capability, String path, JSONObject object) { Boolean end = false; - if (path.endsWith("/")) + if (path.endsWith("/")) { path = path.substring(0, path.length() - 1); + } String[] pathSplit = path.split("/", 2); String pathPart = pathSplit[0]; try { @@ -224,13 +228,15 @@ private Capability rekursivGetCapability(Capability capability, String path, JSO Iterator keys = newObject.keys(); while (keys.hasNext()) { String cap = (String) keys.next(); - if (newObject.get(cap) instanceof JSONObject) + if (newObject.get(cap) instanceof JSONObject) { capability.getChildren().add(cap); - else + } else { capability.getCapabilities().put(cap, String.valueOf(newObject.get(cap))); + } } - if (!capability.getChildren().isEmpty()) + if (!capability.getChildren().isEmpty()) { capability.setChildrenrange("0-" + String.valueOf(capability.getChildren().size() - 1)); + } String parentUri = capability.getParentURI(); capability.setParentID(getIdByUri(parentUri)); capability.setObjectName(pathPart); @@ -250,12 +256,14 @@ private Capability rekursivGetCapability(Capability capability, String path, JSO private String getIdByUri(String uri) { LOG.trace("InCapabilities.getIdByUri URI is {}", uri); String searchkey = uri.replace("/", "."); - if (searchkey.endsWith(".")) + if (searchkey.endsWith(".")) { searchkey = searchkey + "ObjectId"; - else + } else { searchkey = searchkey + ".ObjectId"; - if (searchkey.startsWith(".")) + } + if (searchkey.startsWith(".")) { searchkey = searchkey.substring(1, searchkey.length()); + } int position = properties.toLowerCase().indexOf(searchkey.toLowerCase()); if (position != -1) { int startindex = position + searchkey.length() + 1; diff --git a/src/main/java/org/snia/cdmiserver/dao/filesystem/CdmiObjectDaoImpl.java b/src/main/java/org/snia/cdmiserver/dao/filesystem/CdmiObjectDaoImpl.java index d83347e..4f8b1bd 100644 --- a/src/main/java/org/snia/cdmiserver/dao/filesystem/CdmiObjectDaoImpl.java +++ b/src/main/java/org/snia/cdmiserver/dao/filesystem/CdmiObjectDaoImpl.java @@ -31,7 +31,7 @@ @Component public class CdmiObjectDaoImpl implements CdmiObjectDao { - private final static Logger log = LoggerFactory.getLogger(CdmiObjectDaoImpl.class); + private static final Logger log = LoggerFactory.getLogger(CdmiObjectDaoImpl.class); @Value("${cdmi.data.rootObjectId}") private String rootObjectId; @@ -45,14 +45,22 @@ public class CdmiObjectDaoImpl implements CdmiObjectDao { @Value("${cdmi.data.baseDirectory}") private String baseDirectoryName; + /** + * Creates a new CDMI object with the given object id at the given path. + * + * @param objectId the object's id + * @param path the file system path + * @return the created {@link CdmiObject} + */ public CdmiObject createCdmiObject(CdmiObject objectId, String path) { try { - Path p = Paths.get(path.trim()); + Path sanitizedPath = Paths.get(path.trim()); Path newPath; try { - newPath = Paths.get(p.getParent().toString(), objectIdPrefix + p.getFileName().toString()); + newPath = Paths.get(sanitizedPath.getParent().toString(), + objectIdPrefix + sanitizedPath.getFileName().toString()); } catch (NullPointerException e) { - newPath = Paths.get(objectIdPrefix + p.getFileName().toString()); + newPath = Paths.get(objectIdPrefix + sanitizedPath.getFileName().toString()); } Files.write(newPath, objectId.toJson().toString().getBytes(), StandardOpenOption.WRITE, StandardOpenOption.CREATE_NEW); @@ -93,14 +101,22 @@ public CdmiObject createCdmiObject(CdmiObject objectId) { return objectId; } + /** + * Updates the given CDMI object. + * + * @param objectId the object's id + * @param path the object's file system path + * @return the updated {@link CdmiObject} + */ public CdmiObject updateCdmiObject(CdmiObject objectId, String path) { try { - Path p = Paths.get(path.trim()); + Path sanitizedPath = Paths.get(path.trim()); Path newPath; try { - newPath = Paths.get(p.getParent().toString(), objectIdPrefix + p.getFileName().toString()); + newPath = Paths.get(sanitizedPath.getParent().toString(), + objectIdPrefix + sanitizedPath.getFileName().toString()); } catch (NullPointerException e) { - newPath = Paths.get(objectIdPrefix + p.getFileName().toString()); + newPath = Paths.get(objectIdPrefix + sanitizedPath.getFileName().toString()); } Files.write(newPath, objectId.toJson().toString().getBytes(), StandardOpenOption.WRITE, StandardOpenOption.TRUNCATE_EXISTING); @@ -136,15 +152,22 @@ public CdmiObject updateCdmiObject(CdmiObject objectId) { return objectId; } + /** + * Deletes a CdmiObject by path. + * + * @param path the file system path to the CDMI object + * @return the deleted {@link CdmiObject} + */ public CdmiObject deleteCdmiObjectByPath(String path) { CdmiObject object = getCdmiObjectByPath(path); if (object != null) { - Path p = Paths.get(path.trim()); + Path sanitizedPath = Paths.get(path.trim()); Path newPath; try { - newPath = Paths.get(p.getParent().toString(), objectIdPrefix + p.getFileName().toString()); + newPath = Paths.get(sanitizedPath.getParent().toString(), + objectIdPrefix + sanitizedPath.getFileName().toString()); } catch (NullPointerException e) { - newPath = Paths.get(objectIdPrefix + p.getFileName().toString()); + newPath = Paths.get(objectIdPrefix + sanitizedPath.getFileName().toString()); } try { boolean deleted = Files.deleteIfExists(newPath); @@ -171,14 +194,21 @@ public CdmiObject deleteCdmiObject(String objectId) { return object; } + /** + * Gets a CDMI object by path. + * + * @param path the object's file system path + * @return the {@link CdmiObject} + */ public CdmiObject getCdmiObjectByPath(String path) { CdmiObject object = null; - Path p = Paths.get(path.trim().replaceAll("/$", "")); + Path sanitizedPath = Paths.get(path.trim().replaceAll("/$", "")); Path newPath; try { - newPath = Paths.get(p.getParent().toString(), objectIdPrefix + p.getFileName().toString()); + newPath = Paths.get(sanitizedPath.getParent().toString(), + objectIdPrefix + sanitizedPath.getFileName().toString()); } catch (NullPointerException e) { - newPath = Paths.get(objectIdPrefix + p.getFileName().toString()); + newPath = Paths.get(objectIdPrefix + sanitizedPath.getFileName().toString()); } try { log.debug("path is {}", newPath); @@ -187,12 +217,13 @@ public CdmiObject getCdmiObjectByPath(String path) { String objectType = json.optString("objectType"); if (objectType != null) { - if (objectType.equals(MediaTypes.CONTAINER)) + if (objectType.equals(MediaTypes.CONTAINER)) { return new Container(json); - else if (objectType.equals(MediaTypes.DATA_OBJECT)) + } else if (objectType.equals(MediaTypes.DATA_OBJECT)) { return new DataObject(json); - else if (objectType.equals(MediaTypes.ACCOUNT)) + } else if (objectType.equals(MediaTypes.ACCOUNT)) { return new Domain(json); + } } object = new CdmiObject(json); log.debug("get objectId from file {}", object.toString()); @@ -215,10 +246,11 @@ public CdmiObject getCdmiObject(String objectId) { String objectType = json.optString("objectType"); if (objectType != null) { - if (objectType.equals(MediaTypes.CONTAINER)) + if (objectType.equals(MediaTypes.CONTAINER)) { return new Container(json); - else if (objectType.equals(MediaTypes.DATA_OBJECT)) + } else if (objectType.equals(MediaTypes.DATA_OBJECT)) { return new DataObject(json); + } } object = new CdmiObject(json); log.debug("get objectId from file {}", object.toString()); diff --git a/src/main/java/org/snia/cdmiserver/dao/filesystem/ContainerDaoImpl.java b/src/main/java/org/snia/cdmiserver/dao/filesystem/ContainerDaoImpl.java index 161e9b6..e0525b7 100644 --- a/src/main/java/org/snia/cdmiserver/dao/filesystem/ContainerDaoImpl.java +++ b/src/main/java/org/snia/cdmiserver/dao/filesystem/ContainerDaoImpl.java @@ -92,6 +92,11 @@ public class ContainerDaoImpl implements ContainerDao { @Autowired private DomainDaoImpl domainDaoImpl; + /** + * Creates the root container for CDMI containers and data objects. + * + * @return the {@link CdmiObject} for the root container + */ public CdmiObject createRootContainer() { LOG.debug("create RootContainer {}", baseDirectoryName.trim()); @@ -125,9 +130,9 @@ public CdmiObject createRootContainer() { cdmiObjectDaoImpl.createCdmiObject(container); - if (cdmiObjectDaoImpl.createCdmiObject(container, directory.toString()) == null) + if (cdmiObjectDaoImpl.createCdmiObject(container, directory.toString()) == null) { cdmiObjectDaoImpl.updateCdmiObject(container, directory.toString()); - + } return container; } } @@ -144,6 +149,11 @@ public CdmiObject createRootContainer() { } + /** + * Creates the root container for CDMI object id meta-data files. + * + * @return the {@link Path} of the object id container + */ public Path createRootIdContainer() { try { @@ -167,8 +177,9 @@ public CdmiObject createByPath(String path, Container containerRequest) { } else if (containerRequest.getMove() != null) { return move(containerRequest, containerRequest.getMove(), path); } else { - if (path.contains("?")) + if (path.contains("?")) { path = path.split(Pattern.quote("?"))[0]; + } Container container = (Container) cdmiObjectDaoImpl.createCdmiObject(new Container()); if (container != null) { @@ -189,20 +200,22 @@ public CdmiObject createByPath(String path, Container containerRequest) { container.setCapabilitiesURI(capabilitiesUri + "/container/default"); if (containerRequest.getDomainURI() != null) { String domain = containerRequest.getDomainURI(); - if (domainDaoImpl.findByPath(domain) != null) + if (domainDaoImpl.findByPath(domain) != null) { container.setDomainURI(domain); - else + } else { throw new BadRequestException("The specified domainURI doesn't exist"); - } else + } + } else { container.setDomainURI(((Container) parentObject).getDomainURI()); + } container.setMetadata(containerRequest.getMetadata()); container.setCompletionStatus("Complete"); cdmiObjectDaoImpl.updateCdmiObject(container); - if (cdmiObjectDaoImpl.createCdmiObject(container, directory.toString()) == null) + if (cdmiObjectDaoImpl.createCdmiObject(container, directory.toString()) == null) { cdmiObjectDaoImpl.updateCdmiObject(container, directory.toString()); - + } addChild(containerPath.getFileName().toString(), containerPath.getParent().toString()); return container; @@ -308,8 +321,9 @@ private void removeChild(String childname, String parentPath) { private void addChild(String childname, String parentPath) { Container parentContainer = (Container) cdmiObjectDaoImpl.getCdmiObjectByPath(parentPath); List children = parentContainer.getChildren(); - if (children == null) + if (children == null) { children = new ArrayList(); + } children.add(childname); parentContainer.setChildren(children); parentContainer.setChildrenrange("0-" + String.valueOf(children.size() - 1)); @@ -319,8 +333,8 @@ private void addChild(String childname, String parentPath) { /** - * copies a Container with all or without any subcontainers to a new created or existing container - * at the specified path + * Copies a Container with all or without any subcontainers to a new created or existing container + * at the specified path. * * @param containerRequest the {@link Container} * @param path the {@link String} @@ -330,9 +344,10 @@ private CdmiObject copy(Container containerRequest, String path) { // getting requested Fields String[] requestedFields = null; String sourcePath = containerRequest.getCopy().trim(); - if (path.contains("?") && sourcePath.contains("?")) + if (path.contains("?") && sourcePath.contains("?")) { throw new BadRequestException( - "The destination container object URI and the copy source object URI both specify fields"); + "The destination container object URI and the copy source object URI specify fields"); + } if (sourcePath.contains("?")) { requestedFields = sourcePath.split(Pattern.quote("?"))[1].split(";"); sourcePath = sourcePath.split(Pattern.quote("?"))[0]; @@ -381,8 +396,9 @@ private CdmiObject copy(Container containerRequest, String path) { container.setDomainURI(oldContainer.getDomainURI()); FileUtils.copyDirectory(source.toFile(), target.toFile()); cdmiObjectDaoImpl.updateCdmiObject(container); - if (cdmiObjectDaoImpl.createCdmiObject(container, target.toString()) == null) + if (cdmiObjectDaoImpl.createCdmiObject(container, target.toString()) == null) { cdmiObjectDaoImpl.updateCdmiObject(container, target.toString()); + } editCopiedIdsRecursivly(container, Paths.get(path)); return container; } else { @@ -393,9 +409,9 @@ private CdmiObject copy(Container containerRequest, String path) { container.setChildrenrange(""); } // copy children - if (copyChildren) + if (copyChildren) { FileUtils.copyDirectory(source.toFile(), target.toFile()); - + } Container parentObject = (Container) cdmiObjectDaoImpl.getCdmiObjectByPath(target.getParent().toString()); LOG.debug("parent object {}", parentObject.toString()); @@ -404,8 +420,9 @@ private CdmiObject copy(Container containerRequest, String path) { container.setParentURI(Paths.get(path).getParent().toString()); container.setParentID(parentObject.getObjectId()); container.setObjectType(MediaTypes.CONTAINER); - if (!update) + if (!update) { container.setCapabilitiesURI(oldContainer.getCapabilitiesURI()); + } if (requestedFields == null) { container.setDomainURI(parentObject.getDomainURI()); container.setMetadata(oldContainer.getMetadata()); @@ -427,11 +444,13 @@ private CdmiObject copy(Container containerRequest, String path) { if (field.startsWith("metadata:")) { String subfield = field.split(":")[1]; Map metadata = container.getMetadata(); - if (metadata == null) + if (metadata == null) { metadata = new HashMap(); + } Map oldMetadata = oldContainer.getMetadata(); - if (oldMetadata == null) + if (oldMetadata == null) { oldMetadata = new HashMap(); + } metadata.put(subfield, oldMetadata.get(subfield)); container.setMetadata(metadata); LOG.trace("setting metadata field"); @@ -439,18 +458,21 @@ private CdmiObject copy(Container containerRequest, String path) { } } } - if (containerRequest.getMetadata() != null && !containerRequest.getMetadata().isEmpty()) + if (containerRequest.getMetadata() != null && !containerRequest.getMetadata().isEmpty()) { container.setMetadata(containerRequest.getMetadata()); - if (containerRequest.getDomainURI() != null && !containerRequest.getDomainURI().isEmpty()) + } + if (containerRequest.getDomainURI() != null && !containerRequest.getDomainURI().isEmpty()) { container.setDomainURI(containerRequest.getDomainURI()); + } // update metadata-files cdmiObjectDaoImpl.updateCdmiObject(container); - if (cdmiObjectDaoImpl.createCdmiObject(container, target.toString()) == null) + if (cdmiObjectDaoImpl.createCdmiObject(container, target.toString()) == null) { cdmiObjectDaoImpl.updateCdmiObject(container, target.toString()); - + } // add child to parent - if (!update) + if (!update) { addChild(container.getObjectName(), target.getParent().toString()); + } // add children if (copyChildren) { List children = oldContainer.getChildren(); @@ -464,8 +486,9 @@ private CdmiObject copy(Container containerRequest, String path) { } try { // update ids and URIs of children - if (copyChildren) + if (copyChildren) { editCopiedIdsRecursivly((Container) findByPath(path), Paths.get(path)); + } } catch (Exception e) { e.printStackTrace(); FileUtils.deleteDirectory(target.toFile()); @@ -516,16 +539,18 @@ private void editCopiedIdsRecursivly(Container container, Path path) { cdmiObjectDaoImpl.updateCdmiObject(newContainer); if (cdmiObjectDaoImpl.createCdmiObject(newContainer, - Paths.get(baseDirectoryName, newpath.toString()).toString()) == null) + Paths.get(baseDirectoryName, newpath.toString()).toString()) == null) { cdmiObjectDaoImpl.updateCdmiObject(newContainer, Paths.get(baseDirectoryName, newpath.toString()).toString()); + } editCopiedIdsRecursivly(child, newpath); } } } } - } else + } else { LOG.trace("PATH {} has no children", path); + } } private void deleteRecursivly(Container container, Path path) { @@ -569,16 +594,17 @@ private Container move(Container containerRequest, String moveFrom, String moveT container.setParentID(parentObject.getObjectId()); container.setDomainURI(parentObject.getDomainURI()); - if (containerRequest.getMetadata() != null && !containerRequest.getMetadata().isEmpty()) + if (containerRequest.getMetadata() != null && !containerRequest.getMetadata().isEmpty()) { container.setMetadata(containerRequest.getMetadata()); - if (containerRequest.getDomainURI() != null && !containerRequest.getDomainURI().isEmpty()) + } + if (containerRequest.getDomainURI() != null && !containerRequest.getDomainURI().isEmpty()) { container.setDomainURI(containerRequest.getDomainURI()); - + } cdmiObjectDaoImpl.updateCdmiObject(container); - if (cdmiObjectDaoImpl.createCdmiObject(container, target.toString()) == null) + if (cdmiObjectDaoImpl.createCdmiObject(container, target.toString()) == null) { cdmiObjectDaoImpl.updateCdmiObject(container, target.toString()); - + } Container newContainer = (Container) findByPath(moveTo); if (newContainer != null) { cdmiObjectDaoImpl.deleteCdmiObjectByPath(source.toString()); diff --git a/src/main/java/org/snia/cdmiserver/dao/filesystem/DataObjectDaoImpl.java b/src/main/java/org/snia/cdmiserver/dao/filesystem/DataObjectDaoImpl.java index 6712249..513f743 100644 --- a/src/main/java/org/snia/cdmiserver/dao/filesystem/DataObjectDaoImpl.java +++ b/src/main/java/org/snia/cdmiserver/dao/filesystem/DataObjectDaoImpl.java @@ -91,8 +91,9 @@ public DataObject createByPath(String path, DataObject dataObjectRequest) { } else if (dataObjectRequest.getMove() != null) { return move(dataObjectRequest, dataObjectRequest.getMove(), path); } else { - if (path.contains("?")) + if (path.contains("?")) { path = path.split(Pattern.quote("?"))[0]; + } DataObject dataObject = (DataObject) cdmiObjectDaoImpl.createCdmiObject(new DataObject()); if (dataObject != null) { @@ -105,11 +106,11 @@ public DataObject createByPath(String path, DataObject dataObjectRequest) { DataObject copiedObject = findByPath(copyFrom); dataObject = createByPath(path, copiedObject); } else { - if (dataObjectRequest.getValue() == null) + if (dataObjectRequest.getValue() == null) { file = Files.createFile(objectPath); - else + } else { file = Files.write(objectPath, dataObjectRequest.getValue().getBytes()); - + } LOG.debug("created file {}", file.toString()); CdmiObject parentObject = @@ -123,12 +124,14 @@ public DataObject createByPath(String path, DataObject dataObjectRequest) { dataObject.setCapabilitiesURI(capabilitiesUri + "/dataobject/default"); if (dataObjectRequest.getDomainURI() != null) { String domain = dataObjectRequest.getDomainURI(); - if (domainDaoImpl.findByPath(domain) != null) + if (domainDaoImpl.findByPath(domain) != null) { dataObject.setDomainURI(domain); - else + } else { throw new BadRequestException("The specified domainURI doesn't exist"); - } else + } + } else { dataObject.setDomainURI(((Container) parentObject).getDomainURI()); + } dataObject.setMetadata(dataObjectRequest.getMetadata()); // optional @@ -139,9 +142,9 @@ public DataObject createByPath(String path, DataObject dataObjectRequest) { cdmiObjectDaoImpl.updateCdmiObject(dataObject); - if (cdmiObjectDaoImpl.createCdmiObject(dataObject, file.toString()) == null) + if (cdmiObjectDaoImpl.createCdmiObject(dataObject, file.toString()) == null) { cdmiObjectDaoImpl.updateCdmiObject(dataObject, file.toString()); - + } addChild(file.getFileName().toString(), objectPath.getParent().toString()); } return dataObject; @@ -171,13 +174,13 @@ public DataObject createByPath(String path, DataObject dataObjectRequest) { } @Override - public DataObject createNonCDMIByPath(String path, String contentType, DataObject dObj) + public DataObject createNonCcdmiByPath(String path, String contentType, DataObject dataObj) throws Exception { throw new UnsupportedOperationException("DataObjectDaoImpl.createNonCDMIByPath()"); } @Override - public DataObject createById(String objectId, DataObject dObj) { + public DataObject createById(String objectId, DataObject dataObj) { throw new UnsupportedOperationException("DataObjectDaoImpl.createById()"); } @@ -265,8 +268,9 @@ private void removeChild(String childname, String parentPath) { private void addChild(String childname, String parentPath) { Container parentContainer = (Container) cdmiObjectDaoImpl.getCdmiObjectByPath(parentPath); List children = parentContainer.getChildren(); - if (children == null) + if (children == null) { children = new ArrayList(); + } children.add(childname); parentContainer.setChildren(children); parentContainer.setChildrenrange("0-" + String.valueOf(children.size() - 1)); @@ -291,16 +295,18 @@ private DataObject move(DataObject dataobjectRequest, String moveFrom, String mo dataObject.setParentID(parentObject.getObjectId()); dataObject.setDomainURI(parentObject.getDomainURI()); - if (dataobjectRequest.getMetadata() != null && !dataobjectRequest.getMetadata().isEmpty()) + if (dataobjectRequest.getMetadata() != null && !dataobjectRequest.getMetadata().isEmpty()) { dataObject.setMetadata(dataobjectRequest.getMetadata()); - if (dataobjectRequest.getDomainURI() != null && !dataobjectRequest.getDomainURI().isEmpty()) + } + if (dataobjectRequest.getDomainURI() != null + && !dataobjectRequest.getDomainURI().isEmpty()) { dataObject.setDomainURI(dataobjectRequest.getDomainURI()); - + } cdmiObjectDaoImpl.updateCdmiObject(dataObject); - if (cdmiObjectDaoImpl.createCdmiObject(dataObject, target.toString()) == null) + if (cdmiObjectDaoImpl.createCdmiObject(dataObject, target.toString()) == null) { cdmiObjectDaoImpl.updateCdmiObject(dataObject, target.toString()); - + } DataObject newDataObject = (DataObject) findByPath(moveTo); if (newDataObject != null) { cdmiObjectDaoImpl.deleteCdmiObjectByPath(source.toString()); @@ -328,9 +334,10 @@ private CdmiObject copy(DataObject dataobjectRequest, String path) { // getting requested Fields String[] requestedFields = null; String sourcePath = dataobjectRequest.getCopy().trim(); - if (path.contains("?") && sourcePath.contains("?")) + if (path.contains("?") && sourcePath.contains("?")) { throw new BadRequestException( - "The destination dataObject URI and the copy source object URI both specify fields"); + "The destination dataObject URI and the copy source object URI specify fields"); + } if (sourcePath.contains("?")) { requestedFields = sourcePath.split(Pattern.quote("?"))[1].split(";"); sourcePath = sourcePath.split(Pattern.quote("?"))[0]; @@ -355,9 +362,6 @@ private CdmiObject copy(DataObject dataobjectRequest, String path) { update = false; } - Container parentObject = - (Container) cdmiObjectDaoImpl.getCdmiObjectByPath(target.getParent().toString()); - if (requestedFields == null) { Files.copy(source, target, StandardCopyOption.REPLACE_EXISTING); object.setDomainURI(sourceObject.getDomainURI()); @@ -385,11 +389,13 @@ private CdmiObject copy(DataObject dataobjectRequest, String path) { if (field.startsWith("metadata:")) { String subfield = field.split(":")[1]; Map metadata = object.getMetadata(); - if (metadata == null) + if (metadata == null) { metadata = new HashMap(); + } Map oldMetadata = sourceObject.getMetadata(); - if (oldMetadata == null) + if (oldMetadata == null) { oldMetadata = new HashMap(); + } metadata.put(subfield, oldMetadata.get(subfield)); object.setMetadata(metadata); } @@ -397,6 +403,10 @@ private CdmiObject copy(DataObject dataobjectRequest, String path) { } } + + Container parentObject = + (Container) cdmiObjectDaoImpl.getCdmiObjectByPath(target.getParent().toString()); + object.setCapabilitiesURI(sourceObject.getCapabilitiesURI()); object.setCompletionStatus(sourceObject.getCompletionStatus()); object.setObjectName(target.getFileName().toString()); @@ -404,25 +414,27 @@ private CdmiObject copy(DataObject dataobjectRequest, String path) { object.setParentID(parentObject.getObjectID()); object.setObjectType(MediaTypes.DATA_OBJECT); - if (!Files.exists(target)) - Files.write(target, "".getBytes(), StandardOpenOption.CREATE_NEW); - - if (dataobjectRequest.getMetadata() != null && !dataobjectRequest.getMetadata().isEmpty()) + if (!Files.exists(target)) { + Files.write(target, "".getBytes(), StandardOpenOption.CREATE_NEW); + } + if (dataobjectRequest.getMetadata() != null && !dataobjectRequest.getMetadata().isEmpty()) { object.setMetadata(dataobjectRequest.getMetadata()); - if (dataobjectRequest.getDomainURI() != null && !dataobjectRequest.getDomainURI().isEmpty()) + } + if (dataobjectRequest.getDomainURI() != null && !dataobjectRequest.getDomainURI().isEmpty()) { object.setDomainURI(dataobjectRequest.getDomainURI()); - if (dataobjectRequest.getMimetype() != null && !dataobjectRequest.getMimetype().isEmpty()) + } + if (dataobjectRequest.getMimetype() != null && !dataobjectRequest.getMimetype().isEmpty()) { object.setMimetype(dataobjectRequest.getMimetype()); - + } // update metadata-files cdmiObjectDaoImpl.updateCdmiObject(object); - if (cdmiObjectDaoImpl.createCdmiObject(object, target.toString()) == null) + if (cdmiObjectDaoImpl.createCdmiObject(object, target.toString()) == null) { cdmiObjectDaoImpl.updateCdmiObject(object, target.toString()); - + } // add child to parent - if (!update) + if (!update) { addChild(object.getObjectName(), target.getParent().toString()); - + } return findByPath(path); } catch (ClassCastException e) { e.printStackTrace(); diff --git a/src/main/java/org/snia/cdmiserver/resource/PathResource.java b/src/main/java/org/snia/cdmiserver/resource/PathResource.java index fb63445..615ee5e 100644 --- a/src/main/java/org/snia/cdmiserver/resource/PathResource.java +++ b/src/main/java/org/snia/cdmiserver/resource/PathResource.java @@ -446,7 +446,7 @@ public Response putDataObject(@PathParam("path") String path, @HeaderParam("Cont dObj.setValue(new String(bytes)); } LOG.trace("Calling createNonCDMIByPath"); - dObj = dataObjectDao.createNonCDMIByPath(path, contentType, dObj); + dObj = dataObjectDao.createNonCcdmiByPath(path, contentType, dObj); // return representation // String respStr = dObj.toJson(); // return Response.ok(respStr).header(