From 533a6cb86d1320e850a081a8e8889c90c0ebdb1b Mon Sep 17 00:00:00 2001 From: jprocter Date: Fri, 31 Aug 2007 13:10:09 +0000 Subject: [PATCH] bugfix for new appdata writes not overwriting existing appdata if the client has not checked for their existence or accessed them. git-svn-id: https://svn.lifesci.dundee.ac.uk/svn/repository/trunk@452 be28352e-c001-0410-b1a7-c7978e42abec --- packages/vamsas-client.jar | Bin 624504 -> 624551 bytes .../client/simpleclient/SimpleClientAppdata.java | 21 +++++++++++++++----- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/packages/vamsas-client.jar b/packages/vamsas-client.jar index 61be668db1a22c14f1eed5de3d4f06c9cee60083..cb1ebb4525c083e5637c5739164d81f2674f1120 100644 GIT binary patch delta 12311 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 E0WvM|5&!@I delta 12632 zcmZ9S2RxPE|G?dAUVHDovbSXKoxRD*CZlZOs;sEYoG3F<*+ohsZ7U*#2H8akm5~1D zdiwg^{=HsLy*}^HIOlxM=bYy}=T@C1ym>*G($bWWh@1fT$Id>7QWR}#e@dxE3DxaH zy%o%?glR|JmS-a%a8dzQKEw>*VJ?atB&ncC01Fw03ftn0iLo8|uDRfo8_UMcM}$rm zqP*-&bGMO*C09$~AdwlGj5$nhU57+i{x~!GPNe(9P1j?=nG}IF750)M!n~u`?EFUp zTWTf(e+CABwhpRk+4@tw{l2fgkP_AL)qV5s*9Z5nY^!eHi;nqpHI19E;@*TD4bS7} zZTBAaU*zt=&WHuvRFB|sU>bUGM8K?0A#&)osk}o`>=5UH{%=E9%GS?bjnR+}Ti2nv zxXQnDY%sPdqQv&afpt-Cjf=o&cyU@dweRWJQw{n?|9EUI6+o({hj)@YLIKymN3&m$~*@mSm@=WgZ8&$A~VyySQr zU!OJ~ez9*OmY`v>KaoZ;$%nd8)GRALEhH8X zgonS@^$R<^aQ7vqxOGvjY~8-Nbt%4sloM-m@K^K8(pSIGzd9^Cq=$YTEtaOE1)t&z zUjoywOe*f8*nt6)b>(8shIP9X+K~|z_nB$wRhGzIYd&mY!}nE(%^L2G3!PQ#W0AWC zd?c+DO`p|SJG%Ondd^)|dp)4~Hvaa@))78AJJ@&$%24aFOh)nnIIrQX-A|5ni~Tjwt3*;wVJ zS!#D!NKnxfB>LIAoEEuTFSC}O#xwUk`Tq0B-IBD<0gJ_*%Cw%?^9rBU6$j1@pIX-OaFsuf^J-tGSvC)Z?B2MHou4n2pG)EA zC~ObTS$r0Ub?+Sb5Hz|ikdTlQR?98Gac27b_u!oKnS~h%iJfejg{Q93VJikGpBKhR z4qtCnZj|#i09zk5s@m>6nU5>&Ow4SMp3fZF*3~{-n?=06rCas;6^6gd=&lf}oOWcb zSFE2};MUfqs@CAO;BO-bK6Y9D7ItsmrF4(b=YL^Wn1{`c?ElBY{qg2Y)3 zotjb3B10<_vUYw)Ga^FeejoS9)a#F{r6B&@afqNhE?ep_fmvV0GMDGIq=F@8hg0dL z0q>^^L+!IFiS%!Bw5hO9s=5?J9`kn|KTTRW(WB7DMxMU?=$l=K<)c0UXPv`TyV=sr zmy6%1O)iuMV}s=;D^w@%buXKL_Y5W`AVWScL8r(+t}XwdOp#$91D ziR8l=Cc}P%IWb{}a6u2b^8pm8{Xg{FTiI6DBGU$KhM2!?>(s=*DvO^iu8#?od8Y7( ztk36=yq24H$a%wr-IyM-Kyib?5wQ_~Qo5nU(-$-P0!wm~!=Pm7_()FZ)jk=)Bro41 zv)Ok(**P-Ot&6_*e|Gy=D^}1vH;h_ZiQ=%=>kk}nk49bUAn0ouI!$}-b!%$zm;5Z^ zSHXv`rLjhD=i1wn@#!%&30S*H(H?G_sDHd{jL~-zx})3N6%*hra=xi5`1oyE_V1|o zZGXzWUk2n_V*OJ+i{72(<{hql&Sd3!tjhapw$$V&rEMW!g4$mC!-+~^&#ap$_z$B7 zGF)x0yfyxutvGz`kLk*Sv+r=9T)J6P45L5!(Sx;X)5m=3Svyh3#(h6pIwd}J7IJn? zok&Qa^*;5KKF^cSk?x{pk3yF=pRV9Y+40%Ir&n+3l-B5AJy}cHyLsL1jx)Z_)Y6@* z@&|9Y*aQ!RG)73+T$%8@sZ1&DbO-&MBKhL$HNpae%IX6md=c?Fi>lOJL)A;_(jFb28TrX4p>CfkR%@KW$c)5az;E#6ZpS9^0?W)vfv+VxL z>D&1+g2L5Tlzg%J?7f0=Bev?d%)A2vt^^YnDrB5YXp+$FtGTZC)HeAPB?o(}Cog-l zu>AVN<&4Mq+6xMpmYsB=OCR6J+#hIo$hcS`QsC3RoTv zjCkKLDDcHSIKcWN<@CbkkX>R%&k^p!;bN(2%RQVeDR&~dhp~Ojr+yf<3+0lLUZJy{ zRAISaOho5GoL()To4(c0>@$~lV)l;;-=}$Z_8oo;!;4XO)jbrKL|5n(18$6anPnIV zSe>C>^FHJL5m2?2a?AMBsQVA{Qn58Vy#LWXsoVUaEN$sNiMl}+M{{PBeDS#0l;C6y z{ZJ6OVrX5fIvqJSRz6cOl*ZtM%*=PwYb<7)DO$ysu|BH}znB(Zq1x+^Zy#WC7N z`F@|#PhgTG3`}cW<}~^epnSWlbK2qUj>{SB^UmmX9?D&TKiyNB>p>xj@1{CeIYM@8 zy09~y96Q3DPZeew=}z5POV12U$Ii;JH)&2*7G z`im=I7v*Fd7kpSY^!2#|6`n>FCtaLLqD;P(0GX?kpC}W-pMceq{2#Y2dWHvSHhQFp z8Mk+Z<+9#nkPl4#UDZ2nNpYC*W|*x@^tKNdMO=4XT$T4BfQO&=U)U8-mUg6 z6E+X6(c{c#bF0a)CSsVrK0&Wz{MGi9qpK+MGlj@X71N^+^{Q-WTF;J;@qCy!Be|qi z6!fNb!pDs{MZy;=F?<_{FDc0=&Syj_x@{N;{PtB4d{0PYCn}IFKGfBdQFp=1>%Fa% zST5Pr@}TFP+OmNQ8r$nl=#-VX+ zN4(G39~-RM;Bbs%{#sCUz>mbo>Ez3{*($GCiBFQm!dLi$8?motI1PkvD3mQfCHbB5 zUaMlj4ooyjoTU%{P}xcu2WXuPw(~d~rz342nS5FE@fVsnbeH^u_v^azO3l{6Xd8V$ z9c2d^qu}))T?-G6vl@%Z80+64njRHqpAf9;t1~;;EIMJ^da!@6N6~vcmQC>32fO<7 zJ%=&8XUgVOYfhfQma`67cCwk9S)J^nCG5JcLL7RgH?D;(^&mr+!DXR}l7mO5z5H*t zD1QunF39k_Q6(#&_PqBQxeqG-j|MM{O!+_O_H<1R zO;Uz#lYbpz>K6ynL0{LR>Q?K&_^&vp0=5^8T%#s_g0~-4W#o3>J&}HEd@xXP)9As$ zvATZw=9%W1Y1$ioH5um{*^Hl9=iEIqV*cJ!j`=|e-`v(=JJh(*Cpm$LPKyw_u2F^i zJAK-u_4A|VGR+Jvzp#g7#f#(W*3BPsgtPKrS2&RAM|YIsZVQ(PEoIDOBh~_evrmg& zXxN*q{SX`sh`XO~O2+6^&(6FNKO-4WX8Bb4A=8?}hr8@|(3Oe7d={xZ&uwye7n*bm zGs`81*xybZ)m6n%Ea`4ZpRjxOXgM$0*?xM|{9v<9W&MC)qsm0`>@*=jW zy2upQq?-{c9u!Kq?>yutKlF+Exd}Emwkb074d)AI;(4!8)WFgmwF}P$q|X^0SP%J0 zo7^mPy{Oqhw79CG{J^4d6$Aa{&+)q|y;h$k4C}&6*gl__Wj)gy+vXA^*X$d7qvH6+ zSmq1WrKA2S2~M)|EZ0V{wUHP2Z`LTWvo(HEdG1|o5tg22QrDZU(_PrFK@@h6!@svl zVr}^6&|nZ2VXQ?H|7I*C9GWytZaeDxdR0ja^keXU~8Swc#)MWBsrC9HP(g-KIKV@_IP!gNg9b zEM-FlI$x3w)%Z~Z8}Xrncc;>smx64cmQtM@Du1RW7ak;X10?dZ+?tWL1G2WA7Q}MH-1)74MKAVk7EUSH&_>8R^uhH1# ziHp%Bl)GICPC(DJCrdM`>Mb?>c#+T*WxSeq|HS}#5Zi7xm;b2q6~!p*Om<27WxuT_ za%&@IciZ0I>B%TGw5E!oQ6kMSwqq9;GS1Js@}k_UFSP6IGZRT};@*P9L<=mbPwv%?dKBdW(GAmc$4lpqGGLml#T&DLBxv62q@U>c2=;^k9 zEeWkqkV!_G|J$o}BQ!&s?*czm4<59no4DQRMa49v7SClkA{`$YWKsNR_1wJ-lUMbGouB!7sT5M< zv#pfODhc|pajWDU9OD0!VteMb$>qhv6Nmk5(qCTF*hs!n%HMqP<<(3P6Ku5g=|ls< z4gTT=Z&%`*bsIukvg$OKlhkaiv1i@NO0_1!mqNBgNBuXq!?#j`weQQQ@(c*e$h1EA zp+$0LU7|`Ns_Y_rJm=VySU6YNX}PibVg+Y~sCM=lS5XbWN4{sJQ147VmB6cGZC7qC zk@McoogcQF`pTa2i>UAVv$yWp(-cjosu<^m%M!WC=2m>Rm=@=UyElU3^vAd1n|m@Y zF)i}e*hwwyBkj2Qd0sPGqXS>6e@%IGX*gdZ^|l*P)NQ_=ps83Ee*6rD+iK(c>{6vp zEmjhn11n`c6SsEMC@F`!*WXu7Q}Ag5$y~pZ}Klq)+ZFL*l~RFi+wdg z&45KG)hyeJw(SjNmIh55Ym%lrI;(^IeY{d-9L?-^#(2HvaFvJ?YWBbFevJwZj(k}B zn*ArX*)iZz3RlP-b@H{t-G2(P`8%b?-G9vDdJF!js5(;`OK6CE)cfQQUU&6YAF)Ug z5}$~+*6uD`p)MIPF=>5Vo+rj9V^pmBIwg{%;~dGDxnP~T!i4pR8tK`K#`HB;1bdD! z=Zxq^{5TP_EAc!-v70HVI5k`Hlcugw!}LmIWs8zW4_4oKTlL%z$>i&;IoM~rC_*d? z-=;dzGB&UDy`k1N!OL%au7-b7T;lWTzk8F-2MhIG-26$cC*rG~PydjUf-7GSE%O}4m2I?y;ug$EF?rwKX&o+>25c8^JkXNN5jOM zI(Uiy#PRZO`a@$*@n_x))GOJVX)OlbEXbxT=5f)Al|4?OP5Gb4RehwJ$ty zRsK-|!oOorEU)x5{d~k(qj-<2)jr5tt4lPNzE!tDU+7(LxjK!l>dhz84RI$|v{hc# zm;A6St9rs&$z7cp(%df;AgY=}_0#ezFEIsaK%Upfc~6GV>_;wqqkT5Su~M!fK6vro z53562`6DA0VoWuUZPL;V?7vp;Dq?SO-1-o!%NQJXBgry#EhL|aC{|P=e5LwLQSK(K z5J^C9BD`N-~gFF*pC1~`~#&|}^ z_ThQk7iNv~*Az;C6$=02Ls;Cd}M zAU>ur%Tq?|^XtsUcogd47#fm0-pB~QDNPHtaoVhg1;^^RH#Ua{J zURFC*c7ErRMDiF}3!3!Cr(0;g?<=r70;Op&gRX&>ds3WO&= zaTsdZj;kd7h$3pMQz#y&cG?lWIcG79?nts&wWlP-c>9|O}|%}=B6a=_iKzFUP!%k z=qk&hpxspXK5w7#b6C7qfbza&&I4>8H_=Qyk(aWAoU7Kk;*4dP@Ehcp^y(g4o2X>k zDhqDgRV%qG8M%iGGw5|UR11s{F`cS6)VPb{ju0@LyL`Pc`VhZEkldGVml(@J-z1G@ z5iHu0mW5WLrqvD^O$t4A)ucCZpw4e4oa55E#~|`mFSTv*)QJRgAK6=%Qchexk3I2C zCjY`YvGEOpi``z?ArB=!uRJ5n|JruoYYAg=x5@4MsOdzl7y?=nPu)Yst8S#{o{F*x z8B%#Q6MJp&zVq&SIC!2_0$!(soj{es>vnL!jdf=SI}Te?X_!+BcJ{mAokJkdNMYd_9tij z%5#G6I-lZQGV-nw>5I}ZU+X!eFCv@D*smWI@RTfrA^5J+q>^Cq<7>jq?ddmx8mzv?OuA@^Rdp=j(II62tbL0)zKrOnU4_CkF$cV0Wo4kM~gK>vDv+f;5%8`@lx*nQq-)#=?Ylze z7suaZH-DQQHR&D{9y%0EZ#E=691%>;b=B-zVBM7q!&Srl{ifCa@;8hx&n1mt5#`MH znrz$I2qg@0@KZTW^rNC8bkZWWQIKUv>5o;5bB1xhQOTw-zD^rxDZS5yuCn|q{J^?;@PLRx(| z3O;D~5W~}gdvc5hp-%}4G?kzf!6p%g z7Q}U+Xesu7ZGwMQo>B)`3XC7&SU(D!8b(O~i%NKqyqOb(Df1} zY*%r34{L&&-(-{pR2Xg)06bKf7(1;^>z6ja!MKb{^21uSnB1Ak2#(`e6Ad&&Yj*0=<3>X`<<{3o$`x2TIkTJqB z6kOUTtRRFDMtFG@A$J%tis% zt7ifc(9D=a=-*Rdni<0doR~54Xn{qXzys=-F>>g&Wt?D(wpmBaZCId1(l10<_yq@< zg==vyXTm5#{OMdG0J0n~^_D0?dO*nuhsnW;VMpI4K`=WhAre~ zKtp1Ne0mt|NnP@2xnT|-jv$1L2dX>XB7!py<{*0G6C%{} zU^LK=b`XJ_7n+?z0a-yfRY!PXXC2`L3BtuK&5vOOmlfffTIGe!5|HEJY;qzp@K6EH zL;xSu!Cm8jE@qC<FjTb#maQOGJlflI*E{nwcd&>n>Aef-Tnp$Bf` zxJty8(D{R~sZ6;1|60=n+ILWADFby|IGxTEp3YJUu9vSfcm%F4S#-ey9)W9$1qglq zr#p*qOZnRX9d0&RK;0n>8=7MS!K;Tb+GyRM`vNU44YKHvEj$u03cXg8VUNmxA^4pZMiaekfC%n}#4Jdu1#3eadXs%j3nUF;#5Xv6(`+Bp;3irI zjj}_?6-Q!vu**t9h6HKQf!3mq`#M&nw;Z|<-*dxZB@m(uC-J=}PVh&Q`{4dPi0lOp zdeAH_2uDQ06+QT#x)X{BVqwH=NDET>&}QbuKHe)lW>AE~zhZ!=3EY7~V_~QE)(@cp z#QgF5m>g*+5QlY7BiJ$(*1eZq_+PR|e;MxEWqG{DRlzQFd@SQAdSaSl({ zFAfvNZ3J;d_CDU*=U7075nLHb0KtPs7=1L~<$ZwxOu4~rKFAolnv~|_`k&V_Fr~W=$Lv7!7oiQ)F9LpI<&X!6Akp?c3jRxKxaEK zE0P?y!_X_Hb05L62>5$#>3}> zAuhw=+Sz>!ivX8aN-K!nR{mluxGANs?hCY_*9wlMW*v`6ZT#0EGi&HN_G4d11Iny1 zGAImqWetlr8U^?qU`pe6iK#%C4OG;EavRv=x8#Vzf`Wt{DI^1G68zH+oS{8W9x@UJ zkVTEW`Nhy0bo-bd$*7tg>_9Xtf|Kkp253P}L|C@nw z-qDHI0TYS-EP-P>$Vp|&0lqdwWe{TS2(A1(C?cQ9)5TPI$vjqtFL-#Q?u4-i97c!kY<^d&L#-TX$$* z8IOnmSHKn?P-mXBuY=9wD)1o=e@_F`KDhInCx!;}hrmeUo)Bkd?qe;~ZP4Ti3#;iO zj){RJFPII>qi`t;7UGdWW%yzkz4A}a3$NfAQ2Idw6)zZFv1}i!qP?qef(-ajP4aht zr16F}mu~K33b1O6J44{k_6ay$PaU4_e@E2MI9);$p03UU4k)PQpFT;o>>H5d4ze<+ z1Tf_TORei6PN4(LyKt3{YplT+1|)uhU@AX2(WcK4VecqV=m*s|dT>M=Xx$=RJz2+nc>r9R4(phyOQwM+2Zv_#K|E@g3~o-l^#| zPUi)`l>auRg(?G{f$+F#y|B;rDu)?}1VK~&Ra_B>0Ig&H&35McKgls)$1@mQ|1S|c zIOnJz`#LRDDL8cu?)qB4_ZbaXnS%CvXLOZdX#bf2(8a<0H?EWL0=N~zWkQ6IRU*;@ z$Qq>%frjIx`-VKgBLvQf7|02MJ61d6zJdvKgup(lhQctbEdS!ahxU$87)zOFPgl@O zLG-v4mfoj6NH|V z!&B^?6E#ji`wIv6u_!V%H*xr&%0A`;yC>igMNS7HNry?r@V=MQ!=ZJcKAvvxdua!U zyNvKK{P<)6VG$5>AKu5ZNRwoir1;x;uf@KB82I1!lVc=wPPf6+?R~ZO;jps9J{Co` zdW|TE6+93Ovq2B8dyxKp!B;^Y$_I2s!Oa2q<4m}~AAeH#859k7^8-N$$qIrg?8Ono zV+d(DM#_x4*AheD3`aP2#!8ax_7}N zhOVwa2+dVU;1$f@>&frX8l?qj<1mhB&3c>(FUW|)sG(JEBldG~@J8Wq7a}O1gx4R1 z-H4ER5?)CNyg`I1oZvK#2#WFW^YPYGg2=SODW7O@w!1pJ;$p8obq5?qN1Os}43YQjjhOQ?O^MgM|s>;lwjY!NS0s+<4>zB&Zxf zmxOUbryM{ONlEbSts{nKwUUHUN8go1h}J2L4w}^v5iXsADb=yW34Gwg84M}dJp~iC z}j@5bN}o-;7wRKh+X1F2_VMA5W;qK?Mq?Fo5h z*%)Ay4A+yzwf_JKC{M;HqiY)x^WVvE#sXUq!6OA8+w<@42?h6HqWA8iXH#IOj(6jz zELiC#qXwF(a8i%-?h|;D=p|zV?Kr&p62Zp?aDyWKuiO;V;Djpx%QTD?NzoD+ygL3r D^DYcK diff --git a/src/uk/ac/vamsas/client/simpleclient/SimpleClientAppdata.java b/src/uk/ac/vamsas/client/simpleclient/SimpleClientAppdata.java index ececd9e..7ea7dda 100644 --- a/src/uk/ac/vamsas/client/simpleclient/SimpleClientAppdata.java +++ b/src/uk/ac/vamsas/client/simpleclient/SimpleClientAppdata.java @@ -86,10 +86,19 @@ public class SimpleClientAppdata implements IClientAppdata { this.clientdoc = clientdoc; } /** + * ensures that the appData information for this client + * instance has been extracted from the vamsas document provided by clientdoc. + */ + private void extractAppData() + { + if (!accessedDocument) + _extractAppData(clientdoc.getVamsasDocument()); + } + /** * gets appropriate app data for the application, if it exists in this dataset * Called by every accessor to ensure data has been retrieved from document. */ - private void extractAppData(uk.ac.vamsas.objects.core.VamsasDocument doc) { + private void _extractAppData(uk.ac.vamsas.objects.core.VamsasDocument doc) { if (doc==null) { log.debug("extractAppData called for null document object"); return; @@ -238,7 +247,7 @@ public class SimpleClientAppdata implements IClientAppdata { appdName = "User's Appdata"; } log.debug("getting "+appdName+" as a byte array"); - extractAppData(clientdoc.getVamsasDocument()); + extractAppData(); AppData object; if (!clientOrUser) { object = appsGlobal; @@ -271,7 +280,7 @@ public class SimpleClientAppdata implements IClientAppdata { } if (log.isDebugEnabled()) log.debug("getting "+appdName+" as an input stream."); - extractAppData(clientdoc.getVamsasDocument()); + extractAppData(); AppData object; if (!clientOrUser) { object = appsGlobal; @@ -315,6 +324,8 @@ public class SimpleClientAppdata implements IClientAppdata { * methods for writing new AppData entries. */ private AppDataOutputStream _getAppdataOutputStream(boolean clientOrUser) { + // Must access document to get any existing references + extractAppData(); String apdname; SessionFile apdfile=null; if (!clientOrUser) { @@ -432,7 +443,7 @@ public class SimpleClientAppdata implements IClientAppdata { public boolean hasClientAppdata() { if (clientdoc==null) throw new Error("Implementation error, Improperly initialized SimpleClientAppdata."); - extractAppData(clientdoc.getVamsasDocument()); + extractAppData(); // LATER - check validity of a DataReference before we return true // TODO: return true if usersData is null but we have already written a new data stream if ((appsGlobal!=null) && (appsGlobal.getDataReference()!=null || appsGlobal.getData()!=null)) @@ -446,7 +457,7 @@ public class SimpleClientAppdata implements IClientAppdata { public boolean hasUserAppdata() { if (clientdoc==null) throw new Error("Implementation error, Improperly initialized SimpleClientAppdata."); - extractAppData(clientdoc.getVamsasDocument()); + extractAppData(); // LATER - check validity of a DataReference before we return true // TODO: return true if usersData is null but we have already written a new data stream if ((usersData!=null) && (usersData.getDataReference()!=null || usersData.getData()!=null)) -- 1.7.10.2