From 2ffecaaf29426b5ae9aca3284501790dc07ca8b4 Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Fri, 15 May 2015 17:01:18 -0400 Subject: [PATCH 01/70] The mapping of Accounts feed type needs to be corrected. --- .../src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java | 1 + 1 file changed, 1 insertion(+) diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java index f768426..adb4d13 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java @@ -73,6 +73,7 @@ public enum SFV3FeedType { AccessControl("$metadata#AccessControls",SFAccessControl.class), Account("$metadata#Account",SFAccount.class), + Accounts("$metadata#Accounts",SFAccount.class), AccountPreferences("$metadata#AccountPreferences",SFAccountPreferences.class), AccountUser("$metadata#AccountUser",SFAccountUser.class), AdvancedSearchResults("$metadata#AdvancedSearchResults",SFAdvancedSearchResults.class), From e1e879e17a25f2a11ab0e3b1f3057b7f3165e6e9 Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Fri, 15 May 2015 17:03:38 -0400 Subject: [PATCH 02/70] add the the updated jar to the sample project. --- .../app/libs/sfsdk-3.0.0.jar | Bin 346143 -> 346177 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/SDKSample/AndroidStudioProject/app/libs/sfsdk-3.0.0.jar b/SDKSample/AndroidStudioProject/app/libs/sfsdk-3.0.0.jar index 0dc7dbcef730f77b55555a562e9461ebc2e08cf4..ce43d1fc99ebdf961f939080d63e003199dcc24e 100644 GIT binary patch delta 16083 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 Nnj-t!x4=2J{{yDo^FIIp delta 16607 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

K8_0>ev9fP~~5A@T$s* z#o92mX5jS5DoAg$VJrnBcyISD*t?_}>>cx&?q~~0Q@61?TZ$@{VavExJUC^){18Y# zZE#3uUT6KVT3bee=$^bppepl^)RwqX9 zx@8n$?57>$m@B^wkffR+10bmob7JA@#>4d>$Adw|ig`=?1&(95?CNC{MFPq(=Q+{` bawHbi)YX|{%G(X06802%R@3*uY?l84gl~AB From 21fa7603cba812f5673f1a6131337d162c92bead Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Tue, 26 May 2015 12:22:05 -0400 Subject: [PATCH 03/70] Fix the SFOAuthService.java --- .../citrix/sharefile/api/authentication/SFOAuthService.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFOAuthService.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFOAuthService.java index 18853e9..9a830ae 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFOAuthService.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFOAuthService.java @@ -220,7 +220,8 @@ public SFOAuth2Token authenticate(String subDomain, throws SFNotAuthorizedException,SFJsonException, SFInvalidStateException { SFSdk.validateInit(); - return authenticate(subDomain,apiControlPlane,SFSdk.getClientId(),SFSdk.getClientSecret()); + return authenticate(subDomain,apiControlPlane, + SFSdk.getClientId(),SFSdk.getClientSecret(),samlAssertion); } @Override @@ -229,8 +230,7 @@ public SFOAuth2Token refreshOAuthToken(SFOAuth2Token oldToken) { SFSdk.validateInit(); - refreshOAuthToken(oldToken,SFSdk.getClientId(),SFSdk.getClientSecret()); - return null; + return refreshOAuthToken(oldToken,SFSdk.getClientId(),SFSdk.getClientSecret()); } @Override From e49350c0524cf304179ad9f222775cb4e4ee2496 Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Tue, 26 May 2015 12:35:06 -0400 Subject: [PATCH 04/70] Add the extra entities/ISFEntities.java --- .../sharefile/api/entities/ISFEntities.java | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/ISFEntities.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/ISFEntities.java index f1b8daf..0c187e2 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/ISFEntities.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/ISFEntities.java @@ -117,6 +117,24 @@ public SFUsersEntity users() { public SFZonesEntity zones() { return (SFZonesEntity) getEntity(SFZonesEntity.class); } + + @Override + public SFConfigsEntity configs() + { + return (SFConfigsEntity)getEntity(SFConfigsEntity.class); + } + + @Override + public SFDevicesEntity devices() + { + return (SFDevicesEntity)getEntity(SFDevicesEntity.class); + } + + @Override + public SFFileLockEntity fileLock() + { + return (SFFileLockEntity)getEntity(SFFileLockEntity.class); + } } SFConnectorGroupsEntity connectorGroups(); @@ -124,7 +142,7 @@ public SFZonesEntity zones() { SFAccessControlsEntity accessControls(); SFAccountsEntity accounts(); SFAsyncOperationsEntity asyncOperations(); - SFODataEntityBase capabilities(); + SFCapabilitiesEntity capabilities(); SFFavoriteFoldersEntity favoriteFolders(); SFGroupsEntity groups(); SFItemsEntity items(); @@ -134,4 +152,7 @@ public SFZonesEntity zones() { SFStorageCentersEntity storageCenters(); SFUsersEntity users(); SFZonesEntity zones(); + SFConfigsEntity configs(); + SFDevicesEntity devices(); + SFFileLockEntity fileLock(); } \ No newline at end of file From 07e1f060c0949c4c248903dd888a5915c4cc0016 Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Tue, 26 May 2015 12:37:06 -0400 Subject: [PATCH 05/70] update the jar --- .../app/libs/sfsdk-3.0.0.jar | Bin 346177 -> 346310 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/SDKSample/AndroidStudioProject/app/libs/sfsdk-3.0.0.jar b/SDKSample/AndroidStudioProject/app/libs/sfsdk-3.0.0.jar index ce43d1fc99ebdf961f939080d63e003199dcc24e..0907c4e13ac29a1d174c37eb16231e1c5decc46d 100644 GIT binary patch delta 17749 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%0AA>l`5Vs{pFJ@snP7=qAbeI z#=6kvaA-hu$&}HgOG~pSP5))?u@IfFBQg~e#bZ@!Z_L*(mue`ST|VfNayP=dts_d; z*rc_Ve|cnLcZKY;r7|&9q@NqF9#CYnAbr%Y$f@r&3uV>G*%5d+np@}K#TMm`2U`w& z*I2E1mB+|&bF+3w&z9uxIu-@PtZO@K#+CNv@M9l(3vh zl#9M;IXP38==^Ix`2^t<{dhWgJ3m1aDkR6T@#8N7_;bU5&kibiQ8O~wwNkPu0qQO# zYaoP%qLq$XPXKBw3)JxLCn`#}KTCc`I89ftAP2A!UDE2vyG8H zgR0ZJhRGvPO3Mg23idD>C1bGF{+XN(TWiM1?_taSEBP{+C@zC|ii;+Jyp>3ve2FZ! zK}l;x zFl9L@3yJp%`U+mkYLpufbH%y(1Jxjc+w*esz%7tx~pzzaw2~yzG2mPi9WjmpT zZX!XkCSF14dt@o6phe(4#Eb~y8U+d?h|)@wwM356;}=r2ISJKO7L*J=0%z$?c@7gw z+>2r+M$lG;Q{Yn!y(EJ25xSHcMX@Hjc12M{U^G8(rD(u-Nk&ubVEmEBeS!nP{s-(Z z1ID>?XWSqa7Lildx_4oT7|@&paDjHiqe!CH_&`9-MJ-bZ;1 zd(Q5stbi7;OraP;T23m(4fgC!qnHvMWYQ^PF!cOclxfK1$)UiB;+8{EgEDpr*hGAF^Uls_24L_8@9@hQ+`38N={OSgowCh*HJX3 ziPqJ2iaL}(+(mf~oZRsA2IF6ju7{uapP~be*6ahOG~i zlwN4ky%|a(qgdMpV8L?8!zNpGVD@PU}YZzhDN1R~mr~%RmTbqp##*|xR ziipCA>TZExa4d$ck!;wCvqN~{T*_R5Jc76YU!)ZpqvDUOhRd&`?*Yy>;AS@`{ywUP z`6^I3=*@x1GZ@c;^~hq_dJzIVA*{Ai=~`|CtQM!jl=SdNIItK+su=y+Cd3+I&c7}; z+X*mXEX)`#Y*Y~h$So2{fI!1XwG&DxiS&URt7-uHosn+ z=lT#w*qV5cIK$bJ5zi_e03vk*#miMSY?UquY0@AP0)gYhh%*#zF^aTPh{@A4B)8uK zbkWZ9Y?8yObg2S#w=pCb%9Cn9`z6>(B&r9j5XLk)5`6=?AuARGp8Eg zDM4V?bu8BpRmb9wq9{GK9#w<3l{TP3u*K1Y!f#dRD%a2r(9P@?v>T2_*d6o{fg?U4 z!PehLiEl{gvG>tOaB*7NhQ5VXXm_DJa6_@^K{Z(MZ*#CseW(G^DC$Ek@sY;f_n`}j zhDbk3e2Ig(_oGCmhaK!kZ3)(kesl%V(0h-16OFX@s2A=k*83h^O*E`Nplb+L(FfFr zX#DxW0IwWCR}z@&0Y)#jL39;?SvLq+xEWUmK`&gO_z>z&G&T*Pfkfl+5E?)L3NocOPSjG)U2$vz_>-*CyzBWNhm(D}q@90LtvaOS>~!T3gj zMBJb)qo^chrZ|sZL^98+L=Af~3f2f*%v+rC=OV!XSG>F)OUV==1bzjD^L0N1zI7#o z&xJ*QMkR=jxj4hKdXCWr7;>P8{rpuhiDZbMSQtMg32~PhXld-VDV2*r5AhryE&|E> z0(=j&=szgPPJ57*IsH3y3Ot*Y8MRh2somO6KW?BRnKh zo(+j)%p}6`F^knUL{A0I8m5H6(_)PoP|~cwh#MpJqpcwMbRqU%9DR z)Hl?gu&D7HuxQyNZe||uq~yG=`D5_Ep7zY(X#89ZJNHM$ zi$bdT1S&(Q3zz`Zd=5xm!9nIH6cVhPIBUiMvMxK2h30KBE4{tQ3T#rYVA(NY^1I3v z;v-zi!WiubBTuq^08tL^I7=0yx|0P7QAAMY58?l&=mm^#615{n+bl*R zSup9_mI#F&pG1`jsI`ZhpE5s*bl>UUBo@lRdM8mE0(E=yfLA^8BSLG0>b?IaA9hgL?2m{ zU=eG@=(Fo?tU%O5@XMU}E&UL`dWJC~!k1GQ`U2Q-pw*g5tLg_F>P`fOqf(;~M;!$y zD<;&t0UWgev-}M_$5)-e-@vT=A*g2M5XdInVnWLNb;rMJ&-5_FbN@lr2oF~7j>{AW z3h|oUoJry0PY}B24`V@y4_I7n3}EYlZMIC%%25c793{)lTd``-xd}sn_XK!TCcM)Z zi1(dk%+)=!z?bJ^ka}c{EHE$S@Rox&*8wR}Knio3T>Hu}@GF>P#Aty;J?ui2q{M!Q z9B?HgImf|>qGyesvLp0%WshW2)+~jDNiDStG2nHk_4&Wf5{J~ zP-O_!#2)CyiFxu;CGqPX4yGgq#@WZjOesAD+K+;bk$Et%`EC-J8bXyOEO>9~y^#V| z@=1Va&eVszb87Sn=-g!!*Z`TA87-kXD7=8eI8Z9QrjtiOuuMe%F5!^lanGcfPE6S9AGT1=(F84gMmko^jf^_EIy!SbnKaPax%^NVPF+2 zFfi9^jw*uvVPzP|XR$^QKd9^ht}>74lkhnMS+HwtR6Z;}oWeK1lE$+Ep;D2|Acgsb zlYJ{>fm=Gx|4Te;pURwvKy5NmtHWfx>wGsZjB_i69b?mFOr>0QpmD>tIk8-r6$d!? zzhkG06K>An{JdypzB<7Q=K!pp?Q<+14BQ*?VymhX%v1;<0B)H zB~q5e9|sbjgJ0%ilOF$9CoOI&I~E^LVfnuRQykJei$Uj);FoztK9j&K01lZaH!!Gl z-(M_@n<_)(aNU~h_iP~16hLXnyiDy(oWsMMbhBJM+6y%DfJwu=SU*mIP!AreHWAi% z9-xpdZH~%^-A|1*$4CBrOIjkz4zkNyjpE=Q3X)(8I&>VK;3^oB?(9H z4#q?hrh`?FlA47pki{&sz-Z%%B#ZaQ@t`~LBggm)ZaGP#)=3zdkGg;;rXKFnGwKF| zYrysIT5=l)DPnvA;JPs@hr)t64luUN#{24WTY=LVd4tk1@9s>2YZp6CT)_=Z3&QHh4G3o z_D5Y2z)~EaV@Y5cA`F2AI7{*y&Qc<-y|I1~uwvrLb9lOIr4)khZma< z!CFxu%71E(#fr&JQ8=(PHO83S#QE00A%A8DEU~Y|7*@!O0oL8wITi<&ISabpWnmN$ zubz&D<7d9bz!c^Kn;r{xS`L{0iHe9od3domg3CL|23a}cR36M!oGL&}M|W|+lHr_V zX%ks^1ELLqSK)qlJsWM9tHY`<^ z3O9<2IO~qZ9E%(KBMSx-%nVFI4zL23%(28Uwi$3-$0yC|vP*}q^MbGAK;6n*n0>=e z$x-21F6_l^n*`ue4*=>jxkdHHg(_p}@>EG80>3x<+lGONDuF`JiV6D67eZ6zsp`Z! zE*(_;loLq30@iWn;Ge+S<*9Z=c8V(i(|-qI2}(eVp8{2w$cx`Iei~yyOAa_-G8f!} z8zA)YdW4(lZV8`e?YJ<{P>A3TMT9UNJ;o|K|LF4XIppIehzBn)N`y%#6@ir4$T=$U z<^uC|{d83@$7^8jN>l;D`}vobf4y(S;+3d&L^NGb|b=_f8F z-~gnWs!&Awl&(s7gu{u%`D93)hMnirXn z>aWU}^7C&({|-b&HiR~*QWXh1dvO7L2XU%0)|QK~V_N^M-HX)#%l!mo?NMVaYDaPE z*E5iM@eByh*nb^naaPY+=redqf_s#YI-s6952=3V5gu&QG@}q4JD)dg55jQ+Bs%i} zg6ks0PpLBsRVfW1Wvyi3Olicv3+!#^DM@9vJ+r-Fwcw^ z^f^2Wrme{k<*W%rMKoeJH9;YhrAZYeGHm|E>fgmP6T6`a#tWbSd_SDtv4EYzTjAg8 zLbnB~8fixO=U2Grr;UwWfN4*GY0Rg`SOC84cs`ywwa~Bx%KZ5^GN$DPlf8B=& zVCQwfZV7zHZs>rq`3!EJ@F@mZVwm^>APNsl?1IRH_$!zQP;J8$76ov<#K6nX$9~t@ zGk(JWF9q=SO!x?J$22G3>I1@s4TFM-P%{5=_-{NK2Vp1hmIyBqq$@r|{{f*81xo~T z*h4=;=w3Z=tf~FY*gZdZEo|5e@G>AA%vDZ3xG}=*A@H%I2sg3N67ewC1Mx@$cR>t3 ztRqk1RPAq&3LYZ`=97osb0rBMAP%5KpULZ^GZ61J1CnR1UVgjam+fkRZ~wmm<(-B2 zI5NtM)#x)0+E+i!nBjL=C@WAscPjZcwYX3KU|j_M%{?^^h+k+xl_!Sr(pycDbdc73 z;6$s<6oqVF2*uw}F?U{+g*d7aowze&Di;BJ)&U*Nb74KG_i)!hC;s_dnSYl3cf}YH zp2Jfy@KDP=-^rwGGMjO&c7SIdN>5N@;{F0WD+c}- zVfZeP=Q0V+ov4<4K)v25@}O>6`wjDe`jznD%^17+E}R+~ zfK!#RCNoe{dOPSj|R4d{ZPUfL*a*sD5Ap zRKJUcEN)9iHKlC{sNy?usuC7yNtGu?YVI{31dh2-HroZE;DMiqIJgpl8^fjij)Sa* zIFz5Mh6dhYo>l-6w-+M7%Re7Bgfa}P##siSn#4``l7I>@U4G%?UW)A6cp9v;Cq@39 zptlp}y0Kus){IJYw>6M>BmFPdQv*bhI3yA7%^th5SOIMG#)_auW=dS29M}o}Pyo|d z!kD#|OMtxAqYTy(ss@n(7jWvy!oNBM6rvp13@FD4KBo=fXP^3u?_tA;`WBqE3Y3kw z%Y?2=HjH!iBb=pE{TFMr3WS>DDC2G+#FlaW zG=fw2H9@L*6WC3Nq{kE4*$%KyT*GeKQPr?)JH|3__mrb+8puQ)P_{F#xvaNvs5Nm6 zyd|&RvmZ>bpZ}L9eVDvG)snD?xRkHGkL#Ai3hWsLPL(}S`;|fUai9ugzwJTci@PB2 z09Y-cF2p+kmMXE@EbzXa-VE|R3|we2?~?ps7)w41h=}6YwY%*Ku0nKl z4~@}?QIbT7nhr$>*M8ehh=ezqHguEm#(!JyL4Ea#D;ZPBbaa}m=+$#XiIRkEcOZv_ zTNRWcc{6f=&6n?b1j)a z^@nSQGyYsY^5l1Ih{JJa%EPUt9kr6;I#UFeCsWV)N2g3l5_eum#&e|2-zJkJd}^(y zHF-EL&GYf>T|cO5bkaSgEkQUepDSU2DYm|7yZ57_OY>|b9{$w#raVuER{3}^OQ2oJ zo7O+S?Qn5E`;3F_%r)LCsUNhZ=SnvHy2)GP)gQuN_;~Znxo&#neIE`{R1P%$l$k#n zp`JeP%Hm!-X*)1^X`Xccx0lcNvuAR=UPz?R%kWVA-#bj@$W{A(XkGuSBI`Q~55?z$ zpImidf04@PNAByUSMvYnr^wg8TQ|+7*=S-jZKqi6)i1&JD>=%1zAVc4R|)SQ&wh7R z*8X>_zbd1y&!3Cf%lhkd#Gfsc6DNDo=M~5IH82rZZir!>5#10obLC)*!I`*Z5j)oC z;|43c3U23iJ||yIX4!W@YoO5Vz+MBC{ZNR#^>94%%!5A09q6~5kco$32j9$`&UhcE zTw8S^xuR|Q)fYGae2ynCx0F9H8S>(}r4yRrfb2Rqd3o*Lp2%be`HbnHrsgQhrwcqc zAGml1{W&jQ#(Mwv+XIcVqLrR>=gQksYwmLalKGG8+S2wbBn64bE zlseKt>TF%LUFgEz$c(Q?+3#!;-z6t|hfl3jsnzecX`-ztYu(W`?GJ`D+iUy}GP*oP zYj=ip>_0erbV5AjVLAmermA$ z9`a1uVbELCz`M--dp64ig5wQ?e-XTj&0TtNv3)1}=*dVvk9yTiS#N~aI@ zs8Yn<4P>Mt?E^ns$j{7}$MRlnc+E!K+ivGFiF|6$&v^XV*(SaGhPB1Vk|r~~%XMFS zuEmO(YGyhc)W74``XdyXec`_nM~e>S{KLg7d~@kV9P)AtSiQRb+nA-Es$>7%bs;cN zM|87y-ocrfflo~_W8ICL?3$9w?sP~W-tNL%LP1)&t!?85y`oC(jjt#k9zEJw5i)$= z{_yd#SlcJfH!fbX^6!Y-8_;phv&^?%we0?S)zS{Fjy-upN`*lIcEMQ-9(jBp3Nl&N z20dSuS;A1Y;p36xKiCgtXN*^9incc2J>(KH^U;1s0q^dDuc8TIH-&pl?#)FPN@h0i zb&2rKr8w%@=XFG8cL{xA=n1lOIO`$ko$Y7;-A%8;iuJqFj)IMTX=w@KLZWv%hJ0@k zRa4g8?48=8H92puXA>^1ee2je*=mQi&hK98e%|lFdL??m{AXpE$SCuUg1X*srw_Dd zaPz2-CQR_!@!or{rW!Mr7J6Y@Nvw@~LE+$ePo9->lus;4XONi{I=3yhJ-ybeE;D!L zYT+Hn)1x}=;X48nv)(8WUe^=Zqi@U$iA+9R9qIHSW%~1`Zq=Q=dp1_to{cOhOnrLG z@g+akor>A-JG_4LM+KBNU-3$jsmrkqk19a#YF3}fs+D^f?>Q?~`S?^4OI1iz-F)qj zJ;f6n`iGR>P)dHj+~ZikKI%jiXYnZL$>Q(dn;cNyqn;_xwAS<9=*x3;qC&w| zR{st18olT}TvFRWZu61jy4aU5tH_kL>v~|=>d9R{SO1AL?3s*jO!0HIo+$|E+cod0 z-uiiKaJh3^+o~}+{W1GeFOQO;hLXa`3#{_b&I(#818R1&>NBKXE461rNTEAn7KiBMSJo@V7 z@u$y&;*2w2y?K28$OD-HkK-Alxs&&{SMB3fFWFx=LmaOZdK@xtOkpggZ&92((Xa5i zD@wVik$mIn9sjpK_D~A{hzN)qU3pM&{=f#SKIv=UqD^Eb&yvM5r>%Hcn>I3a&Zsvf zefgNhrCuaz^!2bQ>kD0pBW@3UMnB7H-*qr{zc-ZYTX6TKaVA~GId3VxJJJ=mtt-om zN}S%mcKSBkm{OiNMVhEMJ3vVIC06S0+a-|kbaNx)Bu`l%eFf9(5ap%IUY?n`)S7oH ziZv<5?~i_v70LQ`X8cdR<$ncQHs|7p_eXi}b};8OFcz3EmY5~Fx9k@$6#LAvus^C) zKiX7*b-J7=AH;J-p3v^WlfG@Z{_N1$o235D({FDd=N=7SJvgIs{eCcCpqGyTeZO8+ zL~Hme-u=At*01k`Y7U-qqP)Cl)%%Q1B!@H2;@Ha!tGZ{l7Rm9`4L*YMyY_Uh5H?}Y zW0yaxYB&93RL-z0_r6bX)z$kx8;zXXbfRQ!l>_awzQ6Le6%HO?dMx+CAmaH4EB{YA zsa#e&{J$d~g8hifa<}&r^W<))KNv4|vfF9blY8Z1*FDXM=L1$f>9u^plwHhY;vYA) z<&6`LUasMD8GdkdB5}e={?g6hp=V*QRur!73La3rD1B8X&_pl3C0SEAq|Q?4o~F+_ z^Pbe`Y@u%6l{ty}SG${RU5;s1rG z{!7oFcC5+#EeC>`<+dt_To*K#nV|^!%sOA-t@G(=aid?ac`-Y+txd61#V?d{KXsSt zH9v8`nfs}G3rss(Zu47OjGs=Rqp$T$IILC^=K1`8HG1zVORN&Q<*i-|I|OCfj%aXD;8Df9q?ibSV36 z$J}JcXWqI;;@;fc)E}7o(97T7qurk3F~)Rj%qF4Xda>Wlpnx;pdwMd=bwbqInxxyx z>fN-X#yiFhKd^O-*A`igrrX_U*uLd#(pp#lb;`P&sK6#Y1DQxs{i!eOB$>*G(6!R^_dV&0U! zhcBDXTN#Yn-HV&(wiph0l5pO|#GZQrS=m;ux%*v9dF3?Sac+sntLIhv&ZvKIooAk? zcM6v9`4ZR>H}{`jm4oX!>vqSmEwWQ5x*`}l#E+g}6yLNkA0u3AeQSYh=tCQKy?%~G z@#^e1J9O*W|1+>tN$wJV`Peu6vbII2fFk9!yJ@k1n&(@s`a51{y`J+vPgP7ES{v!f z6`G#Ma&ID6cu3g6aYKFOa!m+!wmAJr>us>c zqjHL(N^LUo+t$Cqa{Ss1dAjS~i_(0(5X4Da@Nv_n??*1_l?XnM{2`w1RdWk1Qj9uw zqR{_^f#<6?bz&zzkK4X}l9p6R$1oZQ&BFgG8tI7 z8x6XjvjnQE-+SQyW%k;$8?$bkt`eS~`8+)J^~cUR@n2?KZ!c9Gvlz;9TBEnYLhp>s z$vmk(4FQ3W&swFz%8r!{rIi{raej_Mo&RYSdOBKK+t|Hme|3_q!zTKj?s##`o(q1w zO#x&bYjX1nw{;36*ROQjPhY&By0gsD!eWPz&5ktQ0B0XD#kQ;zt8J8;)R}enxc1+P zo#Nawuf5@@xROyd$I=BDyTdYN|6#_id8h{qQ3)-YM3|FJituZ0iG2|pycfC^%QNCv z!I+97cmp)3{DR-&lGSTW@JrnDzNq*!;6|#>Lq}(p{HR_dxu`~f;^V|?%^Ur0kFucE zhG5g4pfh)32CA<{a*<6_ADeRPXey=?g^%2q?_GUwx8~1TjxXv>0!H$yY@0fNIqtFigR4ZFAP3VS?t@jX-B=4b~Y<6ZME=@co6 zR>A7s^Nnj3{0}xgoPFk4-Jq>^C{?@SVM)f2DQSn5%M*@!JWaus3hC3O5jXQvcahBp zU%xWko8|G?m6yItUe$WNz*m;qOG7MWiAJ4+v!Zhj5SaA78V>|Du2Tb!7ZD}G#{j!ar6D+mDcO&bhy22FoQ`2WZ?%K@T_|-bj ze}_tlpi$^pr*6?oo6H2 z{;Sc0Pi1UlHzPk11C292kW)BIuQwW=+3$V-0$Drgfo7{JzXC^Rc#@^>iqUOng_>Vi z4|c`gl|hD1GhCzp;N4zq=0Bhmr{mFIp+_i^L-xoV=X2AZ?zzUp`N?d566H&7VbV_r z(U6;xMkyDBx2DA#Y>n|r7MMTjrEExYO1ddE$k#}44_U3uc_Z<4(y82CQE%?L^ob91 zpY*J}cK+hw{U(=Q9CJx`(oPj1xM!+w&|2$J5ck=k0DF14QgL<6fBN-3hK{Cf300ZVWZ?k zMLfUsdRE8&{QD=rPNHdJe7$E5AUGJ-A~&5_RSoz zp{OxC;j*GqguT|dnMub>S(%JA(QD1uIx+3cxY-vzdTIQpNN7z~WzBnz_SVirS!(6y zDD=KMEuC{4OFzlJ`T9Fl=lTB8L)jl4s@9CT7ZqJidur|dn%~*1M#<|Z@j-(B^G#)^ zi!DpN6uWu6HwSEgoi~$Vp}e|MQQ@@Dpy2s%%`C76+4u?HoY}1?$fKXo-7eE<6e%Yh z@JML1=(_QCL+jG~|1xvB0vs!|Jau=Ri_dqZJeED%;`QI5tmzTKx|HB((;u!k-suVp z*LDxhuZv?1@N;MA>MWj-?YiQ0=S6mOw3(21!R`~r!fc+G%=}|z3jMe`HLscaJH?C# zKhEV3Cau(sVUHS#k&(L_voX$x(~#HGT2!;ZGV!c8ry-x`UeRFd*o#@a11&ypig68o zoWW1gJfq0wS#I|EoXms|*Q<+dk_LR&w9kcQSyr7oq#LuExmf<(winV9k~yXa6fK-Y zi?c18J`~ayJ4wwpaOF8a7VUc_Iji`%TEDhUy6;I9eX+aL>=Ulb{J|V^x-lf?V99ga zx?|p?-{}2rDs=u<%(wx2L#Ck~v+61izsyP={Z~r!r$@h^Xm?P$Z+g1cgH`A5F9w>$ z--^AiHtQv*Tl$jG2scC``C%UuYBG&*QBp40ZEjz~8Ets)_U*z-g%5KAG0Y6l2x~b; z2~M5?DX+y(3hZmv$TycwYj08^|JLF7MMt?{nPV&45SzS3cAxC0xle=Rx4th7carHo zKinhWcHq62fE!suFz2xJ=CoA@*6t;Id$L`wS;5rr2HQ>ronDrl=DpYVu3G*5cEyb4 z2t|jtQ7DwZOTv4wc3*|GqYoxME+Z%;4IY%GJ`xd>=s}49H7M{9F`oXk(@%7&(cZbt14!#V!rpn#z zC#>x0zVqB^rT6!x*BEtJtr7}OR28k&)&83%$I)N+3_p-uyrJrPN`%z(F~;s~K!cq=WFa0EZBpaM4u<~YgqCP4}J zr2OnHf)s2O<`dj-wsMYA!cl&l@7!}j2QSt_duItM=*}Sm6MCtifFFj+|LZ4I;%A?7 z?+*ko*m^NQ@PI9yAwn5!jejJR!q$xuf;((6j1r9TaFyG9CImxT)i?o#t*w)USlI6? zs-%GPU^@OF;{8s^BD0r^P80GW-}5ho3fMaRjj$QlhdFAB`z|#{IE42Mz4U`%h?Cy_ zAlN~xiVFl?d?c|$-Wq(+!@}lQw3F!Q(wNalwul58BtT?EIXQ{!XaR}LRsNlY*arjE z#X)p|abLwtWQH^=0b(d@RSOeM$!s8GRwnxd>^Fetk1J>df=EJr56NWCavMpaGjtYv zRX|@blIev=bTqkW}qt=FFjpHRvb1Bs(B$RO@Y=$idR0i45mKan4L zDS0Q^_9b{O(kGxb5kzIwnVBqzJ_;fB;CxvJh?Z~!M?#4!N%+Be@6b9g1<-XD5IZ9@ zB7~@b?qemB(aS7k?(%(yiCR#x;CMadH&Dz-Ox~C%fthAO16j$eC_5`ilCR-JMyUAr z5#kj%G+7j)6qFT?F*}g~WIO55>2lCE5uIbEB|$p7zOp+bx#;%1k+QR9R?EDcY+=G@g$PS4a3(HL)3#F@tq~w<1KVg zEYScrQminnn-BUs!2q7aB+$fIB2wNKORR<2ntG1-0}3Q35?A8_&4)Etz5&^)!-^)x zkQ7jLZZcar&w1hq?CS3e#Ai^p5hb32tqtkKH?XCgN&E?0idn=FUR>eF6kp5N;6ZNq zAnGv*x;e#3W-VV^N}Pdja(m*APj&-)V=UOdsDL)|fH@KUk~jqI1->SBLX9?WiBk9j zSGoT?;t5Ebd{6YG$LECJ`KM1$fPN~W1b>nux^s-kUY;^SOo4o=W5i??$qWXG%uDisEgu0=HEbz~kn*6eH)5m*kakgu zR1ax8SCCR+>$@DO1A5e^N`gC0`AQAaMQDAKvtYmi$WeC$dofi&--v@%fLEKu0ENYM zNv|LyX?q*j0T7?h2)1S@l*{Xr5+Toh1CjuO$B?}DSdlU4%2OtMV&Ng|mjnv=O-S&` zvOLg?lz{tMW<}!Q#HD=SHke0%DbUS3EVt`S5L$0vx9`FN34QKr}Ns@G;=LN8%`7S36N4` zxbv^BBW+>AJKK3xUw=K&-;Ur~5>>&1)YL=@fPNUYlHy?Nc^l~~Y&~ixjlo_Qy&;7` zno>8Z1)fKK_LDRrO?`l516$!kB*9N0R9Ag0j4N(ST*4A#$i!%S{a zX<5&WY90bf?ahp6LWeUrkXO(Vw)n6jUEs(r{9LbqwsIh3^q4MK5EWzp;>=~2coR|kUofxA3*dVP3{mP30t;@k!sjtK8hTHt(fCT z8MI+~5=nr=c7t?y?^UqoUg5_-kw9OVlBLTfqL4he&NavW?Z}=)#D@t#8qjg36OMu? z1c4*X8uWc6B3DkIj$DVD^D~igXe}cPX<)>|c4j7|Jca=r5;))tyLbzs&Jx371IQYjA~1+p;0?Dy#1U_l4I*3d2FDPx z1#j#bLR|1h{Se}gH{?Ge+wsP!k5uNKkBAda(Ho{p#SbIfaLULq6*3#4N?jg79B^oA z1o6NdTRtIfc%$?am4|B-!M`R#-9`~t9I75gJn@Fi7_|{IhHSBW-j3Yky{9OD%22B}9TqUv7Hcw*Sqw63obos$)7aZ;W{$ximWhZm-i(p^iB->_l zqi=^1e7#1QNn{ZM3)(h;$SH4FMgc2x$LR1%78o*kb}_ zxXG5$-ACVobg_ldCFt(56YM zYu%HG2+^PtB7v3MsQMHYF`fd5dJWzqtTsUb0B(V%+)QI3c!|4p3Q@tim&zRfy6#-R zs2kKh#P9)dp9V&cJ)r`u$(B!rP`9sCkDg;-UCUn(yC_TGQkq`?fb>xTIW*x5RpK%R zC=6f#x(298o*EFq_2I4!x))vH0%4i}+uur>j-(9z6;Z+s1bhX0eh&X7vM1M%2rl{6 zg`vnaG(RnlYJ8)bH~9vD=2-~zu_RxZ6IqhV$H1+>{(|V_H$+kj%ZSMRp;a%y?0?8Y zM`uFgmMR?q)r=#^qK-3&Jnk4}1`#1SBUEzj3?eRpsp!_3G3Q!MM;F0Epwp#M!Gr#p zK`d}Pb$^_s-N4eI2<~P2G)#xAsS1s42)t;o*te9-Bs9(5#-US%>=HcNc3XR#3=}sMG}?`x$QhKnGlPc)LW9s$H)wse?6I} zW)H`ApeX7Fdg42xpz`lTvleq5?gXPf47yC)-RHOjbn_XeVm=pBp@ee&K!kDUReu1g zX#OIV5uMBj6WSZhB0K~;d~~+Tf#o1z6&;-+O(>7ug+jeQsJZ$FQ}wG6QlC60aH4Om z$Z(lhLm-Qg+TVd*%@IUl2_*L?!itY*ulJ*ZEnr$lfgY@`~)F=*G~Y4p5N5W z)BFVj^!ojhDi-w02ZF#7Lk7lRJg}UBVGu-qQ3KNgV7NB8#2|-bc;+w{DP=kXXVQQ( zYiOL=@o`Cj8&w`A@GMESK7MnO1xU4ne?goUf3hQZMyOJfzY#d$?0y65p`VtNv7pAI zASjFOJ-`^s#+EZsK2tl0`*_05uvi~h@&Z0uEZV}>RV7gU`5R#tG~f@_WcnYV@$tlR z?A;&glw2wf{hK?RrloKzRU-B6ubPLVL$mlOB_a`D*9G?!@enxC%M&EOjMX+iUGrFEcRkQ@ICIXsKFIGTu%dGJZ5EqN>g>!l#r2#sk*^e+D*zwH0b z`_>=puZ)5f-jfv+d1%B`gcrrc(7j|b{>d$Rlnguwl30XTQBX<~#rq9T7a~L+X$av( zFfn?n-zxM#YSVHE)W;O?sk>A?14R@X2RPAUda^m*xux>izk5-L_A-0A4CEEKD=rMc z-gV<;5U8fX-LMLSv>cW}EnA43C^I9~pAY#n9G?Y%8Q=`<=D><>WF%YQ{%{(*^GpI~ zkAWnn-GtWpFKX7pS=Vjld6f>v(b0hoZt*8O;{AT85trT0OqRvt6u}JCvLB#@SkV{E)Ks3v z@U5ZCa8TK!M-5oWf_Ud>N`#Bnuw^7M>|Y^JHiYw|h6O0)4yVQOav|JKlvx4pe}opt z%j)P=3}UA&gFvy65$&ab5^>Qeb-P(AD*k)M(>g&b$%<}eqlVp&4QQ5*pv7hJPA(N5 z|6Q3SPcGvJrAR3}sH@q5sxPOOL7)N&yOxPTYh#u{{p@6E+)7hIe#$%u;m!YB6HlF? z{EYbfss7M7sh+MHy9IIubGaO{RbPNjW07A|| z=;1jc54r;s8gc)9F^G_eLDJ|gK*jxADs=vv$EG-|eCkE8($RBK<0--gl=xr3lt9Ed zg~*25s*>S`ee9B2rz+@a5?Fd@cL06#Di;~vQYJ7R)oDvQ64Qw+|CjSGN?wg;0ad-= z3cH3T2h%c^MEx>}T==;j@63A<`!$z&>F9j6fbT+RWY8;^4E_LwO7Q^uC+}heWz@bD zC(U+j--G8A`4C?8?AX!v}mn?@{;VCyBl~=uSQ|H*R{d)(gzj z#=3TR8UJHG>RQu>sk$_}2+81DmMX#j-s?0cAS);fE8(o7Gj|6v!ODo$_h?t4%TtT2 ztZ2|Qc+*+zfTRGhn)(I9S74Q52Gm=CnoGwpXwA$bv;wyh+A-&t45HKWf49CjbBnAD zsHz~DALq~8YWry=@TeVxL5pSts(wNK(}HApOI)f#|GR>i|G`;P7)iY7PeE$znT3FV z`DAoj2#ol8A?h*^gi+ZTF{&2Y&q$(28|A2TX{9jxN^RhZFL1@2#uf1B1^74OJ7W!< z$SF6#^$v8>fQCyI^$;f8;*+&N7+4tqRTa$2FJUr2F3P{+_fG+^>GXml4{d&jpqe6N zV>}>JS!sJi0h2YjZmZGg@8rkytw1?M!D3$_LLG({5n$?~@FJuPS36NawGvyT(xZ{0 z)Ya}P2GL6`gGNNDM<*6B0JX?0gVI)zSW!1IYDfbxe6QRx{H_=oe+xyMF~~%98N{qc zVqdx^Xo>^;hWau*NQ1NBJ4lGL4G zsqX*pNzTl8k)H!SB}vBr8VkK52~78xE<$qnxG+fpYM>>gu9c#me*7`&2}ei;PXqAe z)`U?vIzuX(G#TD945R^7$Q3nR0n+-ND~Sh9kfsjLWef`Qz#uu)#FNB`o?)c+cH!3! zr6~}zM38#43)eX>$Zse^Jw2F+ozJrXtT#Y{(^eRoydi6v4At*S8DP-M52I?LOe?4g z@_Mfu9Rdn`!T8XwY%>8EE1V+nD}Zc$5Jr$iTUSt5xlb5XHxyFAGX)!}FH22yJ6Qmk zg)Krd_?$9JZ_n2UhU&q-L3=|+&^B4JH6C>lIUt%80V4_CG~k)@I7WRN38^)5R1e-_ z)UT%@Ral@W2SM%@w*sr~ZQ3ATVyLkc z_A(d}TEkn>EJZT@_K)^qxNssJiuC8Rc2 zg1LKCg(?t>L3yd({45YwJh?3 zhjdl40M5Uj$#6CH2b%RDy=a%DRc(;}cN>WVWmKciu~nX0FEhc4!p-z=)lj`1@>i&l zS)0zAsw>xq4m^%7XN zpvfyA)I*)T8ShHCdSKEhVB!Z>%xRc1KR|tI?@59vrv{l1=RbTaXU8YNFADgrX!u74 zm+?nvP|vLy8o)K(VF>kVkm0>~0izCnf>iLfC4y&z3uq8E#}}zgD0uN=L-S>*VeB4} zJcWH2q6)%Jdo?3ZEfZqZqMjf`?;!)iAmn7pf3K>!Um$Q@d z;Qa;p-~IwS(<1*n^`92l#};iM7PRZ(+21&SDiPs8-Tr`4U9C+`(DmA&kA|QGp-)}` zU?KDeI1%EJ^?Uu=Z5n8s0oG}IH$?i&&VVjxQ`b_3lOJZ40sC6OPMd>@3^+SF!2qo1 zs#Dc3J@)~$u{e@}-xjeB%}kIWp9+RA~jpy$}BT9%#z|IOrn?nQq5fe>Ce*9Mh$ zW9ju9V)M3^%>^Z?ac7*bV55H7Sp zk19}wK`r7CTF@ga-~m0jq4dplV4Dfprrm9tBo|p3(4dvnd+zy_K+98U3{pbhtfbEM z{R3%PHlP;31^%#_wg)$4F;)%KM4!x!Pq;nPDUR6dCwBax9YGT`NS|7Y(9WEn#7Ys- zz%$yq4}%7#PY!L-K!lglV(Gc_-=pCsO~@~#1xDz{FKVsy#46B>t-2T_i;C(2sCgAN zOg$LHX8@rW+YtnPXMoV-M|wP9OK+wBE`#Ql%Y=>@P(yRf+Rp`>j|fOXi^ZYEstGG> zm+?>7B4T)d@WEv=1WvqOw+zo(k1Tt_3C8e!8F;##9H?jDfx@J`f5r zrY@PW7~W2OyMWLfzi3-McT<0@Cdv zmtgz({;DBcae6Yp|Dz_?=T8tsv=JPh(5Jq&_{T?O&HzvM4zfE5S6 z1Af}~yfF0q8ZvzJW9U-X^Z^cB0F#4ukDWaRl~x`{IMESMg2bH&yFHJr0ZQY6QrdY} z1gbt}Ai2X#sr_4e5dU|gn?^#`E>miukzfV_WC$uOm;!S%D%BUGwkKdz1+>VFI-O}A z&1uqm4cc!;cEH_izG5484Y+9tmI&Hd31>omhs>$RmPB)4g*gjSJItxhFTJ$?tKd~G zWX-sRFfX0ge|?KhF$6hwnCsuT+`0|v| ztn_&yz@!A2Xm6Dl@1dHOWc)E64YCBjFWiR%RSfdCrA zD*o6HuRdon$o0uGsP(TDR*fd8p&PBq(*Ji*jhA^Z7z7d+1%8^-j6?t?unF%-jJjtf zc8NL5_itc~n=pgm&C~`|DKwsg)a7Uf>)v;3YN{=LRq$_|Bs&%*VG)Dr*N(9PkijRw c3|FG@M6(;RN?L Date: Fri, 29 May 2015 11:03:33 -0400 Subject: [PATCH 06/70] Fix the constructor. --- .../app/libs/sfsdk-3.0.0.jar | Bin 346310 -> 346270 bytes .../api/entities/SFDevicesEntity.java | 3 ++- .../api/entities/SFFileLockEntity.java | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/SDKSample/AndroidStudioProject/app/libs/sfsdk-3.0.0.jar b/SDKSample/AndroidStudioProject/app/libs/sfsdk-3.0.0.jar index 0907c4e13ac29a1d174c37eb16231e1c5decc46d..37daed3e62b9ac63d2d33a426d8e57b71b7eca72 100644 GIT binary patch delta 16263 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 diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFDevicesEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFDevicesEntity.java index eb49672..619fee8 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFDevicesEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFDevicesEntity.java @@ -14,6 +14,7 @@ import com.citrix.sharefile.api.SFApiClient; import com.citrix.sharefile.api.entities.*; +import com.citrix.sharefile.api.interfaces.ISFApiClient; import com.citrix.sharefile.api.models.*; import com.citrix.sharefile.api.SFApiQuery; import com.citrix.sharefile.api.interfaces.ISFQuery; @@ -29,7 +30,7 @@ public class SFDevicesEntity extends SFODataEntityBase { - public SFDevicesEntity(SFApiClient apiClient) + public SFDevicesEntity(ISFApiClient apiClient) { super(apiClient); } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFileLockEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFileLockEntity.java index 594d964..920d451 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFileLockEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFileLockEntity.java @@ -14,6 +14,7 @@ import com.citrix.sharefile.api.SFApiClient; import com.citrix.sharefile.api.SFApiQuery; +import com.citrix.sharefile.api.interfaces.ISFApiClient; import com.citrix.sharefile.api.interfaces.ISFQuery; import com.citrix.sharefile.api.models.SFFileLock; @@ -21,7 +22,7 @@ public class SFFileLockEntity extends SFODataEntityBase { - public SFFileLockEntity(SFApiClient apiClient) + public SFFileLockEntity(ISFApiClient apiClient) { super(apiClient); } From af75cf158597c9cd2d17870057bc8ea7b38b268b Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Tue, 23 Jun 2015 15:03:15 -0400 Subject: [PATCH 07/70] fix the feedtype mapping for groups. --- .../app/libs/sfsdk-3.0.0.jar | Bin 346270 -> 346311 bytes .../api/enumerations/SFV3FeedType.java | 1 + 2 files changed, 1 insertion(+) diff --git a/SDKSample/AndroidStudioProject/app/libs/sfsdk-3.0.0.jar b/SDKSample/AndroidStudioProject/app/libs/sfsdk-3.0.0.jar index 37daed3e62b9ac63d2d33a426d8e57b71b7eca72..8ead913f3eb6fb27b8e56cc919a7e571e912c993 100644 GIT binary patch delta 16145 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 E1AHWU2mk;8 delta 16503 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

-q>6pN>;D7g zmrWw#n2iycB^M(Q-f;?MZvpmN010A3RM6G_X-SU1_4)JlpMbq_Fg|;H4(OB;7xu@9 zOs%vru$RCEp;0bW5c4-CP5qp($`Ju(7K{Ar8V4_wziLcVA}Xp2x8f%Vxh;Yy9n&-+ ztxR8_{9C1SM5p9w82B#*u&r{!1em%dJ_CAfLL>ecB=!@BCM6+cZAzAbhbiFRk%3%2 zSyUJ+F(s3A9f!0PAoRzSra?HXX$H8ON>f}e?1U03g2|YX9!D_m{YU~SGy%;4_A{rN z3a+G%rK*5DO+~o9_e7o(kQJ8xw?wGwQ}QTgX-<|$(Q8pH8PMb&6kx|aX z=qOk^31AtqKhS;kq0wf2REC&$1$;A@z7+cR+*gX(S}hlW|#(+e+oD!vLCGT=Fd>tV@bZ`?RMPifv+z%-neXrJh;0O!Dd^NL3QBv z+}x&c8m4GXZWA_up!%(ug5aqq59hY6o8qEapEY@AnZzOc^$@zS9u*=AfNpAgKk5tR|M;Skn4%5o@oXDl>X$!+nry(yJHm#1{3hX0 zec%)XJs!ciZQCGM- zn1=(o5XASsF4{rvP3&*0Vo^|jcN99~e0?%d(GqVIdSs&_PX+Xw8kpPc#Pu+Vv+rlai1P2q$+NI>p>$OTt^ z@Tk@pE2U-!l*Rb}Jr*863`OTT&{T;z-Rb}g7^LD{4Xg~jY7&xL|R-nkDg#XP8Cl)e~Hka^+UTX1f8E#$tg1y0L?E&~B+ zEdbE#TM*j1fSk9(IJde1avK+rr$M5refR;+mBsM;&i}t&Q0b8h0i}%rm)TDo4`!%g z`VUdn>1Xx9*&Az8!FzI|_`i8O**HBGt^}U4kHBvD!;y5J#|gN(yLE;TxPX->^33yV c-TPip(0jp(*J3;Sq`aJxSK_?-1|*i_e^TIRdjJ3c diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java index adb4d13..7072602 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java @@ -95,6 +95,7 @@ public enum SFV3FeedType Folder("$metadata#Folder",SFFolder.class), GenericConfig("$metadata#GenericConfig",SFGenericConfig.class), Group("$metadata#Group",SFGroup.class), + Groups("$metadata#Groups",SFGroup.class), Item("$metadata#Item",SFItem.class), Items("$metadata#Items",SFItem.class), ItemInfo("$metadata#ItemInfo",SFItemInfo.class), From 469adf419678af0e562436fc3d1d16e696544a0a Mon Sep 17 00:00:00 2001 From: Kyle Stittleburg Date: Wed, 8 Jul 2015 09:09:14 -0400 Subject: [PATCH 08/70] Implement SFApiQuery setBody for ArrayList --- ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java index f10d83e..39c2b94 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java @@ -593,7 +593,7 @@ public ISFQuery addIds(URI url) @Override public ISFQuery setBody( ArrayList sfoDataObjectsFeed) { - Logger.e(TAG,"This is not implemented"); + mBody = SFDefaultGsonParser.serialize(sfoDataObjectsFeed.getClass(), sfoDataObjectsFeed); return this; } From cc5919b115b8d0fabc08364a08a088cd8c7e3faf Mon Sep 17 00:00:00 2001 From: Kyle Stittleburg Date: Wed, 8 Jul 2015 09:11:26 -0400 Subject: [PATCH 09/70] proper tabs --- ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java index 39c2b94..789ec9c 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java @@ -593,7 +593,7 @@ public ISFQuery addIds(URI url) @Override public ISFQuery setBody( ArrayList sfoDataObjectsFeed) { - mBody = SFDefaultGsonParser.serialize(sfoDataObjectsFeed.getClass(), sfoDataObjectsFeed); + mBody = SFDefaultGsonParser.serialize(sfoDataObjectsFeed.getClass(), sfoDataObjectsFeed); return this; } From eac7a13e9999876c4ab8416d1d70c54b226e51cd Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Mon, 13 Jul 2015 13:30:48 -0400 Subject: [PATCH 10/70] Send POST body even in DELETE. --- .../src/com/citrix/sharefile/api/SFApiQueryExecutor.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java index 4f1be3f..b1c730b 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java @@ -90,11 +90,12 @@ public SFApiQueryExecutor(SFApiClient apiClient, ISFQuery query, ISFApiResult private void handleHttPost(URLConnection conn) throws IOException { if(mQuery.getHttpMethod().equalsIgnoreCase(SFHttpMethod.POST.toString()) || - mQuery.getHttpMethod().equalsIgnoreCase(SFHttpMethod.PATCH.toString()) ) + mQuery.getHttpMethod().equalsIgnoreCase(SFHttpMethod.PATCH.toString()) || + mQuery.getHttpMethod().equalsIgnoreCase(SFHttpMethod.DELETE.toString()) ) { String body = mQuery.getBody(); - if(body!=null) + if(body!=null && body.length()>0) { conn.setRequestProperty(SFKeywords.CONTENT_LENGTH, ""+body.getBytes().length); conn.setRequestProperty(SFKeywords.CONTENT_TYPE, SFKeywords.APPLICATION_JSON); From cb4b7df5e34c39c7e1e6da934a7209b0541154a2 Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Mon, 13 Jul 2015 14:04:07 -0400 Subject: [PATCH 11/70] set output flag for delete verb --- .../src/com/citrix/sharefile/api/https/SFHttpsCaller.java | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFHttpsCaller.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFHttpsCaller.java index 780ba16..305e0fb 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFHttpsCaller.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFHttpsCaller.java @@ -142,13 +142,7 @@ public static void setMethod(URLConnection conn,String methodName) throws Protoc } conn.setDoInput(true); - - if(methodName.equalsIgnoreCase(SFHttpMethod.DELETE.toString())) - { - return; - } - - conn.setDoOutput(true); //POST, PUT + conn.setDoOutput(true); //POST, PUT, DELETE } public static int catchIfAuthException(IOException e) throws IOException From f8ed28219d3a395ca90adc73f0bf35a3da5e2e7e Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Mon, 13 Jul 2015 16:07:01 -0400 Subject: [PATCH 12/70] use contains instead of endsWith. this class should really be deprecated. --- .../src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java index 7072602..7daff8d 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java @@ -174,7 +174,7 @@ public static final SFV3FeedType getFeedTypeFromMetaData(String metadata) { for(SFV3FeedType s:SFV3FeedType.values()) { - if(metadata.endsWith(s.toString())) + if(metadata.contains(s.toString())) { ret = s; From b7760bc57d76053484a1a483f9a829d59cadf192 Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Thu, 13 Aug 2015 18:13:51 -0400 Subject: [PATCH 13/70] make the gradle changes to generate the necessary maven artifacts. --- ShareFileJavaSDK/build.gradle | 52 ++++++++++++++++++++++++++++------- 1 file changed, 42 insertions(+), 10 deletions(-) diff --git a/ShareFileJavaSDK/build.gradle b/ShareFileJavaSDK/build.gradle index 3763a63..5410cb8 100644 --- a/ShareFileJavaSDK/build.gradle +++ b/ShareFileJavaSDK/build.gradle @@ -1,6 +1,15 @@ apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'java-library-distribution' +apply plugin: 'maven' +apply plugin: 'signing' + +String shareFileJarName = 'sharefile-api' +String shareFileJarVersion = '3.0.0' +String shareFilePomFileName = "$buildDir/libs/"+shareFileJarName+"-"+shareFileJarVersion+".pom" + +group = "com.citrix" +version = shareFileJarVersion sourceSets { main { @@ -10,12 +19,10 @@ sourceSets { } } -// tag::repositories[] repositories { mavenLocal() mavenCentral() } -// end::repositories[] dependencies { compile fileTree(dir: 'libs', include: '*.jar') @@ -24,20 +31,45 @@ dependencies { distributions { main{ - baseName = 'sfsdk' - version = '3.0.0' + baseName = shareFileJarName + version = shareFileJarVersion } } -// tag::jar[] jar { - baseName = 'sfsdk' - version = '3.0.0' + baseName = shareFileJarName + version = shareFileJarVersion } -// end::jar[] -// tag::wrapper[] task wrapper(type: Wrapper) { gradleVersion = '1.11' } -// end::wrapper[] + +task javadocJar(type: Jar) { + classifier = 'javadoc' + baseName = shareFileJarName + from javadoc +} + +task sourcesJar(type: Jar) { + classifier = 'sources' + baseName = shareFileJarName + from sourceSets.main.allSource +} + +artifacts { + archives javadocJar, sourcesJar +} + +signing { + sign configurations.archives +} + +task writeNewPom << { + pom { + project { + inceptionYear '2015' + artifactId shareFileJarName + } + }.writeTo(shareFilePomFileName) +} \ No newline at end of file From 27c621f9a93d493cf70ceca6f88d631a109cb2de Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Fri, 14 Aug 2015 16:29:31 -0400 Subject: [PATCH 14/70] use mavenCentral dependency. --- .../AndroidStudioProject/app/build.gradle | 10 ++++++++-- .../app/libs/sfsdk-3.0.0.jar | Bin 346311 -> 0 bytes SDKSample/AndroidStudioProject/build.gradle | 1 + 3 files changed, 9 insertions(+), 2 deletions(-) delete mode 100644 SDKSample/AndroidStudioProject/app/libs/sfsdk-3.0.0.jar diff --git a/SDKSample/AndroidStudioProject/app/build.gradle b/SDKSample/AndroidStudioProject/app/build.gradle index 65dd476..60c4b01 100644 --- a/SDKSample/AndroidStudioProject/app/build.gradle +++ b/SDKSample/AndroidStudioProject/app/build.gradle @@ -4,6 +4,12 @@ android { compileSdkVersion 19 buildToolsVersion "21.1.2" + packagingOptions { + exclude 'META-INF/DEPENDENCIES' + exclude 'META-INF/LICENSE' + exclude 'META-INF/NOTICE' + } + defaultConfig { applicationId "com.sharefile.testv3" minSdkVersion 14 @@ -23,6 +29,6 @@ android { } dependencies { - compile 'com.google.code.gson:gson:2.2.4' - compile('com.sharefile.api:sfsdk:3.0.0') + + compile 'com.citrix:sharefile-api:3.0.0' } diff --git a/SDKSample/AndroidStudioProject/app/libs/sfsdk-3.0.0.jar b/SDKSample/AndroidStudioProject/app/libs/sfsdk-3.0.0.jar deleted file mode 100644 index 8ead913f3eb6fb27b8e56cc919a7e571e912c993..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 346311 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 EwidUPh&b}sq$lt%LH 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 Date: Fri, 14 Aug 2015 16:32:22 -0400 Subject: [PATCH 15/70] Create tasks to make suitable builds for pushing to mavenCentral --- ShareFileJavaSDK/build.gradle | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/ShareFileJavaSDK/build.gradle b/ShareFileJavaSDK/build.gradle index 5410cb8..a7350ce 100644 --- a/ShareFileJavaSDK/build.gradle +++ b/ShareFileJavaSDK/build.gradle @@ -25,7 +25,8 @@ repositories { } dependencies { - compile fileTree(dir: 'libs', include: '*.jar') + compile 'org.apache.httpcomponents:httpcore:4.3.2' + compile 'org.apache.directory.studio:org.apache.commons.codec:1.6' compile 'com.google.code.gson:gson:2.2.4' } @@ -61,15 +62,34 @@ artifacts { archives javadocJar, sourcesJar } -signing { - sign configurations.archives -} - task writeNewPom << { pom { project { inceptionYear '2015' artifactId shareFileJarName + name 'ShareFile-Api' + description 'ShareFile Java SDK using the V3 API' + url 'https://github.com/citrix/ShareFile-Java' + + scm { + url 'https://github.com/citrix/ShareFile-Java.git' + } + + licenses { + license { + name 'The MIT License (MIT)' + url 'https://github.com/citrix/ShareFile-Java/blob/master/LICENSE.txt' + } + } + + developers { + developer { + id 'nileshp' + name 'Nilesh Pawar' + email 'nilesh.pawar@citrix.com' + } + } + } }.writeTo(shareFilePomFileName) } \ No newline at end of file From 7b1c41408a7771d4a13e76adad266d113725d2d9 Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Thu, 20 Aug 2015 14:21:02 -0400 Subject: [PATCH 16/70] Update the README.md to include the gradle/maven dependencies usage --- README.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/README.md b/README.md index 14f7d6d..56616b8 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,38 @@ with an authorization response. ## Building the SDK ## The SDK is a pure Java code and you can build it using the Eclipse IDE (Kepler or higher) or using the Android Studio IDE. Simply point your IDE's import functionality to the SDK folder and it should be able to import the projects correctly. Make sure you have Java-7 JDK atleast. You could either generate `.jar` files from the SDK and use them in your application projects or directly include the SDK Module in your Android application Project or Eclipse Workspace of the application. +Alternatively you can use the SDK without building the SDK code, if you are using Gradle or Maven, you can directly add the dependency as follows: + +* Gradle Dependency: + + dependencies { + compile 'com.citrix:sharefile-api:3.0.0' + } + + Gradle on Android might need the addional : + + android { + + //... + packagingOptions { + exclude 'META-INF/DEPENDENCIES' + exclude 'META-INF/LICENSE' + exclude 'META-INF/NOTICE' + } + //... + } + + +* Maven Dependence: + + + com.citrix + sharefile-api + 3.0.0 + + + + The project uses Java-7 source compatibility. So in case you see errors like : * Error:(87, 46) java: diamond operator is not supported in -source 1.6 From 05446ff3fe3e80a6fa919369f5e41f5437448a41 Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Tue, 25 Aug 2015 17:07:31 -0400 Subject: [PATCH 17/70] Add connection manager. Fix the canReNewTokenInternally --- ShareFileJavaSDK/build.gradle | 2 +- .../com/citrix/sharefile/api/SFApiQuery.java | 2 +- .../sharefile/api/SFConnectionManager.java | 84 +++++++++++++++++++ .../src/com/citrix/sharefile/api/SFSdk.java | 6 ++ .../api/interfaces/ISFConnectionManager.java | 12 +++ 5 files changed, 104 insertions(+), 2 deletions(-) create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/SFConnectionManager.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFConnectionManager.java diff --git a/ShareFileJavaSDK/build.gradle b/ShareFileJavaSDK/build.gradle index a7350ce..da0824f 100644 --- a/ShareFileJavaSDK/build.gradle +++ b/ShareFileJavaSDK/build.gradle @@ -5,7 +5,7 @@ apply plugin: 'maven' apply plugin: 'signing' String shareFileJarName = 'sharefile-api' -String shareFileJarVersion = '3.0.0' +String shareFileJarVersion = '3.0.1' String shareFilePomFileName = "$buildDir/libs/"+shareFileJarName+"-"+shareFileJarVersion+".pom" group = "com.citrix" diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java index 789ec9c..666d869 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java @@ -570,7 +570,7 @@ public boolean canReNewTokenInternally() if(mLink!=null) { - ret = (SFProvider.PROVIDER_TYPE_SF == SFProvider.getProviderType(mLink)); + ret = (SFProvider.PROVIDER_TYPE_SF.equalsIgnoreCase(SFProvider.getProviderType(mLink))); } return ret; diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFConnectionManager.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFConnectionManager.java new file mode 100644 index 0000000..5dcd3d5 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFConnectionManager.java @@ -0,0 +1,84 @@ +package com.citrix.sharefile.api; + +import com.citrix.sharefile.api.interfaces.ISFConnectionManager; +import com.citrix.sharefile.api.log.Logger; + +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; +import java.net.URLConnection; + +public class SFConnectionManager +{ + private static final String TAG = "SFConnMgr"; + + private static final ISFConnectionManager DEFAULT = new ISFConnectionManager() { + @Override + public void onBeforeConnect(URLConnection connection) {} + + @Override + public void onConnectException(URLConnection connection, IOException e) {} + + @Override + public InputStream getInputStream(URLConnection conn) throws IOException { + return conn.getInputStream(); + } + }; + + private static ISFConnectionManager mInstance = DEFAULT; + + private static void onBeforeConnect(URLConnection connection) { + mInstance.onBeforeConnect(connection); + } + + private static void onConnectException(URLConnection connection, IOException e) { + mInstance.onConnectException(connection, e); + } + + public static void connect(URLConnection connection) throws IOException { + try { + connection.connect(); + + } catch (IOException e) { + onConnectException(connection, e); + throw e; + } + } + + public static URLConnection openConnection(URL url) throws IOException { + try { + Logger.v(TAG, "Open Connection to: " + url.toString()); + URLConnection connection = url.openConnection(); + onBeforeConnect(connection); + return connection; + + } catch (IOException e) { + Logger.v(TAG, ">> failed to open connection to: " + url.toString(), e); + onConnectException(null, e); + throw e; + } + } + + public static InputStream getInputStream(URLConnection conn) throws IOException { + try { + return mInstance.getInputStream(conn); + + } catch (IOException e) { + Logger.v(TAG, ">> failed to get input stream: " + conn.getURL().toString(), e); + onConnectException(conn, e); + throw e; + + } + } + + @SFSDKDefaultAccessScope static void setInstance(ISFConnectionManager newConnectionMgr) + { + if(newConnectionMgr == null) + { + mInstance = DEFAULT; + return; + } + + mInstance = newConnectionMgr; + } +} diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFSdk.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFSdk.java index 2569a5f..27da34f 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFSdk.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFSdk.java @@ -6,6 +6,7 @@ import com.citrix.sharefile.api.interfaces.IOAuthTokenChangeHandler; import com.citrix.sharefile.api.interfaces.ISFAsyncTask; import com.citrix.sharefile.api.interfaces.ISFAsyncTaskFactory; +import com.citrix.sharefile.api.interfaces.ISFConnectionManager; import com.citrix.sharefile.api.interfaces.ISFReAuthHandler; import com.citrix.sharefile.api.log.Logger; import com.citrix.sharefile.api.utils.Utils; @@ -94,4 +95,9 @@ public static ISFAsyncTask createAsyncTask() { return mAsyncTaskFactory.createNewTask(); } + + public static void setConnectionMgr(ISFConnectionManager newConnMgr) + { + SFConnectionManager.setInstance(newConnMgr); + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFConnectionManager.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFConnectionManager.java new file mode 100644 index 0000000..838b5b9 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFConnectionManager.java @@ -0,0 +1,12 @@ +package com.citrix.sharefile.api.interfaces; + +import java.io.IOException; +import java.io.InputStream; +import java.net.URLConnection; + +public interface ISFConnectionManager +{ + void onBeforeConnect(URLConnection connection); + void onConnectException(URLConnection connection, IOException e); + InputStream getInputStream(URLConnection conn) throws IOException; +} \ No newline at end of file From c805e75aa445a6c3ef4d227dc219b74a90d5cf5b Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Wed, 26 Aug 2015 12:25:47 -0400 Subject: [PATCH 18/70] updates from the sharefile internal code. --- .../api/enumerations/SFV3ElementType.java | 2 + .../api/enumerations/SFV3FeedType.java | 2 + .../sharefile/api/models/SFDlpStatus.java | 19 ++++++++ .../citrix/sharefile/api/models/SFFile.java | 30 +++++++++++++ .../sharefile/api/models/SFItemDlpInfo.java | 44 +++++++++++++++++++ .../sharefile/api/utils/SafeEnumHelpers.java | 4 +- 6 files changed, 100 insertions(+), 1 deletion(-) create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDlpStatus.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemDlpInfo.java diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3ElementType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3ElementType.java index 941abd2..cf20a97 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3ElementType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3ElementType.java @@ -26,6 +26,7 @@ import com.citrix.sharefile.api.models.SFGenericConfig; import com.citrix.sharefile.api.models.SFGroup; import com.citrix.sharefile.api.models.SFItem; +import com.citrix.sharefile.api.models.SFItemDlpInfo; import com.citrix.sharefile.api.models.SFItemInfo; import com.citrix.sharefile.api.models.SFItemProtocolLink; import com.citrix.sharefile.api.models.SFLink; @@ -97,6 +98,7 @@ public enum SFV3ElementType Group("Models.Group@Element",SFGroup.class), Item("Models.Item@Element",SFItem.class), ItemInfo("Models.ItemInfo",SFItemInfo.class), + ItemDlpInfo("Models.ItemDlpInfo@Element",SFItemDlpInfo.class), ItemProtocolLink("Models.ItemProtocolLink@Element",SFItemProtocolLink.class), Link("Models.Link@Element",SFLink.class), Metadata("Models.Metadata@Element",SFMetadata.class), diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java index 7daff8d..876c443 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java @@ -26,6 +26,7 @@ import com.citrix.sharefile.api.models.SFGenericConfig; import com.citrix.sharefile.api.models.SFGroup; import com.citrix.sharefile.api.models.SFItem; +import com.citrix.sharefile.api.models.SFItemDlpInfo; import com.citrix.sharefile.api.models.SFItemInfo; import com.citrix.sharefile.api.models.SFItemProtocolLink; import com.citrix.sharefile.api.models.SFLink; @@ -100,6 +101,7 @@ public enum SFV3FeedType Items("$metadata#Items",SFItem.class), ItemInfo("$metadata#ItemInfo",SFItemInfo.class), ItemProtocolLink("$metadata#ItemProtocolLinks",SFItemProtocolLink.class), + ItemDlpInfo("$metadata#ItemDlpInfo",SFItemDlpInfo.class), Link("$metadata#Link",SFLink.class), Metadata("$metadata#Metadata",SFMetadata.class), MobileSecuritySettings("$metadata#MobileSecuritySettings",SFMobileSecuritySettings.class), diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDlpStatus.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDlpStatus.java new file mode 100644 index 0000000..c417d8b --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDlpStatus.java @@ -0,0 +1,19 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +public enum SFDlpStatus { + Unscanned, + ScannedOK, + ScannedRejected +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFile.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFile.java index aacc8b7..1b4fbd9 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFile.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFile.java @@ -34,6 +34,10 @@ public class SFFile extends SFItem { private Boolean HasPreview; @SerializedName("VirusStatus") private SFSafeEnum VirusStatus; + @SerializedName("DlpInfo") + private SFItemDlpInfo DlpInfo; + @SerializedName("Info") + private SFItemInfo Info; @SerializedName("LockedBy") private SFUser LockedBy; @SerializedName("FileLockInfo") @@ -98,6 +102,32 @@ public SFSafeEnum getVirusStatus() { */ public void setVirusStatus(SFSafeEnum virusstatus) { this.VirusStatus = virusstatus; + } + /** + * Data Loss Prevention information for this file. + */ + public SFItemDlpInfo getDlpInfo() { + return this.DlpInfo; + } + + /** + * Data Loss Prevention information for this file. + */ + public void setDlpInfo(SFItemDlpInfo dlpinfo) { + this.DlpInfo = dlpinfo; + } + /** + * Effective Access Control permissions for this file + */ + public SFItemInfo getInfo() { + return this.Info; + } + + /** + * Effective Access Control permissions for this file + */ + public void setInfo(SFItemInfo info) { + this.Info = info; } /** * Indicates the user that has locked the file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemDlpInfo.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemDlpInfo.java new file mode 100644 index 0000000..e8a5d2b --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemDlpInfo.java @@ -0,0 +1,44 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; + +public class SFItemDlpInfo extends SFODataObject { + + @SerializedName("Status") + private SFSafeEnum Status; + + /** + * File scan status + */ + public SFSafeEnum getStatus() { + return this.Status; + } + + /** + * File scan status + */ + public void setStatus(SFSafeEnum status) { + this.Status = status; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/utils/SafeEnumHelpers.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/utils/SafeEnumHelpers.java index 79c0e6c..a5d4d0d 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/utils/SafeEnumHelpers.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/utils/SafeEnumHelpers.java @@ -9,6 +9,7 @@ import com.citrix.sharefile.api.models.SFConnectorGroupKind; import com.citrix.sharefile.api.models.SFDeviceActionInitiatorRole; import com.citrix.sharefile.api.models.SFDeviceLogEntryAction; +import com.citrix.sharefile.api.models.SFDlpStatus; import com.citrix.sharefile.api.models.SFESignatureDocumentStatus; import com.citrix.sharefile.api.models.SFEnsEventType; import com.citrix.sharefile.api.models.SFFileVirusStatus; @@ -88,7 +89,8 @@ public EnumClassNames(String string, Class clazz) new EnumClassNames("SFTreeMode",SFTreeMode.class), new EnumClassNames("SFUploadMethod",SFUploadMethod.class), new EnumClassNames("SFUserRole",SFUserRole.class), - new EnumClassNames("SFUXMode",SFUXMode.class) + new EnumClassNames("SFUXMode",SFUXMode.class), + new EnumClassNames("SFDlpStatus",SFDlpStatus.class) }; public static Class getEnumClass(String className, boolean useEnumWithFlags) From 930652521048a27f6aa0fb2a110d50daaf40528f Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Wed, 26 Aug 2015 12:26:49 -0400 Subject: [PATCH 19/70] Update the version. --- ShareFileJavaSDK/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ShareFileJavaSDK/build.gradle b/ShareFileJavaSDK/build.gradle index da0824f..7f990c8 100644 --- a/ShareFileJavaSDK/build.gradle +++ b/ShareFileJavaSDK/build.gradle @@ -5,7 +5,7 @@ apply plugin: 'maven' apply plugin: 'signing' String shareFileJarName = 'sharefile-api' -String shareFileJarVersion = '3.0.1' +String shareFileJarVersion = '3.0.2' String shareFilePomFileName = "$buildDir/libs/"+shareFileJarName+"-"+shareFileJarVersion+".pom" group = "com.citrix" From ad8f8d398adebb5e426724d4d165afdc9de6610b Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Wed, 26 Aug 2015 16:02:49 -0400 Subject: [PATCH 20/70] remove the @Element from behind. --- .../com/citrix/sharefile/api/enumerations/SFV3ElementType.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3ElementType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3ElementType.java index cf20a97..634cc92 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3ElementType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3ElementType.java @@ -98,7 +98,7 @@ public enum SFV3ElementType Group("Models.Group@Element",SFGroup.class), Item("Models.Item@Element",SFItem.class), ItemInfo("Models.ItemInfo",SFItemInfo.class), - ItemDlpInfo("Models.ItemDlpInfo@Element",SFItemDlpInfo.class), + ItemDlpInfo("Models.ItemDlpInfo",SFItemDlpInfo.class), ItemProtocolLink("Models.ItemProtocolLink@Element",SFItemProtocolLink.class), Link("Models.Link@Element",SFLink.class), Metadata("Models.Metadata@Element",SFMetadata.class), From f5d8b190dc363c00b7bf3e0b182d4353f5e26fe9 Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Wed, 26 Aug 2015 17:47:09 -0400 Subject: [PATCH 21/70] make the url trimming more robust to handle server side encoding issues. --- .../src/com/citrix/sharefile/api/gson/SFGsonHelper.java | 9 ++++++--- .../sharefile/api/gson/auto/SFDefaultGsonParser.java | 7 +++++-- .../src/com/citrix/sharefile/api/utils/Utils.java | 8 ++++++++ 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/SFGsonHelper.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/SFGsonHelper.java index ed5cc84..603c885 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/SFGsonHelper.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/SFGsonHelper.java @@ -1,9 +1,12 @@ package com.citrix.sharefile.api.gson; +import java.io.UnsupportedEncodingException; +import java.net.MalformedURLException; import java.net.URI; import java.net.URISyntaxException; import java.util.ArrayList; +import com.citrix.sharefile.api.utils.Utils; import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; @@ -130,13 +133,13 @@ public static URI getURI(JsonObject json,String memberName,URI defaultValue) { try { - ret = new URI(urlspec); + return Utils.getURIFromString(urlspec); } - catch (URISyntaxException e) + catch (URISyntaxException | MalformedURLException | UnsupportedEncodingException e) { Logger.e(TAG,e); } - } + } } return ret; diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/auto/SFDefaultGsonParser.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/auto/SFDefaultGsonParser.java index 10aeb73..eefdfc7 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/auto/SFDefaultGsonParser.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/auto/SFDefaultGsonParser.java @@ -1,11 +1,14 @@ package com.citrix.sharefile.api.gson.auto; +import java.io.UnsupportedEncodingException; import java.lang.reflect.Type; +import java.net.MalformedURLException; import java.net.URI; import java.net.URISyntaxException; import java.text.SimpleDateFormat; import java.util.Date; +import com.citrix.sharefile.api.utils.Utils; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.JsonDeserializationContext; @@ -105,9 +108,9 @@ public URI deserialize(JsonElement arg0, Type arg1,JsonDeserializationContext ar { try { - return new URI (arg0.getAsString().trim()); + return Utils.getURIFromString(arg0.getAsString()); } - catch (URISyntaxException e) + catch (URISyntaxException | MalformedURLException | UnsupportedEncodingException e) { throw new JsonParseException(e); } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/utils/Utils.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/utils/Utils.java index 51e592d..2baa212 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/utils/Utils.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/utils/Utils.java @@ -1,5 +1,7 @@ package com.citrix.sharefile.api.utils; +import java.io.UnsupportedEncodingException; +import java.net.MalformedURLException; import java.net.URI; import java.net.URISyntaxException; import java.util.ArrayList; @@ -119,4 +121,10 @@ public static final URI getDeviceURL(final String subdomain, String hostname, fi return uri; } + + public static URI getURIFromString(String urlSpec) throws UnsupportedEncodingException, URISyntaxException, MalformedURLException { + + return new URI(urlSpec.trim().replace(" ", "%20")); //trim spaces and replace middle spaces by url-encoded spaces + //Don't break the URI in components. On a certain ZK zones we are getting h-params during upload. + } } \ No newline at end of file From 294591d76aedbd9164e11af5970e2d2a37c2761f Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Fri, 28 Aug 2015 11:00:31 -0400 Subject: [PATCH 22/70] Add a new helper class. --- ShareFileJavaSDK/build.gradle | 2 +- .../sharefile/api/exceptions/LocalizedError.java | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/exceptions/LocalizedError.java diff --git a/ShareFileJavaSDK/build.gradle b/ShareFileJavaSDK/build.gradle index 7f990c8..7edc3f9 100644 --- a/ShareFileJavaSDK/build.gradle +++ b/ShareFileJavaSDK/build.gradle @@ -5,7 +5,7 @@ apply plugin: 'maven' apply plugin: 'signing' String shareFileJarName = 'sharefile-api' -String shareFileJarVersion = '3.0.2' +String shareFileJarVersion = '3.0.3' String shareFilePomFileName = "$buildDir/libs/"+shareFileJarName+"-"+shareFileJarVersion+".pom" group = "com.citrix" diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/exceptions/LocalizedError.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/exceptions/LocalizedError.java new file mode 100644 index 0000000..e0316b8 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/exceptions/LocalizedError.java @@ -0,0 +1,14 @@ +package com.citrix.sharefile.api.exceptions; + +public class LocalizedError +{ + public static String get(Exception e, String defaultValue) + { + if(e instanceof SFServerException || e instanceof SFConnectionException) + { + return e.getLocalizedMessage(); + } + + return defaultValue; + } +} \ No newline at end of file From c7e8afe2ade62042b6d8a37c5c05563fed5ff6c9 Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Fri, 28 Aug 2015 13:59:49 -0400 Subject: [PATCH 23/70] change the method name. Java wont allow us to call this function otherwise. --- ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiClient.java | 2 +- .../src/com/citrix/sharefile/api/interfaces/ISFApiClient.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiClient.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiClient.java index 562daf0..d395286 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiClient.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiClient.java @@ -248,7 +248,7 @@ public T executeQuery(ISFQuery query) throws } @Override - public InputStream executeQuery(SFQueryStream query) throws + public InputStream executeQueryEx(SFQueryStream query) throws SFServerException, SFInvalidStateException, SFNotAuthorizedException, SFOAuthTokenRenewException ,SFOtherException { diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFApiClient.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFApiClient.java index 7962131..0018eb6 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFApiClient.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFApiClient.java @@ -26,7 +26,7 @@ public T executeQuery(ISFQuery query) throws SFServerException, SFInvalidStateException, SFNotAuthorizedException, SFOAuthTokenRenewException,SFOtherException; - public InputStream executeQuery(SFQueryStream query) + public InputStream executeQueryEx(SFQueryStream query) throws SFServerException, SFInvalidStateException, SFNotAuthorizedException, SFOAuthTokenRenewException,SFOtherException; From 02341255b2e90c1eec5eab05f5a0c4845bab1712 Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Mon, 31 Aug 2015 16:24:01 -0400 Subject: [PATCH 24/70] Use the Method Override for DELETE which takes postBody since Androids dont support DELETE with a body. --- README.md | 5 +-- ShareFileJavaSDK/build.gradle | 2 +- .../sharefile/api/SFApiQueryExecutor.java | 2 +- .../api/authentication/SFOAuthService.java | 2 +- .../api/https/SFDownloadRunnable.java | 2 +- .../sharefile/api/https/SFHttpsCaller.java | 34 ++++++++++++++++--- 6 files changed, 36 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 56616b8..0644fac 100644 --- a/README.md +++ b/README.md @@ -28,11 +28,12 @@ with an authorization response. The SDK is a pure Java code and you can build it using the Eclipse IDE (Kepler or higher) or using the Android Studio IDE. Simply point your IDE's import functionality to the SDK folder and it should be able to import the projects correctly. Make sure you have Java-7 JDK atleast. You could either generate `.jar` files from the SDK and use them in your application projects or directly include the SDK Module in your Android application Project or Eclipse Workspace of the application. Alternatively you can use the SDK without building the SDK code, if you are using Gradle or Maven, you can directly add the dependency as follows: +(Always check for the latest version on mavenCentral() since we keep posting enhancements and bug fixes) * Gradle Dependency: dependencies { - compile 'com.citrix:sharefile-api:3.0.0' + compile 'com.citrix:sharefile-api:3.0.4' } Gradle on Android might need the addional : @@ -54,7 +55,7 @@ Alternatively you can use the SDK without building the SDK code, if you are usin com.citrix sharefile-api - 3.0.0 + 3.0.4 diff --git a/ShareFileJavaSDK/build.gradle b/ShareFileJavaSDK/build.gradle index 7edc3f9..a16f222 100644 --- a/ShareFileJavaSDK/build.gradle +++ b/ShareFileJavaSDK/build.gradle @@ -5,7 +5,7 @@ apply plugin: 'maven' apply plugin: 'signing' String shareFileJarName = 'sharefile-api' -String shareFileJarVersion = '3.0.3' +String shareFileJarVersion = '3.0.4' String shareFilePomFileName = "$buildDir/libs/"+shareFileJarName+"-"+shareFileJarVersion+".pom" group = "com.citrix" diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java index b1c730b..2ee6781 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java @@ -200,7 +200,7 @@ public T executeBlockingQuery() throws SFServerException, URL url = new URL(urlstr); connection = SFHttpsCaller.getURLConnection(url); - SFHttpsCaller.setMethod(connection, mQuery.getHttpMethod()); + SFHttpsCaller.setMethod(connection, mQuery.getHttpMethod(),mQuery.getBody()); mAppSpecificConfig.setAddtionalHeaders(connection); SFHttpsCaller.addAuthenticationHeader(connection, mSFApiClient.getOAuthToken(), diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFOAuthService.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFOAuthService.java index 9a830ae..3c0c8bd 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFOAuthService.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFOAuthService.java @@ -128,7 +128,7 @@ protected SFOAuth2Token authenticate(String subDomain,String apiControlPlane, St Logger.v(TAG, "Get AccessToken from: " + url); conn = (HttpsURLConnection) url.openConnection(); - SFHttpsCaller.setMethod(conn, "POST"); + SFHttpsCaller.setMethod(conn, "POST",null); List nvPairs = new ArrayList(); nvPairs.add(new BasicNameValuePair(SFKeywords.CLIENT_ID, clientId)); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFDownloadRunnable.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFDownloadRunnable.java index a1b42f3..014b2cc 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFDownloadRunnable.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFDownloadRunnable.java @@ -78,7 +78,7 @@ private void download() throws SFSDKException URL url = new URL(mUrl); connection = SFHttpsCaller.getURLConnection(url); - SFHttpsCaller.setMethod(connection, SFHttpMethod.GET.toString()); + SFHttpsCaller.setMethod(connection, SFHttpMethod.GET.toString(),null); SFHttpsCaller.setAcceptLanguage(connection); SFHttpsCaller.addAuthenticationHeader(connection,mApiClient.getOAuthToken(),mUsername,mPassword,mCookieManager); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFHttpsCaller.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFHttpsCaller.java index 305e0fb..d37fb47 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFHttpsCaller.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFHttpsCaller.java @@ -126,23 +126,47 @@ private static final boolean overridePatchMethod(URLConnection conn,String metho return ret; } - - public static void setMethod(URLConnection conn,String methodName) throws ProtocolException + + /** + * DELETE does not support setOutputTrue on Android. Use POST as surrogate instead on all systems. + */ + private static final boolean overrideDeleteMethod(URLConnection conn,String methodName, String optionalBody) + { + boolean ret = false; + + //Only use POST surrogates for DELETE which have non-empty BODY + if(methodName.equalsIgnoreCase(SFHttpMethod.DELETE.toString()) && !Utils.isEmpty(optionalBody)) + { + conn.setRequestProperty(SFKeywords.HTTP_METHOD_OVERRIDE, SFHttpMethod.DELETE.toString()); + + ret = true; + } + + return ret; + } + + public static void setMethod(URLConnection conn,String methodName, String optionalBody) throws ProtocolException { if(overridePatchMethod(conn, methodName)) { methodName = SFHttpMethod.POST.toString(); } - + + if(overrideDeleteMethod(conn, methodName,optionalBody)) + { + methodName = SFHttpMethod.POST.toString(); + } + setRequestMethod(conn, methodName); - if(methodName.equalsIgnoreCase(SFHttpMethod.GET.toString())) + if(methodName.equalsIgnoreCase(SFHttpMethod.GET.toString()) || + methodName.equalsIgnoreCase(SFHttpMethod.DELETE.toString())) { return; } conn.setDoInput(true); - conn.setDoOutput(true); //POST, PUT, DELETE + conn.setDoOutput(true); //POST, PUT (DELETE with a body will be converted to POST) } public static int catchIfAuthException(IOException e) throws IOException From 82b3182a09869d89c47d1bb71a943123cde546d0 Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Mon, 31 Aug 2015 19:03:43 -0400 Subject: [PATCH 25/70] Don't return null on input streams. --- ShareFileJavaSDK/build.gradle | 2 +- .../src/com/citrix/sharefile/api/SFApiQueryExecutor.java | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ShareFileJavaSDK/build.gradle b/ShareFileJavaSDK/build.gradle index a16f222..b1545ae 100644 --- a/ShareFileJavaSDK/build.gradle +++ b/ShareFileJavaSDK/build.gradle @@ -5,7 +5,7 @@ apply plugin: 'maven' apply plugin: 'signing' String shareFileJarName = 'sharefile-api' -String shareFileJarVersion = '3.0.4' +String shareFileJarVersion = '3.0.5' String shareFilePomFileName = "$buildDir/libs/"+shareFileJarName+"-"+shareFileJarVersion+".pom" group = "com.citrix" diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java index 2ee6781..1f5ab55 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java @@ -111,6 +111,7 @@ private boolean shouldGetInputStream() } + private boolean closeTheConnection = true; private InputStream getInputStream(URLConnection connection, int httpErrorCode) throws IOException { // normally, 3xx is redirect @@ -143,7 +144,8 @@ private InputStream getInputStream(URLConnection connection, int httpErrorCode) } } - return null; + closeTheConnection = false; + return connection.getInputStream(); } private T executeQueryWithReAuthentication() throws SFServerException, @@ -292,7 +294,9 @@ is ShareFile(404) vs Connectors(409). } finally { - SFHttpsCaller.disconnect(connection); + if(closeTheConnection) { + SFHttpsCaller.disconnect(connection); + } } } } From 1814019d55465b8c63b122fdf1ca541ac334ec48 Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Tue, 15 Sep 2015 14:33:17 -0400 Subject: [PATCH 26/70] fix the release builds for the sample. --- SDKSample/AndroidStudioProject/app/build.gradle | 4 ++-- SDKSample/AndroidStudioProject/app/proguard.cfg | 5 +++++ .../AndroidStudioProject/app/src/main/res/layout/folder.xml | 3 +-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/SDKSample/AndroidStudioProject/app/build.gradle b/SDKSample/AndroidStudioProject/app/build.gradle index 60c4b01..07c4a6c 100644 --- a/SDKSample/AndroidStudioProject/app/build.gradle +++ b/SDKSample/AndroidStudioProject/app/build.gradle @@ -29,6 +29,6 @@ android { } dependencies { - - compile 'com.citrix:sharefile-api:3.0.0' + compile 'com.google.code.gson:gson:2.2.4' + compile 'com.citrix:sharefile-api:3.0.5' } diff --git a/SDKSample/AndroidStudioProject/app/proguard.cfg b/SDKSample/AndroidStudioProject/app/proguard.cfg index b05b393..1581e30 100644 --- a/SDKSample/AndroidStudioProject/app/proguard.cfg +++ b/SDKSample/AndroidStudioProject/app/proguard.cfg @@ -7,6 +7,11 @@ -dontwarn jcifs.http.** -dontwarn com.citrix.mdx.** -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* +-dontwarn org.apache.commons.** +-keep class org.apache.http.** { *; } +-dontwarn org.apache.http.** +-keepattributes Signature +-keepattributes *Annotation* -keep public class * extends android.app.Activity -keep public class * extends android.app.Application diff --git a/SDKSample/AndroidStudioProject/app/src/main/res/layout/folder.xml b/SDKSample/AndroidStudioProject/app/src/main/res/layout/folder.xml index 7ee2200..5ba7c12 100644 --- a/SDKSample/AndroidStudioProject/app/src/main/res/layout/folder.xml +++ b/SDKSample/AndroidStudioProject/app/src/main/res/layout/folder.xml @@ -59,7 +59,6 @@ android:id="@+id/folder_searchBoxContainer" android:layout_width="match_parent" android:layout_height="@dimen/titlebar_height" - android:layout_below="@+id/Folder_title_container" android:background="@color/folder_search_bg"> + > Date: Wed, 16 Sep 2015 15:57:20 -0400 Subject: [PATCH 27/70] Fix the protocol links and add the setTag/getTag functions applications to preserver useful information across query executions. --- ShareFileJavaSDK/build.gradle | 2 +- .../src/com/citrix/sharefile/api/SFApiQuery.java | 13 +++++++++++++ .../sharefile/api/enumerations/SFV3FeedType.java | 3 ++- .../citrix/sharefile/api/interfaces/ISFQuery.java | 11 +++++++++++ 4 files changed, 27 insertions(+), 2 deletions(-) diff --git a/ShareFileJavaSDK/build.gradle b/ShareFileJavaSDK/build.gradle index b1545ae..ad4c48a 100644 --- a/ShareFileJavaSDK/build.gradle +++ b/ShareFileJavaSDK/build.gradle @@ -5,7 +5,7 @@ apply plugin: 'maven' apply plugin: 'signing' String shareFileJarName = 'sharefile-api' -String shareFileJarVersion = '3.0.5' +String shareFileJarVersion = '3.0.6' String shareFilePomFileName = "$buildDir/libs/"+shareFileJarName+"-"+shareFileJarVersion+".pom" group = "com.citrix" diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java index 666d869..e0926c0 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java @@ -37,6 +37,7 @@ public class SFApiQuery implements ISFQuery { private static final String TAG = "SFApiQuery"; private ISFApiClient apiClient; + private Object mTag; /** * https://server/provider/version/entity(id) @@ -795,4 +796,16 @@ public void executeAsync(ISFApiResultCallback callback) throws asyncTask.start(asyncHelper); } + + @Override + public void setTag(Object tag) + { + mTag = tag; + } + + @Override + public Object getTag() + { + return mTag; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java index 876c443..a4f06b8 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java @@ -100,7 +100,8 @@ public enum SFV3FeedType Item("$metadata#Item",SFItem.class), Items("$metadata#Items",SFItem.class), ItemInfo("$metadata#ItemInfo",SFItemInfo.class), - ItemProtocolLink("$metadata#ItemProtocolLinks",SFItemProtocolLink.class), + ItemProtocolLinks("$metadata#ItemProtocolLinks",SFItemProtocolLink.class), + ItemProtocolLink("$metadata#ItemProtocolLink",SFItemProtocolLink.class), ItemDlpInfo("$metadata#ItemDlpInfo",SFItemDlpInfo.class), Link("$metadata#Link",SFLink.class), Metadata("$metadata#Metadata",SFMetadata.class), diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFQuery.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFQuery.java index c1a861f..5f2b515 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFQuery.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFQuery.java @@ -124,4 +124,15 @@ public T execute() throws SFInvalidStateException, SFServerException, SFNotAuthorizedException,SFOAuthTokenRenewException, SFOtherException; void executeAsync(ISFApiResultCallback callback) throws SFInvalidStateException; + + /** + * This will allow the consumer apps to preserve identification information related to queries. + * The SDK itself never uses this. + */ + void setTag(Object tag); + + /** + * Get tag set by the setTag function. + */ + Object getTag(); } \ No newline at end of file From ba26958a759e0b49e4e00e8881255efa0297a649 Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Wed, 16 Sep 2015 16:26:22 -0400 Subject: [PATCH 28/70] remove the error call --- .../com/citrix/sharefile/api/enumerations/SFV3FeedType.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java index a4f06b8..876c443 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java @@ -100,8 +100,7 @@ public enum SFV3FeedType Item("$metadata#Item",SFItem.class), Items("$metadata#Items",SFItem.class), ItemInfo("$metadata#ItemInfo",SFItemInfo.class), - ItemProtocolLinks("$metadata#ItemProtocolLinks",SFItemProtocolLink.class), - ItemProtocolLink("$metadata#ItemProtocolLink",SFItemProtocolLink.class), + ItemProtocolLink("$metadata#ItemProtocolLinks",SFItemProtocolLink.class), ItemDlpInfo("$metadata#ItemDlpInfo",SFItemDlpInfo.class), Link("$metadata#Link",SFLink.class), Metadata("$metadata#Metadata",SFMetadata.class), From e4f27dd4eb594f82dd9aac610b34e6ea7970798a Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Thu, 17 Sep 2015 11:33:20 -0400 Subject: [PATCH 29/70] fix the protocol links --- .../citrix/sharefile/api/enumerations/SFV3ElementType.java | 1 + .../com/citrix/sharefile/api/enumerations/SFV3FeedType.java | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3ElementType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3ElementType.java index 634cc92..9a5f9e1 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3ElementType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3ElementType.java @@ -100,6 +100,7 @@ public enum SFV3ElementType ItemInfo("Models.ItemInfo",SFItemInfo.class), ItemDlpInfo("Models.ItemDlpInfo",SFItemDlpInfo.class), ItemProtocolLink("Models.ItemProtocolLink@Element",SFItemProtocolLink.class), + ItemProtocolLink2("Models.ItemProtocolLink",SFItemProtocolLink.class), Link("Models.Link@Element",SFLink.class), Metadata("Models.Metadata@Element",SFMetadata.class), MobileSecuritySettings("Models.MobileSecuritySettings@Element",SFMobileSecuritySettings.class), diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java index 876c443..c64c20b 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java @@ -97,8 +97,6 @@ public enum SFV3FeedType GenericConfig("$metadata#GenericConfig",SFGenericConfig.class), Group("$metadata#Group",SFGroup.class), Groups("$metadata#Groups",SFGroup.class), - Item("$metadata#Item",SFItem.class), - Items("$metadata#Items",SFItem.class), ItemInfo("$metadata#ItemInfo",SFItemInfo.class), ItemProtocolLink("$metadata#ItemProtocolLinks",SFItemProtocolLink.class), ItemDlpInfo("$metadata#ItemDlpInfo",SFItemDlpInfo.class), @@ -141,7 +139,9 @@ public enum SFV3FeedType OutlookInformation("$metadata#OutlookInformation",SFOutlookInformation.class), OutlookInformationOptionBool("$metadata#OutlookInformationOptionBool",SFOutlookInformationOptionBool.class), OutlookInformationOptionInt("$metadata#OutlookInformationOptionInt",SFOutlookInformationOptionInt.class), - OutlookInformationOptionString("$metadata#OutlookInformationOptionString",SFOutlookInformationOptionString.class); + OutlookInformationOptionString("$metadata#OutlookInformationOptionString",SFOutlookInformationOptionString.class), + Item("$metadata#Item",SFItem.class), + Items("$metadata#Items",SFItem.class); private final static String TAG = SFKeywords.TAG + "-SFV3FeedType"; private final String mToString; From f438296e428fa72c86db5bd58e01df387e87d3bd Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Thu, 17 Sep 2015 11:48:23 -0400 Subject: [PATCH 30/70] Add the get/set server response interface functions. --- .../src/com/citrix/sharefile/api/SFApiQuery.java | 11 +++++++++++ .../com/citrix/sharefile/api/SFApiQueryExecutor.java | 1 + .../com/citrix/sharefile/api/interfaces/ISFQuery.java | 4 ++++ 3 files changed, 16 insertions(+) diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java index e0926c0..413f7d0 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java @@ -38,6 +38,7 @@ public class SFApiQuery implements ISFQuery private static final String TAG = "SFApiQuery"; private ISFApiClient apiClient; private Object mTag; + private String mServerResponse; /** * https://server/provider/version/entity(id) @@ -808,4 +809,14 @@ public Object getTag() { return mTag; } + + @Override + public String getStringResponse() { + return mServerResponse; + } + + @Override + public void setStringResponse(String response) { + mServerResponse = response; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java index 1f5ab55..d4dd23e 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java @@ -228,6 +228,7 @@ public T executeBlockingQuery() throws SFServerException, case HttpsURLConnection.HTTP_OK: { responseString = SFHttpsCaller.readResponse(connection); + mQuery.setStringResponse(responseString); Logger.v(TAG, responseString); T ret = callSuccessResponseParser(responseString); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFQuery.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFQuery.java index 5f2b515..e70d487 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFQuery.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFQuery.java @@ -135,4 +135,8 @@ public T execute() throws SFInvalidStateException, SFServerException, * Get tag set by the setTag function. */ Object getTag(); + + String getStringResponse(); + + void setStringResponse(String response); } \ No newline at end of file From 92e012d44e78a1e1aa96c8f1cc384ff45d2d7e6f Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Thu, 17 Sep 2015 11:59:59 -0400 Subject: [PATCH 31/70] fixup the SFConnectionManager calls --- .../com/citrix/sharefile/api/SFApiQueryExecutor.java | 10 +++++----- .../sharefile/api/authentication/SFOAuthService.java | 5 +++-- .../api/authentication/SFOAuthTokenRenewer.java | 3 ++- .../citrix/sharefile/api/https/SFDownloadRunnable.java | 5 +++-- .../com/citrix/sharefile/api/https/SFHttpsCaller.java | 8 +------- .../citrix/sharefile/api/https/SFUploadRunnable.java | 5 +++-- 6 files changed, 17 insertions(+), 19 deletions(-) diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java index d4dd23e..1c63f5d 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java @@ -130,7 +130,7 @@ private InputStream getInputStream(URLConnection connection, int httpErrorCode) Logger.d(TAG, "Redirect to: "+ newUrl); - connection = SFHttpsCaller.getURLConnection(new URL(newUrl)); + connection = SFConnectionManager.openConnection(new URL(newUrl)); SFHttpsCaller.addAuthenticationHeader(connection, mSFApiClient.getOAuthToken(), @@ -138,7 +138,7 @@ private InputStream getInputStream(URLConnection connection, int httpErrorCode) mQuery.getPassword(), mCookieManager); - connection.connect(); + SFConnectionManager.connect(connection); return connection.getInputStream(); } @@ -201,8 +201,8 @@ public T executeBlockingQuery() throws SFServerException, setCurrentUri(urlstr); URL url = new URL(urlstr); - connection = SFHttpsCaller.getURLConnection(url); - SFHttpsCaller.setMethod(connection, mQuery.getHttpMethod(),mQuery.getBody()); + connection = SFConnectionManager.openConnection(url); + SFHttpsCaller.setMethod(connection, mQuery.getHttpMethod(), mQuery.getBody()); mAppSpecificConfig.setAddtionalHeaders(connection); SFHttpsCaller.addAuthenticationHeader(connection, mSFApiClient.getOAuthToken(), @@ -212,7 +212,7 @@ public T executeBlockingQuery() throws SFServerException, Logger.d(TAG, mQuery.getHttpMethod() + " " + urlstr); - connection.connect(); + SFConnectionManager.connect(connection); httpErrorCode = SFHttpsCaller.safeGetResponseCode(connection); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFOAuthService.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFOAuthService.java index 3c0c8bd..7eb906f 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFOAuthService.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFOAuthService.java @@ -1,5 +1,6 @@ package com.citrix.sharefile.api.authentication; +import com.citrix.sharefile.api.SFConnectionManager; import com.citrix.sharefile.api.SFSdk; import com.citrix.sharefile.api.constants.SFKeywords; import com.citrix.sharefile.api.enumerations.SFHttpMethod; @@ -64,13 +65,13 @@ protected SFOAuth2Token authenticate(String subDomain, String apiControlPlane, S nvPairs.add(new BasicNameValuePair(SFKeywords.PASSWORD,password)); String body = SFHttpsCaller.getBodyForWebLogin(nvPairs); - connection = (HttpsURLConnection) grantUrl.openConnection(); + connection = (HttpsURLConnection)SFConnectionManager.openConnection(grantUrl); connection.setRequestMethod(SFHttpMethod.POST.toString()); connection.setRequestProperty(SFKeywords.CONTENT_LENGTH, "" + body.length()); connection.addRequestProperty(SFKeywords.CONTENT_TYPE, SFKeywords.APPLICATION_FORM_URLENCODED); connection.setDoOutput(true); - connection.connect(); + SFConnectionManager.connect(connection); SFHttpsCaller.postBody(connection,body); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFOAuthTokenRenewer.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFOAuthTokenRenewer.java index 36f85f3..6e1dab3 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFOAuthTokenRenewer.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFOAuthTokenRenewer.java @@ -1,5 +1,6 @@ package com.citrix.sharefile.api.authentication; +import com.citrix.sharefile.api.SFConnectionManager; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; @@ -115,7 +116,7 @@ public SFOAuth2Token getNewAccessToken() throws SFOAuthTokenRenewException { URL url = new URL(buildWebLoginTokenUrl(mOldAccessToken.getApiCP(), mOldAccessToken.getSubdomain())); - URLConnection conn = SFHttpsCaller.getURLConnection(url); + URLConnection conn = SFConnectionManager.openConnection(url); SFHttpsCaller.setPostMethod(conn); SFHttpsCaller.setAcceptLanguage(conn); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFDownloadRunnable.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFDownloadRunnable.java index 014b2cc..0da52ee 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFDownloadRunnable.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFDownloadRunnable.java @@ -1,6 +1,7 @@ package com.citrix.sharefile.api.https; import com.citrix.sharefile.api.SFApiClient; +import com.citrix.sharefile.api.SFConnectionManager; import com.citrix.sharefile.api.constants.SFKeywords; import com.citrix.sharefile.api.constants.SFSdkGlobals; import com.citrix.sharefile.api.enumerations.SFHttpMethod; @@ -77,7 +78,7 @@ private void download() throws SFSDKException Logger.d(TAG, "GET " + mUrl); URL url = new URL(mUrl); - connection = SFHttpsCaller.getURLConnection(url); + connection = SFConnectionManager.openConnection(url); SFHttpsCaller.setMethod(connection, SFHttpMethod.GET.toString(),null); SFHttpsCaller.setAcceptLanguage(connection); SFHttpsCaller.addAuthenticationHeader(connection,mApiClient.getOAuthToken(),mUsername,mPassword,mCookieManager); @@ -87,7 +88,7 @@ private void download() throws SFSDKException connection.setRequestProperty(SFKeywords.Range, "bytes="+mResumeFromByteIndex+"-"); } - connection.connect(); + SFConnectionManager.connect(connection); httpErrorCode = SFHttpsCaller.safeGetResponseCode(connection); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFHttpsCaller.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFHttpsCaller.java index d37fb47..6d203fd 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFHttpsCaller.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFHttpsCaller.java @@ -52,13 +52,7 @@ public static void postBody(URLConnection conn, String body) throws IOException writer.close(); os.close(); } - - public static URLConnection getURLConnection(URL url) throws IOException - { - //trustAll(); - return url.openConnection(); - } - + /** grant_type=authorization_code&code=CvJ4LMgMDHuZGLXgJgJdDYR17Hd3b5&client_id=xyz&client_secret=abc */ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFUploadRunnable.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFUploadRunnable.java index 4cd1eee..fea66f1 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFUploadRunnable.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFUploadRunnable.java @@ -1,5 +1,6 @@ package com.citrix.sharefile.api.https; +import com.citrix.sharefile.api.SFConnectionManager; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; @@ -292,14 +293,14 @@ private long uploadChunk(byte[] fileChunk,int chunkLength,boolean isLast, Messag String append = getAppendParams(mDestinationFileName, mTotalBytes,isLast?1:0, isLast, md5ToString(md)); final String finalURL = mUploadSpecification.getChunkUri() + append; - conn = (HttpsURLConnection)(new URL(finalURL)).openConnection(); + conn = (HttpsURLConnection) SFConnectionManager.openConnection(new URL(finalURL)); SFHttpsCaller.addAuthenticationHeader(conn, mApiClient.getOAuthToken(), mUsername,mPassword,mCookieManager); conn.setUseCaches(false); conn.setRequestProperty(SFKeywords.CONTENT_TYPE, SFKeywords.APPLICATION_OCTET_STREAM); conn.setRequestProperty(SFKeywords.CONTENT_LENGTH, ""+chunkLength); conn.setFixedLengthStreamingMode(chunkLength); SFHttpsCaller.setPostMethod(conn); - conn.connect(); + SFConnectionManager.connect(conn); //small buffer between the chunk and the stream so we can interrupt and kill task quickly final byte[] buffer = new byte[1024]; From 99f9b7a7529b364068eb67de5c94a4c90123e119 Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Thu, 17 Sep 2015 12:11:47 -0400 Subject: [PATCH 32/70] make calls to SFConnectionManager getInputStream --- .../src/com/citrix/sharefile/api/SFApiQueryExecutor.java | 4 ++-- .../com/citrix/sharefile/api/https/SFDownloadRunnable.java | 2 +- .../src/com/citrix/sharefile/api/https/SFHttpsCaller.java | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java index 1c63f5d..ba172d5 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java @@ -140,12 +140,12 @@ private InputStream getInputStream(URLConnection connection, int httpErrorCode) SFConnectionManager.connect(connection); - return connection.getInputStream(); + return SFConnectionManager.getInputStream(connection); } } closeTheConnection = false; - return connection.getInputStream(); + return SFConnectionManager.getInputStream(connection); } private T executeQueryWithReAuthentication() throws SFServerException, diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFDownloadRunnable.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFDownloadRunnable.java index 0da52ee..43e7ec2 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFDownloadRunnable.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFDownloadRunnable.java @@ -97,7 +97,7 @@ private void download() throws SFSDKException switch (httpErrorCode) { case HttpsURLConnection.HTTP_OK: - fis = connection.getInputStream(); + fis = SFConnectionManager.getInputStream(connection); byte[] buffer = new byte[1024 * 1024]; diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFHttpsCaller.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFHttpsCaller.java index 6d203fd..7acc5cc 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFHttpsCaller.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFHttpsCaller.java @@ -1,6 +1,7 @@ package com.citrix.sharefile.api.https; +import com.citrix.sharefile.api.SFConnectionManager; import com.citrix.sharefile.api.authentication.SFOAuth2Token; import com.citrix.sharefile.api.constants.SFKeywords; import com.citrix.sharefile.api.enumerations.SFHttpMethod; @@ -246,7 +247,7 @@ public static String readResponse(URLConnection conn) throws IOException { StringBuilder sb = new StringBuilder(); - InputStream is = conn.getInputStream(); + InputStream is = SFConnectionManager.getInputStream(conn); BufferedReader urlstream = new BufferedReader(new InputStreamReader(is)); String inputLine; From ee30e16efad9f2fa513674610d882728d04af6dd Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Thu, 17 Sep 2015 14:02:26 -0400 Subject: [PATCH 33/70] Update the documentation with the pro-gurad section. --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 0644fac..fc8f212 100644 --- a/README.md +++ b/README.md @@ -73,6 +73,14 @@ To fix these set the follow settings depend on your IDE: * Eclipse : `File->Properties->JavaCompiler->Compiler Compliance level to 1.7` +## Proguard Settings ## + +If you are using pro-guard, make sure to set the following in the configuration file. + + -keepattributes Signature + -keepattributes *Annotation* + -keep class com.sharefile.api.** { *; } + ## Initialise the SDK ## From 5384a05ce6a2c7e5cef2e29e92ef6bce0300f2aa Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Tue, 22 Sep 2015 17:01:43 -0400 Subject: [PATCH 34/70] Remove pointless synchronization on global static functions. --- README.md | 6 +++--- ShareFileJavaSDK/build.gradle | 2 +- .../src/com/citrix/sharefile/api/https/SFHttpsCaller.java | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index fc8f212..1d37e5e 100644 --- a/README.md +++ b/README.md @@ -28,12 +28,12 @@ with an authorization response. The SDK is a pure Java code and you can build it using the Eclipse IDE (Kepler or higher) or using the Android Studio IDE. Simply point your IDE's import functionality to the SDK folder and it should be able to import the projects correctly. Make sure you have Java-7 JDK atleast. You could either generate `.jar` files from the SDK and use them in your application projects or directly include the SDK Module in your Android application Project or Eclipse Workspace of the application. Alternatively you can use the SDK without building the SDK code, if you are using Gradle or Maven, you can directly add the dependency as follows: -(Always check for the latest version on mavenCentral() since we keep posting enhancements and bug fixes) +(Always check for the latest version on mavenCentral() since we keep posting enhancements and bug fixes. Altrenative use 3.+ as the version code in dependencies.) * Gradle Dependency: dependencies { - compile 'com.citrix:sharefile-api:3.0.4' + compile 'com.citrix:sharefile-api:3.0.7' } Gradle on Android might need the addional : @@ -55,7 +55,7 @@ Alternatively you can use the SDK without building the SDK code, if you are usin com.citrix sharefile-api - 3.0.4 + 3.0.7 diff --git a/ShareFileJavaSDK/build.gradle b/ShareFileJavaSDK/build.gradle index ad4c48a..b5fcde4 100644 --- a/ShareFileJavaSDK/build.gradle +++ b/ShareFileJavaSDK/build.gradle @@ -5,7 +5,7 @@ apply plugin: 'maven' apply plugin: 'signing' String shareFileJarName = 'sharefile-api' -String shareFileJarVersion = '3.0.6' +String shareFileJarVersion = '3.0.7' String shareFilePomFileName = "$buildDir/libs/"+shareFileJarName+"-"+shareFileJarVersion+".pom" group = "com.citrix" diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFHttpsCaller.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFHttpsCaller.java index 7acc5cc..bb2e5a3 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFHttpsCaller.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFHttpsCaller.java @@ -209,7 +209,7 @@ public static int catchIfOutOfMemoryException(Exception e,int origcode) * @throws IOException * */ - public static synchronized int safeGetResponseCode(URLConnection conn) throws IOException + public static int safeGetResponseCode(URLConnection conn) throws IOException { int httpErrorCode; @@ -235,7 +235,7 @@ public static synchronized int safeGetResponseCode(URLConnection conn) throws IO } - public static synchronized void getAndStoreCookies(URLConnection conn, URL url,SFCookieManager cookieManager) throws IOException + public static void getAndStoreCookies(URLConnection conn, URL url,SFCookieManager cookieManager) throws IOException { if(cookieManager!=null) { From 5d5d33d9c571df2f9dc262775224b692e7220454 Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Wed, 23 Sep 2015 14:29:24 -0400 Subject: [PATCH 35/70] Go back to the old upload method. --- ShareFileJavaSDK/build.gradle | 2 +- .../sharefile/api/https/SFUploadRunnable.java | 24 ++++++++++++++++--- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/ShareFileJavaSDK/build.gradle b/ShareFileJavaSDK/build.gradle index b5fcde4..443d70f 100644 --- a/ShareFileJavaSDK/build.gradle +++ b/ShareFileJavaSDK/build.gradle @@ -5,7 +5,7 @@ apply plugin: 'maven' apply plugin: 'signing' String shareFileJarName = 'sharefile-api' -String shareFileJarVersion = '3.0.7' +String shareFileJarVersion = '3.0.8' String shareFilePomFileName = "$buildDir/libs/"+shareFileJarName+"-"+shareFileJarVersion+".pom" group = "com.citrix" diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFUploadRunnable.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFUploadRunnable.java index fea66f1..04ed60d 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFUploadRunnable.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFUploadRunnable.java @@ -130,10 +130,28 @@ private SFUploadSpecification getSpecification() throws SFInvalidStateException, { try { + Date now = new Date(); + ISFQuery uploadQuery = SFQueryBuilder.ITEMS.upload(new URI(mV3Url) + ,new SFSafeEnum(SFUploadMethod.Streamed), + true, + mDestinationFileName, + mTotalBytes, + "", + false, + true, + false, + false, + "SFJavaSDK", + mOverwrite, + mDestinationFileName, + mDetails, + false, + "", + "", + 1, + "json", + false, now,now); - ISFQuery uploadQuery = - SFQueryBuilder.ITEMS.upload2(new URI(mV3Url),buildUploadRequestParams(mDestinationFileName, - mDetails,mTotalBytes)); uploadQuery.setCredentials(mUsername,mPassword); From 6b03803206d60a382c0b1b916debe3c3b8f5273a Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Fri, 25 Sep 2015 12:06:18 -0400 Subject: [PATCH 36/70] Check for previous query parameters using the URLDecode too. --- ShareFileJavaSDK/build.gradle | 2 +- .../com/citrix/sharefile/api/SFApiQuery.java | 28 ++++++++++++++++++- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/ShareFileJavaSDK/build.gradle b/ShareFileJavaSDK/build.gradle index 443d70f..90f00d6 100644 --- a/ShareFileJavaSDK/build.gradle +++ b/ShareFileJavaSDK/build.gradle @@ -5,7 +5,7 @@ apply plugin: 'maven' apply plugin: 'signing' String shareFileJarName = 'sharefile-api' -String shareFileJarVersion = '3.0.8' +String shareFileJarVersion = '3.0.9' String shareFilePomFileName = "$buildDir/libs/"+shareFileJarName+"-"+shareFileJarVersion+".pom" group = "com.citrix" diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java index 413f7d0..dcb6e32 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java @@ -27,6 +27,7 @@ import java.io.UnsupportedEncodingException; import java.net.URI; import java.net.URISyntaxException; +import java.net.URLDecoder; import java.net.URLEncoder; import java.util.ArrayList; import java.util.HashMap; @@ -628,13 +629,38 @@ public boolean reDirectionAllowed() return allowRedirection; } + /* + For ZK redirection the server is sending back our original query parameters after url decoding. + So our search for previous query parameters need to be done using our original format + and even the decoded format. + */ + private boolean containsDecodedParams(String oldQueryParams,String newQueryParams) + { + if(oldQueryParams == null || newQueryParams == null) + { + return false; + } + + try + { + String decodedString = URLDecoder.decode(oldQueryParams,SFKeywords.UTF_8); + return newQueryParams.contains(decodedString); + } + catch (Throwable e) + { + + } + + return false; + } + @Override public ISFQuery setLinkAndAppendPreviousParameters(URI newuri) throws URISyntaxException, UnsupportedEncodingException { String newQueryParams = newuri.getQuery(); String oldQueryParms = buildQueryParameters(); - if(newQueryParams !=null && newQueryParams.contains(oldQueryParms)) + if(newQueryParams !=null && (newQueryParams.contains(oldQueryParms) || containsDecodedParams(oldQueryParms,newQueryParams))) { setFullyParametrizedLink(newuri); return this; From 356e36d0d804ed335876e13c54b291840c6461e1 Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Tue, 8 Dec 2015 13:42:44 -0500 Subject: [PATCH 37/70] Add new models and Entities. --- .../sharefile/api/constants/SFKeywords.java | 6 + .../sharefile/api/entities/ISFEntities.java | 107 +- .../api/entities/SFAccessControlsEntity.java | 240 +- .../api/entities/SFAccountsEntity.java | 178 +- .../api/entities/SFAsyncOperationsEntity.java | 64 +- .../api/entities/SFCapabilitiesEntity.java | 21 +- .../api/entities/SFConfigsEntity.java | 46 - .../api/entities/SFConnectorGroupsEntity.java | 47 +- .../api/entities/SFDevicesEntity.java | 185 -- .../api/entities/SFEntitiesBase.java | 51 + .../api/entities/SFFavoriteFoldersEntity.java | 29 +- .../api/entities/SFFileLockEntity.java | 103 - .../api/entities/SFFolderTemplatesEntity.java | 29 +- .../api/entities/SFGroupsEntity.java | 30 +- .../sharefile/api/entities/SFItemsEntity.java | 1921 +++++++++-------- .../api/entities/SFMetadataEntity.java | 29 +- .../api/entities/SFODataEntityBase.java | 18 - .../api/entities/SFRemoteUploadsEntity.java | 168 ++ .../api/entities/SFReportsEntity.java | 307 +++ .../api/entities/SFSessionsEntity.java | 52 +- .../api/entities/SFSharesEntity.java | 392 ++-- .../api/entities/SFStorageCentersEntity.java | 34 +- .../sharefile/api/entities/SFUsersEntity.java | 268 ++- .../sharefile/api/entities/SFZonesEntity.java | 141 +- .../api/models/SFAccessControlBulkResult.java | 61 + .../models/SFAccessControlFailedEntry.java | 76 + .../sharefile/api/models/SFAccount.java | 21 + .../api/models/SFAccountPreferences.java | 243 ++- ...{SFAppStore.java => SFAccountSubType.java} | 16 +- .../api/models/SFAccountZoneUsage.java | 67 + .../sharefile/api/models/SFAppCodes.java | 58 - .../models/SFAzureSBTopicsEndPointInfo.java | 57 - .../sharefile/api/models/SFBilling.java | 66 - .../api/models/SFCapabilityName.java | 14 +- .../sharefile/api/models/SFContact.java | 9 + .../citrix/sharefile/api/models/SFDevice.java | 9 + .../sharefile/api/models/SFDlpStatus.java | 4 + ...ths.java => SFDocumentViewerPrinting.java} | 16 +- .../api/models/SFDownloadSpecification.java | 9 + ...OAuthState.java => SFEditingPlatform.java} | 14 +- .../api/models/SFEditingPlatformInfo.java | 49 + ...serRole.java => SFEnsDeviceEventType.java} | 15 +- .../sharefile/api/models/SFEntityTypeMap.java | 30 +- .../api/models/SFExceptionReason.java | 51 + .../citrix/sharefile/api/models/SFFile.java | 15 + .../sharefile/api/models/SFFolderOption.java | 28 + .../api/models/SFFreeTrialAccount.java | 201 -- .../sharefile/api/models/SFInAppPurchase.java | 84 - .../citrix/sharefile/api/models/SFItem.java | 285 +-- .../sharefile/api/models/SFItemAction.java | 53 + .../sharefile/api/models/SFItemDlpInfo.java | 4 +- .../sharefile/api/models/SFItemInfo.java | 84 +- .../sharefile/api/models/SFLockType.java | 3 +- ...ddonUser.java => SFNotifyUsersParams.java} | 29 +- .../sharefile/api/models/SFOAuthClient.java | 273 --- .../api/models/SFODataExceptionMessage.java | 29 + .../sharefile/api/models/SFPlanAddon.java | 75 - .../api/models/SFPlanAddonsStatus.java | 29 - .../sharefile/api/models/SFRemoteUpload.java | 110 + .../citrix/sharefile/api/models/SFReport.java | 277 +++ .../api/models/SFReportDateOption.java | 28 + .../api/models/SFReportObjectType.java | 23 + .../sharefile/api/models/SFReportRecord.java | 127 ++ .../api/models/SFReportRunFrequency.java | 24 + ...ueueStatus.java => SFReportRunStatus.java} | 17 +- .../sharefile/api/models/SFReportType.java | 27 + .../api/models/SFSSOAccountProvider.java | 18 + .../sharefile/api/models/SFSearchResult.java | 9 + .../citrix/sharefile/api/models/SFShare.java | 52 +- .../SFShareConnectAddonFeatureInfo.java | 27 - .../api/models/SFShareItemHistory.java | 67 + .../api/models/SFShareSendParams.java | 17 + ...picsResponse.java => SFShareSettings.java} | 19 +- .../sharefile/api/models/SFShareSubType.java | 3 +- .../sharefile/api/models/SFShareType.java | 3 +- .../sharefile/api/models/SFSortDirection.java | 23 + ...lientPermissions.java => SFSortField.java} | 21 +- .../api/models/SFTenantZoneUsageReport.java | 40 + .../sharefile/api/models/SFTrialPeriod.java | 57 - .../sharefile/api/models/SFTypeOfTour.java | 3 +- .../api/models/SFUploadSpecification.java | 12 +- .../citrix/sharefile/api/models/SFUser.java | 9 + .../api/models/SFUserConfirmRequirement.java | 85 + .../models/SFUserConfirmationSettings.java | 18 + .../api/models/SFUserPreferences.java | 9 + .../sharefile/api/models/SFUserRole.java | 4 +- .../sharefile/api/models/SFUserSecurity.java | 9 + .../sharefile/api/models/SFVersioning.java | 23 + .../api/models/SFWatermarkedDownloads.java | 23 + .../citrix/sharefile/api/models/SFZone.java | 9 + .../sharefile/api/models/SFZoneService.java | 4 +- ...intInfo.java => SFZoneUsageBreakdown.java} | 16 +- 92 files changed, 4781 insertions(+), 2975 deletions(-) delete mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFConfigsEntity.java delete mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFDevicesEntity.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFEntitiesBase.java delete mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFileLockEntity.java delete mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFODataEntityBase.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFRemoteUploadsEntity.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFReportsEntity.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlBulkResult.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlFailedEntry.java rename ShareFileJavaSDK/src/com/citrix/sharefile/api/models/{SFAppStore.java => SFAccountSubType.java} (71%) create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountZoneUsage.java delete mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAppCodes.java delete mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAzureSBTopicsEndPointInfo.java delete mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBilling.java rename ShareFileJavaSDK/src/com/citrix/sharefile/api/models/{SFBillingCycleMonths.java => SFDocumentViewerPrinting.java} (70%) rename ShareFileJavaSDK/src/com/citrix/sharefile/api/models/{SFOAuthState.java => SFEditingPlatform.java} (69%) create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEditingPlatformInfo.java rename ShareFileJavaSDK/src/com/citrix/sharefile/api/models/{SFMobileUserRole.java => SFEnsDeviceEventType.java} (69%) create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFExceptionReason.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolderOption.java delete mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFreeTrialAccount.java delete mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFInAppPurchase.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemAction.java rename ShareFileJavaSDK/src/com/citrix/sharefile/api/models/{SFPlanAddonUser.java => SFNotifyUsersParams.java} (55%) delete mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOAuthClient.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFODataExceptionMessage.java delete mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPlanAddon.java delete mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPlanAddonsStatus.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRemoteUpload.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReport.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportDateOption.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportObjectType.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRecord.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRunFrequency.java rename ShareFileJavaSDK/src/com/citrix/sharefile/api/models/{SFQueueStatus.java => SFReportRunStatus.java} (69%) create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportType.java delete mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareConnectAddonFeatureInfo.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareItemHistory.java rename ShareFileJavaSDK/src/com/citrix/sharefile/api/models/{SFAzureSBTopicsResponse.java => SFShareSettings.java} (61%) create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSortDirection.java rename ShareFileJavaSDK/src/com/citrix/sharefile/api/models/{SFOAuthClientPermissions.java => SFSortField.java} (68%) create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTenantZoneUsageReport.java delete mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTrialPeriod.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserConfirmRequirement.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFVersioning.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWatermarkedDownloads.java rename ShareFileJavaSDK/src/com/citrix/sharefile/api/models/{SFServiceBusEndPointInfo.java => SFZoneUsageBreakdown.java} (56%) diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/constants/SFKeywords.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/constants/SFKeywords.java index 5441198..1dd44bf 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/constants/SFKeywords.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/constants/SFKeywords.java @@ -6,6 +6,7 @@ public final class SFKeywords //SFOdataObject related keywords public static final String ODATA_METADATA = "odata.metadata"; + public static final String ODATA_TYPE = "odata.type"; public static final String ODATA_COUNT = "odata.count"; public static final String ODATA_NEXTLINK = "odata.nextLink"; @@ -24,6 +25,8 @@ public final class SFKeywords public static final String DEVICE_USER = "DEVICE_USER"; public static final String Description = "Description"; public static final String Zone = "Zone"; + public static final String LOCKED_BY = "LockedBy"; + public static final String FILE_LOCK_INFO = "FileLockInfo"; public static final String CODE = "code"; public static final String VALUE = "value"; @@ -37,6 +40,8 @@ public final class SFKeywords public static final String CHILDREN_FAVORITE_FOLDER = CHILDREN + "/" + FAVORITE_FOLDER; public static final String CHILDREN_PARENT = CHILDREN + "/" + PARENT; public static final String CHILDREN_PREVIEW_PLATFORMS_SUPPORTED = CHILDREN + "/" + PREVIEW_PLATFORMS_SUPPORTED; + public static final String CHILDREN_LOCKED_BY = CHILDREN + "/" + LOCKED_BY; + public static final String CHILDREN_FILE_LOCK_INFO = CHILDREN + "/" + FILE_LOCK_INFO; //Access token related public static final String ACCESS_TOKEN = "access_token"; @@ -106,4 +111,5 @@ public final class SFKeywords public static final String UNKNOWN_ERROR = "Unknown Error"; public static final String SF_OAUTH_TOKEN_PATH = "/oauth/token"; public static final String UN_AUTHORIZED = "UnAuthorized(401)"; + public static final String CLIENT_CAPABILITIES_HEADER = "X-SF-ClientCapabilities"; } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/ISFEntities.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/ISFEntities.java index 0c187e2..c59475c 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/ISFEntities.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/ISFEntities.java @@ -11,134 +11,88 @@ package com.citrix.sharefile.api.entities; -import com.citrix.sharefile.api.interfaces.ISFApiClient; - -import java.lang.reflect.InvocationTargetException; +import com.citrix.sharefile.api.*; public interface ISFEntities { - public static abstract class Implementation extends SFODataEntityBase implements ISFEntities - { - private static final String TAG = "ISFEntities"; - - protected Implementation() - { + public static abstract class Implementation extends SFEntitiesBase implements ISFEntities { + protected Implementation() { } - public SFODataEntityBase getEntity(Class className) - { - try - { - if(this instanceof ISFApiClient) - { - return (SFODataEntityBase) className.getConstructor(ISFApiClient.class).newInstance(this); - } - else - { - return (SFODataEntityBase) className.newInstance(); - } - } - catch (InstantiationException e) - { - throw new RuntimeException(e); - } - catch (IllegalAccessException e) - { - throw new RuntimeException(e); - } - catch (NoSuchMethodException e) - { - throw new RuntimeException(e); - } - catch (InvocationTargetException e) - { - throw new RuntimeException(e); - } + @Override + public SFConnectorGroupsEntity connectorGroups() { + return (SFConnectorGroupsEntity)getEntity(SFConnectorGroupsEntity.class); } - @Override - public SFConnectorGroupsEntity connectorGroups() - { - return (SFConnectorGroupsEntity) getEntity(SFConnectorGroupsEntity.class); + public SFRemoteUploadsEntity remoteUploads() { + return (SFRemoteUploadsEntity)getEntity(SFRemoteUploadsEntity.class); + } + @Override + public SFReportsEntity reports() { + return (SFReportsEntity)getEntity(SFReportsEntity.class); } @Override public SFFolderTemplatesEntity folderTemplates() { - return (SFFolderTemplatesEntity) getEntity(SFFolderTemplatesEntity.class); + return (SFFolderTemplatesEntity)getEntity(SFFolderTemplatesEntity.class); } @Override public SFAccessControlsEntity accessControls() { - return (SFAccessControlsEntity) getEntity(SFAccessControlsEntity.class); + return (SFAccessControlsEntity)getEntity(SFAccessControlsEntity.class); } @Override public SFAccountsEntity accounts() { - return (SFAccountsEntity) getEntity(SFAccountsEntity.class); + return (SFAccountsEntity)getEntity(SFAccountsEntity.class); } @Override public SFAsyncOperationsEntity asyncOperations() { - return (SFAsyncOperationsEntity) getEntity(SFAsyncOperationsEntity.class); + return (SFAsyncOperationsEntity)getEntity(SFAsyncOperationsEntity.class); } @Override public SFCapabilitiesEntity capabilities() { - return (SFCapabilitiesEntity) getEntity(SFCapabilitiesEntity.class); + return (SFCapabilitiesEntity)getEntity(SFCapabilitiesEntity.class); } @Override public SFFavoriteFoldersEntity favoriteFolders() { - return (SFFavoriteFoldersEntity) getEntity(SFFavoriteFoldersEntity.class); + return (SFFavoriteFoldersEntity)getEntity(SFFavoriteFoldersEntity.class); } @Override public SFGroupsEntity groups() { - return (SFGroupsEntity) getEntity(SFGroupsEntity.class); + return (SFGroupsEntity)getEntity(SFGroupsEntity.class); } @Override public SFItemsEntity items() { - return (SFItemsEntity) getEntity(SFItemsEntity.class); + return (SFItemsEntity)getEntity(SFItemsEntity.class); } @Override public SFMetadataEntity metadata() { - return (SFMetadataEntity) getEntity(SFMetadataEntity.class); + return (SFMetadataEntity)getEntity(SFMetadataEntity.class); } @Override public SFSessionsEntity sessions() { - return (SFSessionsEntity) getEntity(SFSessionsEntity.class); + return (SFSessionsEntity)getEntity(SFSessionsEntity.class); } @Override public SFSharesEntity shares() { - return (SFSharesEntity) getEntity(SFSharesEntity.class); + return (SFSharesEntity)getEntity(SFSharesEntity.class); } @Override public SFStorageCentersEntity storageCenters() { - return (SFStorageCentersEntity) getEntity(SFStorageCentersEntity.class); + return (SFStorageCentersEntity)getEntity(SFStorageCentersEntity.class); } @Override public SFUsersEntity users() { - return (SFUsersEntity) getEntity(SFUsersEntity.class); + return (SFUsersEntity)getEntity(SFUsersEntity.class); } @Override public SFZonesEntity zones() { - return (SFZonesEntity) getEntity(SFZonesEntity.class); - } - - @Override - public SFConfigsEntity configs() - { - return (SFConfigsEntity)getEntity(SFConfigsEntity.class); - } - - @Override - public SFDevicesEntity devices() - { - return (SFDevicesEntity)getEntity(SFDevicesEntity.class); - } - - @Override - public SFFileLockEntity fileLock() - { - return (SFFileLockEntity)getEntity(SFFileLockEntity.class); + return (SFZonesEntity)getEntity(SFZonesEntity.class); } } SFConnectorGroupsEntity connectorGroups(); - SFODataEntityBase folderTemplates(); + SFRemoteUploadsEntity remoteUploads(); + SFReportsEntity reports(); + SFFolderTemplatesEntity folderTemplates(); SFAccessControlsEntity accessControls(); SFAccountsEntity accounts(); SFAsyncOperationsEntity asyncOperations(); @@ -152,7 +106,4 @@ public SFFileLockEntity fileLock() SFStorageCentersEntity storageCenters(); SFUsersEntity users(); SFZonesEntity zones(); - SFConfigsEntity configs(); - SFDevicesEntity devices(); - SFFileLockEntity fileLock(); } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccessControlsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccessControlsEntity.java index 1d74c8b..9144409 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccessControlsEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccessControlsEntity.java @@ -12,16 +12,25 @@ package com.citrix.sharefile.api.entities; -import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; -import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.entities.*; import com.citrix.sharefile.api.models.*; import com.citrix.sharefile.api.SFApiQuery; import com.citrix.sharefile.api.interfaces.ISFQuery; +import java.io.InputStream; +import java.util.ArrayList; import java.net.URI; +import java.util.Date; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; +import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; -public class SFAccessControlsEntity extends SFODataEntityBase +public class SFAccessControlsEntity extends SFEntitiesBase { public SFAccessControlsEntity(ISFApiClient client) { super(client); @@ -37,7 +46,7 @@ public ISFQuery get(URI url) throws InvalidOrMissingParameterEx throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("AccessControls"); sfApiQuery.addIds(url); sfApiQuery.setHttpMethod("GET"); @@ -55,7 +64,7 @@ public ISFQuery> getByItem(URI url) throws InvalidO throw new InvalidOrMissingParameterException("url"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("AccessControls"); sfApiQuery.addIds(url); @@ -101,7 +110,7 @@ public ISFQuery createByItem(URI url, SFAccessControl accessCon throw new InvalidOrMissingParameterException("message"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("AccessControls"); sfApiQuery.addIds(url); @@ -147,7 +156,7 @@ public ISFQuery createByItem(URI url, SFAccessControl accessCon throw new InvalidOrMissingParameterException("sendDefaultNotification"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("AccessControls"); sfApiQuery.addIds(url); @@ -188,7 +197,7 @@ public ISFQuery createByItem(URI url, SFAccessControl accessCon throw new InvalidOrMissingParameterException("recursive"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("AccessControls"); sfApiQuery.addIds(url); @@ -224,7 +233,7 @@ public ISFQuery createByItem(URI url, SFAccessControl accessCon throw new InvalidOrMissingParameterException("accessControl"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("AccessControls"); sfApiQuery.addIds(url); @@ -262,7 +271,7 @@ public ISFQuery updateByItem(URI url, SFAccessControl accessCon throw new InvalidOrMissingParameterException("recursive"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("AccessControls"); sfApiQuery.addIds(url); @@ -297,7 +306,7 @@ public ISFQuery updateByItem(URI url, SFAccessControl accessCon throw new InvalidOrMissingParameterException("accessControl"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("AccessControls"); sfApiQuery.addIds(url); @@ -316,12 +325,219 @@ public ISFQuery delete(URI url) throws InvalidOrMissingParameterException { throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("AccessControls"); sfApiQuery.addIds(url); sfApiQuery.setHttpMethod("DELETE"); return sfApiQuery; } + /** + * Create or Update multiple AccessControls for a given Item + * { + * "NotifyUser":true, + * "NotifyMessage":"msg", + * + * "AccessControlParams": + * [ + * { + * "AccessControl": + * { + * "Principal" : { "Id":"existing_user_id" }, + * "CanUpload" : true, + * "CanDownload" : false, + * "CanView" : true + * }, + * "NotifyUser":false + * }, + * { + * "AccessControl": + * { + * "Principal" : { "Id":"group_id" }, + * "CanUpload" : false, + * "CanDownload" : true, + * "CanView" : true + * }, + * "Recursive":true + * }, + * { + * "AccessControl": + * { + * "Principal" : { "Email":"new_or_existing_user@a.com" }, + * "CanUpload" : false, + * "CanDownload" : true, + * "CanView" : true + * } + * } + * ] + * } + * All the AccessControls are created or updated for a single Item identified by the Item id in the URI. AccessControl.Item Ids are not allowed. + * If an AccessControl doesn't specify NotifyUser or NotifyMessage property their values are inherited from the corresponding + * top-level properties. + * The Principal can be identified by Id or Email (Users). If a User with the specified email does not exist it will be created. + * Defaults for NotifyUser and Recursive are false. + * See AccessControlsBulkParams for other details. + * @param url + * @param bulkParams + * @return AccessControlBulkResult + */ + public ISFQuery bulkSet(URI url, SFAccessControlsBulkParams bulkParams) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (bulkParams == null) { + throw new InvalidOrMissingParameterException("bulkParams"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Items"); + sfApiQuery.setAction("AccessControls"); + sfApiQuery.addIds(url); + sfApiQuery.addSubAction("BulkSet"); + sfApiQuery.setBody(bulkParams); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + + /** + * Update multiple access controls for a single principal + * { + * "NotifyUser":true, + * "NotifyMessage":"msg", + * + * "AccessControlParams": + * [ + * { + * "AccessControl": + * { + * "Item": { "Id": "item-id-1" }, + * "Principal" : { "Id":"existing_user_id" }, + * "CanUpload" : true, + * "CanDownload" : false, + * "CanView" : true + * }, + * "NotifyUser":false + * }, + * { + * "AccessControl": + * { + * "Item": { "Id": "item-id-3" }, + * "Principal" : { "Id":"group_id" }, + * "CanUpload" : false, + * "CanDownload" : true, + * "CanView" : true + * }, + * "Recursive":true + * }, + * { + * "AccessControl": + * { + * "Item": { "Id": "item-id-2" }, + * "Principal" : { "Email":"new_or_existing_user@a.com" }, + * "CanUpload" : false, + * "CanDownload" : true, + * "CanView" : true + * } + * } + * ] + * } + * @param principalId + * @param bulkParams + * @return AccessControlBulkResult + */ + public ISFQuery bulkSetForPrincipal(SFAccessControlsBulkParams bulkParams, String principalId) throws InvalidOrMissingParameterException { + if (bulkParams == null) { + throw new InvalidOrMissingParameterException("bulkParams"); + } + if (principalId == null) { + throw new InvalidOrMissingParameterException("principalId"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("AccessControls"); + sfApiQuery.setAction("BulkSetForPrincipal"); + sfApiQuery.addQueryString("principalId", principalId); + sfApiQuery.setBody(bulkParams); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + + /** + * Delete multiple access controls + * ["id1","id2",...] + * @param folderUrl + * @param principalIds + */ + public ISFQuery bulkDelete(URI folderUrl, ArrayList principalIds) throws InvalidOrMissingParameterException { + if (folderUrl == null) { + throw new InvalidOrMissingParameterException("folderUrl"); + } + if (principalIds == null) { + throw new InvalidOrMissingParameterException("principalIds"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Items"); + sfApiQuery.setAction("AccessControls"); + sfApiQuery.addIds(folderUrl); + sfApiQuery.addSubAction("BulkDelete"); + sfApiQuery.setBody(principalIds); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + + /** + * Delete multiple access controls for principal + * ["id1","id2",...] + * @param principalId + * @param folderIds + */ + public ISFQuery bulkDeleteForPrincipal(ArrayList folderIds, String principalId) throws InvalidOrMissingParameterException { + if (folderIds == null) { + throw new InvalidOrMissingParameterException("folderIds"); + } + if (principalId == null) { + throw new InvalidOrMissingParameterException("principalId"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("AccessControls"); + sfApiQuery.setAction("BulkDeleteForPrincipal"); + sfApiQuery.addQueryString("principalId", principalId); + sfApiQuery.setBody(folderIds); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + + /** + * Notify users that they have access to the parent folder + * [ + * { + * UserIds: ["id1", "id2"], + * CustomMessage: "Message content goes here" + * } + * ] + * All users should have access to the parent folder + * @param folderUrl + * @param notifyUsersParams + */ + public ISFQuery notifyUsers(URI folderUrl, SFNotifyUsersParams notifyUsersParams) throws InvalidOrMissingParameterException { + if (folderUrl == null) { + throw new InvalidOrMissingParameterException("folderUrl"); + } + if (notifyUsersParams == null) { + throw new InvalidOrMissingParameterException("notifyUsersParams"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Items"); + sfApiQuery.setAction("AccessControls"); + sfApiQuery.addIds(folderUrl); + sfApiQuery.addSubAction("NotifyUsers"); + sfApiQuery.setBody(notifyUsersParams); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccountsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccountsEntity.java index fa51381..be45388 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccountsEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccountsEntity.java @@ -12,18 +12,48 @@ package com.citrix.sharefile.api.entities; -import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; -import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.entities.*; import com.citrix.sharefile.api.models.*; import com.citrix.sharefile.api.SFApiQuery; import com.citrix.sharefile.api.interfaces.ISFQuery; -public class SFAccountsEntity extends SFODataEntityBase + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; +import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; + +public class SFAccountsEntity extends SFEntitiesBase { public SFAccountsEntity(ISFApiClient client) { super(client); } + /** + * Get current Account + * Retrieves information about the Account defined in the call subdomain + * @param id (default: null) + * @return The subdomain account information + */ + public ISFQuery get(String id) throws InvalidOrMissingParameterException { + if (id == null) { + throw new InvalidOrMissingParameterException("id"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Accounts"); + sfApiQuery.addQueryString("id", id); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + /** * Get current Account * Retrieves information about the Account defined in the call subdomain @@ -31,7 +61,7 @@ public SFAccountsEntity(ISFApiClient client) { */ public ISFQuery get() { - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setHttpMethod("GET"); return sfApiQuery; @@ -45,7 +75,7 @@ public ISFQuery get() { */ public ISFQuery getBranding() { - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("Branding"); sfApiQuery.setHttpMethod("GET"); @@ -63,7 +93,7 @@ public ISFQuery updateBranding(SFAccount account) throws InvalidOrMis throw new InvalidOrMissingParameterException("account"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("Branding"); sfApiQuery.setBody(account); @@ -79,7 +109,7 @@ public ISFQuery updateBranding(SFAccount account) throws InvalidOrMis */ public ISFQuery> getEmployees() { - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("Employees"); sfApiQuery.setHttpMethod("GET"); @@ -95,7 +125,7 @@ public ISFQuery> getEmployees() { */ public ISFQuery> getClients() { - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("Clients"); sfApiQuery.setHttpMethod("GET"); @@ -119,7 +149,7 @@ public ISFQuery> getAddressBook(String type, String searc throw new InvalidOrMissingParameterException("searchTerm"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("AddressBook"); sfApiQuery.addQueryString("type", type); @@ -141,7 +171,7 @@ public ISFQuery> getAddressBook(String type) throws Inval throw new InvalidOrMissingParameterException("type"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("AddressBook"); sfApiQuery.addQueryString("type", type); @@ -158,7 +188,7 @@ public ISFQuery> getAddressBook(String type) throws Inval */ public ISFQuery> getAddressBook() { - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("AddressBook"); sfApiQuery.setHttpMethod("GET"); @@ -172,7 +202,7 @@ public ISFQuery> getAddressBook() { */ public ISFQuery getMobileSecuritySettings() { - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("MobileSecuritySettings"); sfApiQuery.setHttpMethod("GET"); @@ -185,7 +215,7 @@ public ISFQuery getMobileSecuritySettings() { */ public ISFQuery getProductDefaults() { - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("ProductDefaults"); sfApiQuery.setHttpMethod("GET"); @@ -198,13 +228,36 @@ public ISFQuery getProductDefaults() { */ public ISFQuery getPreferences() { - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("Preferences"); sfApiQuery.setHttpMethod("GET"); return sfApiQuery; } + /** + * Get Account Single Sign-On Configuration + * Retrieve the Single Sign-on configuration for the Account + * @param provider (default: "saml") + * @param idpEntityId (default: null) + */ + public ISFQuery getSSO(String provider, String idpEntityId) throws InvalidOrMissingParameterException { + if (provider == null) { + throw new InvalidOrMissingParameterException("provider"); + } + if (idpEntityId == null) { + throw new InvalidOrMissingParameterException("idpEntityId"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Accounts"); + sfApiQuery.setAction("SSO"); + sfApiQuery.addQueryString("provider", provider); + sfApiQuery.addQueryString("idpEntityId", idpEntityId); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + /** * Get Account Single Sign-On Configuration * Retrieve the Single Sign-on configuration for the Account @@ -215,7 +268,7 @@ public ISFQuery getSSO(String provider) throws InvalidOrMi throw new InvalidOrMissingParameterException("provider"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("SSO"); sfApiQuery.addQueryString("provider", provider); @@ -229,7 +282,7 @@ public ISFQuery getSSO(String provider) throws InvalidOrMi */ public ISFQuery getSSO() { - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("SSO"); sfApiQuery.setHttpMethod("GET"); @@ -260,7 +313,7 @@ public ISFQuery updateSSO(SFSSOAccountProvider sso, String throw new InvalidOrMissingParameterException("provider"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("SSO"); sfApiQuery.addQueryString("provider", provider); @@ -289,7 +342,7 @@ public ISFQuery updateSSO(SFSSOAccountProvider sso) throws throw new InvalidOrMissingParameterException("sso"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("SSO"); sfApiQuery.setBody(sso); @@ -329,7 +382,7 @@ public ISFQuery> getByUser(SFODataObject parameters, Stri throw new InvalidOrMissingParameterException("singleplane"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("GetByUser"); parameters.addProperty("username", username); @@ -369,7 +422,7 @@ public ISFQuery> getByUser(SFODataObject parameters, Stri throw new InvalidOrMissingParameterException("requirehomefolders"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("GetByUser"); parameters.addProperty("username", username); @@ -404,7 +457,7 @@ public ISFQuery> getByUser(SFODataObject parameters, Stri throw new InvalidOrMissingParameterException("employeesonly"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("GetByUser"); parameters.addProperty("username", username); @@ -434,7 +487,7 @@ public ISFQuery> getByUser(SFODataObject parameters, Stri throw new InvalidOrMissingParameterException("username"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("GetByUser"); parameters.addProperty("username", username); @@ -454,7 +507,7 @@ public ISFQuery sendToEmail(String email) throws InvalidOrMissingParameterExcept throw new InvalidOrMissingParameterException("email"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("SendToEmail"); sfApiQuery.addQueryString("email", email); @@ -472,7 +525,7 @@ public ISFQuery sendToEmail(String email) throws InvalidOrMissingParameterExcept */ public ISFQuery getLoginAccessControlDomains() { - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("LoginAccessControlDomains"); sfApiQuery.setHttpMethod("GET"); @@ -491,7 +544,7 @@ public ISFQuery getLoginAccessControlDomains() { */ public ISFQuery getFolderAccessControlDomains() { - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("FolderAccessControlDomains"); sfApiQuery.setHttpMethod("GET"); @@ -511,7 +564,7 @@ public ISFQuery createLoginAccessControlDomains(SFAccess throw new InvalidOrMissingParameterException("accessControlDomains"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("LoginAccessControlDomains"); sfApiQuery.setBody(accessControlDomains); @@ -532,7 +585,7 @@ public ISFQuery createFolderAccessControlDomains(SFAcces throw new InvalidOrMissingParameterException("accessControlDomains"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("FolderAccessControlDomains"); sfApiQuery.setBody(accessControlDomains); @@ -554,7 +607,7 @@ public ISFQuery updateLoginAccessControlDomains(SFAccess throw new InvalidOrMissingParameterException("accessControlDomains"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("LoginAccessControlDomains"); sfApiQuery.setBody(accessControlDomains); @@ -577,7 +630,7 @@ public ISFQuery updateFolderAccessControlDomains(SFAcces throw new InvalidOrMissingParameterException("accessControlDomains"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("FolderAccessControlDomains"); sfApiQuery.setBody(accessControlDomains); @@ -599,7 +652,7 @@ public ISFQuery deleteLoginAccessControlDomains(SFAccessControlDomains accessCon throw new InvalidOrMissingParameterException("accessControlDomains"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("LoginAccessControlDomains"); sfApiQuery.setBody(accessControlDomains); @@ -621,7 +674,7 @@ public ISFQuery deleteFolderAccessControlDomains(SFAccessControlDomains accessCo throw new InvalidOrMissingParameterException("accessControlDomains"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("FolderAccessControlDomains"); sfApiQuery.setBody(accessControlDomains); @@ -647,7 +700,7 @@ public ISFQuery requireWebPop(String subdomain, String us throw new InvalidOrMissingParameterException("singlePlane"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("RequireWebPop"); sfApiQuery.addQueryString("subdomain", subdomain); @@ -671,7 +724,7 @@ public ISFQuery requireWebPop(String subdomain, String us throw new InvalidOrMissingParameterException("username"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("RequireWebPop"); sfApiQuery.addQueryString("subdomain", subdomain); @@ -690,7 +743,7 @@ public ISFQuery requireWebPop(String subdomain) throws In throw new InvalidOrMissingParameterException("subdomain"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("RequireWebPop"); sfApiQuery.addQueryString("subdomain", subdomain); @@ -712,7 +765,7 @@ public ISFQuery requireSubdomain(String username, Bool throw new InvalidOrMissingParameterException("singlePlane"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("RequireSubdomain"); sfApiQuery.addQueryString("username", username); @@ -731,7 +784,7 @@ public ISFQuery requireSubdomain(String username) thro throw new InvalidOrMissingParameterException("username"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("RequireSubdomain"); sfApiQuery.addQueryString("username", username); @@ -759,7 +812,7 @@ public ISFQuery findSubdomain(SFFindSubdomainParams findS throw new InvalidOrMissingParameterException("singlePlane"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("FindSubdomain"); sfApiQuery.addQueryString("singlePlane", singlePlane); @@ -784,7 +837,7 @@ public ISFQuery findSubdomain(SFFindSubdomainParams findS throw new InvalidOrMissingParameterException("findSubdomainParams"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("FindSubdomain"); sfApiQuery.setBody(findSubdomainParams); @@ -798,7 +851,7 @@ public ISFQuery findSubdomain(SFFindSubdomainParams findS */ public ISFQuery getOutlookInformation() { - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("OutlookInformation"); sfApiQuery.setHttpMethod("GET"); @@ -815,7 +868,7 @@ public ISFQuery getSSOInfo(String subdomain) throws InvalidOrMissingP throw new InvalidOrMissingParameterException("subdomain"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Accounts"); sfApiQuery.setAction("SSOInfo"); sfApiQuery.addQueryString("subdomain", subdomain); @@ -823,5 +876,50 @@ public ISFQuery getSSOInfo(String subdomain) throws InvalidOrMissingP return sfApiQuery; } + /** + * Get the tenants of a partner account + * @return List of tenant accounts managed by this partner account, if any + */ + public ISFQuery> getTenants() { + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Accounts"); + sfApiQuery.setAction("Tenants"); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + public ISFQuery getTenants(String id) throws InvalidOrMissingParameterException { + if (id == null) { + throw new InvalidOrMissingParameterException("id"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Accounts"); + sfApiQuery.setAction("Tenants"); + sfApiQuery.addActionIds(id); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Get list of multi-tenant zones assigned to a tenant. + * @param parentid + * @return List of multi-tenant zones assigned to the tenant + */ + public ISFQuery> getZones(String parentid) throws InvalidOrMissingParameterException { + if (parentid == null) { + throw new InvalidOrMissingParameterException("parentid"); + } + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Accounts"); + sfApiQuery.setAction("Tenants"); + sfApiQuery.addActionIds(parentid); + sfApiQuery.addSubAction("Zones"); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAsyncOperationsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAsyncOperationsEntity.java index 0dea357..3e30a81 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAsyncOperationsEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAsyncOperationsEntity.java @@ -12,16 +12,25 @@ package com.citrix.sharefile.api.entities; -import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; -import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.entities.*; import com.citrix.sharefile.api.models.*; import com.citrix.sharefile.api.SFApiQuery; import com.citrix.sharefile.api.interfaces.ISFQuery; +import java.io.InputStream; +import java.util.ArrayList; import java.net.URI; +import java.util.Date; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; +import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; -public class SFAsyncOperationsEntity extends SFODataEntityBase +public class SFAsyncOperationsEntity extends SFEntitiesBase { public SFAsyncOperationsEntity(ISFApiClient client) { super(client); @@ -33,12 +42,12 @@ public SFAsyncOperationsEntity(ISFApiClient client) { * @param url * @return A single Async Operation record */ - public ISFQuery get(URI url) throws InvalidOrMissingParameterException { + public ISFQuery get(URI url) throws InvalidOrMissingParameterException { if (url == null) { throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("AsyncOperations"); sfApiQuery.addIds(url); sfApiQuery.setHttpMethod("GET"); @@ -56,7 +65,7 @@ public ISFQuery> getByBatch(String id) throws Inva throw new InvalidOrMissingParameterException("id"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("AsyncOperations"); sfApiQuery.setAction("GetByBatch"); sfApiQuery.addActionIds(id); @@ -64,6 +73,23 @@ public ISFQuery> getByBatch(String id) throws Inva return sfApiQuery; } + /** + * Get the progress of the AsyncOperations by Opertaion Batch ID + * @param id + */ + public ISFQuery getBatch(String id) throws InvalidOrMissingParameterException { + if (id == null) { + throw new InvalidOrMissingParameterException("id"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("AsyncOperations"); + sfApiQuery.setAction("GetBatch"); + sfApiQuery.addActionIds(id); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + /** * Get List of AsyncOperations by Folder * Retrieves all AsyncOperations associated with the calling user and the Item ID @@ -75,7 +101,7 @@ public ISFQuery> getByFolder(String id) throws Inv throw new InvalidOrMissingParameterException("id"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("AsyncOperations"); sfApiQuery.setAction("GetByFolder"); sfApiQuery.addActionIds(id); @@ -83,6 +109,18 @@ public ISFQuery> getByFolder(String id) throws Inv return sfApiQuery; } + public ISFQuery create(SFAsyncOperation asyncOp) throws InvalidOrMissingParameterException { + if (asyncOp == null) { + throw new InvalidOrMissingParameterException("asyncOp"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("AsyncOperations"); + sfApiQuery.setBody(asyncOp); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + /** * Cancel AsyncOperation * Cancels a single Async operation record @@ -94,7 +132,7 @@ public ISFQuery cancel(URI url) throws InvalidOrMissingParamet throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("AsyncOperations"); sfApiQuery.setAction("Cancel"); sfApiQuery.addIds(url); @@ -112,7 +150,7 @@ public ISFQuery delete(URI url) throws InvalidOrMissingParameterException { throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("AsyncOperations"); sfApiQuery.addIds(url); sfApiQuery.setHttpMethod("DELETE"); @@ -131,7 +169,7 @@ public ISFQuery> cancelBatch(String id) throws Inv throw new InvalidOrMissingParameterException("id"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("AsyncOperations"); sfApiQuery.setAction("CancelBatch"); sfApiQuery.addActionIds(id); @@ -147,7 +185,7 @@ public ISFQuery> cancelBatch(String id) throws Inv * @param newAsyncOp * @return The modified Async Operation */ - public ISFQuery patch(URI url, SFAsyncOperation newAsyncOp) throws InvalidOrMissingParameterException { + public ISFQuery update(URI url, SFAsyncOperation newAsyncOp) throws InvalidOrMissingParameterException { if (url == null) { throw new InvalidOrMissingParameterException("url"); } @@ -155,11 +193,11 @@ public ISFQuery patch(URI url, SFAsyncOperation newAsyncOp) th throw new InvalidOrMissingParameterException("newAsyncOp"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("AsyncOperations"); sfApiQuery.addIds(url); sfApiQuery.setBody(newAsyncOp); - sfApiQuery.setHttpMethod("PUT"); + sfApiQuery.setHttpMethod("PATCH"); return sfApiQuery; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFCapabilitiesEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFCapabilitiesEntity.java index df3173b..52dd58f 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFCapabilitiesEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFCapabilitiesEntity.java @@ -12,12 +12,25 @@ package com.citrix.sharefile.api.entities; -import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.entities.*; import com.citrix.sharefile.api.models.*; import com.citrix.sharefile.api.SFApiQuery; import com.citrix.sharefile.api.interfaces.ISFQuery; -public class SFCapabilitiesEntity extends SFODataEntityBase + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; +import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; + +public class SFCapabilitiesEntity extends SFEntitiesBase { public SFCapabilitiesEntity(ISFApiClient client) { super(client); @@ -32,12 +45,12 @@ public SFCapabilitiesEntity(ISFApiClient client) { * may be created, clients must not assume any particular string.Version specifies the API version - currently at V3. Any backward incompatible * changes will be performed on a different version identifier, to avoid breaking * existing clients.The Capability document is used to indicate to clients that certain features - * are not available on a given provider - allowing the apiClient to suppress UX controls + * are not available on a given provider - allowing the client to suppress UX controls * and avoid "Not Implemented" exceptions to the end-user. */ public ISFQuery> get() { - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Capabilities"); sfApiQuery.setHttpMethod("GET"); return sfApiQuery; diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFConfigsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFConfigsEntity.java deleted file mode 100644 index e44a1e2..0000000 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFConfigsEntity.java +++ /dev/null @@ -1,46 +0,0 @@ - -// ------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -// Copyright (c) 2014 Citrix ShareFile. All rights reserved. -// -// ------------------------------------------------------------------------------ - -package com.citrix.sharefile.api.entities; - -import com.citrix.sharefile.api.entities.*; -import com.citrix.sharefile.api.interfaces.ISFApiClient; -import com.citrix.sharefile.api.models.*; -import com.citrix.sharefile.api.SFApiQuery; -import com.citrix.sharefile.api.interfaces.ISFQuery; - - -import java.io.InputStream; -import java.util.ArrayList; -import java.net.URI; -import java.util.Date; - -import com.google.gson.annotations.SerializedName; -import com.citrix.sharefile.api.enumerations.SFSafeEnum; - -public class SFConfigsEntity extends SFODataEntityBase -{ - public SFConfigsEntity(ISFApiClient apiClient) - { - super(apiClient); - } - - public ISFQuery> get() - { - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); - sfApiQuery.setFrom("Configs"); - sfApiQuery.setHttpMethod("GET"); - return sfApiQuery; - } - -} - diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFConnectorGroupsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFConnectorGroupsEntity.java index 0c88643..65fa0fc 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFConnectorGroupsEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFConnectorGroupsEntity.java @@ -12,16 +12,25 @@ package com.citrix.sharefile.api.entities; -import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; -import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.entities.*; import com.citrix.sharefile.api.models.*; import com.citrix.sharefile.api.SFApiQuery; import com.citrix.sharefile.api.interfaces.ISFQuery; +import java.io.InputStream; +import java.util.ArrayList; import java.net.URI; +import java.util.Date; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; +import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; -public class SFConnectorGroupsEntity extends SFODataEntityBase +public class SFConnectorGroupsEntity extends SFEntitiesBase { public SFConnectorGroupsEntity(ISFApiClient client) { super(client); @@ -29,7 +38,7 @@ public SFConnectorGroupsEntity(ISFApiClient client) { public ISFQuery> get() { - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("ConnectorGroups"); sfApiQuery.setHttpMethod("GET"); return sfApiQuery; @@ -45,7 +54,7 @@ public ISFQuery get(URI url) throws InvalidOrMissingParameterE throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("ConnectorGroups"); sfApiQuery.addIds(url); sfApiQuery.setHttpMethod("GET"); @@ -57,12 +66,12 @@ public ISFQuery get(URI url) throws InvalidOrMissingParameterE * @param provider * @return A single ConnectorGroup matching the query */ - public ISFQuery byProvider(String provider) throws InvalidOrMissingParameterException { + public ISFQuery byProvider(String provider) throws InvalidOrMissingParameterException { if (provider == null) { throw new InvalidOrMissingParameterException("provider"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("ConnectorGroups"); sfApiQuery.setAction("ByProvider"); sfApiQuery.addQueryString("provider", provider); @@ -84,7 +93,7 @@ public ISFQuery getZones(URI url, String id) throws Invali throw new InvalidOrMissingParameterException("id"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("ConnectorGroups"); sfApiQuery.setAction("Zones"); sfApiQuery.addIds(url); @@ -108,7 +117,7 @@ public ISFQuery getAccessControls(URI parentUrl, throw new InvalidOrMissingParameterException("id"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("ConnectorGroups"); sfApiQuery.setAction("AccessControls"); sfApiQuery.addIds(parentUrl); @@ -127,7 +136,7 @@ public ISFQuery> getByZone(String zoneid) throws I throw new InvalidOrMissingParameterException("zoneid"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("ConnectorGroups"); sfApiQuery.setAction("GetByZone"); sfApiQuery.addActionIds(zoneid); @@ -161,7 +170,7 @@ public ISFQuery create(SFConnectorGroup connectorGroup) throws throw new InvalidOrMissingParameterException("connectorGroup"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("ConnectorGroups"); sfApiQuery.setBody(connectorGroup); sfApiQuery.setHttpMethod("POST"); @@ -191,7 +200,7 @@ public ISFQuery createZones(URI url, SFConnectorGroupZone throw new InvalidOrMissingParameterException("connectorGroupZone"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("ConnectorGroups"); sfApiQuery.setAction("Zones"); sfApiQuery.addIds(url); @@ -219,7 +228,7 @@ public ISFQuery createAccessControls(URI url, SFC throw new InvalidOrMissingParameterException("connectorGroupAcl"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("ConnectorGroups"); sfApiQuery.setAction("AccessControls"); sfApiQuery.addIds(url); @@ -252,7 +261,7 @@ public ISFQuery updateZones(URI url, String zoneId, SFConn throw new InvalidOrMissingParameterException("connectorGroupZone"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("ConnectorGroups"); sfApiQuery.setAction("Zones"); sfApiQuery.addIds(url); @@ -272,7 +281,7 @@ public ISFQuery delete(URI url) throws InvalidOrMissingParameterException { throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("ConnectorGroups"); sfApiQuery.addIds(url); sfApiQuery.setHttpMethod("DELETE"); @@ -293,7 +302,7 @@ public ISFQuery deleteZones(URI serviceUrl, String zoneid) throws InvalidOrMissi throw new InvalidOrMissingParameterException("zoneid"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("ConnectorGroups"); sfApiQuery.setAction("Zones"); sfApiQuery.addIds(serviceUrl); @@ -316,7 +325,7 @@ public ISFQuery deleteAccessControls(URI serviceUrl, String zoneid) throws Inval throw new InvalidOrMissingParameterException("zoneid"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("ConnectorGroups"); sfApiQuery.setAction("AccessControls"); sfApiQuery.addIds(serviceUrl); @@ -339,7 +348,7 @@ public ISFQuery> getStorageCenters(URI url, String throw new InvalidOrMissingParameterException("zoneid"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("ConnectorGroups"); sfApiQuery.setAction("Zones"); sfApiQuery.addIds(url); @@ -370,7 +379,7 @@ public ISFQuery> createStorageCenters(URI url, Stri throw new InvalidOrMissingParameterException("storageCenter"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("ConnectorGroups"); sfApiQuery.setAction("Zones"); sfApiQuery.addIds(url); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFDevicesEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFDevicesEntity.java deleted file mode 100644 index 619fee8..0000000 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFDevicesEntity.java +++ /dev/null @@ -1,185 +0,0 @@ - -// ------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -// Copyright (c) 2014 Citrix ShareFile. All rights reserved. -// -// ------------------------------------------------------------------------------ - -package com.citrix.sharefile.api.entities; - -import com.citrix.sharefile.api.SFApiClient; -import com.citrix.sharefile.api.entities.*; -import com.citrix.sharefile.api.interfaces.ISFApiClient; -import com.citrix.sharefile.api.models.*; -import com.citrix.sharefile.api.SFApiQuery; -import com.citrix.sharefile.api.interfaces.ISFQuery; - - -import java.io.InputStream; -import java.util.ArrayList; -import java.net.URI; -import java.util.Date; - -import com.google.gson.annotations.SerializedName; -import com.citrix.sharefile.api.enumerations.SFSafeEnum; - -public class SFDevicesEntity extends SFODataEntityBase -{ - public SFDevicesEntity(ISFApiClient apiClient) - { - super(apiClient); - } - - /** - * Get Device Users for Current User - * @return A feed of DeviceUser objects - */ - public ISFQuery> get() - { - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); - sfApiQuery.setFrom("Devices"); - sfApiQuery.setHttpMethod("GET"); - return sfApiQuery; - } - - /** - * Get Device by ID - * @param url - * @return Device - */ - public ISFQuery get(URI url) - { - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); - sfApiQuery.setFrom("Devices"); - sfApiQuery.addIds(url); - sfApiQuery.setHttpMethod("GET"); - return sfApiQuery; - } - - public ISFQuery> getByUser(URI url) - { - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); - sfApiQuery.setFrom("Users"); - sfApiQuery.setAction("Devices"); - sfApiQuery.addIds(url); - sfApiQuery.setHttpMethod("GET"); - return sfApiQuery; - } - - /** - * Delete Device - * @param url - * @return no data on success - */ - public ISFQuery delete(URI url) - { - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); - sfApiQuery.setFrom("Devices"); - sfApiQuery.addIds(url); - sfApiQuery.setHttpMethod("DELETE"); - return sfApiQuery; - } - - public ISFQuery deleteByUser(URI url, String deviceId) - { - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); - sfApiQuery.setFrom("Users"); - sfApiQuery.setAction("Devices"); - sfApiQuery.addIds(url); - sfApiQuery.addActionIds(deviceId); - sfApiQuery.setHttpMethod("DELETE"); - return sfApiQuery; - } - - public ISFQuery createByUser(URI url, SFDeviceUser du) - { - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); - sfApiQuery.setFrom("Users"); - sfApiQuery.setAction("Devices"); - sfApiQuery.addIds(url); - sfApiQuery.setBody(du); - sfApiQuery.setHttpMethod("POST"); - return sfApiQuery; - } - - /** - * Wipe Device - * @param deviceUrl - * @param userid - * @return no data on success - */ - public ISFQuery wipe(URI deviceUrl, String userid) - { - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); - sfApiQuery.setFrom("Devices"); - sfApiQuery.setAction("Wipe"); - sfApiQuery.addIds(deviceUrl); - sfApiQuery.addQueryString("userid", userid); - sfApiQuery.setHttpMethod("POST"); - return sfApiQuery; - } - - /** - * Signal Wipe Done - * { - * "Logs" : - * [ - * { "FileName":"fileA", - * "FileID":"id", - * "Timestamp":0, - * "AccountID":"id", - * "UserID":"userId1", - * "Action":"OpenGeneric", - * "AdditionalInfo":"" - * }, - * ... - * ], - * "WipeResults" : - * [ - * {"id":"userId1", "WipeToken":"token1", "Success":"true", "ErrorMessage":"" }, - * {"id":"userId1", "WipeToken":"token2", "Success":"false", "ErrorMessage":"some error" }, - * ... - * ] - * } - * Signal that a device wipe has been completed - * @param deviceUrl - * @param deviceWipeReport - * @param singlePlane - * @return no data on success - */ - public ISFQuery wipeDone(URI deviceUrl, SFDeviceWipeReport deviceWipeReport, Boolean singlePlane) - { - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); - sfApiQuery.setFrom("Devices"); - sfApiQuery.setAction("WipeDone"); - sfApiQuery.addIds(deviceUrl); - sfApiQuery.addQueryString("singlePlane", singlePlane); - sfApiQuery.setBody(deviceWipeReport); - sfApiQuery.setHttpMethod("POST"); - return sfApiQuery; - } - - /** - * Check Device Status - * @param deviceUrl - * @param singlePlane - * @return DeviceStatus - */ - public ISFQuery status(URI deviceUrl, Boolean singlePlane) - { - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); - sfApiQuery.setFrom("Devices"); - sfApiQuery.setAction("Status"); - sfApiQuery.addIds(deviceUrl); - sfApiQuery.addQueryString("singlePlane", singlePlane); - sfApiQuery.setHttpMethod("GET"); - return sfApiQuery; - } - -} - diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFEntitiesBase.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFEntitiesBase.java new file mode 100644 index 0000000..9a96078 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFEntitiesBase.java @@ -0,0 +1,51 @@ +package com.citrix.sharefile.api.entities; + +import com.citrix.sharefile.api.interfaces.ISFApiClient; + +import java.lang.reflect.InvocationTargetException; + +public class SFEntitiesBase +{ + protected final ISFApiClient client; + + public SFEntitiesBase(ISFApiClient client) + { + this.client = client; + } + + public SFEntitiesBase() + { + this.client = null; + } + + public SFEntitiesBase getEntity(Class className) + { + try + { + if(this instanceof ISFApiClient) + { + return (SFEntitiesBase) className.getConstructor(ISFApiClient.class).newInstance(this); + } + else + { + return (SFEntitiesBase) className.newInstance(); + } + } + catch (InstantiationException e) + { + throw new RuntimeException(e); + } + catch (IllegalAccessException e) + { + throw new RuntimeException(e); + } + catch (NoSuchMethodException e) + { + throw new RuntimeException(e); + } + catch (InvocationTargetException e) + { + throw new RuntimeException(e); + } + } +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFavoriteFoldersEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFavoriteFoldersEntity.java index 4fc256c..14b7baa 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFavoriteFoldersEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFavoriteFoldersEntity.java @@ -12,16 +12,25 @@ package com.citrix.sharefile.api.entities; -import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; -import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.entities.*; import com.citrix.sharefile.api.models.*; import com.citrix.sharefile.api.SFApiQuery; import com.citrix.sharefile.api.interfaces.ISFQuery; +import java.io.InputStream; +import java.util.ArrayList; import java.net.URI; +import java.util.Date; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; +import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; -public class SFFavoriteFoldersEntity extends SFODataEntityBase +public class SFFavoriteFoldersEntity extends SFEntitiesBase { public SFFavoriteFoldersEntity(ISFApiClient client) { super(client); @@ -38,7 +47,7 @@ public ISFQuery> getByUser(URI url) throws Invalid throw new InvalidOrMissingParameterException("url"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("FavoriteFolders"); sfApiQuery.addIds(url); @@ -60,7 +69,7 @@ public ISFQuery getByUser(URI itemUrl, String userid) throws I throw new InvalidOrMissingParameterException("userid"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("FavoriteFolders"); sfApiQuery.addIds(itemUrl); @@ -80,7 +89,7 @@ public ISFQuery getFavoriteFolderByItem(URI parentUrl) throws throw new InvalidOrMissingParameterException("parentUrl"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("FavoriteFolder"); sfApiQuery.addIds(parentUrl); @@ -98,7 +107,7 @@ public ISFQuery get(URI url) throws InvalidOrMissingParameterE throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("FavoriteFolders"); sfApiQuery.addIds(url); sfApiQuery.setHttpMethod("GET"); @@ -124,7 +133,7 @@ public ISFQuery createByUser(URI url, SFFavoriteFolder folder) throw new InvalidOrMissingParameterException("folder"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("FavoriteFolders"); sfApiQuery.addIds(url); @@ -146,7 +155,7 @@ public ISFQuery delete(URI url, String itemid) throws InvalidOrMissingParameterE throw new InvalidOrMissingParameterException("itemid"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("FavoriteFolders"); sfApiQuery.addIds(url); @@ -163,7 +172,7 @@ public ISFQuery deleteByUser(URI url, String itemId) throws InvalidOrMissingPara throw new InvalidOrMissingParameterException("itemId"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("FavoriteFolders"); sfApiQuery.addIds(url); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFileLockEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFileLockEntity.java deleted file mode 100644 index 920d451..0000000 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFileLockEntity.java +++ /dev/null @@ -1,103 +0,0 @@ - -// ------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -// Copyright (c) 2014 Citrix ShareFile. All rights reserved. -// -// ------------------------------------------------------------------------------ - -package com.citrix.sharefile.api.entities; - -import com.citrix.sharefile.api.SFApiClient; -import com.citrix.sharefile.api.SFApiQuery; -import com.citrix.sharefile.api.interfaces.ISFApiClient; -import com.citrix.sharefile.api.interfaces.ISFQuery; -import com.citrix.sharefile.api.models.SFFileLock; - -import java.net.URI; - -public class SFFileLockEntity extends SFODataEntityBase -{ - public SFFileLockEntity(ISFApiClient apiClient) - { - super(apiClient); - } - - /** - * Get Item Lock info - * Retrieves the lock info for a given Item. - * @param url - * @return Lock info - */ - public ISFQuery getByItem(URI url) - { - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); - sfApiQuery.setFrom("Items"); - sfApiQuery.setAction("FileLock"); - sfApiQuery.addIds(url); - sfApiQuery.setHttpMethod("GET"); - return sfApiQuery; - } - - /** - * Create Lock - * @param url - * @param fileLock - * @return The created item Lock object - */ - public ISFQuery createByItem(URI url, SFFileLock fileLock) - { - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); - sfApiQuery.setFrom("Items"); - sfApiQuery.setAction("FileLock"); - sfApiQuery.addIds(url); - sfApiQuery.setBody(fileLock); - sfApiQuery.setHttpMethod("POST"); - return sfApiQuery; - } - - /** - * Update FileLock - * { - * LockId:"lockid", - * Owner:{Id:"ownerid"}, - * ExpirationTimeInMinutes:30 - * } - * @param url - * @param fileLock - * @return The updated lock object - */ - public ISFQuery updateByItem(URI url, SFFileLock fileLock) - { - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); - sfApiQuery.setFrom("Items"); - sfApiQuery.setAction("FileLock"); - sfApiQuery.addIds(url); - sfApiQuery.setBody(fileLock); - sfApiQuery.setHttpMethod("PATCH"); - return sfApiQuery; - } - - /** - * Unlock File - * Unlock a locked file. - * @param url - * @param lockid - */ - public ISFQuery deleteByItem(URI url, String lockid) - { - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); - sfApiQuery.setFrom("Items"); - sfApiQuery.setAction("FileLock"); - sfApiQuery.addIds(url); - sfApiQuery.addActionIds(lockid); - sfApiQuery.setHttpMethod("DELETE"); - return sfApiQuery; - } - -} - diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFolderTemplatesEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFolderTemplatesEntity.java index d3df347..0ee11b3 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFolderTemplatesEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFolderTemplatesEntity.java @@ -12,16 +12,25 @@ package com.citrix.sharefile.api.entities; -import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; -import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.entities.*; import com.citrix.sharefile.api.models.*; import com.citrix.sharefile.api.SFApiQuery; import com.citrix.sharefile.api.interfaces.ISFQuery; +import java.io.InputStream; +import java.util.ArrayList; import java.net.URI; +import java.util.Date; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; +import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; -public class SFFolderTemplatesEntity extends SFODataEntityBase +public class SFFolderTemplatesEntity extends SFEntitiesBase { public SFFolderTemplatesEntity(ISFApiClient client) { super(client); @@ -34,7 +43,7 @@ public SFFolderTemplatesEntity(ISFApiClient client) { */ public ISFQuery> get() { - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("FolderTemplates"); sfApiQuery.setHttpMethod("GET"); return sfApiQuery; @@ -45,7 +54,7 @@ public ISFQuery get(URI url) throws InvalidOrMissingParameterE throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("FolderTemplates"); sfApiQuery.addIds(url); sfApiQuery.setHttpMethod("GET"); @@ -56,7 +65,7 @@ public ISFQuery get(URI url) throws InvalidOrMissingParameterE * Create Folder Template * { * "Name": "Client Folder", - * "Description": "For all apiClient folders created in 2014 or after" + * "Description": "For all client folders created in 2014 or after" * "Items": [ * { * "Name": "Folder 1", @@ -78,7 +87,7 @@ public ISFQuery create(SFFolderTemplate template) throws Inval throw new InvalidOrMissingParameterException("template"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("FolderTemplates"); sfApiQuery.setBody(template); sfApiQuery.setHttpMethod("POST"); @@ -89,7 +98,7 @@ public ISFQuery create(SFFolderTemplate template) throws Inval * Update Folder Template * { * "Name": "Client Folder", - * "Description": "For all apiClient folders created in 2014 or after", + * "Description": "For all client folders created in 2014 or after", * "Items": [ * { * "Name": "A new folder", @@ -114,7 +123,7 @@ public ISFQuery update(SFFolderTemplate template) throws Inval throw new InvalidOrMissingParameterException("template"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("FolderTemplates"); sfApiQuery.setBody(template); sfApiQuery.setHttpMethod("PATCH"); @@ -131,7 +140,7 @@ public ISFQuery delete(URI url) throws InvalidOrMissingParameterException { throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("FolderTemplates"); sfApiQuery.addIds(url); sfApiQuery.setHttpMethod("DELETE"); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFGroupsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFGroupsEntity.java index ed43308..adea503 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFGroupsEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFGroupsEntity.java @@ -12,17 +12,25 @@ package com.citrix.sharefile.api.entities; -import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; -import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.entities.*; import com.citrix.sharefile.api.models.*; import com.citrix.sharefile.api.SFApiQuery; import com.citrix.sharefile.api.interfaces.ISFQuery; +import java.io.InputStream; import java.util.ArrayList; import java.net.URI; +import java.util.Date; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; +import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; -public class SFGroupsEntity extends SFODataEntityBase +public class SFGroupsEntity extends SFEntitiesBase { public SFGroupsEntity(ISFApiClient client) { super(client); @@ -35,7 +43,7 @@ public SFGroupsEntity(ISFApiClient client) { */ public ISFQuery> get() { - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Groups"); sfApiQuery.setHttpMethod("GET"); return sfApiQuery; @@ -52,7 +60,7 @@ public ISFQuery get(URI url) throws InvalidOrMissingParameterException throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Groups"); sfApiQuery.addIds(url); sfApiQuery.setHttpMethod("GET"); @@ -69,7 +77,7 @@ public ISFQuery delete(URI url) throws InvalidOrMissingParameterException { throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Groups"); sfApiQuery.addIds(url); sfApiQuery.setHttpMethod("DELETE"); @@ -92,7 +100,7 @@ public ISFQuery create(SFGroup group) throws InvalidOrMissingParameterE throw new InvalidOrMissingParameterException("group"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Groups"); sfApiQuery.setBody(group); sfApiQuery.setHttpMethod("POST"); @@ -120,7 +128,7 @@ public ISFQuery update(URI url, SFGroup group) throws InvalidOrMissingP throw new InvalidOrMissingParameterException("group"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Groups"); sfApiQuery.addIds(url); sfApiQuery.setBody(group); @@ -139,7 +147,7 @@ public ISFQuery> getContacts(URI url) throws InvalidOrMis throw new InvalidOrMissingParameterException("url"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Groups"); sfApiQuery.setAction("Contacts"); sfApiQuery.addIds(url); @@ -164,7 +172,7 @@ public ISFQuery> createContacts(URI url, ArrayList> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Groups"); sfApiQuery.setAction("Contacts"); sfApiQuery.addIds(url); @@ -194,7 +202,7 @@ public ISFQuery> deleteContacts(URI url, ArrayList> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Groups"); sfApiQuery.setAction("Contacts"); sfApiQuery.addIds(url); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFItemsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFItemsEntity.java index d822adc..f5c2a30 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFItemsEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFItemsEntity.java @@ -12,9 +12,8 @@ package com.citrix.sharefile.api.entities; -import com.citrix.sharefile.api.SFQueryStream; -import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; -import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.entities.*; import com.citrix.sharefile.api.models.*; import com.citrix.sharefile.api.SFApiQuery; import com.citrix.sharefile.api.interfaces.ISFQuery; @@ -24,10 +23,14 @@ import java.util.ArrayList; import java.net.URI; import java.util.Date; - + +import com.google.gson.annotations.SerializedName; import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; +import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; -public class SFItemsEntity extends SFODataEntityBase +public class SFItemsEntity extends SFEntitiesBase { public SFItemsEntity(ISFApiClient client) { super(client); @@ -36,12 +39,12 @@ public SFItemsEntity(ISFApiClient client) { /** * Get HomeFolder for Current User * Returns home folder for current user. - * Note that home folders are not available for apiClient users, or if the account doesn't have the "My Files & Folders" feature enabled. + * Note that home folders are not available for client users, or if the account doesn't have the "My Files & Folders" feature enabled. * @return home folder for current user */ public ISFQuery get() { - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setHttpMethod("GET"); return sfApiQuery; @@ -59,7 +62,7 @@ public ISFQuery get() { * @param includeDeleted (default: false) * @return a single Item */ - public ISFQuery get(URI url, Boolean includeDeleted) throws InvalidOrMissingParameterException { + public ISFQuery get(URI url, Boolean includeDeleted) throws InvalidOrMissingParameterException { if (url == null) { throw new InvalidOrMissingParameterException("url"); } @@ -67,7 +70,7 @@ public ISFQuery get(URI url, Boolean includeDeleted) throws InvalidOrMis throw new InvalidOrMissingParameterException("includeDeleted"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.addIds(url); sfApiQuery.addQueryString("includeDeleted", includeDeleted); @@ -91,7 +94,7 @@ public ISFQuery get(URI url) throws InvalidOrMissingParameterException throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.addIds(url); sfApiQuery.setHttpMethod("GET"); @@ -130,7 +133,7 @@ public ISFQuery get(URI url, SFSafeEnum treeMode, String sou throw new InvalidOrMissingParameterException("fileBox"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.addIds(url); sfApiQuery.addQueryString("treeMode", treeMode); @@ -169,7 +172,7 @@ public ISFQuery get(URI url, SFSafeEnum treeMode, String sou throw new InvalidOrMissingParameterException("canCreateRootFolder"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.addIds(url); sfApiQuery.addQueryString("treeMode", treeMode); @@ -203,7 +206,7 @@ public ISFQuery get(URI url, SFSafeEnum treeMode, String sou throw new InvalidOrMissingParameterException("sourceId"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.addIds(url); sfApiQuery.addQueryString("treeMode", treeMode); @@ -226,7 +229,7 @@ public ISFQuery> getChildrenByConnectorGroup(URI parentUrl) throw new InvalidOrMissingParameterException("parentUrl"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("ConnectorGroups"); sfApiQuery.setAction("Children"); sfApiQuery.addIds(parentUrl); @@ -253,7 +256,7 @@ public ISFQuery> stream(URI url, Boolean includeDeleted) thr throw new InvalidOrMissingParameterException("includeDeleted"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Stream"); sfApiQuery.addIds(url); @@ -277,7 +280,7 @@ public ISFQuery> stream(URI url) throws InvalidOrMissingPara throw new InvalidOrMissingParameterException("url"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Stream"); sfApiQuery.addIds(url); @@ -288,7 +291,7 @@ public ISFQuery> stream(URI url) throws InvalidOrMissingPara /** * Get Item by Path * Retrieves an item from its path. The path is of format /foldername/foldername/filename - * This call may redirect the apiClient to another API provider, if the path + * This call may redirect the client to another API provider, if the path * contains a symbolic link. * @param path * @return An item identified by a path @@ -298,7 +301,7 @@ public ISFQuery byPath(String path) throws InvalidOrMissingParameterExce throw new InvalidOrMissingParameterException("path"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("ByPath"); sfApiQuery.addQueryString("path", path); @@ -310,7 +313,7 @@ public ISFQuery byPath(String path) throws InvalidOrMissingParameterExce * Get Item by relative Path from ID * Retrieves an item from its path, relative to the provided ID. * The path is of format /foldername/foldername/filename - * This call may redirect the apiClient to another API provider, if the path + * This call may redirect the client to another API provider, if the path * contains a symbolic link. * @param url * @param path @@ -324,7 +327,7 @@ public ISFQuery byPath(URI url, String path) throws InvalidOrMissingPara throw new InvalidOrMissingParameterException("path"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("ByPath"); sfApiQuery.addIds(url); @@ -344,7 +347,7 @@ public ISFQuery getParent(URI url) throws InvalidOrMissingParameterExcep throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Parent"); sfApiQuery.addIds(url); @@ -369,7 +372,7 @@ public ISFQuery> getChildren(URI url, Boolean includeDeleted throw new InvalidOrMissingParameterException("includeDeleted"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Children"); sfApiQuery.addIds(url); @@ -391,7 +394,7 @@ public ISFQuery> getChildren(URI url) throws InvalidOrMissin throw new InvalidOrMissingParameterException("url"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Children"); sfApiQuery.addIds(url); @@ -411,7 +414,7 @@ public ISFQuery getInfo(URI url) throws InvalidOrMissingParameterExc throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Info"); sfApiQuery.addIds(url); @@ -419,6 +422,37 @@ public ISFQuery getInfo(URI url) throws InvalidOrMissingParameterExc return sfApiQuery; } + /** + * Download Item Content + * Initiate the download operation for an item. It will return 302 redirection to the + * actual download link. For Folders, the download link will retrieve a ZIP archive + * with the contents of the Folder. + * @param url + * @param redirect (default: true) + * @param includeAllVersions (default: false) + * @return the download link for the provided item content. + */ + public ISFQuery download(URI url, Boolean redirect, Boolean includeAllVersions) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (redirect == null) { + throw new InvalidOrMissingParameterException("redirect"); + } + if (includeAllVersions == null) { + throw new InvalidOrMissingParameterException("includeAllVersions"); + } + + SFQueryStream sfApiQuery = new SFQueryStream(this.client); + sfApiQuery.setFrom("Items"); + sfApiQuery.setAction("Download"); + sfApiQuery.addIds(url); + sfApiQuery.addQueryString("redirect", redirect); + sfApiQuery.addQueryString("includeAllVersions", includeAllVersions); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + /** * Download Item Content * Initiate the download operation for an item. It will return 302 redirection to the @@ -436,7 +470,7 @@ public ISFQuery download(URI url, Boolean redirect) throws InvalidO throw new InvalidOrMissingParameterException("redirect"); } - SFQueryStream sfApiQuery = new SFQueryStream(this.apiClient); + SFQueryStream sfApiQuery = new SFQueryStream(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Download"); sfApiQuery.addIds(url); @@ -458,7 +492,7 @@ public ISFQuery download(URI url) throws InvalidOrMissingParameterE throw new InvalidOrMissingParameterException("url"); } - SFQueryStream sfApiQuery = new SFQueryStream(this.apiClient); + SFQueryStream sfApiQuery = new SFQueryStream(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Download"); sfApiQuery.addIds(url); @@ -487,7 +521,7 @@ public ISFQuery bulkDownload(URI parentUrl, ArrayList ids, throw new InvalidOrMissingParameterException("redirect"); } - SFQueryStream sfApiQuery = new SFQueryStream(this.apiClient); + SFQueryStream sfApiQuery = new SFQueryStream(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("BulkDownload"); sfApiQuery.addIds(parentUrl); @@ -514,7 +548,7 @@ public ISFQuery bulkDownload(URI parentUrl, ArrayList ids) throw new InvalidOrMissingParameterException("ids"); } - SFQueryStream sfApiQuery = new SFQueryStream(this.apiClient); + SFQueryStream sfApiQuery = new SFQueryStream(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("BulkDownload"); sfApiQuery.addIds(parentUrl); @@ -555,7 +589,7 @@ public ISFQuery createFolder(URI parentUrl, SFFolder folder, Boolean o throw new InvalidOrMissingParameterException("passthrough"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Folder"); sfApiQuery.addIds(parentUrl); @@ -594,7 +628,7 @@ public ISFQuery createFolder(URI parentUrl, SFFolder folder, Boolean o throw new InvalidOrMissingParameterException("overwrite"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Folder"); sfApiQuery.addIds(parentUrl); @@ -628,7 +662,7 @@ public ISFQuery createFolder(URI parentUrl, SFFolder folder) throws In throw new InvalidOrMissingParameterException("folder"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Folder"); sfApiQuery.addIds(parentUrl); @@ -656,7 +690,7 @@ public ISFQuery createNote(URI parentUrl, SFNote note) throws InvalidOrM throw new InvalidOrMissingParameterException("note"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Note"); sfApiQuery.addIds(parentUrl); @@ -685,7 +719,7 @@ public ISFQuery createLink(URI parentUrl, SFLink link) throws InvalidOrM throw new InvalidOrMissingParameterException("link"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Link"); sfApiQuery.addIds(parentUrl); @@ -729,7 +763,7 @@ public ISFQuery createSymbolicLink(URI parentUrl, SFSymbolicLink throw new InvalidOrMissingParameterException("overwrite"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("SymbolicLink"); sfApiQuery.addIds(parentUrl); @@ -770,7 +804,7 @@ public ISFQuery createSymbolicLink(URI parentUrl, SFSymbolicLink throw new InvalidOrMissingParameterException("symlink"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("SymbolicLink"); sfApiQuery.addIds(parentUrl); @@ -804,7 +838,7 @@ public ISFQuery createChildrenByConnectorGroup(URI url, SFSymbol throw new InvalidOrMissingParameterException("overwrite"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("ConnectorGroups"); sfApiQuery.setAction("Children"); sfApiQuery.addIds(url); @@ -835,7 +869,7 @@ public ISFQuery createChildrenByConnectorGroup(URI url, SFSymbol throw new InvalidOrMissingParameterException("symlink"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("ConnectorGroups"); sfApiQuery.setAction("Children"); sfApiQuery.addIds(url); @@ -853,6 +887,65 @@ public ISFQuery createChildrenByConnectorGroup(URI url, SFSymbol * "ExpirationDate": "date", * "Parent": { "Id": "parentid" }, * "Zone": { "Id": "zoneid" } + * } + * Updates an Item object. Please note that for a Folder, the Name and FileName properties must be consistent. + * If a new Name is provided, the FileName will also be updated with the new name, and viceversa. + * If both Name and FileName are provided, FileName is disregarded and Name will be used to update both properties. + * @param url + * @param item + * @param forceSync (default: false) + * @param notify (default: false) + * @return A modified Item object. If the item Zone or Parent Zone is modified, then this method will return an Asynchronous operation record instead. Note: the parameters listed in the body of the request are the only parameters that can be updated through this call. + */ + public ISFQuery update(URI url, SFItem item, String batchid, Long batchSizeInBytes, Boolean forceSync, Boolean scheduleAsync, Boolean resolveFolderNameConflict, Boolean notify) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (item == null) { + throw new InvalidOrMissingParameterException("item"); + } + if (batchid == null) { + throw new InvalidOrMissingParameterException("batchid"); + } + if (batchSizeInBytes == null) { + throw new InvalidOrMissingParameterException("batchSizeInBytes"); + } + if (forceSync == null) { + throw new InvalidOrMissingParameterException("forceSync"); + } + if (scheduleAsync == null) { + throw new InvalidOrMissingParameterException("scheduleAsync"); + } + if (resolveFolderNameConflict == null) { + throw new InvalidOrMissingParameterException("resolveFolderNameConflict"); + } + if (notify == null) { + throw new InvalidOrMissingParameterException("notify"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Items"); + sfApiQuery.addIds(url); + sfApiQuery.addQueryString("batchid", batchid); + sfApiQuery.addQueryString("batchSizeInBytes", batchSizeInBytes); + sfApiQuery.addQueryString("forceSync", forceSync); + sfApiQuery.addQueryString("scheduleAsync", scheduleAsync); + sfApiQuery.addQueryString("resolveFolderNameConflict", resolveFolderNameConflict); + sfApiQuery.addQueryString("notify", notify); + sfApiQuery.setBody(item); + sfApiQuery.setHttpMethod("PATCH"); + return sfApiQuery; + } + + /** + * Update Item + * { + * "Name":"Name", + * "FileName":"FileName", + * "Description":"Description", + * "ExpirationDate": "date", + * "Parent": { "Id": "parentid" }, + * "Zone": { "Id": "zoneid" } * } * Updates an Item object. Please note that for a Folder, the Name and FileName properties must be consistent. * If a new Name is provided, the FileName will also be updated with the new name, and viceversa. @@ -885,7 +978,7 @@ public ISFQuery update(URI url, SFItem item, String batchid, Long batchS throw new InvalidOrMissingParameterException("resolveFolderNameConflict"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.addIds(url); sfApiQuery.addQueryString("batchid", batchid); @@ -936,7 +1029,7 @@ public ISFQuery update(URI url, SFItem item, String batchid, Long batchS throw new InvalidOrMissingParameterException("scheduleAsync"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.addIds(url); sfApiQuery.addQueryString("batchid", batchid); @@ -983,7 +1076,7 @@ public ISFQuery update(URI url, SFItem item, String batchid, Long batchS throw new InvalidOrMissingParameterException("forceSync"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.addIds(url); sfApiQuery.addQueryString("batchid", batchid); @@ -1025,7 +1118,7 @@ public ISFQuery update(URI url, SFItem item, String batchid, Long batchS throw new InvalidOrMissingParameterException("batchSizeInBytes"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.addIds(url); sfApiQuery.addQueryString("batchid", batchid); @@ -1063,7 +1156,7 @@ public ISFQuery update(URI url, SFItem item, String batchid) throws Inva throw new InvalidOrMissingParameterException("batchid"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.addIds(url); sfApiQuery.addQueryString("batchid", batchid); @@ -1097,7 +1190,7 @@ public ISFQuery update(URI url, SFItem item) throws InvalidOrMissingPara throw new InvalidOrMissingParameterException("item"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.addIds(url); sfApiQuery.setBody(item); @@ -1130,7 +1223,7 @@ public ISFQuery updateLink(String id, SFLink link, Boolean notify) throw throw new InvalidOrMissingParameterException("notify"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Link"); sfApiQuery.addActionIds(id); @@ -1161,7 +1254,7 @@ public ISFQuery updateLink(String id, SFLink link) throws InvalidOrMissi throw new InvalidOrMissingParameterException("link"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Link"); sfApiQuery.addActionIds(id); @@ -1194,7 +1287,7 @@ public ISFQuery updateNote(String id, SFNote note, Boolean notify) throw throw new InvalidOrMissingParameterException("notify"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Note"); sfApiQuery.addActionIds(id); @@ -1224,7 +1317,7 @@ public ISFQuery updateNote(String id, SFNote note) throws InvalidOrMissi throw new InvalidOrMissingParameterException("note"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Note"); sfApiQuery.addActionIds(id); @@ -1253,7 +1346,7 @@ public ISFQuery updateSymbolicLink(String id, SFSymbolicLink sym throw new InvalidOrMissingParameterException("symlink"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("SymbolicLink"); sfApiQuery.addActionIds(id); @@ -1280,7 +1373,7 @@ public ISFQuery delete(URI url, Boolean singleversion, Boolean forceSync) throws throw new InvalidOrMissingParameterException("forceSync"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.addIds(url); sfApiQuery.addQueryString("singleversion", singleversion); @@ -1303,7 +1396,7 @@ public ISFQuery delete(URI url, Boolean singleversion) throws InvalidOrMissingPa throw new InvalidOrMissingParameterException("singleversion"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.addIds(url); sfApiQuery.addQueryString("singleversion", singleversion); @@ -1321,7 +1414,7 @@ public ISFQuery delete(URI url) throws InvalidOrMissingParameterException { throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.addIds(url); sfApiQuery.setHttpMethod("DELETE"); @@ -1332,12 +1425,14 @@ public ISFQuery delete(URI url) throws InvalidOrMissingParameterException { * Delete Multiple Items * ["id1","id2",...] * All items in bulk delete must be children of the same parent, identified in the URI + * @param parentUrl + * @param ids * @param forceSync (default: false) * @param deletePermanently (default: false) */ - public ISFQuery bulkDelete(URI url, ArrayList ids, Boolean forceSync, Boolean deletePermanently) throws InvalidOrMissingParameterException { - if (url == null) { - throw new InvalidOrMissingParameterException("url"); + public ISFQuery bulkDelete(URI parentUrl, ArrayList ids, Boolean forceSync, Boolean deletePermanently) throws InvalidOrMissingParameterException { + if (parentUrl == null) { + throw new InvalidOrMissingParameterException("parentUrl"); } if (ids == null) { throw new InvalidOrMissingParameterException("ids"); @@ -1349,10 +1444,10 @@ public ISFQuery bulkDelete(URI url, ArrayList ids, Boolean forceSync, Bo throw new InvalidOrMissingParameterException("deletePermanently"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("BulkDelete"); - sfApiQuery.addIds(url); + sfApiQuery.addIds(parentUrl); sfApiQuery.addQueryString("forceSync", forceSync); sfApiQuery.addQueryString("deletePermanently", deletePermanently); sfApiQuery.setBody(ids); @@ -1364,11 +1459,13 @@ public ISFQuery bulkDelete(URI url, ArrayList ids, Boolean forceSync, Bo * Delete Multiple Items * ["id1","id2",...] * All items in bulk delete must be children of the same parent, identified in the URI + * @param parentUrl + * @param ids * @param forceSync (default: false) */ - public ISFQuery bulkDelete(URI url, ArrayList ids, Boolean forceSync) throws InvalidOrMissingParameterException { - if (url == null) { - throw new InvalidOrMissingParameterException("url"); + public ISFQuery bulkDelete(URI parentUrl, ArrayList ids, Boolean forceSync) throws InvalidOrMissingParameterException { + if (parentUrl == null) { + throw new InvalidOrMissingParameterException("parentUrl"); } if (ids == null) { throw new InvalidOrMissingParameterException("ids"); @@ -1377,10 +1474,10 @@ public ISFQuery bulkDelete(URI url, ArrayList ids, Boolean forceSync) th throw new InvalidOrMissingParameterException("forceSync"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("BulkDelete"); - sfApiQuery.addIds(url); + sfApiQuery.addIds(parentUrl); sfApiQuery.addQueryString("forceSync", forceSync); sfApiQuery.setBody(ids); sfApiQuery.setHttpMethod("POST"); @@ -1391,19 +1488,21 @@ public ISFQuery bulkDelete(URI url, ArrayList ids, Boolean forceSync) th * Delete Multiple Items * ["id1","id2",...] * All items in bulk delete must be children of the same parent, identified in the URI + * @param parentUrl + * @param ids */ - public ISFQuery bulkDelete(URI url, ArrayList ids) throws InvalidOrMissingParameterException { - if (url == null) { - throw new InvalidOrMissingParameterException("url"); + public ISFQuery bulkDelete(URI parentUrl, ArrayList ids) throws InvalidOrMissingParameterException { + if (parentUrl == null) { + throw new InvalidOrMissingParameterException("parentUrl"); } if (ids == null) { throw new InvalidOrMissingParameterException("ids"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("BulkDelete"); - sfApiQuery.addIds(url); + sfApiQuery.addIds(parentUrl); sfApiQuery.setBody(ids); sfApiQuery.setHttpMethod("POST"); return sfApiQuery; @@ -1428,7 +1527,7 @@ public ISFQuery getThumbnail(URI url, Integer size, Boolean redirec throw new InvalidOrMissingParameterException("redirect"); } - SFQueryStream sfApiQuery = new SFQueryStream(this.apiClient); + SFQueryStream sfApiQuery = new SFQueryStream(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Thumbnail"); sfApiQuery.addIds(url); @@ -1453,7 +1552,7 @@ public ISFQuery getThumbnail(URI url, Integer size) throws InvalidO throw new InvalidOrMissingParameterException("size"); } - SFQueryStream sfApiQuery = new SFQueryStream(this.apiClient); + SFQueryStream sfApiQuery = new SFQueryStream(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Thumbnail"); sfApiQuery.addIds(url); @@ -1473,7 +1572,7 @@ public ISFQuery getThumbnail(URI url) throws InvalidOrMissingParame throw new InvalidOrMissingParameterException("url"); } - SFQueryStream sfApiQuery = new SFQueryStream(this.apiClient); + SFQueryStream sfApiQuery = new SFQueryStream(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Thumbnail"); sfApiQuery.addIds(url); @@ -1498,7 +1597,7 @@ public ISFQuery> getBreadcrumbs(URI url, String path) throws throw new InvalidOrMissingParameterException("path"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Breadcrumbs"); sfApiQuery.addIds(url); @@ -1520,7 +1619,7 @@ public ISFQuery> getBreadcrumbs(URI url) throws InvalidOrMis throw new InvalidOrMissingParameterException("url"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Breadcrumbs"); sfApiQuery.addIds(url); @@ -1549,7 +1648,7 @@ public ISFQuery copy(URI url, String targetid, Boolean overwrite) throws throw new InvalidOrMissingParameterException("overwrite"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Copy"); sfApiQuery.addIds(url); @@ -1576,7 +1675,7 @@ public ISFQuery copy(URI url, String targetid) throws InvalidOrMissingPa throw new InvalidOrMissingParameterException("targetid"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Copy"); sfApiQuery.addIds(url); @@ -1596,48 +1695,50 @@ public ISFQuery copy(URI url, String targetid) throws InvalidOrMissingPa * } * Prepares the links for uploading files to the target Folder. * This method returns an Upload Specification object. The fields are - * populated based on the upload method, provider, and resume parameters passed to the + * populated based on the upload method, provider, and canResume parameters passed to the * upload call. * The Method determines how the URLs must be called. * - * There are two different URL's to upload: /sf/v3/Items(id)/Upload? accepts the upload parameters - * through a query URL string, while /sf/v3/Items(id)/Upload2 does it through the HTTP POST message body. + * There are two different URLs for upload: /sf/v3/Items(id)/Upload accepts parameters + * through the URL query string, while /sf/v3/Items(id)/Upload2 uses the HTTP POST message body. * If using 'Upload2', the parameters must be capitalized. * * Standard uploads use a single HTTP POST message to the ChunkUri address provided in * the response. All other fields will be empty. Standard uploads do not support Resume. * - * Streamed uploads use multiple HTTP POST calls to the ChunkUri address. The apiClient must - * append the parameters index, offset and hash to the end of the ChunkUri address. Index - * is a sequential number representing the data block (zero-based); Offset represents the - * byte offset for the block; and hash contains the MD5 hash of the block. The last HTTP - * POST must also contain finish=true parameter. + * Streamed uploads use multiple HTTP POST calls to the ChunkUri address. For each call, the client + * must append the parameters index, byteOffset and hash to the ChunkUri address. Index is a + * sequential number (zero-based) identifying the position of the chunk relative to others; + * byteOffset represents how many bytes precede the chunk relative to the beginning of the file; + * and hash contains the MD5 hash of the chunk. The last HTTP POST must also include the parameters + * finish=true and filehash=[MD5 hash of entire file]. * * Threaded uploads use multiple HTTP POST calls to ChunkUri, and can have a number of - * threads issuing blocks in parallel. Clients must append index, offset and hash to - * the end of ChunkUri, as explained in Streamed. After all chunks were sent, the apiClient - * must call the FinishUri provided in this spec. - * - * If using the Threaded Uploader, you can attach the argument fmt=json to each ChunkUri - * to indicate you wish to retrieve the Item ID of the file after the upload is completed. - * - * For all uploaders, the contents of the POST Body can either be "raw", if the "Raw" parameter - * was provided to the Uploader, or use MIME multi-part form encoding otherwise. Raw uploads - * simply put the block content in the POST body - Content-Length specifies the size. Multi-part - * form encoding has to pass the File as a Form parameter named "File1". - * - * For streamed and threaded, if Resume options were provided to the Upload call, then the - * fields IsResume, ResumeIndex, ResumeOffset and ResumeFileHash MAY be populated. If they are, - * it indicates that the server has identified a partial upload with that specification, and is - * ready to resume on the provided parameters. The clients can then verify the ResumeFileHash to - * ensure the file has not been modified; and continue issuing ChunkUri calls from the ResumeIndex - * ResumeOffset parameters. If the apiClient decides to restart, it should simply ignore the resume - * parameters and send the blocks from Index 0. - * - * For all uploaders: the result code for the HTTP POST calls to Chunk and Finish Uri can either - * be a 401 - indicating authentication is required; 4xx/5xx indicating some kind of error; or - * 200 with a Content Body of format 'ERROR:message'. Successful calls will return either a 200 - * response with no Body, or with Body of format 'OK'. + * threads issuing chunks in parallel. Clients must append index, byteOffset and hash to + * the end of ChunkUri, as explained for Streamed uploads. After all chunks are sent, the client + * must call the FinishUri provided in the Upload Specification response. + * + * If using the Threaded Uploader, the client can add the parameter fmt=json to the ChunkUri + * to retrieve the Item ID of the file after the upload is completed. + * + * For all uploaders, the contents of the POST Body can either be "raw" (if the parameter raw=true + * is provided to the Uploader) or use MIME multi-part form encoding otherwise. Raw uploads + * provide the chunk content directly in the POST body and the Content-Length header specifies the size. + * Multi-part form encoding requires passing the file as a Form parameter named "Filedata". + * + * For Streamed and Threaded uploads, if the CanResume parameter is specified in the call to Upload, + * then the fields IsResume, ResumeIndex, ResumeOffset and ResumeFileHash may be populated in the + * Upload Specification response. If they are, it indicates that the server has identified a partial + * upload with that specification and is ready to resume the upload process. The client can + * verify the file has not been modified based on the value of ResumeFileHash, then continue issuing + * calls to the ChunkUri starting from the position represented by the values of ResumeIndex and + * ResumeOffset. If the client decides to restart the upload, it should simply ignore the resume + * fields and send chunks starting from Index 0. + * + * For all upload methods, successful HTTP POST calls to ChunkUri and FinishUri will return response + * code 200 with either no Content Body or with a Body of 'OK'. The response code for failed calls can + * be 401, indicating authentication is required; 4xx/5xx, indicating some kind of error; or + * 200 with Content Body of format 'ERROR:[message]'. * @param url * @param method (default: Standard) * @param raw (default: false) @@ -1733,7 +1834,7 @@ public ISFQuery upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -1774,48 +1875,50 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -1948,48 +2051,50 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -2117,48 +2222,50 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -2281,48 +2388,50 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -2440,48 +2549,50 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -2594,48 +2705,50 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -2743,48 +2856,50 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -2887,48 +3002,50 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -3026,48 +3143,50 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -3160,48 +3279,50 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -3289,48 +3410,50 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -3413,48 +3536,50 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -3532,48 +3657,50 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -3646,48 +3773,50 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -3755,48 +3884,50 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -3859,48 +3990,50 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -3958,48 +4091,50 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -4052,48 +4187,50 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -4141,48 +4278,50 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -4225,48 +4364,50 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -4304,48 +4445,50 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -4378,48 +4521,50 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url) throws InvalidOrMissingPa throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -4447,7 +4592,7 @@ public ISFQuery upload2(URI url, SFUploadRequestParams up throw new InvalidOrMissingParameterException("expirationDays"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Upload2"); sfApiQuery.addIds(url); @@ -4465,7 +4610,7 @@ public ISFQuery upload2(URI url, SFUploadRequestParams up throw new InvalidOrMissingParameterException("uploadParams"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Upload2"); sfApiQuery.addIds(url); @@ -4489,7 +4634,7 @@ public ISFQuery checkIn(URI url, String message) throws InvalidOrMissingParamete throw new InvalidOrMissingParameterException("message"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("CheckIn"); sfApiQuery.addIds(url); @@ -4509,7 +4654,7 @@ public ISFQuery checkIn(URI url) throws InvalidOrMissingParameterException { throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("CheckIn"); sfApiQuery.addIds(url); @@ -4522,7 +4667,7 @@ public ISFQuery checkOut(URI url) throws InvalidOrMissingParameterException { throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("CheckOut"); sfApiQuery.addIds(url); @@ -4535,7 +4680,7 @@ public ISFQuery discardCheckOut(URI url) throws InvalidOrMissingParameterExcepti throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("DiscardCheckOut"); sfApiQuery.addIds(url); @@ -4566,7 +4711,7 @@ public ISFQuery search(String query, Integer maxResults, Intege throw new InvalidOrMissingParameterException("homeFolderOnly"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Search"); sfApiQuery.addQueryString("query", query); @@ -4596,7 +4741,7 @@ public ISFQuery search(String query, Integer maxResults, Intege throw new InvalidOrMissingParameterException("skip"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Search"); sfApiQuery.addQueryString("query", query); @@ -4621,7 +4766,7 @@ public ISFQuery search(String query, Integer maxResults) throws throw new InvalidOrMissingParameterException("maxResults"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Search"); sfApiQuery.addQueryString("query", query); @@ -4641,7 +4786,7 @@ public ISFQuery search(String query) throws InvalidOrMissingPar throw new InvalidOrMissingParameterException("query"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Search"); sfApiQuery.addQueryString("query", query); @@ -4682,7 +4827,7 @@ public ISFQuery advancedSimpleSearch(SFSimpleSearchQuer throw new InvalidOrMissingParameterException("simpleSearchQuery"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("AdvancedSimpleSearch"); sfApiQuery.setBody(simpleSearchQuery); @@ -4723,7 +4868,7 @@ public ISFQuery advancedSearch(SFSearchQuery searchQuer throw new InvalidOrMissingParameterException("searchQuery"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("AdvancedSearch"); sfApiQuery.setBody(searchQuery); @@ -4742,7 +4887,7 @@ public ISFQuery webView(URI url) throws InvalidOrMissingParameter throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("WebView"); sfApiQuery.addIds(url); @@ -4763,7 +4908,7 @@ public ISFQuery> getProtocolLinks(URI url, SFSaf throw new InvalidOrMissingParameterException("platform"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("ProtocolLinks"); sfApiQuery.addIds(url); @@ -4783,7 +4928,7 @@ public ISFQuery getRedirection(URI url) throws InvalidOrMissingPa throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Redirection"); sfApiQuery.addIds(url); @@ -4803,7 +4948,7 @@ public ISFQuery> getDeletedChildren(URI url, String id) thro throw new InvalidOrMissingParameterException("id"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("DeletedChildren"); sfApiQuery.addIds(url); @@ -4820,7 +4965,7 @@ public ISFQuery> getUserDeletedItems(String userid, String z throw new InvalidOrMissingParameterException("zone"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("UserDeletedItems"); sfApiQuery.addQueryString("userid", userid); @@ -4834,7 +4979,7 @@ public ISFQuery> getUserDeletedItems(String userid) throws I throw new InvalidOrMissingParameterException("userid"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("UserDeletedItems"); sfApiQuery.addQueryString("userid", userid); @@ -4844,7 +4989,7 @@ public ISFQuery> getUserDeletedItems(String userid) throws I public ISFQuery> getUserDeletedItems() { - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("UserDeletedItems"); sfApiQuery.setHttpMethod("GET"); @@ -4860,7 +5005,7 @@ public ISFQuery bulkRestore(ArrayList ids) throws InvalidOrMissingParame throw new InvalidOrMissingParameterException("ids"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("BulkRestore"); sfApiQuery.setBody(ids); @@ -4877,7 +5022,7 @@ public ISFQuery bulkDeletePermanently(ArrayList ids) throws InvalidOrMis throw new InvalidOrMissingParameterException("ids"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("BulkDeletePermanently"); sfApiQuery.setBody(ids); @@ -4895,7 +5040,7 @@ public ISFQuery webAppLink(URI url) throws InvalidOrMissingParame throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("WebAppLink"); sfApiQuery.addIds(url); @@ -4903,5 +5048,73 @@ public ISFQuery webAppLink(URI url) throws InvalidOrMissingParame return sfApiQuery; } + /** + * Remove folder template association from folder + * @param url + */ + public ISFQuery removeTemplateAssociation(URI url, String id) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (id == null) { + throw new InvalidOrMissingParameterException("id"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Items"); + sfApiQuery.setAction("RemoveTemplateAssociation"); + sfApiQuery.addIds(url); + sfApiQuery.addQueryString("parentid", id); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + + /** + * Check if template is already part of an existing template structure + * @param url + */ + public ISFQuery checkTemplateOwned(URI url, String id) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (id == null) { + throw new InvalidOrMissingParameterException("id"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Items"); + sfApiQuery.setAction("CheckTemplateOwned"); + sfApiQuery.addIds(url); + sfApiQuery.addQueryString("parentid", id); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + + /** + * Check if a versioning change would result in file deletions + * @param url + * @param newMaxVersions + */ + public ISFQuery checkVersioningViolation(URI url, String id, Integer newMaxVersions) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (id == null) { + throw new InvalidOrMissingParameterException("id"); + } + if (newMaxVersions == null) { + throw new InvalidOrMissingParameterException("newMaxVersions"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Items"); + sfApiQuery.setAction("CheckVersioningViolation"); + sfApiQuery.addIds(url); + sfApiQuery.addQueryString("parentid", id); + sfApiQuery.addQueryString("newMaxVersions", newMaxVersions); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFMetadataEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFMetadataEntity.java index 8c0ebf0..4b4b056 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFMetadataEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFMetadataEntity.java @@ -12,16 +12,25 @@ package com.citrix.sharefile.api.entities; -import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; -import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.entities.*; import com.citrix.sharefile.api.models.*; import com.citrix.sharefile.api.SFApiQuery; import com.citrix.sharefile.api.interfaces.ISFQuery; +import java.io.InputStream; +import java.util.ArrayList; import java.net.URI; +import java.util.Date; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; +import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; -public class SFMetadataEntity extends SFODataEntityBase +public class SFMetadataEntity extends SFEntitiesBase { public SFMetadataEntity(ISFApiClient client) { super(client); @@ -41,7 +50,7 @@ public ISFQuery get(URI url) throws InvalidOrMissingParameterExcepti throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Metadata"); sfApiQuery.addIds(url); sfApiQuery.setHttpMethod("GET"); @@ -59,7 +68,7 @@ public ISFQuery> getByItem(URI url) throws InvalidOrMiss throw new InvalidOrMissingParameterException("url"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Metadata"); sfApiQuery.addIds(url); @@ -85,7 +94,7 @@ public ISFQuery createByItem(URI url, SFMetadata metadata) throws In throw new InvalidOrMissingParameterException("metadata"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Metadata"); sfApiQuery.addIds(url); @@ -114,7 +123,7 @@ public ISFQuery updateByItem(URI url, String metadataId, SFMetadata throw new InvalidOrMissingParameterException("metadata"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Metadata"); sfApiQuery.addIds(url); @@ -140,7 +149,7 @@ public ISFQuery update(URI url, SFMetadata metadata) throws InvalidO throw new InvalidOrMissingParameterException("metadata"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Metadata"); sfApiQuery.addIds(url); sfApiQuery.setBody(metadata); @@ -162,7 +171,7 @@ public ISFQuery deleteByItem(URI url, String metadataId) throws InvalidOrMissing throw new InvalidOrMissingParameterException("metadataId"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("Metadata"); sfApiQuery.addIds(url); @@ -181,7 +190,7 @@ public ISFQuery delete(URI url) throws InvalidOrMissingParameterException { throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Metadata"); sfApiQuery.addIds(url); sfApiQuery.setHttpMethod("DELETE"); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFODataEntityBase.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFODataEntityBase.java deleted file mode 100644 index be4e6aa..0000000 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFODataEntityBase.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.citrix.sharefile.api.entities; - -import com.citrix.sharefile.api.interfaces.ISFApiClient; - -public class SFODataEntityBase -{ - protected final ISFApiClient apiClient; - - public SFODataEntityBase(ISFApiClient client) - { - this.apiClient = client; - } - - public SFODataEntityBase() - { - this.apiClient = null; - } -} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFRemoteUploadsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFRemoteUploadsEntity.java new file mode 100644 index 0000000..18a7792 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFRemoteUploadsEntity.java @@ -0,0 +1,168 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.entities; + +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.entities.*; +import com.citrix.sharefile.api.models.*; +import com.citrix.sharefile.api.SFApiQuery; +import com.citrix.sharefile.api.interfaces.ISFQuery; + + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; +import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; + +public class SFRemoteUploadsEntity extends SFEntitiesBase +{ + public SFRemoteUploadsEntity(ISFApiClient client) { + super(client); + } + + public ISFQuery> get() { + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("RemoteUploads"); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + public ISFQuery get(URI url) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("RemoteUploads"); + sfApiQuery.addIds(url); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + public ISFQuery upload2(URI url, SFUploadRequestParams uploadParams, String userId, Integer expirationDays) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (uploadParams == null) { + throw new InvalidOrMissingParameterException("uploadParams"); + } + if (userId == null) { + throw new InvalidOrMissingParameterException("userId"); + } + if (expirationDays == null) { + throw new InvalidOrMissingParameterException("expirationDays"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("RemoteUploads"); + sfApiQuery.setAction("Upload2"); + sfApiQuery.addIds(url); + sfApiQuery.addQueryString("userId", userId); + sfApiQuery.addQueryString("expirationDays", expirationDays); + sfApiQuery.setBody(uploadParams); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + + public ISFQuery upload2(URI url, SFUploadRequestParams uploadParams, String userId) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (uploadParams == null) { + throw new InvalidOrMissingParameterException("uploadParams"); + } + if (userId == null) { + throw new InvalidOrMissingParameterException("userId"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("RemoteUploads"); + sfApiQuery.setAction("Upload2"); + sfApiQuery.addIds(url); + sfApiQuery.addQueryString("userId", userId); + sfApiQuery.setBody(uploadParams); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + + public ISFQuery create(SFRemoteUpload remoteUpload) throws InvalidOrMissingParameterException { + if (remoteUpload == null) { + throw new InvalidOrMissingParameterException("remoteUpload"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("RemoteUploads"); + sfApiQuery.setBody(remoteUpload); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + + public ISFQuery update(SFRemoteUpload remoteUpload) throws InvalidOrMissingParameterException { + if (remoteUpload == null) { + throw new InvalidOrMissingParameterException("remoteUpload"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("RemoteUploads"); + sfApiQuery.setBody(remoteUpload); + sfApiQuery.setHttpMethod("PATCH"); + return sfApiQuery; + } + + public ISFQuery delete(String id) throws InvalidOrMissingParameterException { + if (id == null) { + throw new InvalidOrMissingParameterException("id"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("RemoteUploads"); + sfApiQuery.addQueryString("id", id); + sfApiQuery.setHttpMethod("DELETE"); + return sfApiQuery; + } + + public ISFQuery> getUsers() { + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("RemoteUploads"); + sfApiQuery.setAction("Users"); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + public ISFQuery updateUsers(URI url, ArrayList ids) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (ids == null) { + throw new InvalidOrMissingParameterException("ids"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("RemoteUploads"); + sfApiQuery.setAction("Users"); + sfApiQuery.addIds(url); + sfApiQuery.setBody(ids); + sfApiQuery.setHttpMethod("PATCH"); + return sfApiQuery; + } + +} + diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFReportsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFReportsEntity.java new file mode 100644 index 0000000..5536333 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFReportsEntity.java @@ -0,0 +1,307 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.entities; + +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.entities.*; +import com.citrix.sharefile.api.models.*; +import com.citrix.sharefile.api.SFApiQuery; +import com.citrix.sharefile.api.interfaces.ISFQuery; + + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; +import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; + +public class SFReportsEntity extends SFEntitiesBase +{ + public SFReportsEntity(ISFApiClient client) { + super(client); + } + + /** + * Get Reports for Current Account + * Returns all the reports configured for the current account. By expanding the Records property, a list of all ReportRecords can be accessed as well. + * @return Reports for current account + */ + public ISFQuery> get() { + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Reports"); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Get Report by ID + * Returns a single report specified by id. The Records property is expandable. + * @param url + * @return Single Report + */ + public ISFQuery get(URI url) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Reports"); + sfApiQuery.addIds(url); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Get recent reports + * Returns the last 10 reports run for the current account. + * @return List of reports + */ + public ISFQuery> getRecent() { + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Reports"); + sfApiQuery.setAction("Recent"); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Get recurring reports + * Returns all recurring reports for the current account. + * @return List of reports + */ + public ISFQuery> getRecurring() { + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Reports"); + sfApiQuery.setAction("Recurring"); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Get Report Record by ID + * Returns a single record. + * @param id + * @return Single Record + */ + public ISFQuery getRecord(String id) throws InvalidOrMissingParameterException { + if (id == null) { + throw new InvalidOrMissingParameterException("id"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Reports"); + sfApiQuery.setAction("Record"); + sfApiQuery.addActionIds(id); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Get all Records by Report ID + * Returns all records for a single report. + * @param url + * @return Records for a Report + */ + public ISFQuery> getRecords(URI url) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Reports"); + sfApiQuery.setAction("Records"); + sfApiQuery.addIds(url); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Create Report + * { + * "Id": "rs24f83e-b147-437e-9f28-e7d03634af42" + * "Title": "Usage Report", + * "ReportType": "Activity", + * "ObjectType": "Account", + * "ObjectId": "a024f83e-b147-437e-9f28-e7d0ef634af42", + * "DateOption": "Last30Days", + * "SaveFormat": "Excel" + * } + * Creates a new Report. + * @param report + * @param runOnCreate + * @return the created report + */ + public ISFQuery create(SFReport report, Boolean runOnCreate) throws InvalidOrMissingParameterException { + if (report == null) { + throw new InvalidOrMissingParameterException("report"); + } + if (runOnCreate == null) { + throw new InvalidOrMissingParameterException("runOnCreate"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Reports"); + sfApiQuery.addQueryString("runOnCreate", runOnCreate); + sfApiQuery.setBody(report); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + + /** + * Update Report + * { + * "Title": "Usage Report", + * "ReportType": "Activity", + * "ObjectType": "Account", + * "ObjectId": "a024f83e-b147-437e-9f28-e7d03634af42", + * "DateOption": "Last30Days", + * "Frequency": "Once" + * } + * Updates an existing report + * @param report + * @return the updated report + */ + public ISFQuery update(SFReport report) throws InvalidOrMissingParameterException { + if (report == null) { + throw new InvalidOrMissingParameterException("report"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Reports"); + sfApiQuery.setBody(report); + sfApiQuery.setHttpMethod("PATCH"); + return sfApiQuery; + } + + /** + * Delete Report + * Removes a report from the system + * @param url + */ + public ISFQuery delete(URI url) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Reports"); + sfApiQuery.addIds(url); + sfApiQuery.setHttpMethod("DELETE"); + return sfApiQuery; + } + + /** + * Run Report + * Run a report and get the run id. + * @return ReportRecord + */ + public ISFQuery getRun(URI url) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Reports"); + sfApiQuery.setAction("Run"); + sfApiQuery.addIds(url); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Get a preview location for the report + * @param reportUrl + */ + public ISFQuery preview(URI reportUrl) throws InvalidOrMissingParameterException { + if (reportUrl == null) { + throw new InvalidOrMissingParameterException("reportUrl"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Reports"); + sfApiQuery.setAction("Preview"); + sfApiQuery.addIds(reportUrl); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + + /** + * Get JSON Data + * Get the JSON data for a report + * @return JSON Formatted Report Results + */ + public ISFQuery getJsonData(String id) throws InvalidOrMissingParameterException { + if (id == null) { + throw new InvalidOrMissingParameterException("id"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Reports"); + sfApiQuery.setAction("Records"); + sfApiQuery.addActionIds(id); + sfApiQuery.addSubAction("JsonData"); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Save a folder to a folder location + * @param reportUrl + * @param folderId + */ + public ISFQuery move(URI reportUrl, String folderId) throws InvalidOrMissingParameterException { + if (reportUrl == null) { + throw new InvalidOrMissingParameterException("reportUrl"); + } + if (folderId == null) { + throw new InvalidOrMissingParameterException("folderId"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Reports"); + sfApiQuery.setAction("Move"); + sfApiQuery.addIds(reportUrl); + sfApiQuery.addQueryString("folderId", folderId); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + + /** + * Get spreadsheet data + * Get the spreadsheet data for a report + * @return Excel Formatted Report Results + */ + public ISFQuery downloadData(String id) throws InvalidOrMissingParameterException { + if (id == null) { + throw new InvalidOrMissingParameterException("id"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Reports"); + sfApiQuery.setAction("Records"); + sfApiQuery.addActionIds(id); + sfApiQuery.addSubAction("DownloadData"); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + +} + diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFSessionsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFSessionsEntity.java index 174355d..0eb0578 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFSessionsEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFSessionsEntity.java @@ -12,13 +12,25 @@ package com.citrix.sharefile.api.entities; -import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; -import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.entities.*; import com.citrix.sharefile.api.models.*; import com.citrix.sharefile.api.SFApiQuery; import com.citrix.sharefile.api.interfaces.ISFQuery; -public class SFSessionsEntity extends SFODataEntityBase + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; +import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; + +public class SFSessionsEntity extends SFEntitiesBase { public SFSessionsEntity(ISFApiClient client) { super(client); @@ -26,14 +38,14 @@ public SFSessionsEntity(ISFApiClient client) { /** * Get Session - * Retrieve the current authentication session object. If the apiClient is not authenticated, + * Retrieve the current authentication session object. If the client is not authenticated, * this operation will challenge for ShareFile authentication using a 401 response. This method will * not trigger the SAML authentication flow - use /Sessions/Login instead. - * @return The current authentication Context, based on the request SF_APIAuthId Cookie + * @return The current authentication Context, based on the request SFAPI_AuthID Cookie */ public ISFQuery get() { - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Sessions"); sfApiQuery.setHttpMethod("GET"); return sfApiQuery; @@ -45,7 +57,7 @@ public ISFQuery get() { */ public ISFQuery delete() { - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Sessions"); sfApiQuery.setHttpMethod("DELETE"); return sfApiQuery; @@ -54,15 +66,15 @@ public ISFQuery delete() { /** * Login * API clients can provide ShareFile Authentication directly to any API operation using OAuth (Bearer). - * However, the apiClient must know that the provided authentication type is supported on the API endpoint; and that SAML is not configured. + * However, the client must know that the provided authentication type is supported on the API endpoint; and that SAML is not configured. * * This API provides a generic authentication routine for clients. It will challenge for ShareFile credentials * passing all supported authentication methods; redirect to the SAML IDP if configured to do so; and handle * certain HTTP headers, like device registration. * - * If the apiClient is already authenticated, the Session object is returned. If the apiClient is not authenticated, and + * If the client is already authenticated, the Session object is returned. If the client is not authenticated, and * the account is not configured for SAML, then the API will challenge for a local authentication. If the account - * is configured for SAML, then the apiClient will be redirected to the SAML IDP using the SAML passive flow - authentication + * is configured for SAML, then the client will be redirected to the SAML IDP using the SAML passive flow - authentication * will be performed at the IDP domain instead. The IDP callback will be on the API Acs, which will return a Session * object if authentication is accepted. * @@ -82,7 +94,7 @@ public ISFQuery login(String authmethod, String authcomparison) throw throw new InvalidOrMissingParameterException("authcomparison"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Sessions"); sfApiQuery.setAction("Login"); sfApiQuery.addQueryString("authmethod", authmethod); @@ -94,15 +106,15 @@ public ISFQuery login(String authmethod, String authcomparison) throw /** * Login * API clients can provide ShareFile Authentication directly to any API operation using OAuth (Bearer). - * However, the apiClient must know that the provided authentication type is supported on the API endpoint; and that SAML is not configured. + * However, the client must know that the provided authentication type is supported on the API endpoint; and that SAML is not configured. * * This API provides a generic authentication routine for clients. It will challenge for ShareFile credentials * passing all supported authentication methods; redirect to the SAML IDP if configured to do so; and handle * certain HTTP headers, like device registration. * - * If the apiClient is already authenticated, the Session object is returned. If the apiClient is not authenticated, and + * If the client is already authenticated, the Session object is returned. If the client is not authenticated, and * the account is not configured for SAML, then the API will challenge for a local authentication. If the account - * is configured for SAML, then the apiClient will be redirected to the SAML IDP using the SAML passive flow - authentication + * is configured for SAML, then the client will be redirected to the SAML IDP using the SAML passive flow - authentication * will be performed at the IDP domain instead. The IDP callback will be on the API Acs, which will return a Session * object if authentication is accepted. * @@ -118,7 +130,7 @@ public ISFQuery login(String authmethod) throws InvalidOrMissingParam throw new InvalidOrMissingParameterException("authmethod"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Sessions"); sfApiQuery.setAction("Login"); sfApiQuery.addQueryString("authmethod", authmethod); @@ -129,15 +141,15 @@ public ISFQuery login(String authmethod) throws InvalidOrMissingParam /** * Login * API clients can provide ShareFile Authentication directly to any API operation using OAuth (Bearer). - * However, the apiClient must know that the provided authentication type is supported on the API endpoint; and that SAML is not configured. + * However, the client must know that the provided authentication type is supported on the API endpoint; and that SAML is not configured. * * This API provides a generic authentication routine for clients. It will challenge for ShareFile credentials * passing all supported authentication methods; redirect to the SAML IDP if configured to do so; and handle * certain HTTP headers, like device registration. * - * If the apiClient is already authenticated, the Session object is returned. If the apiClient is not authenticated, and + * If the client is already authenticated, the Session object is returned. If the client is not authenticated, and * the account is not configured for SAML, then the API will challenge for a local authentication. If the account - * is configured for SAML, then the apiClient will be redirected to the SAML IDP using the SAML passive flow - authentication + * is configured for SAML, then the client will be redirected to the SAML IDP using the SAML passive flow - authentication * will be performed at the IDP domain instead. The IDP callback will be on the API Acs, which will return a Session * object if authentication is accepted. * @@ -149,7 +161,7 @@ public ISFQuery login(String authmethod) throws InvalidOrMissingParam */ public ISFQuery login() { - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Sessions"); sfApiQuery.setAction("Login"); sfApiQuery.setHttpMethod("GET"); @@ -161,7 +173,7 @@ public ISFQuery login() { */ public ISFQuery acs() { - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Sessions"); sfApiQuery.setAction("Acs"); sfApiQuery.setHttpMethod("GET"); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFSharesEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFSharesEntity.java index c7ad215..ce128e3 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFSharesEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFSharesEntity.java @@ -12,9 +12,8 @@ package com.citrix.sharefile.api.entities; -import com.citrix.sharefile.api.SFQueryStream; -import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; -import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.entities.*; import com.citrix.sharefile.api.models.*; import com.citrix.sharefile.api.SFApiQuery; import com.citrix.sharefile.api.interfaces.ISFQuery; @@ -24,10 +23,14 @@ import java.util.ArrayList; import java.net.URI; import java.util.Date; - + +import com.google.gson.annotations.SerializedName; import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; +import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; -public class SFSharesEntity extends SFODataEntityBase +public class SFSharesEntity extends SFEntitiesBase { public SFSharesEntity(ISFApiClient client) { super(client); @@ -40,7 +43,7 @@ public SFSharesEntity(ISFApiClient client) { */ public ISFQuery> get() { - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setHttpMethod("GET"); return sfApiQuery; @@ -53,12 +56,12 @@ public ISFQuery> get() { * @param url * @return A single Share */ - public ISFQuery get(URI url) throws InvalidOrMissingParameterException { + public ISFQuery get(URI url) throws InvalidOrMissingParameterException { if (url == null) { throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.addIds(url); sfApiQuery.setHttpMethod("GET"); @@ -79,7 +82,7 @@ public ISFQuery> getRecipients(URI url) throws Invalid throw new InvalidOrMissingParameterException("url"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Recipients"); sfApiQuery.addIds(url); @@ -102,7 +105,7 @@ public ISFQuery getRecipients(URI parentUrl, String id) throws Inv throw new InvalidOrMissingParameterException("id"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Recipients"); sfApiQuery.addIds(parentUrl); @@ -128,7 +131,7 @@ public ISFQuery createRecipients(URI url, String Email, String Fir throw new InvalidOrMissingParameterException("Company"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Recipients"); sfApiQuery.addIds(url); @@ -154,7 +157,7 @@ public ISFQuery createRecipients(URI url, String Email, String Fir throw new InvalidOrMissingParameterException("LastName"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Recipients"); sfApiQuery.addIds(url); @@ -176,7 +179,7 @@ public ISFQuery createRecipients(URI url, String Email, String Fir throw new InvalidOrMissingParameterException("FirstName"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Recipients"); sfApiQuery.addIds(url); @@ -194,7 +197,7 @@ public ISFQuery createRecipients(URI url, String Email) throws Inv throw new InvalidOrMissingParameterException("Email"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Recipients"); sfApiQuery.addIds(url); @@ -208,7 +211,7 @@ public ISFQuery createRecipients(URI url) throws InvalidOrMissingP throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Recipients"); sfApiQuery.addIds(url); @@ -227,7 +230,7 @@ public ISFQuery> getItems(URI url) throws InvalidOrMissingPa throw new InvalidOrMissingParameterException("url"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Items"); sfApiQuery.addIds(url); @@ -249,7 +252,7 @@ public ISFQuery getItems(URI shareUrl, String itemid) throws InvalidOrMi throw new InvalidOrMissingParameterException("itemid"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Items"); sfApiQuery.addIds(shareUrl); @@ -280,7 +283,7 @@ public ISFQuery thumbnail(URI shareUrl, String itemid, Integer size throw new InvalidOrMissingParameterException("redirect"); } - SFQueryStream sfApiQuery = new SFQueryStream(this.apiClient); + SFQueryStream sfApiQuery = new SFQueryStream(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Items"); sfApiQuery.addIds(shareUrl); @@ -310,7 +313,7 @@ public ISFQuery thumbnail(URI shareUrl, String itemid, Integer size throw new InvalidOrMissingParameterException("size"); } - SFQueryStream sfApiQuery = new SFQueryStream(this.apiClient); + SFQueryStream sfApiQuery = new SFQueryStream(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Items"); sfApiQuery.addIds(shareUrl); @@ -335,7 +338,7 @@ public ISFQuery thumbnail(URI shareUrl, String itemid) throws Inval throw new InvalidOrMissingParameterException("itemid"); } - SFQueryStream sfApiQuery = new SFQueryStream(this.apiClient); + SFQueryStream sfApiQuery = new SFQueryStream(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Items"); sfApiQuery.addIds(shareUrl); @@ -361,13 +364,12 @@ public ISFQuery> protocolLinks(URI shareUrl, Str throw new InvalidOrMissingParameterException("platform"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Items"); sfApiQuery.addIds(shareUrl); sfApiQuery.addActionIds(itemid); - //sfApiQuery.addSubAction("ProtocolLinks", platform); - sfApiQuery.addSubAction("ProtocolLinks"); //CHECK THIS!!!!! + sfApiQuery.addSubAction("ProtocolLinks", platform); sfApiQuery.setHttpMethod("GET"); return sfApiQuery; } @@ -409,7 +411,7 @@ public ISFQuery download(URI shareUrl, String itemId, String Name, throw new InvalidOrMissingParameterException("redirect"); } - SFQueryStream sfApiQuery = new SFQueryStream(this.apiClient); + SFQueryStream sfApiQuery = new SFQueryStream(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Download"); sfApiQuery.addIds(shareUrl); @@ -455,7 +457,7 @@ public ISFQuery download(URI shareUrl, String itemId, String Name, throw new InvalidOrMissingParameterException("Company"); } - SFQueryStream sfApiQuery = new SFQueryStream(this.apiClient); + SFQueryStream sfApiQuery = new SFQueryStream(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Download"); sfApiQuery.addIds(shareUrl); @@ -496,7 +498,7 @@ public ISFQuery download(URI shareUrl, String itemId, String Name, throw new InvalidOrMissingParameterException("Email"); } - SFQueryStream sfApiQuery = new SFQueryStream(this.apiClient); + SFQueryStream sfApiQuery = new SFQueryStream(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Download"); sfApiQuery.addIds(shareUrl); @@ -532,7 +534,7 @@ public ISFQuery download(URI shareUrl, String itemId, String Name) throw new InvalidOrMissingParameterException("Name"); } - SFQueryStream sfApiQuery = new SFQueryStream(this.apiClient); + SFQueryStream sfApiQuery = new SFQueryStream(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Download"); sfApiQuery.addIds(shareUrl); @@ -563,7 +565,7 @@ public ISFQuery download(URI shareUrl, String itemId) throws Invali throw new InvalidOrMissingParameterException("itemId"); } - SFQueryStream sfApiQuery = new SFQueryStream(this.apiClient); + SFQueryStream sfApiQuery = new SFQueryStream(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Download"); sfApiQuery.addIds(shareUrl); @@ -590,7 +592,7 @@ public ISFQuery download(URI shareUrl) throws InvalidOrMissingParam throw new InvalidOrMissingParameterException("shareUrl"); } - SFQueryStream sfApiQuery = new SFQueryStream(this.apiClient); + SFQueryStream sfApiQuery = new SFQueryStream(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Download"); sfApiQuery.addIds(shareUrl); @@ -628,7 +630,7 @@ public ISFQuery downloadWithAlias(URI shareUrl, String aliasid, Str throw new InvalidOrMissingParameterException("redirect"); } - SFQueryStream sfApiQuery = new SFQueryStream(this.apiClient); + SFQueryStream sfApiQuery = new SFQueryStream(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Recipients"); sfApiQuery.addIds(shareUrl); @@ -666,7 +668,7 @@ public ISFQuery downloadWithAlias(URI shareUrl, String aliasid, Str throw new InvalidOrMissingParameterException("itemId"); } - SFQueryStream sfApiQuery = new SFQueryStream(this.apiClient); + SFQueryStream sfApiQuery = new SFQueryStream(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Recipients"); sfApiQuery.addIds(shareUrl); @@ -700,7 +702,7 @@ public ISFQuery downloadWithAlias(URI shareUrl, String aliasid) thr throw new InvalidOrMissingParameterException("aliasid"); } - SFQueryStream sfApiQuery = new SFQueryStream(this.apiClient); + SFQueryStream sfApiQuery = new SFQueryStream(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Recipients"); sfApiQuery.addIds(shareUrl); @@ -722,7 +724,7 @@ public ISFQuery downloadWithAlias(URI shareUrl, String aliasid) thr * @param redirect (default: true) * @return Redirects the caller (302) to the download address for the share contents. */ - public ISFQuery bulkDownload(URI shareUrl, String aliasid, ArrayList ids, Boolean redirect) throws InvalidOrMissingParameterException { + public ISFQuery bulkDownload(URI shareUrl, String aliasid, ArrayList ids, Boolean redirect) throws InvalidOrMissingParameterException { if (shareUrl == null) { throw new InvalidOrMissingParameterException("shareUrl"); } @@ -736,7 +738,7 @@ public ISFQuery bulkDownload(URI shareUrl, String aliasid, ArrayList ids throw new InvalidOrMissingParameterException("redirect"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFQueryStream sfApiQuery = new SFQueryStream(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Recipients"); sfApiQuery.addIds(shareUrl); @@ -759,7 +761,7 @@ public ISFQuery bulkDownload(URI shareUrl, String aliasid, ArrayList ids * @param ids * @return Redirects the caller (302) to the download address for the share contents. */ - public ISFQuery bulkDownload(URI shareUrl, String aliasid, ArrayList ids) throws InvalidOrMissingParameterException { + public ISFQuery bulkDownload(URI shareUrl, String aliasid, ArrayList ids) throws InvalidOrMissingParameterException { if (shareUrl == null) { throw new InvalidOrMissingParameterException("shareUrl"); } @@ -770,7 +772,7 @@ public ISFQuery bulkDownload(URI shareUrl, String aliasid, ArrayList ids throw new InvalidOrMissingParameterException("ids"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFQueryStream sfApiQuery = new SFQueryStream(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Recipients"); sfApiQuery.addIds(shareUrl); @@ -824,7 +826,7 @@ public ISFQuery create(SFShare share, Boolean notify) throws InvalidOrM throw new InvalidOrMissingParameterException("notify"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.addQueryString("notify", notify); sfApiQuery.setBody(share); @@ -871,7 +873,7 @@ public ISFQuery create(SFShare share) throws InvalidOrMissingParameterE throw new InvalidOrMissingParameterException("share"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setBody(share); sfApiQuery.setHttpMethod("POST"); @@ -899,7 +901,7 @@ public ISFQuery update(URI url, SFShare share) throws InvalidOrMissingP throw new InvalidOrMissingParameterException("share"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.addIds(url); sfApiQuery.setBody(share); @@ -917,7 +919,7 @@ public ISFQuery delete(URI url) throws InvalidOrMissingParameterException { throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.addIds(url); sfApiQuery.setHttpMethod("DELETE"); @@ -946,7 +948,7 @@ public ISFQuery createAlias(URI url, String email, Boolean notify) thro throw new InvalidOrMissingParameterException("notify"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Alias"); sfApiQuery.addIds(url); @@ -974,7 +976,7 @@ public ISFQuery createAlias(URI url, String email) throws InvalidOrMiss throw new InvalidOrMissingParameterException("email"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Alias"); sfApiQuery.addIds(url); @@ -988,13 +990,14 @@ public ISFQuery createAlias(URI url, String email) throws InvalidOrMiss * Sends an Email to the specified list of addresses, containing a link to the specified Items. * The default number of expiration days is 30. -1 disables share expiration. * @param parameters + * @return The new Share */ - public ISFQuery createSend(SFShareSendParams parameters) throws InvalidOrMissingParameterException { + public ISFQuery createSend(SFShareSendParams parameters) throws InvalidOrMissingParameterException { if (parameters == null) { throw new InvalidOrMissingParameterException("parameters"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Send"); sfApiQuery.setBody(parameters); @@ -1013,7 +1016,7 @@ public ISFQuery createRequest(SFShareRequestParams parameters) throws InvalidOrM throw new InvalidOrMissingParameterException("parameters"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Request"); sfApiQuery.setBody(parameters); @@ -1025,13 +1028,14 @@ public ISFQuery createRequest(SFShareRequestParams parameters) throws InvalidOrM * Deliver an existing share link to one or more recipients * Sends an Email to the specified list of addresses, containing a link to a download or an upload. * @param parameters + * @return The updated Share */ - public ISFQuery resend(SFShareResendParams parameters) throws InvalidOrMissingParameterException { + public ISFQuery resend(SFShareResendParams parameters) throws InvalidOrMissingParameterException { if (parameters == null) { throw new InvalidOrMissingParameterException("parameters"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Resend"); sfApiQuery.setBody(parameters); @@ -1057,7 +1061,7 @@ public ISFQuery resend(SFShareResendParams parameters) throws InvalidOrMissingPa * Standard uploads use a single HTTP POST message to the ChunkUri address provided in * the response. All other fields will be empty. Standard uploads do not support Resume. * - * Streamed uploads use multiple HTTP POST calls to the ChunkUri address. The apiClient must + * Streamed uploads use multiple HTTP POST calls to the ChunkUri address. The client must * append the parameters index, offset and hash to the end of the ChunkUri address. Index * is a sequential number representing the data block (zero-based); Offset represents the * byte offset for the block; and hash contains the MD5 hash of the block. The last HTTP @@ -1065,7 +1069,7 @@ public ISFQuery resend(SFShareResendParams parameters) throws InvalidOrMissingPa * * Threaded uploads use multiple HTTP POST calls to ChunkUri, and can have a number of * threads issuing blocks in parallel. Clients must append index, offset and hash to - * the end of ChunkUri, as explained in Streamed. After all chunks were sent, the apiClient + * the end of ChunkUri, as explained in Streamed. After all chunks were sent, the client * must call the FinishUri provided in this spec. * * For all uploaders, the contents of the POST Body can either be "raw", if the "Raw" parameter @@ -1078,7 +1082,7 @@ public ISFQuery resend(SFShareResendParams parameters) throws InvalidOrMissingPa * it indicates that the server has identified a partial upload with that specification, and is * ready to resume on the provided parameters. The clients can then verify the ResumeFileHash to * ensure the file has not been modified; and continue issuing ChunkUri calls from the ResumeIndex - * ResumeOffset parameters. If the apiClient decides to restart, it should simply ignore the resume + * ResumeOffset parameters. If the client decides to restart, it should simply ignore the resume * parameters and send the blocks from Index 0. * * For all uploaders: the result code for the HTTP POST calls to Chunk and Finish Uri can either @@ -1178,7 +1182,7 @@ public ISFQuery upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -1226,7 +1230,7 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -1391,7 +1395,7 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -1552,7 +1556,7 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -1709,7 +1713,7 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -1861,7 +1865,7 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -2008,7 +2012,7 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -2150,7 +2154,7 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -2287,7 +2291,7 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -2419,7 +2423,7 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -2546,7 +2550,7 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -2668,7 +2672,7 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -2785,7 +2789,7 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -2897,7 +2901,7 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -3004,7 +3008,7 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -3106,7 +3110,7 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -3203,7 +3207,7 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -3295,7 +3299,7 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -3382,7 +3386,7 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -3464,7 +3468,7 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -3541,7 +3545,7 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -3613,7 +3617,7 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -3680,7 +3684,7 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url) throws InvalidOrMissingPa throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Upload"); sfApiQuery.addIds(url); @@ -3735,7 +3739,7 @@ public ISFQuery upload2(URI url, SFUploadRequestParams up throw new InvalidOrMissingParameterException("expirationDays"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Upload2"); sfApiQuery.addIds(url); @@ -3753,7 +3757,7 @@ public ISFQuery upload2(URI url, SFUploadRequestParams up throw new InvalidOrMissingParameterException("uploadParams"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Upload2"); sfApiQuery.addIds(url); @@ -3773,7 +3777,7 @@ public ISFQuery getRedirection(URI url) throws InvalidOrMissingPa throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Redirection"); sfApiQuery.addIds(url); @@ -3781,5 +3785,109 @@ public ISFQuery getRedirection(URI url) throws InvalidOrMissingPa return sfApiQuery; } + /** + * Get Inbox for Recipient + * Retrieve all outstanding Shares in the inbox.User identifier + * @return List of Shares created by the authenticated user + */ + public ISFQuery> getInbox(String id, SFSafeEnum type, Boolean archived) throws InvalidOrMissingParameterException { + if (id == null) { + throw new InvalidOrMissingParameterException("id"); + } + if (type == null) { + throw new InvalidOrMissingParameterException("type"); + } + if (archived == null) { + throw new InvalidOrMissingParameterException("archived"); + } + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Shares"); + sfApiQuery.setAction("Inbox"); + sfApiQuery.addActionIds(id); + sfApiQuery.addQueryString("type", type); + sfApiQuery.addQueryString("archived", archived); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Get Inbox for Recipient + * Retrieve all outstanding Shares in the inbox.User identifier + * @return List of Shares created by the authenticated user + */ + public ISFQuery> getInbox(String id, SFSafeEnum type) throws InvalidOrMissingParameterException { + if (id == null) { + throw new InvalidOrMissingParameterException("id"); + } + if (type == null) { + throw new InvalidOrMissingParameterException("type"); + } + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Shares"); + sfApiQuery.setAction("Inbox"); + sfApiQuery.addActionIds(id); + sfApiQuery.addQueryString("type", type); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Get Inbox for Recipient + * Retrieve all outstanding Shares in the inbox.User identifier + * @return List of Shares created by the authenticated user + */ + public ISFQuery> getInbox(String id) throws InvalidOrMissingParameterException { + if (id == null) { + throw new InvalidOrMissingParameterException("id"); + } + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Shares"); + sfApiQuery.setAction("Inbox"); + sfApiQuery.addActionIds(id); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Get Inbox for Recipient + * Retrieve all outstanding Shares in the inbox.User identifier + * @return List of Shares created by the authenticated user + */ + public ISFQuery> getInbox() { + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Shares"); + sfApiQuery.setAction("Inbox"); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Get Sent Message Content by Share + * Returns sent message content. + * @param shareUrl + * @return Sent Message Content + */ + public ISFQuery message(URI shareUrl, String aliasId) throws InvalidOrMissingParameterException { + if (shareUrl == null) { + throw new InvalidOrMissingParameterException("shareUrl"); + } + if (aliasId == null) { + throw new InvalidOrMissingParameterException("aliasId"); + } + + SFQueryStream sfApiQuery = new SFQueryStream(this.client); + sfApiQuery.setFrom("Shares"); + sfApiQuery.setAction("Recipients"); + sfApiQuery.addIds(shareUrl); + sfApiQuery.addActionIds(aliasId); + sfApiQuery.addSubAction("Message"); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFStorageCentersEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFStorageCentersEntity.java index 9438487..c57a03d 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFStorageCentersEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFStorageCentersEntity.java @@ -12,17 +12,25 @@ package com.citrix.sharefile.api.entities; -import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; -import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.entities.*; import com.citrix.sharefile.api.models.*; import com.citrix.sharefile.api.SFApiQuery; import com.citrix.sharefile.api.interfaces.ISFQuery; +import java.io.InputStream; import java.util.ArrayList; import java.net.URI; +import java.util.Date; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; +import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; -public class SFStorageCentersEntity extends SFODataEntityBase +public class SFStorageCentersEntity extends SFEntitiesBase { public SFStorageCentersEntity(ISFApiClient client) { super(client); @@ -38,7 +46,7 @@ public ISFQuery get(URI url) throws InvalidOrMissingParameterEx throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("StorageCenters"); sfApiQuery.addIds(url); sfApiQuery.setHttpMethod("GET"); @@ -63,7 +71,7 @@ public ISFQuery update(URI url, SFStorageCenter sc) throws Inva throw new InvalidOrMissingParameterException("sc"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("StorageCenters"); sfApiQuery.addIds(url); sfApiQuery.setBody(sc); @@ -80,7 +88,7 @@ public ISFQuery delete(URI url) throws InvalidOrMissingParameterException { throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("StorageCenters"); sfApiQuery.addIds(url); sfApiQuery.setHttpMethod("DELETE"); @@ -98,7 +106,7 @@ public ISFQuery> getByZone(URI url) throws InvalidO throw new InvalidOrMissingParameterException("url"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Zones"); sfApiQuery.setAction("StorageCenters"); sfApiQuery.addIds(url); @@ -126,7 +134,7 @@ public ISFQuery createByZone(URI url, SFStorageCenter storageCe throw new InvalidOrMissingParameterException("storageCenter"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Zones"); sfApiQuery.setAction("StorageCenters"); sfApiQuery.addIds(url); @@ -158,7 +166,7 @@ public ISFQuery updateByZone(URI zUrl, String scid, SFStorageCe throw new InvalidOrMissingParameterException("storageCenter"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Zones"); sfApiQuery.setAction("StorageCenters"); sfApiQuery.addIds(zUrl); @@ -181,7 +189,7 @@ public ISFQuery deleteByZone(URI zUrl, String scid) throws InvalidOrMissingParam throw new InvalidOrMissingParameterException("scid"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Zones"); sfApiQuery.setAction("StorageCenters"); sfApiQuery.addIds(zUrl); @@ -204,7 +212,7 @@ public ISFQuery> getMetadata(URI zUrl, String scid) thro throw new InvalidOrMissingParameterException("scid"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Zones"); sfApiQuery.setAction("StorageCenters"); sfApiQuery.addIds(zUrl); @@ -237,7 +245,7 @@ public ISFQuery> createMetadata(URI zUrl, String scid, A throw new InvalidOrMissingParameterException("metadata"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Zones"); sfApiQuery.setAction("StorageCenters"); sfApiQuery.addIds(zUrl); @@ -266,7 +274,7 @@ public ISFQuery deleteMetadata(URI zUrl, String scid, String name) throws Invali throw new InvalidOrMissingParameterException("name"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Zones"); sfApiQuery.setAction("StorageCenters"); sfApiQuery.addIds(zUrl); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFUsersEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFUsersEntity.java index 1a7bb50..565a2af 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFUsersEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFUsersEntity.java @@ -12,16 +12,25 @@ package com.citrix.sharefile.api.entities; -import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; -import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.entities.*; import com.citrix.sharefile.api.models.*; import com.citrix.sharefile.api.SFApiQuery; import com.citrix.sharefile.api.interfaces.ISFQuery; +import java.io.InputStream; +import java.util.ArrayList; import java.net.URI; +import java.util.Date; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; +import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; -public class SFUsersEntity extends SFODataEntityBase +public class SFUsersEntity extends SFEntitiesBase { public SFUsersEntity(ISFApiClient client) { super(client); @@ -42,7 +51,7 @@ public ISFQuery get(String id, String emailAddress) throws InvalidOrMiss throw new InvalidOrMissingParameterException("emailAddress"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.addQueryString("id", id); sfApiQuery.addQueryString("emailAddress", emailAddress); @@ -61,7 +70,7 @@ public ISFQuery get(String id) throws InvalidOrMissingParameterException throw new InvalidOrMissingParameterException("id"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.addQueryString("id", id); sfApiQuery.setHttpMethod("GET"); @@ -75,14 +84,75 @@ public ISFQuery get(String id) throws InvalidOrMissingParameterException */ public ISFQuery get() { - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setHttpMethod("GET"); return sfApiQuery; } /** - * Create Customer + * Create Client User + * { + * "Email":"user.one@domain.com", + * "FirstName":"Name", + * "LastName":"Last Name", + * "Company":"Company", + * "Password":"password", + * "Preferences": + * { + * "CanResetPassword":true, + * "CanViewMySettings":true + * }, + * "DefaultZone": + * { + * "Id":"zoneid" + * } + * } + * Creates a new Client User and associates it to an Account + * The following parameters from the input object are used: Email, FirstName, LastName, Company, + * DefaultZone, Password, Preferences.CanResetPassword and Preferences.CanViewMySettingsOther parameters are ignored + * @param user + * @param pushCreatorDefaultSettings (default: false) + * @param addshared (default: false) + * @param notify (default: false) + * @param ifNecessary (default: false) + * @param addPersonal (default: false) + * @return The new user + */ + public ISFQuery create(SFUser user, Boolean pushCreatorDefaultSettings, Boolean addshared, Boolean notify, Boolean ifNecessary, Boolean addPersonal) throws InvalidOrMissingParameterException { + if (user == null) { + throw new InvalidOrMissingParameterException("user"); + } + if (pushCreatorDefaultSettings == null) { + throw new InvalidOrMissingParameterException("pushCreatorDefaultSettings"); + } + if (addshared == null) { + throw new InvalidOrMissingParameterException("addshared"); + } + if (notify == null) { + throw new InvalidOrMissingParameterException("notify"); + } + if (ifNecessary == null) { + throw new InvalidOrMissingParameterException("ifNecessary"); + } + if (addPersonal == null) { + throw new InvalidOrMissingParameterException("addPersonal"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.addQueryString("pushCreatorDefaultSettings", pushCreatorDefaultSettings); + sfApiQuery.addQueryString("addshared", addshared); + sfApiQuery.addQueryString("notify", notify); + sfApiQuery.addQueryString("ifNecessary", ifNecessary); + sfApiQuery.addQueryString("addPersonal", addPersonal); + sfApiQuery.setBody(user); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + + /** + * Create Client User * { * "Email":"user.one@domain.com", * "FirstName":"Name", @@ -99,7 +169,7 @@ public ISFQuery get() { * "Id":"zoneid" * } * } - * Creates a new Customer User and associates it to an Account + * Creates a new Client User and associates it to an Account * The following parameters from the input object are used: Email, FirstName, LastName, Company, * DefaultZone, Password, Preferences.CanResetPassword and Preferences.CanViewMySettingsOther parameters are ignored * @param user @@ -126,7 +196,7 @@ public ISFQuery create(SFUser user, Boolean pushCreatorDefaultSettings, throw new InvalidOrMissingParameterException("ifNecessary"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.addQueryString("pushCreatorDefaultSettings", pushCreatorDefaultSettings); sfApiQuery.addQueryString("addshared", addshared); @@ -138,7 +208,7 @@ public ISFQuery create(SFUser user, Boolean pushCreatorDefaultSettings, } /** - * Create Customer + * Create Client User * { * "Email":"user.one@domain.com", * "FirstName":"Name", @@ -155,7 +225,7 @@ public ISFQuery create(SFUser user, Boolean pushCreatorDefaultSettings, * "Id":"zoneid" * } * } - * Creates a new Customer User and associates it to an Account + * Creates a new Client User and associates it to an Account * The following parameters from the input object are used: Email, FirstName, LastName, Company, * DefaultZone, Password, Preferences.CanResetPassword and Preferences.CanViewMySettingsOther parameters are ignored * @param user @@ -178,7 +248,7 @@ public ISFQuery create(SFUser user, Boolean pushCreatorDefaultSettings, throw new InvalidOrMissingParameterException("notify"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.addQueryString("pushCreatorDefaultSettings", pushCreatorDefaultSettings); sfApiQuery.addQueryString("addshared", addshared); @@ -189,7 +259,7 @@ public ISFQuery create(SFUser user, Boolean pushCreatorDefaultSettings, } /** - * Create Customer + * Create Client User * { * "Email":"user.one@domain.com", * "FirstName":"Name", @@ -206,7 +276,7 @@ public ISFQuery create(SFUser user, Boolean pushCreatorDefaultSettings, * "Id":"zoneid" * } * } - * Creates a new Customer User and associates it to an Account + * Creates a new Client User and associates it to an Account * The following parameters from the input object are used: Email, FirstName, LastName, Company, * DefaultZone, Password, Preferences.CanResetPassword and Preferences.CanViewMySettingsOther parameters are ignored * @param user @@ -225,7 +295,7 @@ public ISFQuery create(SFUser user, Boolean pushCreatorDefaultSettings, throw new InvalidOrMissingParameterException("addshared"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.addQueryString("pushCreatorDefaultSettings", pushCreatorDefaultSettings); sfApiQuery.addQueryString("addshared", addshared); @@ -235,7 +305,7 @@ public ISFQuery create(SFUser user, Boolean pushCreatorDefaultSettings, } /** - * Create Customer + * Create Client User * { * "Email":"user.one@domain.com", * "FirstName":"Name", @@ -252,7 +322,7 @@ public ISFQuery create(SFUser user, Boolean pushCreatorDefaultSettings, * "Id":"zoneid" * } * } - * Creates a new Customer User and associates it to an Account + * Creates a new Client User and associates it to an Account * The following parameters from the input object are used: Email, FirstName, LastName, Company, * DefaultZone, Password, Preferences.CanResetPassword and Preferences.CanViewMySettingsOther parameters are ignored * @param user @@ -267,7 +337,7 @@ public ISFQuery create(SFUser user, Boolean pushCreatorDefaultSettings) throw new InvalidOrMissingParameterException("pushCreatorDefaultSettings"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.addQueryString("pushCreatorDefaultSettings", pushCreatorDefaultSettings); sfApiQuery.setBody(user); @@ -276,7 +346,7 @@ public ISFQuery create(SFUser user, Boolean pushCreatorDefaultSettings) } /** - * Create Customer + * Create Client User * { * "Email":"user.one@domain.com", * "FirstName":"Name", @@ -293,7 +363,7 @@ public ISFQuery create(SFUser user, Boolean pushCreatorDefaultSettings) * "Id":"zoneid" * } * } - * Creates a new Customer User and associates it to an Account + * Creates a new Client User and associates it to an Account * The following parameters from the input object are used: Email, FirstName, LastName, Company, * DefaultZone, Password, Preferences.CanResetPassword and Preferences.CanViewMySettingsOther parameters are ignored * @param user @@ -304,7 +374,7 @@ public ISFQuery create(SFUser user) throws InvalidOrMissingParameterExce throw new InvalidOrMissingParameterException("user"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setBody(user); sfApiQuery.setHttpMethod("POST"); @@ -371,7 +441,7 @@ public ISFQuery createAccountUser(SFAccountUser user, Boolean pushCreato throw new InvalidOrMissingParameterException("ifNecessary"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("AccountUser"); sfApiQuery.addQueryString("pushCreatorDefaultSettings", pushCreatorDefaultSettings); @@ -439,7 +509,7 @@ public ISFQuery createAccountUser(SFAccountUser user, Boolean pushCreato throw new InvalidOrMissingParameterException("notify"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("AccountUser"); sfApiQuery.addQueryString("pushCreatorDefaultSettings", pushCreatorDefaultSettings); @@ -502,7 +572,7 @@ public ISFQuery createAccountUser(SFAccountUser user, Boolean pushCreato throw new InvalidOrMissingParameterException("addshared"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("AccountUser"); sfApiQuery.addQueryString("pushCreatorDefaultSettings", pushCreatorDefaultSettings); @@ -560,7 +630,7 @@ public ISFQuery createAccountUser(SFAccountUser user, Boolean pushCreato throw new InvalidOrMissingParameterException("pushCreatorDefaultSettings"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("AccountUser"); sfApiQuery.addQueryString("pushCreatorDefaultSettings", pushCreatorDefaultSettings); @@ -613,7 +683,7 @@ public ISFQuery createAccountUser(SFAccountUser user) throws InvalidOrMi throw new InvalidOrMissingParameterException("user"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("AccountUser"); sfApiQuery.setBody(user); @@ -652,7 +722,7 @@ public ISFQuery update(URI url, SFUser user) throws InvalidOrMissingPara throw new InvalidOrMissingParameterException("user"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.addIds(url); sfApiQuery.setBody(user); @@ -686,7 +756,7 @@ public ISFQuery updateRoles(URI parentUrl, SFUser user) throws InvalidOr throw new InvalidOrMissingParameterException("user"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("Roles"); sfApiQuery.addIds(parentUrl); @@ -721,7 +791,7 @@ public ISFQuery patchRoles(URI parentUrl, SFUser user) throws InvalidOrM throw new InvalidOrMissingParameterException("user"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("Roles"); sfApiQuery.addIds(parentUrl); @@ -763,7 +833,7 @@ public ISFQuery updateAccountUser(String id, SFAccountUser user) throws throw new InvalidOrMissingParameterException("user"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("AccountUser"); sfApiQuery.addActionIds(id); @@ -783,7 +853,7 @@ public ISFQuery getHomeFolder(URI url) throws InvalidOrMissingParameterE throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("HomeFolder"); sfApiQuery.addIds(url); @@ -796,12 +866,12 @@ public ISFQuery getHomeFolder(URI url) throws InvalidOrMissingParameterE * @param url * @return User's Top Folders */ - public ISFQuery> topFolders(URI url) throws InvalidOrMissingParameterException { + public ISFQuery> getTopFolders(URI url) throws InvalidOrMissingParameterException { if (url == null) { throw new InvalidOrMissingParameterException("url"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("TopFolders"); sfApiQuery.addIds(url); @@ -819,7 +889,7 @@ public ISFQuery> box(URI url) throws InvalidOrMissingParamet throw new InvalidOrMissingParameterException("url"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("Box"); sfApiQuery.addIds(url); @@ -837,7 +907,7 @@ public ISFQuery fileBox(URI url) throws InvalidOrMissingParameterExcepti throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("FileBox"); sfApiQuery.addIds(url); @@ -857,7 +927,7 @@ public ISFQuery getPreferences(URI url) throws InvalidOrMissi throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("Preferences"); sfApiQuery.addIds(url); @@ -885,7 +955,7 @@ public ISFQuery updatePreferences(URI parentUrl, SFUserPrefer throw new InvalidOrMissingParameterException("preferences"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("Preferences"); sfApiQuery.addIds(parentUrl); @@ -906,7 +976,7 @@ public ISFQuery getSecurity(URI url) throws InvalidOrMissingPara throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("Security"); sfApiQuery.addIds(url); @@ -942,7 +1012,7 @@ public ISFQuery resetPassword(URI url, SFODataObject properties, Boolean throw new InvalidOrMissingParameterException("notify"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("ResetPassword"); sfApiQuery.addIds(url); @@ -976,7 +1046,7 @@ public ISFQuery resetPassword(URI url, SFODataObject properties) throws throw new InvalidOrMissingParameterException("properties"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("ResetPassword"); sfApiQuery.addIds(url); @@ -999,7 +1069,7 @@ public ISFQuery forgotPassword(String email, Boolean resetOnMobile) throws Inval throw new InvalidOrMissingParameterException("resetOnMobile"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("ForgotPassword"); sfApiQuery.addQueryString("email", email); @@ -1018,7 +1088,7 @@ public ISFQuery forgotPassword(String email) throws InvalidOrMissingParameterExc throw new InvalidOrMissingParameterException("email"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("ForgotPassword"); sfApiQuery.addQueryString("email", email); @@ -1036,7 +1106,7 @@ public ISFQuery resendWelcome(URI url) throws InvalidOrMissingParameterException throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("ResendWelcome"); sfApiQuery.addIds(url); @@ -1058,7 +1128,7 @@ public ISFQuery delete(URI url, Boolean completely) throws InvalidOrMissingParam throw new InvalidOrMissingParameterException("completely"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.addIds(url); sfApiQuery.addQueryString("completely", completely); @@ -1076,7 +1146,7 @@ public ISFQuery delete(URI url) throws InvalidOrMissingParameterException { throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.addIds(url); sfApiQuery.setHttpMethod("DELETE"); @@ -1090,7 +1160,7 @@ public ISFQuery delete(URI url) throws InvalidOrMissingParameterException { */ public ISFQuery> getAllSharedFolders() { - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("AllSharedFolders"); sfApiQuery.setHttpMethod("GET"); @@ -1106,7 +1176,7 @@ public ISFQuery> getAllSharedFolders() { */ public ISFQuery> getTopFolders() { - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("TopFolders"); sfApiQuery.setHttpMethod("GET"); @@ -1120,7 +1190,7 @@ public ISFQuery> getTopFolders() { */ public ISFQuery> networkShareConnectors() { - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("NetworkShareConnectors"); sfApiQuery.setHttpMethod("GET"); @@ -1134,7 +1204,7 @@ public ISFQuery> networkShareConnectors() { */ public ISFQuery> sharepointConnectors() { - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("SharepointConnectors"); sfApiQuery.setHttpMethod("GET"); @@ -1148,6 +1218,8 @@ public ISFQuery> sharepointConnectors() { * "LastName":"", * "Company":"", * "Password":"", + * "SecurityQuestion":"", + * "SecurityQuestionAnswer":"", * "DayLightName":"", * "UTCOffset":"", * "DateFormat":"", @@ -1162,7 +1234,7 @@ public ISFQuery confirm(SFUserConfirmationSettings settings) throws InvalidOrMis throw new InvalidOrMissingParameterException("settings"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("Confirm"); sfApiQuery.setBody(settings); @@ -1176,7 +1248,7 @@ public ISFQuery confirm(SFUserConfirmationSettings settings) throws InvalidOrMis */ public ISFQuery getInfo() { - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("Info"); sfApiQuery.setHttpMethod("GET"); @@ -1193,7 +1265,7 @@ public ISFQuery deleteEmailAddress(String email) throws InvalidOrMissing throw new InvalidOrMissingParameterException("email"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("DeleteEmailAddress"); sfApiQuery.addQueryString("email", email); @@ -1211,7 +1283,7 @@ public ISFQuery makePrimary(String email) throws InvalidOrMissingParamet throw new InvalidOrMissingParameterException("email"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("MakePrimary"); sfApiQuery.addQueryString("email", email); @@ -1229,7 +1301,7 @@ public ISFQuery sendConfirmationEmail(String email) throws InvalidOrMissingParam throw new InvalidOrMissingParameterException("email"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("SendConfirmationEmail"); sfApiQuery.addQueryString("email", email); @@ -1243,7 +1315,7 @@ public ISFQuery sendConfirmationEmail(String email) throws InvalidOrMissingParam */ public ISFQuery webAppLink() { - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("WebAppLink"); sfApiQuery.setHttpMethod("POST"); @@ -1260,7 +1332,7 @@ public ISFQuery inboxMetadata(URI url) throws InvalidOrMissingP throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Users"); sfApiQuery.setAction("InboxMetadata"); sfApiQuery.addIds(url); @@ -1268,5 +1340,89 @@ public ISFQuery inboxMetadata(URI url) throws InvalidOrMissingP return sfApiQuery; } + /** + * Get Inbox for Recipient + * Retrieve all outstanding Shares in the inbox.User identifier + * @return List of Shares created by the authenticated user + */ + public ISFQuery> getInbox(URI url, SFSafeEnum type, Boolean archived) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (type == null) { + throw new InvalidOrMissingParameterException("type"); + } + if (archived == null) { + throw new InvalidOrMissingParameterException("archived"); + } + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.setAction("Inbox"); + sfApiQuery.addIds(url); + sfApiQuery.addQueryString("type", type); + sfApiQuery.addQueryString("archived", archived); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Get Inbox for Recipient + * Retrieve all outstanding Shares in the inbox.User identifier + * @return List of Shares created by the authenticated user + */ + public ISFQuery> getInbox(URI url, SFSafeEnum type) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (type == null) { + throw new InvalidOrMissingParameterException("type"); + } + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.setAction("Inbox"); + sfApiQuery.addIds(url); + sfApiQuery.addQueryString("type", type); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Get Inbox for Recipient + * Retrieve all outstanding Shares in the inbox.User identifier + * @return List of Shares created by the authenticated user + */ + public ISFQuery> getInbox(URI url) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.setAction("Inbox"); + sfApiQuery.addIds(url); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Get Sent Messages + * Returns sent messages for the given user.User identifier + * @return Feed of Shares + */ + public ISFQuery> sentMessages(URI url) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.setAction("SentMessages"); + sfApiQuery.addIds(url); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFZonesEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFZonesEntity.java index be97583..1d21b54 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFZonesEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFZonesEntity.java @@ -12,19 +12,25 @@ package com.citrix.sharefile.api.entities; -import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; -import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.entities.*; import com.citrix.sharefile.api.models.*; import com.citrix.sharefile.api.SFApiQuery; import com.citrix.sharefile.api.interfaces.ISFQuery; +import java.io.InputStream; import java.util.ArrayList; import java.net.URI; - +import java.util.Date; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; +import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; -public class SFZonesEntity extends SFODataEntityBase +public class SFZonesEntity extends SFEntitiesBase { public SFZonesEntity(ISFApiClient client) { super(client); @@ -47,7 +53,7 @@ public ISFQuery> get(SFSafeEnumFlags services throw new InvalidOrMissingParameterException("includeDisabled"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Zones"); sfApiQuery.addQueryString("services", services); sfApiQuery.addQueryString("includeDisabled", includeDisabled); @@ -68,7 +74,7 @@ public ISFQuery> get(SFSafeEnumFlags services throw new InvalidOrMissingParameterException("services"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Zones"); sfApiQuery.addQueryString("services", services); sfApiQuery.setHttpMethod("GET"); @@ -84,7 +90,7 @@ public ISFQuery> get(SFSafeEnumFlags services */ public ISFQuery> get() { - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Zones"); sfApiQuery.setHttpMethod("GET"); return sfApiQuery; @@ -105,7 +111,7 @@ public ISFQuery get(URI url, Boolean secret) throws InvalidOrMissingPara throw new InvalidOrMissingParameterException("secret"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Zones"); sfApiQuery.addIds(url); sfApiQuery.addQueryString("secret", secret); @@ -125,7 +131,7 @@ public ISFQuery get(URI url) throws InvalidOrMissingParameterException throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Zones"); sfApiQuery.addIds(url); sfApiQuery.setHttpMethod("GET"); @@ -147,7 +153,7 @@ public ISFQuery create(SFZone zone) throws InvalidOrMissingParameterExce throw new InvalidOrMissingParameterException("zone"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Zones"); sfApiQuery.setBody(zone); sfApiQuery.setHttpMethod("POST"); @@ -174,7 +180,7 @@ public ISFQuery update(URI url, SFZone zone) throws InvalidOrMissingPara throw new InvalidOrMissingParameterException("zone"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Zones"); sfApiQuery.addIds(url); sfApiQuery.setBody(zone); @@ -193,7 +199,7 @@ public ISFQuery delete(URI url, Boolean force, String newDefaultZoneId) throws I throw new InvalidOrMissingParameterException("newDefaultZoneId"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Zones"); sfApiQuery.addIds(url); sfApiQuery.addQueryString("force", force); @@ -210,7 +216,7 @@ public ISFQuery delete(URI url, Boolean force) throws InvalidOrMissingParameterE throw new InvalidOrMissingParameterException("force"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Zones"); sfApiQuery.addIds(url); sfApiQuery.addQueryString("force", force); @@ -223,7 +229,7 @@ public ISFQuery delete(URI url) throws InvalidOrMissingParameterException { throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Zones"); sfApiQuery.addIds(url); sfApiQuery.setHttpMethod("DELETE"); @@ -244,7 +250,7 @@ public ISFQuery resetSecret(URI url) throws InvalidOrMissingParameterExc throw new InvalidOrMissingParameterException("url"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Zones"); sfApiQuery.setAction("ResetSecret"); sfApiQuery.addIds(url); @@ -252,6 +258,105 @@ public ISFQuery resetSecret(URI url) throws InvalidOrMissingParameterExc return sfApiQuery; } + /** + * Get the tenants of a multi-tenant zone + * @param parentUrl + * @return List of tenant accounts, not including the zone admin account. + */ + public ISFQuery> getTenants(URI parentUrl) throws InvalidOrMissingParameterException { + if (parentUrl == null) { + throw new InvalidOrMissingParameterException("parentUrl"); + } + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Zones"); + sfApiQuery.setAction("Tenants"); + sfApiQuery.addIds(parentUrl); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Add a tenant account to a multi-tenant zone + * @param parentUrl + * @param accountId + */ + public ISFQuery createTenants(URI parentUrl, String accountId) throws InvalidOrMissingParameterException { + if (parentUrl == null) { + throw new InvalidOrMissingParameterException("parentUrl"); + } + if (accountId == null) { + throw new InvalidOrMissingParameterException("accountId"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Zones"); + sfApiQuery.setAction("Tenants"); + sfApiQuery.addIds(parentUrl); + sfApiQuery.addQueryString("accountId", accountId); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + + /** + * Remove a tenant from a multi-tenant zone + * @param parentUrl + * @param id + * @param newDefaultZoneId + * @param expireItems (default: false) + */ + public ISFQuery deleteTenants(URI parentUrl, String id, String newDefaultZoneId, Boolean expireItems) throws InvalidOrMissingParameterException { + if (parentUrl == null) { + throw new InvalidOrMissingParameterException("parentUrl"); + } + if (id == null) { + throw new InvalidOrMissingParameterException("id"); + } + if (newDefaultZoneId == null) { + throw new InvalidOrMissingParameterException("newDefaultZoneId"); + } + if (expireItems == null) { + throw new InvalidOrMissingParameterException("expireItems"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Zones"); + sfApiQuery.setAction("Tenants"); + sfApiQuery.addIds(parentUrl); + sfApiQuery.addActionIds(id); + sfApiQuery.addQueryString("newDefaultZoneId", newDefaultZoneId); + sfApiQuery.addQueryString("expireItems", expireItems); + sfApiQuery.setHttpMethod("DELETE"); + return sfApiQuery; + } + + /** + * Remove a tenant from a multi-tenant zone + * @param parentUrl + * @param id + * @param newDefaultZoneId + */ + public ISFQuery deleteTenants(URI parentUrl, String id, String newDefaultZoneId) throws InvalidOrMissingParameterException { + if (parentUrl == null) { + throw new InvalidOrMissingParameterException("parentUrl"); + } + if (id == null) { + throw new InvalidOrMissingParameterException("id"); + } + if (newDefaultZoneId == null) { + throw new InvalidOrMissingParameterException("newDefaultZoneId"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Zones"); + sfApiQuery.setAction("Tenants"); + sfApiQuery.addIds(parentUrl); + sfApiQuery.addActionIds(id); + sfApiQuery.addQueryString("newDefaultZoneId", newDefaultZoneId); + sfApiQuery.setHttpMethod("DELETE"); + return sfApiQuery; + } + /** * Get Zone Metadata * Gets metadata associated with the specified zone @@ -263,7 +368,7 @@ public ISFQuery> getMetadata(URI url) throws InvalidOrMi throw new InvalidOrMissingParameterException("url"); } - SFApiQuery> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Zones"); sfApiQuery.setAction("Metadata"); sfApiQuery.addIds(url); @@ -291,7 +396,7 @@ public ISFQuery> createMetadata(URI url, ArrayList> sfApiQuery = new SFApiQuery>(this.apiClient); + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Zones"); sfApiQuery.setAction("Metadata"); sfApiQuery.addIds(url); @@ -315,7 +420,7 @@ public ISFQuery deleteMetadata(URI url, String name) throws InvalidOrMissingPara throw new InvalidOrMissingParameterException("name"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.apiClient); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Zones"); sfApiQuery.setAction("Metadata"); sfApiQuery.addIds(url); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlBulkResult.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlBulkResult.java new file mode 100644 index 0000000..730ea83 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlBulkResult.java @@ -0,0 +1,61 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFAccessControlBulkResult extends SFODataObject { + + @SerializedName("SuccessEntities") + private ArrayList SuccessEntities; + @SerializedName("FailedEntities") + private ArrayList FailedEntities; + + /** + * A list of entities processed successfully + */ + public ArrayList getSuccessEntities() { + return this.SuccessEntities; + } + + /** + * A list of entities processed successfully + */ + public void setSuccessEntities(ArrayList successentities) { + this.SuccessEntities = successentities; + } + /** + * A list of entities for which the operation failed + */ + public ArrayList getFailedEntities() { + return this.FailedEntities; + } + + /** + * A list of entities for which the operation failed + */ + public void setFailedEntities(ArrayList failedentities) { + this.FailedEntities = failedentities; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlFailedEntry.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlFailedEntry.java new file mode 100644 index 0000000..ecd1b28 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlFailedEntry.java @@ -0,0 +1,76 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFAccessControlFailedEntry extends SFODataObject { + + @SerializedName("AccessControl") + private SFAccessControl AccessControl; + @SerializedName("Code") + private String Code; + @SerializedName("Message") + private SFODataExceptionMessage Message; + + /** + * Entity + */ + public SFAccessControl getAccessControl() { + return this.AccessControl; + } + + /** + * Entity + */ + public void setAccessControl(SFAccessControl accesscontrol) { + this.AccessControl = accesscontrol; + } + /** + * Failure code + */ + public String getCode() { + return this.Code; + } + + /** + * Failure code + */ + public void setCode(String code) { + this.Code = code; + } + /** + * Exception message + */ + public SFODataExceptionMessage getMessage() { + return this.Message; + } + + /** + * Exception message + */ + public void setMessage(SFODataExceptionMessage message) { + this.Message = message; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccount.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccount.java index 4a38f01..1732828 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccount.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccount.java @@ -176,6 +176,8 @@ public class SFAccount extends SFODataObject { private ArrayList ToolInformation; @SerializedName("BillingInformation") private SFBillingInfo BillingInformation; + @SerializedName("AccountSubType") + private SFSafeEnum AccountSubType; public String getCompanyName() { return this.CompanyName; @@ -700,17 +702,29 @@ public SFProductDefaults getProductDefaults() { public void setProductDefaults(SFProductDefaults productdefaults) { this.ProductDefaults = productdefaults; } + /** + * Primary (first) subdomain + */ public String getSubdomain() { return this.Subdomain; } + /** + * Primary (first) subdomain + */ public void setSubdomain(String subdomain) { this.Subdomain = subdomain; } + /** + * All subdomains assigned to account + */ public ArrayList getSubdomains() { return this.Subdomains; } + /** + * All subdomains assigned to account + */ public void setSubdomains(ArrayList subdomains) { this.Subdomains = subdomains; } @@ -798,5 +812,12 @@ public SFBillingInfo getBillingInformation() { public void setBillingInformation(SFBillingInfo billinginformation) { this.BillingInformation = billinginformation; } + public SFSafeEnum getAccountSubType() { + return this.AccountSubType; + } + + public void setAccountSubType(SFSafeEnum accountsubtype) { + this.AccountSubType = accountsubtype; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountPreferences.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountPreferences.java index 72d17ff..cbed047 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountPreferences.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountPreferences.java @@ -158,10 +158,14 @@ public class SFAccountPreferences extends SFODataObject { private String AllowedSpecialCharacters; @SerializedName("EnableWebDAV") private Boolean EnableWebDAV; + @SerializedName("WebDAVServerName") + private String WebDAVServerName; @SerializedName("EnableFTP") private Boolean EnableFTP; @SerializedName("EnableSFTP") private Boolean EnableSFTP; + @SerializedName("FtpServerName") + private String FtpServerName; @SerializedName("DisableMarketing") private Boolean DisableMarketing; @SerializedName("VDRDocViewerURL") @@ -172,8 +176,6 @@ public class SFAccountPreferences extends SFODataObject { private Boolean EnablePersonalCloudConnectors; @SerializedName("AccountID") private String AccountID; - @SerializedName("EnableGetApp") - private Boolean EnableGetApp; @SerializedName("EnableStorageZoneConnector") private Boolean EnableStorageZoneConnector; @SerializedName("HasAnyConnectorZones") @@ -192,6 +194,8 @@ public class SFAccountPreferences extends SFODataObject { private Integer ENSMaxNotificationSyncWaitCount; @SerializedName("TrustedDomains") private String TrustedDomains; + @SerializedName("UseWebPopAsWebAppLogin") + private Boolean UseWebPopAsWebAppLogin; @SerializedName("EnableReportingV3") private Boolean EnableReportingV3; @SerializedName("EnableEncryptedEmailForOutlookPlugin") @@ -210,6 +214,8 @@ public class SFAccountPreferences extends SFODataObject { private Boolean IsPremier; @SerializedName("DisableShareConnectForAccount") private Boolean DisableShareConnectForAccount; + @SerializedName("DisablePrintToShareFile") + private Boolean DisablePrintToShareFile; @SerializedName("EnableWebAppConnectorBrowsing") private Boolean EnableWebAppConnectorBrowsing; @SerializedName("EnableStrictCrossdomainPolicy") @@ -222,6 +228,10 @@ public class SFAccountPreferences extends SFODataObject { private Boolean EnableAntiVirus; @SerializedName("EnableFileLocking") private Boolean EnableFileLocking; + @SerializedName("DisableWebAppAccess") + private Boolean DisableWebAppAccess; + @SerializedName("EnableCWC") + private Boolean EnableCWC; @SerializedName("EnableIntegrations") private Boolean EnableIntegrations; @SerializedName("IntegrationProviders") @@ -230,14 +240,54 @@ public class SFAccountPreferences extends SFODataObject { private Boolean EnableBouncedEmailNotifications; @SerializedName("ShowDownloadLinkInUploadNotification") private Boolean ShowDownloadLinkInUploadNotification; + @SerializedName("AllowDownloadNotificationsWithoutAdmin") + private Boolean AllowDownloadNotificationsWithoutAdmin; @SerializedName("EnableUserInvitations") private Boolean EnableUserInvitations; @SerializedName("EnableClickTrails") private Boolean EnableClickTrails; + @SerializedName("EnableFolderTemplates") + private Boolean EnableFolderTemplates; + @SerializedName("EnableFileDrops") + private Boolean EnableFileDrops; + @SerializedName("SpamEmailThreshold") + private Integer SpamEmailThreshold; + @SerializedName("EnableExternalEmailArchiving") + private Boolean EnableExternalEmailArchiving; + @SerializedName("CreatorCanDelete") + private Boolean CreatorCanDelete; @SerializedName("CanStoreItemsInShareFile") private Boolean CanStoreItemsInShareFile; @SerializedName("EnableHomeFolders") private Boolean EnableHomeFolders; + @SerializedName("EnableCustomBrandingUsesS3") + private Boolean EnableCustomBrandingUsesS3; + @SerializedName("EnablePromotions") + private Boolean EnablePromotions; + @SerializedName("CanCreateMultiTenantZones") + private Boolean CanCreateMultiTenantZones; + @SerializedName("EnableDLP") + private Boolean EnableDLP; + @SerializedName("EnableOfficeOnlinePreviews") + private Boolean EnableOfficeOnlinePreviews; + @SerializedName("EnableOfficeOnlineEditing") + private Boolean EnableOfficeOnlineEditing; + @SerializedName("RecycleBinDays") + private Integer RecycleBinDays; + @SerializedName("SyncConcurrentTransferThreadsLimit") + private Integer SyncConcurrentTransferThreadsLimit; + @SerializedName("HasPHI") + private Boolean HasPHI; + @SerializedName("EnableCitrixManagedStorageZones") + private Boolean EnableCitrixManagedStorageZones; + @SerializedName("PrimaryStorageBasePath") + private String PrimaryStorageBasePath; + @SerializedName("EnableSharingConnectorItems") + private Boolean EnableSharingConnectorItems; + @SerializedName("EnableSingleIdentity") + private Boolean EnableSingleIdentity; + @SerializedName("EnableDriveMapping") + private Boolean EnableDriveMapping; public Boolean getEnableViewOnly() { return this.EnableViewOnly; @@ -701,6 +751,13 @@ public Boolean getEnableWebDAV() { public void setEnableWebDAV(Boolean enablewebdav) { this.EnableWebDAV = enablewebdav; } + public String getWebDAVServerName() { + return this.WebDAVServerName; + } + + public void setWebDAVServerName(String webdavservername) { + this.WebDAVServerName = webdavservername; + } public Boolean getEnableFTP() { return this.EnableFTP; } @@ -715,6 +772,13 @@ public Boolean getEnableSFTP() { public void setEnableSFTP(Boolean enablesftp) { this.EnableSFTP = enablesftp; } + public String getFtpServerName() { + return this.FtpServerName; + } + + public void setFtpServerName(String ftpservername) { + this.FtpServerName = ftpservername; + } public Boolean getDisableMarketing() { return this.DisableMarketing; } @@ -750,13 +814,6 @@ public String getAccountID() { public void setAccountID(String accountid) { this.AccountID = accountid; } - public Boolean getEnableGetApp() { - return this.EnableGetApp; - } - - public void setEnableGetApp(Boolean enablegetapp) { - this.EnableGetApp = enablegetapp; - } public Boolean getEnableStorageZoneConnector() { return this.EnableStorageZoneConnector; } @@ -820,6 +877,13 @@ public String getTrustedDomains() { public void setTrustedDomains(String trusteddomains) { this.TrustedDomains = trusteddomains; } + public Boolean getUseWebPopAsWebAppLogin() { + return this.UseWebPopAsWebAppLogin; + } + + public void setUseWebPopAsWebAppLogin(Boolean usewebpopaswebapplogin) { + this.UseWebPopAsWebAppLogin = usewebpopaswebapplogin; + } public Boolean getEnableReportingV3() { return this.EnableReportingV3; } @@ -883,6 +947,13 @@ public Boolean getDisableShareConnectForAccount() { public void setDisableShareConnectForAccount(Boolean disableshareconnectforaccount) { this.DisableShareConnectForAccount = disableshareconnectforaccount; } + public Boolean getDisablePrintToShareFile() { + return this.DisablePrintToShareFile; + } + + public void setDisablePrintToShareFile(Boolean disableprinttosharefile) { + this.DisablePrintToShareFile = disableprinttosharefile; + } public Boolean getEnableWebAppConnectorBrowsing() { return this.EnableWebAppConnectorBrowsing; } @@ -925,6 +996,20 @@ public Boolean getEnableFileLocking() { public void setEnableFileLocking(Boolean enablefilelocking) { this.EnableFileLocking = enablefilelocking; } + public Boolean getDisableWebAppAccess() { + return this.DisableWebAppAccess; + } + + public void setDisableWebAppAccess(Boolean disablewebappaccess) { + this.DisableWebAppAccess = disablewebappaccess; + } + public Boolean getEnableCWC() { + return this.EnableCWC; + } + + public void setEnableCWC(Boolean enablecwc) { + this.EnableCWC = enablecwc; + } public Boolean getEnableIntegrations() { return this.EnableIntegrations; } @@ -953,6 +1038,13 @@ public Boolean getShowDownloadLinkInUploadNotification() { public void setShowDownloadLinkInUploadNotification(Boolean showdownloadlinkinuploadnotification) { this.ShowDownloadLinkInUploadNotification = showdownloadlinkinuploadnotification; } + public Boolean getAllowDownloadNotificationsWithoutAdmin() { + return this.AllowDownloadNotificationsWithoutAdmin; + } + + public void setAllowDownloadNotificationsWithoutAdmin(Boolean allowdownloadnotificationswithoutadmin) { + this.AllowDownloadNotificationsWithoutAdmin = allowdownloadnotificationswithoutadmin; + } public Boolean getEnableUserInvitations() { return this.EnableUserInvitations; } @@ -967,6 +1059,41 @@ public Boolean getEnableClickTrails() { public void setEnableClickTrails(Boolean enableclicktrails) { this.EnableClickTrails = enableclicktrails; } + public Boolean getEnableFolderTemplates() { + return this.EnableFolderTemplates; + } + + public void setEnableFolderTemplates(Boolean enablefoldertemplates) { + this.EnableFolderTemplates = enablefoldertemplates; + } + public Boolean getEnableFileDrops() { + return this.EnableFileDrops; + } + + public void setEnableFileDrops(Boolean enablefiledrops) { + this.EnableFileDrops = enablefiledrops; + } + public Integer getSpamEmailThreshold() { + return this.SpamEmailThreshold; + } + + public void setSpamEmailThreshold(Integer spamemailthreshold) { + this.SpamEmailThreshold = spamemailthreshold; + } + public Boolean getEnableExternalEmailArchiving() { + return this.EnableExternalEmailArchiving; + } + + public void setEnableExternalEmailArchiving(Boolean enableexternalemailarchiving) { + this.EnableExternalEmailArchiving = enableexternalemailarchiving; + } + public Boolean getCreatorCanDelete() { + return this.CreatorCanDelete; + } + + public void setCreatorCanDelete(Boolean creatorcandelete) { + this.CreatorCanDelete = creatorcandelete; + } public Boolean getCanStoreItemsInShareFile() { return this.CanStoreItemsInShareFile; } @@ -981,5 +1108,103 @@ public Boolean getEnableHomeFolders() { public void setEnableHomeFolders(Boolean enablehomefolders) { this.EnableHomeFolders = enablehomefolders; } + public Boolean getEnableCustomBrandingUsesS3() { + return this.EnableCustomBrandingUsesS3; + } + + public void setEnableCustomBrandingUsesS3(Boolean enablecustombrandingusess3) { + this.EnableCustomBrandingUsesS3 = enablecustombrandingusess3; + } + public Boolean getEnablePromotions() { + return this.EnablePromotions; + } + + public void setEnablePromotions(Boolean enablepromotions) { + this.EnablePromotions = enablepromotions; + } + public Boolean getCanCreateMultiTenantZones() { + return this.CanCreateMultiTenantZones; + } + + public void setCanCreateMultiTenantZones(Boolean cancreatemultitenantzones) { + this.CanCreateMultiTenantZones = cancreatemultitenantzones; + } + public Boolean getEnableDLP() { + return this.EnableDLP; + } + + public void setEnableDLP(Boolean enabledlp) { + this.EnableDLP = enabledlp; + } + public Boolean getEnableOfficeOnlinePreviews() { + return this.EnableOfficeOnlinePreviews; + } + + public void setEnableOfficeOnlinePreviews(Boolean enableofficeonlinepreviews) { + this.EnableOfficeOnlinePreviews = enableofficeonlinepreviews; + } + public Boolean getEnableOfficeOnlineEditing() { + return this.EnableOfficeOnlineEditing; + } + + public void setEnableOfficeOnlineEditing(Boolean enableofficeonlineediting) { + this.EnableOfficeOnlineEditing = enableofficeonlineediting; + } + public Integer getRecycleBinDays() { + return this.RecycleBinDays; + } + + public void setRecycleBinDays(Integer recyclebindays) { + this.RecycleBinDays = recyclebindays; + } + public Integer getSyncConcurrentTransferThreadsLimit() { + return this.SyncConcurrentTransferThreadsLimit; + } + + public void setSyncConcurrentTransferThreadsLimit(Integer syncconcurrenttransferthreadslimit) { + this.SyncConcurrentTransferThreadsLimit = syncconcurrenttransferthreadslimit; + } + public Boolean getHasPHI() { + return this.HasPHI; + } + + public void setHasPHI(Boolean hasphi) { + this.HasPHI = hasphi; + } + public Boolean getEnableCitrixManagedStorageZones() { + return this.EnableCitrixManagedStorageZones; + } + + public void setEnableCitrixManagedStorageZones(Boolean enablecitrixmanagedstoragezones) { + this.EnableCitrixManagedStorageZones = enablecitrixmanagedstoragezones; + } + public String getPrimaryStorageBasePath() { + return this.PrimaryStorageBasePath; + } + + public void setPrimaryStorageBasePath(String primarystoragebasepath) { + this.PrimaryStorageBasePath = primarystoragebasepath; + } + public Boolean getEnableSharingConnectorItems() { + return this.EnableSharingConnectorItems; + } + + public void setEnableSharingConnectorItems(Boolean enablesharingconnectoritems) { + this.EnableSharingConnectorItems = enablesharingconnectoritems; + } + public Boolean getEnableSingleIdentity() { + return this.EnableSingleIdentity; + } + + public void setEnableSingleIdentity(Boolean enablesingleidentity) { + this.EnableSingleIdentity = enablesingleidentity; + } + public Boolean getEnableDriveMapping() { + return this.EnableDriveMapping; + } + + public void setEnableDriveMapping(Boolean enabledrivemapping) { + this.EnableDriveMapping = enabledrivemapping; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAppStore.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountSubType.java similarity index 71% rename from ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAppStore.java rename to ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountSubType.java index 8244b11..59e0da1 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAppStore.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountSubType.java @@ -6,22 +6,18 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2014 Citrix ShareFile. All rights reserved. +// Copyright (c) 2015 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ package com.citrix.sharefile.api.models; - -import java.io.InputStream; -import java.util.ArrayList; -import java.net.URI; -import java.util.Date; import com.google.gson.annotations.SerializedName; import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; -public enum SFAppStore { - iOS, - Android, - Web +public enum SFAccountSubType { + None, + Partner, + Tenant } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountZoneUsage.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountZoneUsage.java new file mode 100644 index 0000000..47bed3c --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountZoneUsage.java @@ -0,0 +1,67 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFAccountZoneUsage extends SFODataObject { + + @SerializedName("TotalFileSizeBytes") + private Long TotalFileSizeBytes; + @SerializedName("Zone") + private SFZone Zone; + @SerializedName("RootFolderCount") + private Long RootFolderCount; + @SerializedName("FileCount") + private Long FileCount; + + public Long getTotalFileSizeBytes() { + return this.TotalFileSizeBytes; + } + + public void setTotalFileSizeBytes(Long totalfilesizebytes) { + this.TotalFileSizeBytes = totalfilesizebytes; + } + public SFZone getZone() { + return this.Zone; + } + + public void setZone(SFZone zone) { + this.Zone = zone; + } + public Long getRootFolderCount() { + return this.RootFolderCount; + } + + public void setRootFolderCount(Long rootfoldercount) { + this.RootFolderCount = rootfoldercount; + } + public Long getFileCount() { + return this.FileCount; + } + + public void setFileCount(Long filecount) { + this.FileCount = filecount; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAppCodes.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAppCodes.java deleted file mode 100644 index ab9008a..0000000 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAppCodes.java +++ /dev/null @@ -1,58 +0,0 @@ - -// ------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -// Copyright (c) 2014 Citrix ShareFile. All rights reserved. -// -// ------------------------------------------------------------------------------ - -package com.citrix.sharefile.api.models; - -import java.io.InputStream; -import java.util.ArrayList; -import java.net.URI; -import java.util.Date; - -import com.google.gson.annotations.SerializedName; -import com.citrix.sharefile.api.enumerations.SFSafeEnum; - -public enum SFAppCodes { - _None, - AirWidget, - Sync2Win, - Sync2Mac, - AirSyncWin, - AirSyncMac, - AirSyncMacLegacy, - AirEntSync, - SFCLI, - OutlookPlugin, - SFAndroid, - SFAndroidPhone, - SFAndroidTablet, - SFiOS, - SFiPad, - SFiPhone, - SFBlackberry, - SFWinPhone, - SFWinRT, - DriveMapping, - MobileSite, - WebDav, - Fmd4Win, - Fmd4Mac, - Fmd, - SFiPad_MDM, - SFiPhone_MDM, - SFiOS_MDM, - SFAndroidPhone_MDM, - SFAndroidTablet_MDM, - SFAndroid_MDM, - ThirdParty, - SF_FTP, - SF_SFTP -} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAzureSBTopicsEndPointInfo.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAzureSBTopicsEndPointInfo.java deleted file mode 100644 index 457ebbb..0000000 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAzureSBTopicsEndPointInfo.java +++ /dev/null @@ -1,57 +0,0 @@ - -// ------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -// Copyright (c) 2014 Citrix ShareFile. All rights reserved. -// -// ------------------------------------------------------------------------------ - -package com.citrix.sharefile.api.models; - -import java.io.InputStream; -import java.util.ArrayList; -import java.net.URI; -import java.util.Date; -import java.util.Map; -import java.util.HashMap; - -import com.google.gson.annotations.SerializedName; -import com.citrix.sharefile.api.enumerations.SFSafeEnum; -import com.citrix.sharefile.api.models.*; - -public class SFAzureSBTopicsEndPointInfo extends SFODataObject { - - @SerializedName("Key") - private String Key; - @SerializedName("Secret") - private String Secret; - @SerializedName("EndPoint") - private String EndPoint; - - public String getKey() { - return this.Key; - } - - public void setKey(String key) { - this.Key = key; - } - public String getSecret() { - return this.Secret; - } - - public void setSecret(String secret) { - this.Secret = secret; - } - public String getEndPoint() { - return this.EndPoint; - } - - public void setEndPoint(String endpoint) { - this.EndPoint = endpoint; - } - -} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBilling.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBilling.java deleted file mode 100644 index 6a8ec8f..0000000 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBilling.java +++ /dev/null @@ -1,66 +0,0 @@ - -// ------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. -// -// ------------------------------------------------------------------------------ - -package com.citrix.sharefile.api.models; - -import java.io.InputStream; -import java.util.ArrayList; -import java.net.URI; -import java.util.Date; -import java.util.Map; -import java.util.HashMap; - -import com.google.gson.annotations.SerializedName; -import com.citrix.sharefile.api.enumerations.SFSafeEnum; -import com.citrix.sharefile.api.models.*; - -public class SFBilling extends SFODataObject { - - @SerializedName("TotalBillingAmount") - private Double TotalBillingAmount; - @SerializedName("GrossBillingAmount") - private Double GrossBillingAmount; - @SerializedName("BillingCycle") - private String BillingCycle; - @SerializedName("AccountID") - private String AccountID; - - public Double getTotalBillingAmount() { - return this.TotalBillingAmount; - } - - public void setTotalBillingAmount(Double totalbillingamount) { - this.TotalBillingAmount = totalbillingamount; - } - public Double getGrossBillingAmount() { - return this.GrossBillingAmount; - } - - public void setGrossBillingAmount(Double grossbillingamount) { - this.GrossBillingAmount = grossbillingamount; - } - public String getBillingCycle() { - return this.BillingCycle; - } - - public void setBillingCycle(String billingcycle) { - this.BillingCycle = billingcycle; - } - public String getAccountID() { - return this.AccountID; - } - - public void setAccountID(String accountid) { - this.AccountID = accountid; - } - -} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCapabilityName.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCapabilityName.java index 3e0f271..7ea89f4 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCapabilityName.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCapabilityName.java @@ -49,5 +49,17 @@ public enum SFCapabilityName { UploadWithRequestParams, SoftLock, HardLock, - DownloadByStream + DownloadByStream, + BulkDelete, + BulkDownload, + FolderDownload, + FolderSend, + SendByStream, + SharingRequest, + SharingSend, + AnonymousSharingRequest, + AnonymousSharingSend, + Copy, + Move, + UnZipFileUploads } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContact.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContact.java index 1a571e7..c5c28e5 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContact.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContact.java @@ -40,6 +40,8 @@ public class SFContact extends SFPrincipal { private String EmailShort; @SerializedName("IsConfirmed") private Boolean IsConfirmed; + @SerializedName("Count") + private Integer Count; public SFUser getUser() { return this.User; @@ -90,5 +92,12 @@ public Boolean getIsConfirmed() { public void setIsConfirmed(Boolean isconfirmed) { this.IsConfirmed = isconfirmed; } + public Integer getCount() { + return this.Count; + } + + public void setCount(Integer count) { + this.Count = count; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDevice.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDevice.java index a810e87..69da980 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDevice.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDevice.java @@ -38,6 +38,8 @@ public class SFDevice extends SFODataObject { private String ToolVersion; @SerializedName("JustRegistered") private Boolean JustRegistered; + @SerializedName("IsRemoteWipeReady") + private Boolean IsRemoteWipeReady; public SFSafeEnum getTool() { return this.Tool; @@ -81,5 +83,12 @@ public Boolean getJustRegistered() { public void setJustRegistered(Boolean justregistered) { this.JustRegistered = justregistered; } + public Boolean getIsRemoteWipeReady() { + return this.IsRemoteWipeReady; + } + + public void setIsRemoteWipeReady(Boolean isremotewipeready) { + this.IsRemoteWipeReady = isremotewipeready; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDlpStatus.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDlpStatus.java index c417d8b..e9d1060 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDlpStatus.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDlpStatus.java @@ -11,6 +11,10 @@ // ------------------------------------------------------------------------------ package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; public enum SFDlpStatus { Unscanned, diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBillingCycleMonths.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDocumentViewerPrinting.java similarity index 70% rename from ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBillingCycleMonths.java rename to ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDocumentViewerPrinting.java index a927897..ad4a44f 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBillingCycleMonths.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDocumentViewerPrinting.java @@ -6,22 +6,18 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2014 Citrix ShareFile. All rights reserved. +// Copyright (c) 2015 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ package com.citrix.sharefile.api.models; - -import java.io.InputStream; -import java.util.ArrayList; -import java.net.URI; -import java.util.Date; import com.google.gson.annotations.SerializedName; import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; -public enum SFBillingCycleMonths { - Month, - Quarter, - Year +public enum SFDocumentViewerPrinting { + Default, + Enabled, + Disabled } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDownloadSpecification.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDownloadSpecification.java index bd67697..953bda1 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDownloadSpecification.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDownloadSpecification.java @@ -34,6 +34,8 @@ public class SFDownloadSpecification extends SFODataObject { private URI DownloadUrl; @SerializedName("DownloadPrepStartURL") private URI DownloadPrepStartURL; + @SerializedName("DownloadPrepStatusURL") + private URI DownloadPrepStatusURL; public String getDownloadToken() { return this.DownloadToken; @@ -63,5 +65,12 @@ public URI getDownloadPrepStartURL() { public void setDownloadPrepStartURL(URI downloadprepstarturl) { this.DownloadPrepStartURL = downloadprepstarturl; } + public URI getDownloadPrepStatusURL() { + return this.DownloadPrepStatusURL; + } + + public void setDownloadPrepStatusURL(URI downloadprepstatusurl) { + this.DownloadPrepStatusURL = downloadprepstatusurl; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOAuthState.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEditingPlatform.java similarity index 69% rename from ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOAuthState.java rename to ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEditingPlatform.java index 8d4afd5..2f0d373 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOAuthState.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEditingPlatform.java @@ -6,22 +6,16 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2014 Citrix ShareFile. All rights reserved. +// Copyright (c) 2015 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ package com.citrix.sharefile.api.models; - -import java.io.InputStream; -import java.util.ArrayList; -import java.net.URI; -import java.util.Date; import com.google.gson.annotations.SerializedName; import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; -public enum SFOAuthState { - Inactive, - Authorized, - Revoked +public enum SFEditingPlatform { + MicrosoftOfficeOnline } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEditingPlatformInfo.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEditingPlatformInfo.java new file mode 100644 index 0000000..47a7ec4 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEditingPlatformInfo.java @@ -0,0 +1,49 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFEditingPlatformInfo extends SFODataObject { + + @SerializedName("EditingPlatform") + private SFSafeEnum EditingPlatform; + @SerializedName("ItemProtocolLink") + private SFItemProtocolLink ItemProtocolLink; + + public SFSafeEnum getEditingPlatform() { + return this.EditingPlatform; + } + + public void setEditingPlatform(SFSafeEnum editingplatform) { + this.EditingPlatform = editingplatform; + } + public SFItemProtocolLink getItemProtocolLink() { + return this.ItemProtocolLink; + } + + public void setItemProtocolLink(SFItemProtocolLink itemprotocollink) { + this.ItemProtocolLink = itemprotocollink; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMobileUserRole.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsDeviceEventType.java similarity index 69% rename from ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMobileUserRole.java rename to ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsDeviceEventType.java index 640315c..89ea972 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMobileUserRole.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsDeviceEventType.java @@ -6,22 +6,17 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2014 Citrix ShareFile. All rights reserved. +// Copyright (c) 2015 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ package com.citrix.sharefile.api.models; - -import java.io.InputStream; -import java.util.ArrayList; -import java.net.URI; -import java.util.Date; import com.google.gson.annotations.SerializedName; import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; -public enum SFMobileUserRole { - SingleUser, - TeamUser, - TeamAdmin +public enum SFEnsDeviceEventType { + None, + RemoteWipe } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEntityTypeMap.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEntityTypeMap.java index c6e0bce..ccedc1f 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEntityTypeMap.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEntityTypeMap.java @@ -28,16 +28,42 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("AccessControlsBulkParamss", SFAccessControlsBulkParams.class); _entityTypeMap.put("AccessControlParam", SFAccessControlParam.class); _entityTypeMap.put("AccessControlParams", SFAccessControlParam.class); + _entityTypeMap.put("EditingPlatformInfo", SFEditingPlatformInfo.class); + _entityTypeMap.put("EditingPlatformInfos", SFEditingPlatformInfo.class); + _entityTypeMap.put("NotifyUsersParams", SFNotifyUsersParams.class); + _entityTypeMap.put("NotifyUsersParamss", SFNotifyUsersParams.class); + _entityTypeMap.put("RemoteUpload", SFRemoteUpload.class); + _entityTypeMap.put("RemoteUploads", SFRemoteUpload.class); + _entityTypeMap.put("AccountZoneUsage", SFAccountZoneUsage.class); + _entityTypeMap.put("AccountZoneUsages", SFAccountZoneUsage.class); + _entityTypeMap.put("AccessControlBulkResult", SFAccessControlBulkResult.class); + _entityTypeMap.put("AccessControlBulkResults", SFAccessControlBulkResult.class); + _entityTypeMap.put("AccessControlFailedEntry", SFAccessControlFailedEntry.class); + _entityTypeMap.put("AccessControlFailedEntrys", SFAccessControlFailedEntry.class); + _entityTypeMap.put("ItemDlpInfo", SFItemDlpInfo.class); + _entityTypeMap.put("ItemDlpInfos", SFItemDlpInfo.class); + _entityTypeMap.put("ShareItemHistory", SFShareItemHistory.class); + _entityTypeMap.put("ShareItemHistorys", SFShareItemHistory.class); _entityTypeMap.put("InboxMetadata", SFInboxMetadata.class); _entityTypeMap.put("InboxMetadatas", SFInboxMetadata.class); _entityTypeMap.put("FolderTemplate", SFFolderTemplate.class); _entityTypeMap.put("FolderTemplates", SFFolderTemplate.class); _entityTypeMap.put("FolderTemplateItem", SFFolderTemplateItem.class); _entityTypeMap.put("FolderTemplateItems", SFFolderTemplateItem.class); + _entityTypeMap.put("ShareSettings", SFShareSettings.class); + _entityTypeMap.put("ShareSettingss", SFShareSettings.class); + _entityTypeMap.put("TenantZoneUsageReport", SFTenantZoneUsageReport.class); + _entityTypeMap.put("TenantZoneUsageReports", SFTenantZoneUsageReport.class); + _entityTypeMap.put("ZoneUsageBreakdown", SFZoneUsageBreakdown.class); + _entityTypeMap.put("ZoneUsageBreakdowns", SFZoneUsageBreakdown.class); + _entityTypeMap.put("UserConfirmRequirement", SFUserConfirmRequirement.class); + _entityTypeMap.put("UserConfirmRequirements", SFUserConfirmRequirement.class); _entityTypeMap.put("UserUsage", SFUserUsage.class); _entityTypeMap.put("UserUsages", SFUserUsage.class); _entityTypeMap.put("DiskSpace", SFDiskSpace.class); _entityTypeMap.put("DiskSpaces", SFDiskSpace.class); + _entityTypeMap.put("ReportRecord", SFReportRecord.class); + _entityTypeMap.put("ReportRecords", SFReportRecord.class); _entityTypeMap.put("BillingInfo", SFBillingInfo.class); _entityTypeMap.put("BillingInfos", SFBillingInfo.class); _entityTypeMap.put("UploadRequestParams", SFUploadRequestParams.class); @@ -60,6 +86,8 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("ConnectorGroupZones", SFConnectorGroupZone.class); _entityTypeMap.put("ConnectorGroupAccessControl", SFConnectorGroupAccessControl.class); _entityTypeMap.put("ConnectorGroupAccessControls", SFConnectorGroupAccessControl.class); + _entityTypeMap.put("Report", SFReport.class); + _entityTypeMap.put("Reports", SFReport.class); _entityTypeMap.put("Principal", SFPrincipal.class); _entityTypeMap.put("Principals", SFPrincipal.class); _entityTypeMap.put("PreviewPlatformInfo", SFPreviewPlatformInfo.class); @@ -194,7 +222,7 @@ public static Map getEntityTypeMap() { } /** - * put putitional models to the type map. + * Add additional models to the type map. */ public static void addEntity(String key, Class value) { synchronized (mapLock) { diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFExceptionReason.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFExceptionReason.java new file mode 100644 index 0000000..2433181 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFExceptionReason.java @@ -0,0 +1,51 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFExceptionReason { + Unspecified, + FileTooLarge, + QuotaExceeded, + BadRequest, + NotAuthenticated, + NotAuthorized, + Conflict, + DatabaseError, + DlpViolation, + FeatureDisabled, + Forbidden, + NotAllowed, + NotFound, + Throttled, + EmployeeLicensesExceeded, + ClientMustBeCreatedAsEmployee, + VosPreviewNotAvailable, + UnsupportedVosFileType, + ErrorGeneratingPreview, + FileIsLocked, + ViewLimitReached, + DownloadLimitReached, + AlreadyActivatedToken, + InvalidValidationCode, + InvalidActivationToken, + ExpiredActivationToken, + LoginWhitelistViolation, + LoginBlacklistViolation, + UpdateSecurityQuestionError, + InvalidPassword, + ServiceUnavailable +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFile.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFile.java index 1b4fbd9..ab654a9 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFile.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFile.java @@ -44,6 +44,8 @@ public class SFFile extends SFItem { private SFFileLock FileLockInfo; @SerializedName("Version") private Float Version; + @SerializedName("ESignatureDocument") + private SFESignature ESignatureDocument; /** * Represents the Object Storage Identifier for this File. This field is @@ -168,5 +170,18 @@ public Float getVersion() { public void setVersion(Float version) { this.Version = version; } + /** + * Electronic signature object associated with this item + */ + public SFESignature getESignatureDocument() { + return this.ESignatureDocument; + } + + /** + * Electronic signature object associated with this item + */ + public void setESignatureDocument(SFESignature esignaturedocument) { + this.ESignatureDocument = esignaturedocument; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolderOption.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolderOption.java new file mode 100644 index 0000000..fae75df --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolderOption.java @@ -0,0 +1,28 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFFolderOption { + ForcedSort, + ForcedThumbnails, + EnableDisplayInline, + EnableDocViewerPrinting, + ViewOnlyWatermarkText, + IsVersioned, + EnableWatermarkedDownloads, + MaxVersions +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFreeTrialAccount.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFreeTrialAccount.java deleted file mode 100644 index 8e4d6ae..0000000 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFreeTrialAccount.java +++ /dev/null @@ -1,201 +0,0 @@ - -// ------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -// Copyright (c) 2014 Citrix ShareFile. All rights reserved. -// -// ------------------------------------------------------------------------------ - -package com.citrix.sharefile.api.models; - -import java.io.InputStream; -import java.util.ArrayList; -import java.net.URI; -import java.util.Date; -import java.util.Map; -import java.util.HashMap; - -import com.google.gson.annotations.SerializedName; -import com.citrix.sharefile.api.enumerations.SFSafeEnum; -import com.citrix.sharefile.api.models.*; - -public class SFFreeTrialAccount extends SFAccount { - - @SerializedName("PromoCode") - private String PromoCode; - @SerializedName("EndDate") - private Date EndDate; - @SerializedName("IsValid") - private Boolean IsValid; - @SerializedName("ConversionType") - private String ConversionType; - @SerializedName("HasFollowedUp") - private Boolean HasFollowedUp; - @SerializedName("FollowUpDate") - private Date FollowUpDate; - @SerializedName("CancellationReason") - private String CancellationReason; - @SerializedName("SignupProcess") - private String SignupProcess; - @SerializedName("ConversionIndexDay7") - private Double ConversionIndexDay7; - @SerializedName("ConversionIndexDay14") - private Double ConversionIndexDay14; - @SerializedName("LTVIndex") - private Double LTVIndex; - @SerializedName("AllSources") - private String AllSources; - @SerializedName("ReferralID") - private String ReferralID; - @SerializedName("TrialTypeID") - private Integer TrialTypeID; - @SerializedName("InitialCallRepID") - private String InitialCallRepID; - @SerializedName("InitialCallDate") - private Date InitialCallDate; - @SerializedName("DemoStatus") - private Integer DemoStatus; - @SerializedName("DemoDate") - private Date DemoDate; - @SerializedName("MarketoID") - private String MarketoID; - - public String getPromoCode() { - return this.PromoCode; - } - - public void setPromoCode(String promocode) { - this.PromoCode = promocode; - } - public Date getEndDate() { - return this.EndDate; - } - - public void setEndDate(Date enddate) { - this.EndDate = enddate; - } - public Boolean getIsValid() { - return this.IsValid; - } - - public void setIsValid(Boolean isvalid) { - this.IsValid = isvalid; - } - public String getConversionType() { - return this.ConversionType; - } - - public void setConversionType(String conversiontype) { - this.ConversionType = conversiontype; - } - public Boolean getHasFollowedUp() { - return this.HasFollowedUp; - } - - public void setHasFollowedUp(Boolean hasfollowedup) { - this.HasFollowedUp = hasfollowedup; - } - public Date getFollowUpDate() { - return this.FollowUpDate; - } - - public void setFollowUpDate(Date followupdate) { - this.FollowUpDate = followupdate; - } - public String getCancellationReason() { - return this.CancellationReason; - } - - public void setCancellationReason(String cancellationreason) { - this.CancellationReason = cancellationreason; - } - public String getSignupProcess() { - return this.SignupProcess; - } - - public void setSignupProcess(String signupprocess) { - this.SignupProcess = signupprocess; - } - public Double getConversionIndexDay7() { - return this.ConversionIndexDay7; - } - - public void setConversionIndexDay7(Double conversionindexday7) { - this.ConversionIndexDay7 = conversionindexday7; - } - public Double getConversionIndexDay14() { - return this.ConversionIndexDay14; - } - - public void setConversionIndexDay14(Double conversionindexday14) { - this.ConversionIndexDay14 = conversionindexday14; - } - public Double getLTVIndex() { - return this.LTVIndex; - } - - public void setLTVIndex(Double ltvindex) { - this.LTVIndex = ltvindex; - } - public String getAllSources() { - return this.AllSources; - } - - public void setAllSources(String allsources) { - this.AllSources = allsources; - } - public String getReferralID() { - return this.ReferralID; - } - - public void setReferralID(String referralid) { - this.ReferralID = referralid; - } - public Integer getTrialTypeID() { - return this.TrialTypeID; - } - - public void setTrialTypeID(Integer trialtypeid) { - this.TrialTypeID = trialtypeid; - } - public String getInitialCallRepID() { - return this.InitialCallRepID; - } - - public void setInitialCallRepID(String initialcallrepid) { - this.InitialCallRepID = initialcallrepid; - } - public Date getInitialCallDate() { - return this.InitialCallDate; - } - - public void setInitialCallDate(Date initialcalldate) { - this.InitialCallDate = initialcalldate; - } - public Integer getDemoStatus() { - return this.DemoStatus; - } - - public void setDemoStatus(Integer demostatus) { - this.DemoStatus = demostatus; - } - public Date getDemoDate() { - return this.DemoDate; - } - - public void setDemoDate(Date demodate) { - this.DemoDate = demodate; - } - public String getMarketoID() { - return this.MarketoID; - } - - public void setMarketoID(String marketoid) { - this.MarketoID = marketoid; - } - -} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFInAppPurchase.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFInAppPurchase.java deleted file mode 100644 index 599feb0..0000000 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFInAppPurchase.java +++ /dev/null @@ -1,84 +0,0 @@ - -// ------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. -// -// ------------------------------------------------------------------------------ - -package com.citrix.sharefile.api.models; - -import java.io.InputStream; -import java.util.ArrayList; -import java.net.URI; -import java.util.Date; -import java.util.Map; -import java.util.HashMap; - -import com.google.gson.annotations.SerializedName; -import com.citrix.sharefile.api.enumerations.SFSafeEnum; -import com.citrix.sharefile.api.models.*; - -public class SFInAppPurchase extends SFODataObject { - - @SerializedName("ProductID") - private String ProductID; - @SerializedName("AppStore") - private String AppStore; - @SerializedName("SharedSecret") - private String SharedSecret; - @SerializedName("ReceiptData") - private String ReceiptData; - @SerializedName("UnitPrice") - private Double UnitPrice; - @SerializedName("Currency") - private String Currency; - - public String getProductID() { - return this.ProductID; - } - - public void setProductID(String productid) { - this.ProductID = productid; - } - public String getAppStore() { - return this.AppStore; - } - - public void setAppStore(String appstore) { - this.AppStore = appstore; - } - public String getSharedSecret() { - return this.SharedSecret; - } - - public void setSharedSecret(String sharedsecret) { - this.SharedSecret = sharedsecret; - } - public String getReceiptData() { - return this.ReceiptData; - } - - public void setReceiptData(String receiptdata) { - this.ReceiptData = receiptdata; - } - public Double getUnitPrice() { - return this.UnitPrice; - } - - public void setUnitPrice(Double unitprice) { - this.UnitPrice = unitprice; - } - public String getCurrency() { - return this.Currency; - } - - public void setCurrency(String currency) { - this.Currency = currency; - } - -} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItem.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItem.java index 7bd1995..2ad5434 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItem.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItem.java @@ -76,6 +76,8 @@ public class SFItem extends SFODataObject { private SFSafeEnumFlags PreviewStatus; @SerializedName("PreviewPlatformsSupported") private ArrayList PreviewPlatformsSupported; + @SerializedName("EditingPlatformsSupported") + private ArrayList EditingPlatformsSupported; @SerializedName("MaxPreviewSize") private Integer MaxPreviewSize; @SerializedName("HasPendingDeletion") @@ -94,370 +96,193 @@ public class SFItem extends SFODataObject { private String CreatorNameShort; @SerializedName("HasMultipleVersions") private Boolean HasMultipleVersions; + @SerializedName("HasPendingAsyncOp") + private Boolean HasPendingAsyncOp; @SerializedName("Metadata") private ArrayList Metadata; - @SerializedName("ESignatureDocument") - private SFESignature ESignatureDocument; - /** - * Item Name - */ public String getName() { return this.Name; } - /** - * Item Name - */ public void setName(String name) { this.Name = name; } - /** - * Item File Name. ShareFile allows Items to have different Display and File names: display - * names are shown during apiClient navigation, while file names are used when the item is - * downloaded. - */ public String getFileName() { return this.FileName; } - /** - * Item File Name. ShareFile allows Items to have different Display and File names: display - * names are shown during apiClient navigation, while file names are used when the item is - * downloaded. - */ public void setFileName(String filename) { this.FileName = filename; } - /** - * User that Created this Item - */ public SFUser getCreator() { return this.Creator; } - /** - * User that Created this Item - */ public void setCreator(SFUser creator) { this.Creator = creator; } - /** - * Parent container of the Item. A container is usually a Folder object, with a few exceptions - - * the "Account" is the container of top-level folders. - */ public SFItem getParent() { return this.Parent; } - /** - * Parent container of the Item. A container is usually a Folder object, with a few exceptions - - * the "Account" is the container of top-level folders. - */ public void setParent(SFItem parent) { this.Parent = parent; } - /** - * List of Access Controls for this Item. This is not the effective ACL on the Item, just the - * ACLs directly attached to this Item. Use the "Info" reference to retrieve effective ACL - */ public ArrayList getAccessControls() { return this.AccessControls; } - /** - * List of Access Controls for this Item. This is not the effective ACL on the Item, just the - * ACLs directly attached to this Item. Use the "Info" reference to retrieve effective ACL - */ public void setAccessControls(ArrayList accesscontrols) { this.AccessControls = accesscontrols; } - /** - * The Storage Zone that contains this Item. - */ public SFZone getZone() { return this.Zone; } - /** - * The Storage Zone that contains this Item. - */ public void setZone(SFZone zone) { this.Zone = zone; } - /** - * Item Creation Date. - */ public Date getCreationDate() { return this.CreationDate; } - /** - * Item Creation Date. - */ public void setCreationDate(Date creationdate) { this.CreationDate = creationdate; } - /** - * The last modified date of this item and all of its children, recursively. This parameter - * is not supported in all ShareFile providers - it is always set in sharefile.com hosting, but - * not in some StorageZone connectors. The Capability object of the provider indicates whether - * the provider supports this field or not. - */ public Date getProgenyEditDate() { return this.ProgenyEditDate; } - /** - * The last modified date of this item and all of its children, recursively. This parameter - * is not supported in all ShareFile providers - it is always set in sharefile.com hosting, but - * not in some StorageZone connectors. The Capability object of the provider indicates whether - * the provider supports this field or not. - */ public void setProgenyEditDate(Date progenyeditdate) { this.ProgenyEditDate = progenyeditdate; } - /** - * Client device filesystem Created Date of this Item. - */ public Date getClientCreatedDate() { return this.ClientCreatedDate; } - /** - * Client device filesystem Created Date of this Item. - */ public void setClientCreatedDate(Date clientcreateddate) { this.ClientCreatedDate = clientcreateddate; } - /** - * Client device filesystem last Modified Date of this Item. - */ public Date getClientModifiedDate() { return this.ClientModifiedDate; } - /** - * Client device filesystem last Modified Date of this Item. - */ public void setClientModifiedDate(Date clientmodifieddate) { this.ClientModifiedDate = clientmodifieddate; } - /** - * Defines the Retention Policy for this Item. After this date, the item is automatically moved - * to recycle bin. - */ public Date getExpirationDate() { return this.ExpirationDate; } - /** - * Defines the Retention Policy for this Item. After this date, the item is automatically moved - * to recycle bin. - */ public void setExpirationDate(Date expirationdate) { this.ExpirationDate = expirationdate; } - /** - * Item description - */ public String getDescription() { return this.Description; } - /** - * Item description - */ public void setDescription(String description) { this.Description = description; } - /** - * Disk space limit for the Item. Define the maximum amount of bytes that this container can - * hold at any given time. - */ public Integer getDiskSpaceLimit() { return this.DiskSpaceLimit; } - /** - * Disk space limit for the Item. Define the maximum amount of bytes that this container can - * hold at any given time. - */ public void setDiskSpaceLimit(Integer diskspacelimit) { this.DiskSpaceLimit = diskspacelimit; } - /** - * Defines whether the Item has a 'hidden' flag. - */ public Boolean getIsHidden() { return this.IsHidden; } - /** - * Defines whether the Item has a 'hidden' flag. - */ public void setIsHidden(Boolean ishidden) { this.IsHidden = ishidden; } - /** - * Bandwidth limit for the Item. Define the maximum amount of bytes that can be added and - * retrieved from this item. - */ public Integer getBandwidthLimitInMB() { return this.BandwidthLimitInMB; } - /** - * Bandwidth limit for the Item. Define the maximum amount of bytes that can be added and - * retrieved from this item. - */ public void setBandwidthLimitInMB(Integer bandwidthlimitinmb) { this.BandwidthLimitInMB = bandwidthlimitinmb; } - /** - * User Owner of this Item. - */ public SFUser getOwner() { return this.Owner; } - /** - * User Owner of this Item. - */ public void setOwner(SFUser owner) { this.Owner = owner; } - /** - * ShareFile Account containing this item. - */ public SFAccount getAccount() { return this.Account; } - /** - * ShareFile Account containing this item. - */ public void setAccount(SFAccount account) { this.Account = account; } - /** - * Item size in Kilobytes. For containers, this field includes all children sizes, recursively. - */ public Integer getFileSizeInKB() { return this.FileSizeInKB; } - /** - * Item size in Kilobytes. For containers, this field includes all children sizes, recursively. - */ public void setFileSizeInKB(Integer filesizeinkb) { this.FileSizeInKB = filesizeinkb; } - /** - * Contains a ItemID path, separated by /, from the virtual root to this given file. Example - * /accountID/folderID/folderID/itemID - */ public String getPath() { return this.Path; } - /** - * Contains a ItemID path, separated by /, from the virtual root to this given file. Example - * /accountID/folderID/folderID/itemID - */ public void setPath(String path) { this.Path = path; } - /** - * First name of the user that created this item - */ public String getCreatorFirstName() { return this.CreatorFirstName; } - /** - * First name of the user that created this item - */ public void setCreatorFirstName(String creatorfirstname) { this.CreatorFirstName = creatorfirstname; } - /** - * Last name of the user that created this item - */ public String getCreatorLastName() { return this.CreatorLastName; } - /** - * Last name of the user that created this item - */ public void setCreatorLastName(String creatorlastname) { this.CreatorLastName = creatorlastname; } - /** - * Amount of days until this item expireses (see ExpirationDate) - */ public Integer getExpirationDays() { return this.ExpirationDays; } - /** - * Amount of days until this item expireses (see ExpirationDate) - */ public void setExpirationDays(Integer expirationdays) { this.ExpirationDays = expirationdays; } - /** - * Item size in bytes. For containers, this field will include all children sizes, recursively. - */ public Long getFileSizeBytes() { return this.FileSizeBytes; } - /** - * Item size in bytes. For containers, this field will include all children sizes, recursively. - */ public void setFileSizeBytes(Long filesizebytes) { this.FileSizeBytes = filesizebytes; } - /** - * Indicates whether a preview image is available for this Item. - * - * ShareFile.com always create previews for known file types, although there is a delay from the file - * creation until the preview is available. Some Storage Zones Providers do not create previews, depending - * on version and deployment options. - * - * Previews are not created for unknown file types - */ public SFSafeEnumFlags getPreviewStatus() { return this.PreviewStatus; } - /** - * Indicates whether a preview image is available for this Item. - * - * ShareFile.com always create previews for known file types, although there is a delay from the file - * creation until the preview is available. Some Storage Zones Providers do not create previews, depending - * on version and deployment options. - * - * Previews are not created for unknown file types - */ public void setPreviewStatus(SFSafeEnumFlags previewstatus) { this.PreviewStatus = previewstatus; } - /** - * Indicates a list of PreviewPlatforms supported for this item. - */ public ArrayList getPreviewPlatformsSupported() { return this.PreviewPlatformsSupported; } - /** - * Indicates a list of PreviewPlatforms supported for this item. - */ public void setPreviewPlatformsSupported(ArrayList previewplatformssupported) { this.PreviewPlatformsSupported = previewplatformssupported; } + public ArrayList getEditingPlatformsSupported() { + return this.EditingPlatformsSupported; + } + + public void setEditingPlatformsSupported(ArrayList editingplatformssupported) { + this.EditingPlatformsSupported = editingplatformssupported; + } public Integer getMaxPreviewSize() { return this.MaxPreviewSize; } @@ -465,60 +290,24 @@ public Integer getMaxPreviewSize() { public void setMaxPreviewSize(Integer maxpreviewsize) { this.MaxPreviewSize = maxpreviewsize; } - /** - * Indicates that the Item is pending for removal. At the next execution of the Cleanup process, the data - * blob associated with this item will be removed. This parameter is not used for certain Storage Zone - * Providers. For example, in CIFS and SharePoint connectors, removals are performed imediately. The - * Capability "HasRecycleBin" indicates whether this field is used or not in the provider. - */ public Boolean getHasPendingDeletion() { return this.HasPendingDeletion; } - /** - * Indicates that the Item is pending for removal. At the next execution of the Cleanup process, the data - * blob associated with this item will be removed. This parameter is not used for certain Storage Zone - * Providers. For example, in CIFS and SharePoint connectors, removals are performed imediately. The - * Capability "HasRecycleBin" indicates whether this field is used or not in the provider. - */ public void setHasPendingDeletion(Boolean haspendingdeletion) { this.HasPendingDeletion = haspendingdeletion; } - /** - * Folder Template reference. If set, it indicates that this Item was created from a Folder Template. Modifications - * to the folder template are propagated to the associated items. - * - * The Capability FolderTemplate indicates whether the provider supports Folder Templates. - */ public String getAssociatedFolderTemplateID() { return this.AssociatedFolderTemplateID; } - /** - * Folder Template reference. If set, it indicates that this Item was created from a Folder Template. Modifications - * to the folder template are propagated to the associated items. - * - * The Capability FolderTemplate indicates whether the provider supports Folder Templates. - */ public void setAssociatedFolderTemplateID(String associatedfoldertemplateid) { this.AssociatedFolderTemplateID = associatedfoldertemplateid; } - /** - * Indicates whether the item is owned by a Folder Template. If set, it indicates that this Item was created from a - * Folder Template. Modifications to the folder template are propagated to the associated items. - * - * The Capability FolderTemplate indicates whether the provider supports Folder Templates. - */ public Boolean getIsTemplateOwned() { return this.IsTemplateOwned; } - /** - * Indicates whether the item is owned by a Folder Template. If set, it indicates that this Item was created from a - * Folder Template. Modifications to the folder template are propagated to the associated items. - * - * The Capability FolderTemplate indicates whether the provider supports Folder Templates. - */ public void setIsTemplateOwned(Boolean istemplateowned) { this.IsTemplateOwned = istemplateowned; } @@ -536,78 +325,40 @@ public Integer getState() { public void setState(Integer state) { this.State = state; } - /** - * Identifier for the Item stream. An Item represents a single version of a file system object. The stream identifies - * all versions of the same file system object. For example, when users upload or modify an existing file, a new Item - * is created with the same StreamID. All Item enumerations return only the latest version of a given stream. You can - * access the previous versions of a file using the StreamID reference. - */ public String getStreamID() { return this.StreamID; } - /** - * Identifier for the Item stream. An Item represents a single version of a file system object. The stream identifies - * all versions of the same file system object. For example, when users upload or modify an existing file, a new Item - * is created with the same StreamID. All Item enumerations return only the latest version of a given stream. You can - * access the previous versions of a file using the StreamID reference. - */ public void setStreamID(String streamid) { this.StreamID = streamid; } - /** - * Short version of items creator's name. E.g., J. Doe. - */ public String getCreatorNameShort() { return this.CreatorNameShort; } - /** - * Short version of items creator's name. E.g., J. Doe. - */ public void setCreatorNameShort(String creatornameshort) { this.CreatorNameShort = creatornameshort; } - /** - * Specifies whether there are other versions of this item. Not all providers support file versioning. The - * Capability FileVersioning indicates whether the provider supports file versions. - */ public Boolean getHasMultipleVersions() { return this.HasMultipleVersions; } - /** - * Specifies whether there are other versions of this item. Not all providers support file versioning. The - * Capability FileVersioning indicates whether the provider supports file versions. - */ public void setHasMultipleVersions(Boolean hasmultipleversions) { this.HasMultipleVersions = hasmultipleversions; } - /** - * List of custom metadata object associated with this item - */ + public Boolean getHasPendingAsyncOp() { + return this.HasPendingAsyncOp; + } + + public void setHasPendingAsyncOp(Boolean haspendingasyncop) { + this.HasPendingAsyncOp = haspendingasyncop; + } public ArrayList getMetadata() { return this.Metadata; } - /** - * List of custom metadata object associated with this item - */ public void setMetadata(ArrayList metadata) { this.Metadata = metadata; } - /** - * Electronic signature object associated with this item - */ - public SFESignature getESignatureDocument() { - return this.ESignatureDocument; - } - - /** - * Electronic signature object associated with this item - */ - public void setESignatureDocument(SFESignature esignaturedocument) { - this.ESignatureDocument = esignaturedocument; - } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemAction.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemAction.java new file mode 100644 index 0000000..3df98d4 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemAction.java @@ -0,0 +1,53 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFItemAction { + Download, + Upload, + View, + WatermarkDownload, + Note, + Url, + DownloadESignature, + WOPI_View, + WOPI_Download, + UploadReceipt, + FileLock, + FileUnLock, + FileDiscardLock, + None, + ZipUpload, + Item_Delete, + Item_Edit, + Item_Restore, + Move, + NewFolder, + NewNote, + NewLink, + StreamLockCreate, + StreamLockDelete, + StreamLockUpdate, + StreamLockRelease, + DLP_Scan_Accept, + DLP_Scan_Reject, + DLP_Share_Allow, + DLP_Share_Deny, + Document_View, + Document_Edit, + Item_Archive +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemDlpInfo.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemDlpInfo.java index e8a5d2b..43af82e 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemDlpInfo.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemDlpInfo.java @@ -20,7 +20,9 @@ import java.util.HashMap; import com.google.gson.annotations.SerializedName; -import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; public class SFItemDlpInfo extends SFODataObject { diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemInfo.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemInfo.java index 993838f..a33ead5 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemInfo.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemInfo.java @@ -80,14 +80,30 @@ public class SFItemInfo extends SFODataObject { private Boolean ShowFolderPayBuyButton; @SerializedName("TreeMode") private SFSafeEnum TreeMode; + @SerializedName("Versioning") + private SFSafeEnum Versioning; @SerializedName("TreeModeOperationAllowed") private Boolean TreeModeOperationAllowed; @SerializedName("TreeModeSourceId") private String TreeModeSourceId; @SerializedName("ForcedSortField") - private String ForcedSortField; + private SFSafeEnum ForcedSortField; @SerializedName("ForcedSortOrder") - private String ForcedSortOrder; + private SFSafeEnum ForcedSortOrder; + @SerializedName("MaxVersions") + private Integer MaxVersions; + @SerializedName("DocumentViewerPrinting") + private SFSafeEnum DocumentViewerPrinting; + @SerializedName("WatermarkedDownloads") + private SFSafeEnum WatermarkedDownloads; + @SerializedName("OptionPropagation") + private ArrayList> OptionPropagation; + @SerializedName("ViewOnlyWatermarkText") + private String ViewOnlyWatermarkText; + @SerializedName("SortField") + private SFSafeEnum SortField; + @SerializedName("SortDirection") + private SFSafeEnum SortDirection; public SFAccessControl getCurrentAccessControl() { return this.CurrentAccessControl; @@ -278,6 +294,13 @@ public SFSafeEnum getTreeMode() { public void setTreeMode(SFSafeEnum treemode) { this.TreeMode = treemode; } + public SFSafeEnum getVersioning() { + return this.Versioning; + } + + public void setVersioning(SFSafeEnum versioning) { + this.Versioning = versioning; + } public Boolean getTreeModeOperationAllowed() { return this.TreeModeOperationAllowed; } @@ -292,19 +315,68 @@ public String getTreeModeSourceId() { public void setTreeModeSourceId(String treemodesourceid) { this.TreeModeSourceId = treemodesourceid; } - public String getForcedSortField() { + public SFSafeEnum getForcedSortField() { return this.ForcedSortField; } - public void setForcedSortField(String forcedsortfield) { + public void setForcedSortField(SFSafeEnum forcedsortfield) { this.ForcedSortField = forcedsortfield; } - public String getForcedSortOrder() { + public SFSafeEnum getForcedSortOrder() { return this.ForcedSortOrder; } - public void setForcedSortOrder(String forcedsortorder) { + public void setForcedSortOrder(SFSafeEnum forcedsortorder) { this.ForcedSortOrder = forcedsortorder; } + public Integer getMaxVersions() { + return this.MaxVersions; + } + + public void setMaxVersions(Integer maxversions) { + this.MaxVersions = maxversions; + } + public SFSafeEnum getDocumentViewerPrinting() { + return this.DocumentViewerPrinting; + } + + public void setDocumentViewerPrinting(SFSafeEnum documentviewerprinting) { + this.DocumentViewerPrinting = documentviewerprinting; + } + public SFSafeEnum getWatermarkedDownloads() { + return this.WatermarkedDownloads; + } + + public void setWatermarkedDownloads(SFSafeEnum watermarkeddownloads) { + this.WatermarkedDownloads = watermarkeddownloads; + } + public ArrayList> getOptionPropagation() { + return this.OptionPropagation; + } + + public void setOptionPropagation(ArrayList> optionpropagation) { + this.OptionPropagation = optionpropagation; + } + public String getViewOnlyWatermarkText() { + return this.ViewOnlyWatermarkText; + } + + public void setViewOnlyWatermarkText(String viewonlywatermarktext) { + this.ViewOnlyWatermarkText = viewonlywatermarktext; + } + public SFSafeEnum getSortField() { + return this.SortField; + } + + public void setSortField(SFSafeEnum sortfield) { + this.SortField = sortfield; + } + public SFSafeEnum getSortDirection() { + return this.SortDirection; + } + + public void setSortDirection(SFSafeEnum sortdirection) { + this.SortDirection = sortdirection; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFLockType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFLockType.java index 948309a..7188cc4 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFLockType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFLockType.java @@ -18,5 +18,6 @@ public enum SFLockType { SoftLock, - HardLock + HardLock, + CoauthLock } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPlanAddonUser.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNotifyUsersParams.java similarity index 55% rename from ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPlanAddonUser.java rename to ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNotifyUsersParams.java index d0b2962..9e554db 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPlanAddonUser.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNotifyUsersParams.java @@ -20,29 +20,30 @@ import java.util.HashMap; import com.google.gson.annotations.SerializedName; -import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; import com.citrix.sharefile.api.models.*; -public class SFPlanAddonUser extends SFODataObject { +public class SFNotifyUsersParams extends SFODataObject { - @SerializedName("User") - private SFUser User; - @SerializedName("SpecialUserRole") - private ArrayList> SpecialUserRole; + @SerializedName("UserIds") + private ArrayList UserIds; + @SerializedName("CustomMessage") + private String CustomMessage; - public SFUser getUser() { - return this.User; + public ArrayList getUserIds() { + return this.UserIds; } - public void setUser(SFUser user) { - this.User = user; + public void setUserIds(ArrayList userids) { + this.UserIds = userids; } - public ArrayList> getSpecialUserRole() { - return this.SpecialUserRole; + public String getCustomMessage() { + return this.CustomMessage; } - public void setSpecialUserRole(ArrayList> specialuserrole) { - this.SpecialUserRole = specialuserrole; + public void setCustomMessage(String custommessage) { + this.CustomMessage = custommessage; } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOAuthClient.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOAuthClient.java deleted file mode 100644 index c8b9b6d..0000000 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOAuthClient.java +++ /dev/null @@ -1,273 +0,0 @@ - -// ------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -// Copyright (c) 2014 Citrix ShareFile. All rights reserved. -// -// ------------------------------------------------------------------------------ - -package com.citrix.sharefile.api.models; - -import java.io.InputStream; -import java.util.ArrayList; -import java.net.URI; -import java.util.Date; -import java.util.Map; -import java.util.HashMap; - -import com.google.gson.annotations.SerializedName; -import com.citrix.sharefile.api.enumerations.SFSafeEnum; -import com.citrix.sharefile.api.models.*; - -public class SFOAuthClient extends SFODataObject { - - @SerializedName("ClientSecret") - private String ClientSecret; - @SerializedName("AccountID") - private String AccountID; - @SerializedName("Image") - private String Image; - @SerializedName("ImageSmall") - private String ImageSmall; - @SerializedName("State") - private SFSafeEnum State; - @SerializedName("Name") - private String Name; - @SerializedName("CompanyName") - private String CompanyName; - @SerializedName("ToolUrl") - private String ToolUrl; - @SerializedName("CreationDate") - private Date CreationDate; - @SerializedName("LastModifiedDate") - private Date LastModifiedDate; - @SerializedName("ServerFlow") - private Boolean ServerFlow; - @SerializedName("ClientFlow") - private Boolean ClientFlow; - @SerializedName("UsernamePasswordFlow") - private Boolean UsernamePasswordFlow; - @SerializedName("SamlFlow") - private Boolean SamlFlow; - @SerializedName("IsQA") - private Boolean IsQA; - @SerializedName("Impersonation") - private Boolean Impersonation; - @SerializedName("DeviceRegistration") - private Boolean DeviceRegistration; - @SerializedName("CanCreateFreemiumAccount") - private Boolean CanCreateFreemiumAccount; - @SerializedName("IsInternalAdmin") - private Boolean IsInternalAdmin; - @SerializedName("AccessFilesFolders") - private SFSafeEnum AccessFilesFolders; - @SerializedName("ModifyFilesFolders") - private SFSafeEnum ModifyFilesFolders; - @SerializedName("AdminUsers") - private SFSafeEnum AdminUsers; - @SerializedName("AdminAccounts") - private SFSafeEnum AdminAccounts; - @SerializedName("ChangeMySettings") - private SFSafeEnum ChangeMySettings; - @SerializedName("WebAppLogin") - private SFSafeEnum WebAppLogin; - @SerializedName("AppCode") - private SFSafeEnum AppCode; - @SerializedName("RedirectUrls") - private ArrayList RedirectUrls; - - public String getClientSecret() { - return this.ClientSecret; - } - - public void setClientSecret(String clientsecret) { - this.ClientSecret = clientsecret; - } - public String getAccountID() { - return this.AccountID; - } - - public void setAccountID(String accountid) { - this.AccountID = accountid; - } - public String getImage() { - return this.Image; - } - - public void setImage(String image) { - this.Image = image; - } - public String getImageSmall() { - return this.ImageSmall; - } - - public void setImageSmall(String imagesmall) { - this.ImageSmall = imagesmall; - } - public SFSafeEnum getState() { - return this.State; - } - - public void setState(SFSafeEnum state) { - this.State = state; - } - public String getName() { - return this.Name; - } - - public void setName(String name) { - this.Name = name; - } - public String getCompanyName() { - return this.CompanyName; - } - - public void setCompanyName(String companyname) { - this.CompanyName = companyname; - } - public String getToolUrl() { - return this.ToolUrl; - } - - public void setToolUrl(String toolurl) { - this.ToolUrl = toolurl; - } - public Date getCreationDate() { - return this.CreationDate; - } - - public void setCreationDate(Date creationdate) { - this.CreationDate = creationdate; - } - public Date getLastModifiedDate() { - return this.LastModifiedDate; - } - - public void setLastModifiedDate(Date lastmodifieddate) { - this.LastModifiedDate = lastmodifieddate; - } - public Boolean getServerFlow() { - return this.ServerFlow; - } - - public void setServerFlow(Boolean serverflow) { - this.ServerFlow = serverflow; - } - public Boolean getClientFlow() { - return this.ClientFlow; - } - - public void setClientFlow(Boolean clientflow) { - this.ClientFlow = clientflow; - } - public Boolean getUsernamePasswordFlow() { - return this.UsernamePasswordFlow; - } - - public void setUsernamePasswordFlow(Boolean usernamepasswordflow) { - this.UsernamePasswordFlow = usernamepasswordflow; - } - public Boolean getSamlFlow() { - return this.SamlFlow; - } - - public void setSamlFlow(Boolean samlflow) { - this.SamlFlow = samlflow; - } - public Boolean getIsQA() { - return this.IsQA; - } - - public void setIsQA(Boolean isqa) { - this.IsQA = isqa; - } - public Boolean getImpersonation() { - return this.Impersonation; - } - - public void setImpersonation(Boolean impersonation) { - this.Impersonation = impersonation; - } - public Boolean getDeviceRegistration() { - return this.DeviceRegistration; - } - - public void setDeviceRegistration(Boolean deviceregistration) { - this.DeviceRegistration = deviceregistration; - } - public Boolean getCanCreateFreemiumAccount() { - return this.CanCreateFreemiumAccount; - } - - public void setCanCreateFreemiumAccount(Boolean cancreatefreemiumaccount) { - this.CanCreateFreemiumAccount = cancreatefreemiumaccount; - } - public Boolean getIsInternalAdmin() { - return this.IsInternalAdmin; - } - - public void setIsInternalAdmin(Boolean isinternaladmin) { - this.IsInternalAdmin = isinternaladmin; - } - public SFSafeEnum getAccessFilesFolders() { - return this.AccessFilesFolders; - } - - public void setAccessFilesFolders(SFSafeEnum accessfilesfolders) { - this.AccessFilesFolders = accessfilesfolders; - } - public SFSafeEnum getModifyFilesFolders() { - return this.ModifyFilesFolders; - } - - public void setModifyFilesFolders(SFSafeEnum modifyfilesfolders) { - this.ModifyFilesFolders = modifyfilesfolders; - } - public SFSafeEnum getAdminUsers() { - return this.AdminUsers; - } - - public void setAdminUsers(SFSafeEnum adminusers) { - this.AdminUsers = adminusers; - } - public SFSafeEnum getAdminAccounts() { - return this.AdminAccounts; - } - - public void setAdminAccounts(SFSafeEnum adminaccounts) { - this.AdminAccounts = adminaccounts; - } - public SFSafeEnum getChangeMySettings() { - return this.ChangeMySettings; - } - - public void setChangeMySettings(SFSafeEnum changemysettings) { - this.ChangeMySettings = changemysettings; - } - public SFSafeEnum getWebAppLogin() { - return this.WebAppLogin; - } - - public void setWebAppLogin(SFSafeEnum webapplogin) { - this.WebAppLogin = webapplogin; - } - public SFSafeEnum getAppCode() { - return this.AppCode; - } - - public void setAppCode(SFSafeEnum appcode) { - this.AppCode = appcode; - } - public ArrayList getRedirectUrls() { - return this.RedirectUrls; - } - - public void setRedirectUrls(ArrayList redirecturls) { - this.RedirectUrls = redirecturls; - } - -} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFODataExceptionMessage.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFODataExceptionMessage.java new file mode 100644 index 0000000..9519014 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFODataExceptionMessage.java @@ -0,0 +1,29 @@ +package com.citrix.sharefile.api.models; + +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.google.gson.annotations.SerializedName; + +public class SFODataExceptionMessage { + @SerializedName("_lang") + private String language; + + @SerializedName("value") + private String value; + + @SerializedName("stack") + private String stack; + + public String getLanguage() + { + return language; + } + + public String getStack() + { + return stack; } + + public String getValue() + { + return value; + } +} diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPlanAddon.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPlanAddon.java deleted file mode 100644 index dbce902..0000000 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPlanAddon.java +++ /dev/null @@ -1,75 +0,0 @@ - -// ------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. -// -// ------------------------------------------------------------------------------ - -package com.citrix.sharefile.api.models; - -import java.io.InputStream; -import java.util.ArrayList; -import java.net.URI; -import java.util.Date; -import java.util.Map; -import java.util.HashMap; - -import com.google.gson.annotations.SerializedName; -import com.citrix.sharefile.api.enumerations.SFSafeEnum; -import com.citrix.sharefile.api.models.*; - -public class SFPlanAddon extends SFODataObject { - - @SerializedName("PlanState") - private String PlanState; - @SerializedName("PlanInfo") - private Object PlanInfo; - @SerializedName("AvailablePlans") - private ArrayList AvailablePlans; - @SerializedName("Features") - private ArrayList Features; - @SerializedName("ProductCodeName") - private String ProductCodeName; - - public String getPlanState() { - return this.PlanState; - } - - public void setPlanState(String planstate) { - this.PlanState = planstate; - } - public Object getPlanInfo() { - return this.PlanInfo; - } - - public void setPlanInfo(Object planinfo) { - this.PlanInfo = planinfo; - } - public ArrayList getAvailablePlans() { - return this.AvailablePlans; - } - - public void setAvailablePlans(ArrayList availableplans) { - this.AvailablePlans = availableplans; - } - public ArrayList getFeatures() { - return this.Features; - } - - public void setFeatures(ArrayList features) { - this.Features = features; - } - public String getProductCodeName() { - return this.ProductCodeName; - } - - public void setProductCodeName(String productcodename) { - this.ProductCodeName = productcodename; - } - -} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPlanAddonsStatus.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPlanAddonsStatus.java deleted file mode 100644 index a7755ad..0000000 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPlanAddonsStatus.java +++ /dev/null @@ -1,29 +0,0 @@ - -// ------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -// Copyright (c) 2014 Citrix ShareFile. All rights reserved. -// -// ------------------------------------------------------------------------------ - -package com.citrix.sharefile.api.models; - -import java.io.InputStream; -import java.util.ArrayList; -import java.net.URI; -import java.util.Date; - -import com.google.gson.annotations.SerializedName; -import com.citrix.sharefile.api.enumerations.SFSafeEnum; - -public enum SFPlanAddonsStatus { - TrialNotStarted, - Trial, - TrialExpired, - Paid, - PaidExpired -} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRemoteUpload.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRemoteUpload.java new file mode 100644 index 0000000..6f11c77 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRemoteUpload.java @@ -0,0 +1,110 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFRemoteUpload extends SFODataObject { + + @SerializedName("Name") + private String Name; + @SerializedName("IsPublic") + private Boolean IsPublic; + @SerializedName("RequireUserInfo") + private Boolean RequireUserInfo; + @SerializedName("SelectRecipient") + private Boolean SelectRecipient; + @SerializedName("Users") + private ArrayList Users; + + /** + * The Name of this Remote Upload. + */ + public String getName() { + return this.Name; + } + + /** + * The Name of this Remote Upload. + */ + public void setName(String name) { + this.Name = name; + } + /** + * Indicates whether the Remote Upload is public or not. + * One File Drop on your account can be marked as public, meaning that it is accessible from the short link https://example.sharefile.com/filedrop. + * Any additional File Drops on your account can be linked to on your web site using the link at the top of this page + */ + public Boolean getIsPublic() { + return this.IsPublic; + } + + /** + * Indicates whether the Remote Upload is public or not. + * One File Drop on your account can be marked as public, meaning that it is accessible from the short link https://example.sharefile.com/filedrop. + * Any additional File Drops on your account can be linked to on your web site using the link at the top of this page + */ + public void setIsPublic(Boolean ispublic) { + this.IsPublic = ispublic; + } + /** + * Indicates whether the Remote Upload requires user information ( first name, last name, email , company). + */ + public Boolean getRequireUserInfo() { + return this.RequireUserInfo; + } + + /** + * Indicates whether the Remote Upload requires user information ( first name, last name, email , company). + */ + public void setRequireUserInfo(Boolean requireuserinfo) { + this.RequireUserInfo = requireuserinfo; + } + /** + * When it's true, visitors of this Remote Upload can select a recipient from a list. + */ + public Boolean getSelectRecipient() { + return this.SelectRecipient; + } + + /** + * When it's true, visitors of this Remote Upload can select a recipient from a list. + */ + public void setSelectRecipient(Boolean selectrecipient) { + this.SelectRecipient = selectrecipient; + } + /** + * Users who can have access to this Remote Upload. + */ + public ArrayList getUsers() { + return this.Users; + } + + /** + * Users who can have access to this Remote Upload. + */ + public void setUsers(ArrayList users) { + this.Users = users; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReport.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReport.java new file mode 100644 index 0000000..50606d4 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReport.java @@ -0,0 +1,277 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFReport extends SFODataObject { + + @SerializedName("AccountId") + private String AccountId; + @SerializedName("Title") + private String Title; + @SerializedName("ReportType") + private SFSafeEnum ReportType; + @SerializedName("ObjectType") + private SFSafeEnum ObjectType; + @SerializedName("ObjectId") + private String ObjectId; + @SerializedName("DateOption") + private SFSafeEnum DateOption; + @SerializedName("ActivityTypes") + private String ActivityTypes; + @SerializedName("StartDate") + private Date StartDate; + @SerializedName("EndDate") + private Date EndDate; + @SerializedName("LastRunDate") + private Date LastRunDate; + @SerializedName("IsRecurring") + private Boolean IsRecurring; + @SerializedName("IsScheduled") + private Boolean IsScheduled; + @SerializedName("IncludeSubFolders") + private Boolean IncludeSubFolders; + @SerializedName("SaveToFolder") + private Boolean SaveToFolder; + @SerializedName("SaveFormat") + private String SaveFormat; + @SerializedName("SaveFolderId") + private String SaveFolderId; + @SerializedName("SaveFolder") + private SFItem SaveFolder; + @SerializedName("Creator") + private SFUser Creator; + @SerializedName("CreatorId") + private String CreatorId; + @SerializedName("Records") + private ArrayList Records; + @SerializedName("CreateDate") + private Date CreateDate; + @SerializedName("Frequency") + private SFSafeEnum Frequency; + @SerializedName("DayOfWeek") + private Integer DayOfWeek; + @SerializedName("DayOfMonth") + private Integer DayOfMonth; + @SerializedName("EmailNotice") + private Boolean EmailNotice; + @SerializedName("EmailToNotify") + private String EmailToNotify; + + public String getAccountId() { + return this.AccountId; + } + + public void setAccountId(String accountid) { + this.AccountId = accountid; + } + public String getTitle() { + return this.Title; + } + + public void setTitle(String title) { + this.Title = title; + } + public SFSafeEnum getReportType() { + return this.ReportType; + } + + public void setReportType(SFSafeEnum reporttype) { + this.ReportType = reporttype; + } + public SFSafeEnum getObjectType() { + return this.ObjectType; + } + + public void setObjectType(SFSafeEnum objecttype) { + this.ObjectType = objecttype; + } + public String getObjectId() { + return this.ObjectId; + } + + public void setObjectId(String objectid) { + this.ObjectId = objectid; + } + public SFSafeEnum getDateOption() { + return this.DateOption; + } + + public void setDateOption(SFSafeEnum dateoption) { + this.DateOption = dateoption; + } + public String getActivityTypes() { + return this.ActivityTypes; + } + + public void setActivityTypes(String activitytypes) { + this.ActivityTypes = activitytypes; + } + /** + * The Start Date of the range the ReportRecord will be run against + */ + public Date getStartDate() { + return this.StartDate; + } + + /** + * The Start Date of the range the ReportRecord will be run against + */ + public void setStartDate(Date startdate) { + this.StartDate = startdate; + } + /** + * The End Date of the range the ReportRecord will be run against + */ + public Date getEndDate() { + return this.EndDate; + } + + /** + * The End Date of the range the ReportRecord will be run against + */ + public void setEndDate(Date enddate) { + this.EndDate = enddate; + } + public Date getLastRunDate() { + return this.LastRunDate; + } + + public void setLastRunDate(Date lastrundate) { + this.LastRunDate = lastrundate; + } + public Boolean getIsRecurring() { + return this.IsRecurring; + } + + public void setIsRecurring(Boolean isrecurring) { + this.IsRecurring = isrecurring; + } + public Boolean getIsScheduled() { + return this.IsScheduled; + } + + public void setIsScheduled(Boolean isscheduled) { + this.IsScheduled = isscheduled; + } + public Boolean getIncludeSubFolders() { + return this.IncludeSubFolders; + } + + public void setIncludeSubFolders(Boolean includesubfolders) { + this.IncludeSubFolders = includesubfolders; + } + public Boolean getSaveToFolder() { + return this.SaveToFolder; + } + + public void setSaveToFolder(Boolean savetofolder) { + this.SaveToFolder = savetofolder; + } + public String getSaveFormat() { + return this.SaveFormat; + } + + public void setSaveFormat(String saveformat) { + this.SaveFormat = saveformat; + } + public String getSaveFolderId() { + return this.SaveFolderId; + } + + public void setSaveFolderId(String savefolderid) { + this.SaveFolderId = savefolderid; + } + public SFItem getSaveFolder() { + return this.SaveFolder; + } + + public void setSaveFolder(SFItem savefolder) { + this.SaveFolder = savefolder; + } + public SFUser getCreator() { + return this.Creator; + } + + public void setCreator(SFUser creator) { + this.Creator = creator; + } + public String getCreatorId() { + return this.CreatorId; + } + + public void setCreatorId(String creatorid) { + this.CreatorId = creatorid; + } + public ArrayList getRecords() { + return this.Records; + } + + public void setRecords(ArrayList records) { + this.Records = records; + } + public Date getCreateDate() { + return this.CreateDate; + } + + public void setCreateDate(Date createdate) { + this.CreateDate = createdate; + } + public SFSafeEnum getFrequency() { + return this.Frequency; + } + + public void setFrequency(SFSafeEnum frequency) { + this.Frequency = frequency; + } + public Integer getDayOfWeek() { + return this.DayOfWeek; + } + + public void setDayOfWeek(Integer dayofweek) { + this.DayOfWeek = dayofweek; + } + public Integer getDayOfMonth() { + return this.DayOfMonth; + } + + public void setDayOfMonth(Integer dayofmonth) { + this.DayOfMonth = dayofmonth; + } + public Boolean getEmailNotice() { + return this.EmailNotice; + } + + public void setEmailNotice(Boolean emailnotice) { + this.EmailNotice = emailnotice; + } + public String getEmailToNotify() { + return this.EmailToNotify; + } + + public void setEmailToNotify(String emailtonotify) { + this.EmailToNotify = emailtonotify; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportDateOption.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportDateOption.java new file mode 100644 index 0000000..e2b62ed --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportDateOption.java @@ -0,0 +1,28 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFReportDateOption { + Specific, + Today, + Yesterday, + ThisWeek, + LastWeek, + ThisMonth, + LastMonth, + Last30Days +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportObjectType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportObjectType.java new file mode 100644 index 0000000..5a84c23 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportObjectType.java @@ -0,0 +1,23 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFReportObjectType { + Account, + Folder, + User +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRecord.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRecord.java new file mode 100644 index 0000000..8a16fea --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRecord.java @@ -0,0 +1,127 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFReportRecord extends SFODataObject { + + @SerializedName("Report") + private SFReport Report; + @SerializedName("StartDate") + private Date StartDate; + @SerializedName("EndDate") + private Date EndDate; + @SerializedName("StartRunTime") + private Date StartRunTime; + @SerializedName("EndRunTime") + private Date EndRunTime; + @SerializedName("Status") + private SFSafeEnum Status; + @SerializedName("HasData") + private Boolean HasData; + @SerializedName("Message") + private String Message; + + public SFReport getReport() { + return this.Report; + } + + public void setReport(SFReport report) { + this.Report = report; + } + /** + * The Start Date of the range the ReportRecord will be run against + */ + public Date getStartDate() { + return this.StartDate; + } + + /** + * The Start Date of the range the ReportRecord will be run against + */ + public void setStartDate(Date startdate) { + this.StartDate = startdate; + } + /** + * The End Date of the range the ReportRecord will be run against + */ + public Date getEndDate() { + return this.EndDate; + } + + /** + * The End Date of the range the ReportRecord will be run against + */ + public void setEndDate(Date enddate) { + this.EndDate = enddate; + } + /** + * The Time this ReportRecord began processing + */ + public Date getStartRunTime() { + return this.StartRunTime; + } + + /** + * The Time this ReportRecord began processing + */ + public void setStartRunTime(Date startruntime) { + this.StartRunTime = startruntime; + } + /** + * The Time this ReportRecord finished processing + */ + public Date getEndRunTime() { + return this.EndRunTime; + } + + /** + * The Time this ReportRecord finished processing + */ + public void setEndRunTime(Date endruntime) { + this.EndRunTime = endruntime; + } + public SFSafeEnum getStatus() { + return this.Status; + } + + public void setStatus(SFSafeEnum status) { + this.Status = status; + } + public Boolean getHasData() { + return this.HasData; + } + + public void setHasData(Boolean hasdata) { + this.HasData = hasdata; + } + public String getMessage() { + return this.Message; + } + + public void setMessage(String message) { + this.Message = message; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRunFrequency.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRunFrequency.java new file mode 100644 index 0000000..30306e0 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRunFrequency.java @@ -0,0 +1,24 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFReportRunFrequency { + Once, + Daily, + Weekly, + Monthly +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQueueStatus.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRunStatus.java similarity index 69% rename from ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQueueStatus.java rename to ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRunStatus.java index 1d28880..c63aee6 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQueueStatus.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRunStatus.java @@ -6,24 +6,19 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2014 Citrix ShareFile. All rights reserved. +// Copyright (c) 2015 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ package com.citrix.sharefile.api.models; - -import java.io.InputStream; -import java.util.ArrayList; -import java.net.URI; -import java.util.Date; import com.google.gson.annotations.SerializedName; import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; -public enum SFQueueStatus { - Created, - Scheduled, +public enum SFReportRunStatus { + Pending, + Running, Success, - Failed, - Canceled + Failed } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportType.java new file mode 100644 index 0000000..d3351ab --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportType.java @@ -0,0 +1,27 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFReportType { + Access, + Activity, + Storage, + Messaging, + BandwidthDetail, + BandwidthSummary, + EncryptedEmail +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSSOAccountProvider.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSSOAccountProvider.java index 99243a0..76a78f0 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSSOAccountProvider.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSSOAccountProvider.java @@ -42,6 +42,8 @@ public class SFSSOAccountProvider extends SFODataObject { private String EntityID; @SerializedName("SFEntityID") private String SFEntityID; + @SerializedName("SSOProvidersToAccountsID") + private String SSOProvidersToAccountsID; @SerializedName("SPInitatedAuthContext") private String SPInitatedAuthContext; @SerializedName("SPInitatedAuthMethod") @@ -50,6 +52,8 @@ public class SFSSOAccountProvider extends SFODataObject { private Boolean UseWebAuthentication; @SerializedName("IsActive") private Boolean IsActive; + @SerializedName("IsDefault") + private Boolean IsDefault; @SerializedName("ProviderID") private String ProviderID; @SerializedName("DebugMode") @@ -113,6 +117,13 @@ public String getSFEntityID() { public void setSFEntityID(String sfentityid) { this.SFEntityID = sfentityid; } + public String getSSOProvidersToAccountsID() { + return this.SSOProvidersToAccountsID; + } + + public void setSSOProvidersToAccountsID(String ssoproviderstoaccountsid) { + this.SSOProvidersToAccountsID = ssoproviderstoaccountsid; + } public String getSPInitatedAuthContext() { return this.SPInitatedAuthContext; } @@ -141,6 +152,13 @@ public Boolean getIsActive() { public void setIsActive(Boolean isactive) { this.IsActive = isactive; } + public Boolean getIsDefault() { + return this.IsDefault; + } + + public void setIsDefault(Boolean isdefault) { + this.IsDefault = isdefault; + } public String getProviderID() { return this.ProviderID; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchResult.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchResult.java index cba471c..c6d77cc 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchResult.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchResult.java @@ -68,6 +68,8 @@ public class SFSearchResult extends SFODataObject { private Boolean CanDownload; @SerializedName("CanView") private Boolean CanView; + @SerializedName("CanDelete") + private Boolean CanDelete; @SerializedName("ParentSemanticPath") private String ParentSemanticPath; @SerializedName("Path") @@ -224,6 +226,13 @@ public Boolean getCanView() { public void setCanView(Boolean canview) { this.CanView = canview; } + public Boolean getCanDelete() { + return this.CanDelete; + } + + public void setCanDelete(Boolean candelete) { + this.CanDelete = candelete; + } public String getParentSemanticPath() { return this.ParentSemanticPath; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShare.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShare.java index 991a8cb..6d71890 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShare.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShare.java @@ -92,6 +92,10 @@ public class SFShare extends SFODataObject { private SFRedirection Redirection; @SerializedName("ShareSubType") private SFSafeEnum ShareSubType; + @SerializedName("ShareItemHistory") + private ArrayList ShareItemHistory; + @SerializedName("Settings") + private SFShareSettings Settings; /** * When a Share is sent to multiple users, with RequireLogin or RequireUserInfo set, then a different @@ -285,10 +289,16 @@ public Integer getMaxDownloads() { public void setMaxDownloads(Integer maxdownloads) { this.MaxDownloads = maxdownloads; } + /** + * Total number of times a share has been downloaded by a user. + */ public Integer getTotalDownloads() { return this.TotalDownloads; } + /** + * Total number of times a share has been downloaded by a user. + */ public void setTotalDownloads(Integer totaldownloads) { this.TotalDownloads = totaldownloads; } @@ -341,17 +351,29 @@ public Date getLastDateSent() { public void setLastDateSent(Date lastdatesent) { this.LastDateSent = lastdatesent; } + /** + * Indicates whether or not this Share has been downloaded + */ public Boolean getIsConsumed() { return this.IsConsumed; } + /** + * Indicates whether or not this Share has been downloaded + */ public void setIsConsumed(Boolean isconsumed) { this.IsConsumed = isconsumed; } + /** + * Indicates whether the contents of this share have been viewed by a valid, authenticated recipient + */ public Boolean getIsRead() { return this.IsRead; } + /** + * Indicates whether the contents of this share have been viewed by a valid, authenticated recipient + */ public void setIsRead(Boolean isread) { this.IsRead = isread; } @@ -457,14 +479,14 @@ public void setHasRemoteChildren(Boolean hasremotechildren) { this.HasRemoteChildren = hasremotechildren; } /** - * Redirection endpoint for this Item. + * Redirection endpoint for this Share. */ public SFRedirection getRedirection() { return this.Redirection; } /** - * Redirection endpoint for this Item. + * Redirection endpoint for this Share. */ public void setRedirection(SFRedirection redirection) { this.Redirection = redirection; @@ -476,5 +498,31 @@ public SFSafeEnum getShareSubType() { public void setShareSubType(SFSafeEnum sharesubtype) { this.ShareSubType = sharesubtype; } + /** + * Shared item history. + */ + public ArrayList getShareItemHistory() { + return this.ShareItemHistory; + } + + /** + * Shared item history. + */ + public void setShareItemHistory(ArrayList shareitemhistory) { + this.ShareItemHistory = shareitemhistory; + } + /** + * Current Settings for the Share + */ + public SFShareSettings getSettings() { + return this.Settings; + } + + /** + * Current Settings for the Share + */ + public void setSettings(SFShareSettings settings) { + this.Settings = settings; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareConnectAddonFeatureInfo.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareConnectAddonFeatureInfo.java deleted file mode 100644 index 55c2bd9..0000000 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareConnectAddonFeatureInfo.java +++ /dev/null @@ -1,27 +0,0 @@ - -// ------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -// Copyright (c) 2014 Citrix ShareFile. All rights reserved. -// -// ------------------------------------------------------------------------------ - -package com.citrix.sharefile.api.models; - -import java.io.InputStream; -import java.util.ArrayList; -import java.net.URI; -import java.util.Date; - -import com.google.gson.annotations.SerializedName; -import com.citrix.sharefile.api.enumerations.SFSafeEnum; - -public enum SFShareConnectAddonFeatureInfo { - DESKTOP_ONLY, - FILES_ONLY, - APPS_ONLY -} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareItemHistory.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareItemHistory.java new file mode 100644 index 0000000..ec661ce --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareItemHistory.java @@ -0,0 +1,67 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFShareItemHistory extends SFODataObject { + + @SerializedName("Title") + private String Title; + @SerializedName("Recipient") + private String Recipient; + @SerializedName("ActivityType") + private SFSafeEnum ActivityType; + @SerializedName("DownloadDate") + private Date DownloadDate; + + public String getTitle() { + return this.Title; + } + + public void setTitle(String title) { + this.Title = title; + } + public String getRecipient() { + return this.Recipient; + } + + public void setRecipient(String recipient) { + this.Recipient = recipient; + } + public SFSafeEnum getActivityType() { + return this.ActivityType; + } + + public void setActivityType(SFSafeEnum activitytype) { + this.ActivityType = activitytype; + } + public Date getDownloadDate() { + return this.DownloadDate; + } + + public void setDownloadDate(Date downloaddate) { + this.DownloadDate = downloaddate; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSendParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSendParams.java index 6839795..0430d00 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSendParams.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSendParams.java @@ -50,6 +50,8 @@ public class SFShareSendParams extends SFODataObject { private Boolean IsViewOnly; @SerializedName("MaxDownloads") private Integer MaxDownloads; + @SerializedName("UsesStreamIDs") + private Boolean UsesStreamIDs; public ArrayList getItems() { return this.Items; @@ -135,5 +137,20 @@ public Integer getMaxDownloads() { public void setMaxDownloads(Integer maxdownloads) { this.MaxDownloads = maxdownloads; } + /** + * When enabled the items are identified by stream IDs instead of item IDs. + * Applies to Send Shares only. (FINRA enabled accounts cannot use this) + */ + public Boolean getUsesStreamIDs() { + return this.UsesStreamIDs; + } + + /** + * When enabled the items are identified by stream IDs instead of item IDs. + * Applies to Send Shares only. (FINRA enabled accounts cannot use this) + */ + public void setUsesStreamIDs(Boolean usesstreamids) { + this.UsesStreamIDs = usesstreamids; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAzureSBTopicsResponse.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSettings.java similarity index 61% rename from ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAzureSBTopicsResponse.java rename to ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSettings.java index 60346f5..bd21fe1 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAzureSBTopicsResponse.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSettings.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2014 Citrix ShareFile. All rights reserved. +// Copyright (c) 2015 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -20,20 +20,21 @@ import java.util.HashMap; import com.google.gson.annotations.SerializedName; -import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; import com.citrix.sharefile.api.models.*; -public class SFAzureSBTopicsResponse extends SFODataObject { +public class SFShareSettings extends SFODataObject { - @SerializedName("Success") - private String Success; + @SerializedName("NotifyOnUse") + private Boolean NotifyOnUse; - public String getSuccess() { - return this.Success; + public Boolean getNotifyOnUse() { + return this.NotifyOnUse; } - public void setSuccess(String success) { - this.Success = success; + public void setNotifyOnUse(Boolean notifyonuse) { + this.NotifyOnUse = notifyonuse; } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSubType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSubType.java index 79c129b..d39af7d 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSubType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSubType.java @@ -18,5 +18,6 @@ public enum SFShareSubType { None, - Email + Email, + Connector } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareType.java index b5629b3..906bb8a 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareType.java @@ -18,5 +18,6 @@ public enum SFShareType { Request, - Send + Send, + Both } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSortDirection.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSortDirection.java new file mode 100644 index 0000000..bf17ae7 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSortDirection.java @@ -0,0 +1,23 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFSortDirection { + None, + Ascending, + Descending +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOAuthClientPermissions.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSortField.java similarity index 68% rename from ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOAuthClientPermissions.java rename to ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSortField.java index 5079fff..8e96a2e 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOAuthClientPermissions.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSortField.java @@ -6,22 +6,23 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2014 Citrix ShareFile. All rights reserved. +// Copyright (c) 2015 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ package com.citrix.sharefile.api.models; - -import java.io.InputStream; -import java.util.ArrayList; -import java.net.URI; -import java.util.Date; import com.google.gson.annotations.SerializedName; import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; -public enum SFOAuthClientPermissions { - NotWanted, - Required, - Optional +public enum SFSortField { + UsersPreferences, + Name, + FileSizeBytes, + CreationDate, + CreatorName, + Path, + Type, + None } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTenantZoneUsageReport.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTenantZoneUsageReport.java new file mode 100644 index 0000000..4c11dba --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTenantZoneUsageReport.java @@ -0,0 +1,40 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFTenantZoneUsageReport extends SFODataObject { + + @SerializedName("TenantsToZones") + private Map TenantsToZones; + + public Map getTenantsToZones() { + return this.TenantsToZones; + } + + public void setTenantsToZones(Map tenantstozones) { + this.TenantsToZones = tenantstozones; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTrialPeriod.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTrialPeriod.java deleted file mode 100644 index 8b476a2..0000000 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTrialPeriod.java +++ /dev/null @@ -1,57 +0,0 @@ - -// ------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -// Copyright (c) 2014 Citrix ShareFile. All rights reserved. -// -// ------------------------------------------------------------------------------ - -package com.citrix.sharefile.api.models; - -import java.io.InputStream; -import java.util.ArrayList; -import java.net.URI; -import java.util.Date; -import java.util.Map; -import java.util.HashMap; - -import com.google.gson.annotations.SerializedName; -import com.citrix.sharefile.api.enumerations.SFSafeEnum; -import com.citrix.sharefile.api.models.*; - -public class SFTrialPeriod extends SFODataObject { - - @SerializedName("ProductID") - private String ProductID; - @SerializedName("AppStore") - private String AppStore; - @SerializedName("DurationInDays") - private Integer DurationInDays; - - public String getProductID() { - return this.ProductID; - } - - public void setProductID(String productid) { - this.ProductID = productid; - } - public String getAppStore() { - return this.AppStore; - } - - public void setAppStore(String appstore) { - this.AppStore = appstore; - } - public Integer getDurationInDays() { - return this.DurationInDays; - } - - public void setDurationInDays(Integer durationindays) { - this.DurationInDays = durationindays; - } - -} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTypeOfTour.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTypeOfTour.java index 194c83d..c6a22bd 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTypeOfTour.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTypeOfTour.java @@ -28,5 +28,6 @@ public enum SFTypeOfTour { NewEmployee, TFA, GetApp, - ScanSnap + ScanSnap, + CheckInCheckOut } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUploadSpecification.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUploadSpecification.java index b7bf5e8..48b42c0 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUploadSpecification.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUploadSpecification.java @@ -72,40 +72,40 @@ public void setPrepareUri(URI prepareuri) { this.PrepareUri = prepareuri; } /** - * Specifies the URI the apiClient must send the file data to + * Specifies the URI the client must send the file data to */ public URI getChunkUri() { return this.ChunkUri; } /** - * Specifies the URI the apiClient must send the file data to + * Specifies the URI the client must send the file data to */ public void setChunkUri(URI chunkuri) { this.ChunkUri = chunkuri; } /** - * If provided, specifies the final call the apiClient must perform to finish the upload process + * If provided, specifies the final call the client must perform to finish the upload process */ public URI getFinishUri() { return this.FinishUri; } /** - * If provided, specifies the final call the apiClient must perform to finish the upload process + * If provided, specifies the final call the client must perform to finish the upload process */ public void setFinishUri(URI finishuri) { this.FinishUri = finishuri; } /** - * Allows the apiClient to check progress of standard uploads + * Allows the client to check progress of standard uploads */ public String getProgressData() { return this.ProgressData; } /** - * Allows the apiClient to check progress of standard uploads + * Allows the client to check progress of standard uploads */ public void setProgressData(String progressdata) { this.ProgressData = progressdata; diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUser.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUser.java index db15ea7..7f13938 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUser.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUser.java @@ -74,6 +74,8 @@ public class SFUser extends SFPrincipal { private ArrayList> Roles; @SerializedName("Info") private SFUserInfo Info; + @SerializedName("AffiliatedPartnerUserId") + private String AffiliatedPartnerUserId; public SFAccount getAccount() { return this.Account; @@ -243,5 +245,12 @@ public SFUserInfo getInfo() { public void setInfo(SFUserInfo info) { this.Info = info; } + public String getAffiliatedPartnerUserId() { + return this.AffiliatedPartnerUserId; + } + + public void setAffiliatedPartnerUserId(String affiliatedpartneruserid) { + this.AffiliatedPartnerUserId = affiliatedpartneruserid; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserConfirmRequirement.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserConfirmRequirement.java new file mode 100644 index 0000000..d3fe20b --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserConfirmRequirement.java @@ -0,0 +1,85 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFUserConfirmRequirement extends SFODataObject { + + @SerializedName("AuthenticationId") + private String AuthenticationId; + @SerializedName("IsProbableSAMLOnlyUser") + private Boolean IsProbableSAMLOnlyUser; + @SerializedName("IsADLinked") + private Boolean IsADLinked; + @SerializedName("ADUserName") + private String ADUserName; + @SerializedName("TempPassword") + private String TempPassword; + @SerializedName("User") + private SFUser User; + + public String getAuthenticationId() { + return this.AuthenticationId; + } + + public void setAuthenticationId(String authenticationid) { + this.AuthenticationId = authenticationid; + } + public Boolean getIsProbableSAMLOnlyUser() { + return this.IsProbableSAMLOnlyUser; + } + + public void setIsProbableSAMLOnlyUser(Boolean isprobablesamlonlyuser) { + this.IsProbableSAMLOnlyUser = isprobablesamlonlyuser; + } + public Boolean getIsADLinked() { + return this.IsADLinked; + } + + public void setIsADLinked(Boolean isadlinked) { + this.IsADLinked = isadlinked; + } + public String getADUserName() { + return this.ADUserName; + } + + public void setADUserName(String adusername) { + this.ADUserName = adusername; + } + public String getTempPassword() { + return this.TempPassword; + } + + public void setTempPassword(String temppassword) { + this.TempPassword = temppassword; + } + public SFUser getUser() { + return this.User; + } + + public void setUser(SFUser user) { + this.User = user; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserConfirmationSettings.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserConfirmationSettings.java index cf48466..cbb4b54 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserConfirmationSettings.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserConfirmationSettings.java @@ -34,6 +34,10 @@ public class SFUserConfirmationSettings extends SFODataObject { private String Company; @SerializedName("Password") private String Password; + @SerializedName("SecurityQuestion") + private String SecurityQuestion; + @SerializedName("SecurityQuestionAnswer") + private String SecurityQuestionAnswer; @SerializedName("DayLightName") private String DayLightName; @SerializedName("UTCOffset") @@ -73,6 +77,20 @@ public String getPassword() { public void setPassword(String password) { this.Password = password; } + public String getSecurityQuestion() { + return this.SecurityQuestion; + } + + public void setSecurityQuestion(String securityquestion) { + this.SecurityQuestion = securityquestion; + } + public String getSecurityQuestionAnswer() { + return this.SecurityQuestionAnswer; + } + + public void setSecurityQuestionAnswer(String securityquestionanswer) { + this.SecurityQuestionAnswer = securityquestionanswer; + } public String getDayLightName() { return this.DayLightName; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserPreferences.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserPreferences.java index f05daf5..18a785a 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserPreferences.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserPreferences.java @@ -76,6 +76,8 @@ public class SFUserPreferences extends SFODataObject { private Boolean EnableShareConnect; @SerializedName("ReceiveBouncedEmailNotifications") private Boolean ReceiveBouncedEmailNotifications; + @SerializedName("EnablePromotions") + private Boolean EnablePromotions; public Boolean getEnableFlashUpload() { return this.EnableFlashUpload; @@ -252,5 +254,12 @@ public Boolean getReceiveBouncedEmailNotifications() { public void setReceiveBouncedEmailNotifications(Boolean receivebouncedemailnotifications) { this.ReceiveBouncedEmailNotifications = receivebouncedemailnotifications; } + public Boolean getEnablePromotions() { + return this.EnablePromotions; + } + + public void setEnablePromotions(Boolean enablepromotions) { + this.EnablePromotions = enablepromotions; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserRole.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserRole.java index 32a59a7..ae95822 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserRole.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserRole.java @@ -59,5 +59,7 @@ public enum SFUserRole { AdminZones, AdminCreateSharedGroups, AdminArchivedSearch, - AdminConnectors + AdminConnectors, + AdminEmailArchiver, + AdminCanAdministerCustomerAccount } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserSecurity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserSecurity.java index 2317090..d08155f 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserSecurity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserSecurity.java @@ -36,6 +36,8 @@ public class SFUserSecurity extends SFODataObject { private Date LastWebAppLogin; @SerializedName("LastAnyLogin") private Date LastAnyLogin; + @SerializedName("FirstAnyLogin") + private Date FirstAnyLogin; @SerializedName("UserIPRestrictions") private String UserIPRestrictions; @SerializedName("DisableLoginBefore") @@ -92,6 +94,13 @@ public Date getLastAnyLogin() { public void setLastAnyLogin(Date lastanylogin) { this.LastAnyLogin = lastanylogin; } + public Date getFirstAnyLogin() { + return this.FirstAnyLogin; + } + + public void setFirstAnyLogin(Date firstanylogin) { + this.FirstAnyLogin = firstanylogin; + } public String getUserIPRestrictions() { return this.UserIPRestrictions; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFVersioning.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFVersioning.java new file mode 100644 index 0000000..1e42873 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFVersioning.java @@ -0,0 +1,23 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFVersioning { + Default, + Enabled, + Disabled +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWatermarkedDownloads.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWatermarkedDownloads.java new file mode 100644 index 0000000..d39521c --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWatermarkedDownloads.java @@ -0,0 +1,23 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFWatermarkedDownloads { + Default, + Enabled, + Disabled +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZone.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZone.java index 8d07a4e..001a4ef 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZone.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZone.java @@ -42,6 +42,8 @@ public class SFZone extends SFPrincipal { private SFSafeEnumFlags ZoneServices; @SerializedName("IsHIPAAZone") private Boolean IsHIPAAZone; + @SerializedName("IsMultiTenant") + private Boolean IsMultiTenant; @SerializedName("StorageCenters") private ArrayList StorageCenters; @SerializedName("Metadata") @@ -103,6 +105,13 @@ public Boolean getIsHIPAAZone() { public void setIsHIPAAZone(Boolean ishipaazone) { this.IsHIPAAZone = ishipaazone; } + public Boolean getIsMultiTenant() { + return this.IsMultiTenant; + } + + public void setIsMultiTenant(Boolean ismultitenant) { + this.IsMultiTenant = ismultitenant; + } public ArrayList getStorageCenters() { return this.StorageCenters; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneService.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneService.java index 09c885a..1cff8e4 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneService.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneService.java @@ -29,5 +29,7 @@ public enum SFZoneService { GoogleDriveConnector, ExchangeConnector, GenericConnector, - OneDriveBusinessConnector + OneDriveBusinessConnector, + ShareConnectConnector, + Preview } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFServiceBusEndPointInfo.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneUsageBreakdown.java similarity index 56% rename from ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFServiceBusEndPointInfo.java rename to ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneUsageBreakdown.java index 682c65f..a7d441b 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFServiceBusEndPointInfo.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneUsageBreakdown.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2014 Citrix ShareFile. All rights reserved. +// Copyright (c) 2015 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -20,11 +20,21 @@ import java.util.HashMap; import com.google.gson.annotations.SerializedName; -import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; import com.citrix.sharefile.api.models.*; -public class SFServiceBusEndPointInfo extends SFODataObject { +public class SFZoneUsageBreakdown extends SFODataObject { + @SerializedName("ZonesToUsage") + private Map ZonesToUsage; + public Map getZonesToUsage() { + return this.ZonesToUsage; + } + + public void setZonesToUsage(Map zonestousage) { + this.ZonesToUsage = zonestousage; + } } \ No newline at end of file From 4a1097de6733b038a85604c0889a9e3345656078 Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Tue, 8 Dec 2015 13:44:37 -0500 Subject: [PATCH 38/70] delete unwanted file. --- .../api/enumerations/SFV3FeedType.java | 230 ------------------ 1 file changed, 230 deletions(-) delete mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java deleted file mode 100644 index c64c20b..0000000 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3FeedType.java +++ /dev/null @@ -1,230 +0,0 @@ -package com.citrix.sharefile.api.enumerations; - -import com.citrix.sharefile.api.constants.SFKeywords; -import com.citrix.sharefile.api.exceptions.SFInvalidTypeException; -import com.citrix.sharefile.api.log.Logger; -import com.citrix.sharefile.api.models.SFAccessControl; -import com.citrix.sharefile.api.models.SFAccount; -import com.citrix.sharefile.api.models.SFAccountPreferences; -import com.citrix.sharefile.api.models.SFAccountUser; -import com.citrix.sharefile.api.models.SFAdvancedSearchResults; -import com.citrix.sharefile.api.models.SFAsyncOperation; -import com.citrix.sharefile.api.models.SFCapability; -import com.citrix.sharefile.api.models.SFContact; -import com.citrix.sharefile.api.models.SFDevice; -import com.citrix.sharefile.api.models.SFDeviceLogEntry; -import com.citrix.sharefile.api.models.SFDeviceStatus; -import com.citrix.sharefile.api.models.SFDeviceUser; -import com.citrix.sharefile.api.models.SFDeviceUserWipe; -import com.citrix.sharefile.api.models.SFDeviceWipeReport; -import com.citrix.sharefile.api.models.SFDownloadSpecification; -import com.citrix.sharefile.api.models.SFFavoriteFolder; -import com.citrix.sharefile.api.models.SFFile; -import com.citrix.sharefile.api.models.SFFindSubdomainParams; -import com.citrix.sharefile.api.models.SFFindSubdomainResult; -import com.citrix.sharefile.api.models.SFFolder; -import com.citrix.sharefile.api.models.SFGenericConfig; -import com.citrix.sharefile.api.models.SFGroup; -import com.citrix.sharefile.api.models.SFItem; -import com.citrix.sharefile.api.models.SFItemDlpInfo; -import com.citrix.sharefile.api.models.SFItemInfo; -import com.citrix.sharefile.api.models.SFItemProtocolLink; -import com.citrix.sharefile.api.models.SFLink; -import com.citrix.sharefile.api.models.SFMetadata; -import com.citrix.sharefile.api.models.SFMobileSecuritySettings; -import com.citrix.sharefile.api.models.SFNote; -import com.citrix.sharefile.api.models.SFNotification; -import com.citrix.sharefile.api.models.SFODataObject; -import com.citrix.sharefile.api.models.SFOutlookInformation; -import com.citrix.sharefile.api.models.SFOutlookInformationOptionBool; -import com.citrix.sharefile.api.models.SFOutlookInformationOptionInt; -import com.citrix.sharefile.api.models.SFOutlookInformationOptionString; -import com.citrix.sharefile.api.models.SFPlanFeatures; -import com.citrix.sharefile.api.models.SFPrincipal; -import com.citrix.sharefile.api.models.SFProductDefaults; -import com.citrix.sharefile.api.models.SFQuery; -import com.citrix.sharefile.api.models.SFQueryPaging; -import com.citrix.sharefile.api.models.SFQuerySorting; -import com.citrix.sharefile.api.models.SFRequireSubdomainResult; -import com.citrix.sharefile.api.models.SFRequireWebPopResult; -import com.citrix.sharefile.api.models.SFSSOAccountProvider; -import com.citrix.sharefile.api.models.SFSSOInfo; -import com.citrix.sharefile.api.models.SFSSOInfoEntry; -import com.citrix.sharefile.api.models.SFSearchQuery; -import com.citrix.sharefile.api.models.SFSearchResult; -import com.citrix.sharefile.api.models.SFSearchResults; -import com.citrix.sharefile.api.models.SFSession; -import com.citrix.sharefile.api.models.SFShare; -import com.citrix.sharefile.api.models.SFShareAlias; -import com.citrix.sharefile.api.models.SFShareRequestParams; -import com.citrix.sharefile.api.models.SFShareSendParams; -import com.citrix.sharefile.api.models.SFSimpleQuery; -import com.citrix.sharefile.api.models.SFSimpleSearchQuery; -import com.citrix.sharefile.api.models.SFStorageCenter; -import com.citrix.sharefile.api.models.SFSymbolicLink; -import com.citrix.sharefile.api.models.SFUploadSpecification; -import com.citrix.sharefile.api.models.SFUser; -import com.citrix.sharefile.api.models.SFUserConfirmationSettings; -import com.citrix.sharefile.api.models.SFUserInfo; -import com.citrix.sharefile.api.models.SFUserPreferences; -import com.citrix.sharefile.api.models.SFUserSecurity; -import com.citrix.sharefile.api.models.SFZone; - -public enum SFV3FeedType -{ - AccessControl("$metadata#AccessControls",SFAccessControl.class), - Account("$metadata#Account",SFAccount.class), - Accounts("$metadata#Accounts",SFAccount.class), - AccountPreferences("$metadata#AccountPreferences",SFAccountPreferences.class), - AccountUser("$metadata#AccountUser",SFAccountUser.class), - AdvancedSearchResults("$metadata#AdvancedSearchResults",SFAdvancedSearchResults.class), - AsyncOperation("$metadata#AsyncOperation",SFAsyncOperation.class), - Capability("$metadata#Capabilities",SFCapability.class), - Contact("$metadata#Contact",SFContact.class), - Contacts("$metadata#Contacts",SFContact.class), - Device("$metadata#Device",SFDevice.class), - DeviceLogEntry("$metadata#DeviceLogEntry",SFDeviceLogEntry.class), - DeviceStatus("$metadata#DeviceStatus",SFDeviceStatus.class), - DeviceUser("$metadata#DeviceUser",SFDeviceUser.class), - DeviceUserWipe("$metadata#DeviceUserWipe",SFDeviceUserWipe.class), - DeviceWipeReport("$metadata#DeviceWipeReport",SFDeviceWipeReport.class), - DownloadSpecification("$metadata#DownloadSpecification",SFDownloadSpecification.class), - FavoriteFolder("$metadata#FavoriteFolder",SFFavoriteFolder.class), - File("$metadata#File",SFFile.class), - FindSubdomainParams("$metadata#FindSubdomainParams",SFFindSubdomainParams.class), - FindSubdomainResult("$metadata#FindSubdomainResult",SFFindSubdomainResult.class), - Folder("$metadata#Folder",SFFolder.class), - GenericConfig("$metadata#GenericConfig",SFGenericConfig.class), - Group("$metadata#Group",SFGroup.class), - Groups("$metadata#Groups",SFGroup.class), - ItemInfo("$metadata#ItemInfo",SFItemInfo.class), - ItemProtocolLink("$metadata#ItemProtocolLinks",SFItemProtocolLink.class), - ItemDlpInfo("$metadata#ItemDlpInfo",SFItemDlpInfo.class), - Link("$metadata#Link",SFLink.class), - Metadata("$metadata#Metadata",SFMetadata.class), - MobileSecuritySettings("$metadata#MobileSecuritySettings",SFMobileSecuritySettings.class), - Note("$metadata#Note",SFNote.class), - Notification("$metadata#Notification",SFNotification.class), - ODataObject("$metadata#ODataObject",SFODataObject.class), - PlanFeatures("$metadata#PlanFeatures",SFPlanFeatures.class), - Principal("$metadata#Principal",SFPrincipal.class), - ProductDefaults("$metadata#ProductDefaults",SFProductDefaults.class), - Query("$metadata#Query",SFQuery.class), - QueryPaging("$metadata#QueryPaging",SFQueryPaging.class), - QuerySorting("$metadata#QuerySorting",SFQuerySorting.class), - RequireSubdomainResult("$metadata#RequireSubdomainResult",SFRequireSubdomainResult.class), - RequireWebPopResult("$metadata#RequireWebPopResult",SFRequireWebPopResult.class), - SearchQuery("$metadata#SearchQuery",SFSearchQuery.class), - SearchResult("$metadata#SearchResult",SFSearchResult.class), - SearchResults("$metadata#SearchResults",SFSearchResults.class), - Session("$metadata#Session",SFSession.class), - Share("$metadata#Shares",SFShare.class), - ShareAlias("$metadata#ShareAlias",SFShareAlias.class), - ShareRequestParams("$metadata#ShareRequestParams",SFShareRequestParams.class), - ShareSendParams("$metadata#ShareSendParams",SFShareSendParams.class), - SimpleQuery("$metadata#SimpleQuery",SFSimpleQuery.class), - SimpleSearchQuery("$metadata#SimpleSearchQuery",SFSimpleSearchQuery.class), - SSOAccountProvider("$metadata#SSOAccountProvider",SFSSOAccountProvider.class), - SSOInfo("$metadata#SSOInfo",SFSSOInfo.class), - SSOInfoEntry("$metadata#SSOInfoEntry",SFSSOInfoEntry.class), - StorageCenter("$metadata#StorageCenters",SFStorageCenter.class), - SymbolicLink("$metadata#SymbolicLink",SFSymbolicLink.class), - UploadSpecification("$metadata#UploadSpecification",SFUploadSpecification.class), - User("$metadata#User",SFUser.class), - UserConfirmationSettings("$metadata#UserConfirmationSettings",SFUserConfirmationSettings.class), - UserInfo("$metadata#UserInfo",SFUserInfo.class), - UserPreferences("$metadata#UserPreferences",SFUserPreferences.class), - UserSecurity("$metadata#UserSecurity",SFUserSecurity.class), - Zone("$metadata#Zones",SFZone.class), - OutlookInformation("$metadata#OutlookInformation",SFOutlookInformation.class), - OutlookInformationOptionBool("$metadata#OutlookInformationOptionBool",SFOutlookInformationOptionBool.class), - OutlookInformationOptionInt("$metadata#OutlookInformationOptionInt",SFOutlookInformationOptionInt.class), - OutlookInformationOptionString("$metadata#OutlookInformationOptionString",SFOutlookInformationOptionString.class), - Item("$metadata#Item",SFItem.class), - Items("$metadata#Items",SFItem.class); - - private final static String TAG = SFKeywords.TAG + "-SFV3FeedType"; - private final String mToString; - private final Class mOriginalClass; - private Class mOverrideClass; - - private SFV3FeedType(String toStr,Class clazz) - { - mToString = toStr; - mOriginalClass = clazz; - mOverrideClass = mOriginalClass; - } - - @Override - public String toString() - { - return mToString; - } - - public Class getV3Class() - { - return mOverrideClass; - } - - public static final SFV3FeedType getFeedTypeFromMetaData(String metadata) - { - SFV3FeedType ret = null; - - //Logger.d(TAG," FIND Element Type for metadata = " + metadata ); - - if(metadata!=null && metadata.contains("$metadata#")) - { - for(SFV3FeedType s:SFV3FeedType.values()) - { - if(metadata.contains(s.toString())) - { - ret = s; - - break; - } - } - - if(ret == null) - { - Logger.d(TAG," NOT in model factory: " + metadata ); - } - } - - return ret; - } - - /** - * We are allowing consumers of the SDK to register their own deriived classes from the base models - * we have inside the SDK. This allows for cases where the consumer wants to add addtional flags and functions - * to the model and yet have orginal parsed objects of his liking. Example SFFile does not provide the isSynced - * flag. The consumer app can extend like : - *

SFFileEx extends SFFile - *

{ - *

boolean mIsSync - *

} - * @throws IllegalAccessException - * @throws InstantiationException - * @throws SFInvalidTypeException - */ - public static void registerSubClass(SFV3FeedType feedType, Class newClass) throws InstantiationException, IllegalAccessException, SFInvalidTypeException - { - if(newClass == null) - { - throw new SFInvalidTypeException(" NULL does not extend " + feedType.mOriginalClass.toString()); - } - - //test if the new class is a real extension of the type being replaced. - if(!feedType.mOriginalClass.isInstance(newClass.newInstance())) - { - String msg = newClass.toString() + " does not extend " + feedType.mOriginalClass.toString(); - - Logger.d(TAG, msg); - - throw new SFInvalidTypeException(msg); - } - - Logger.d(TAG, "Successfully registered : " + newClass.toString() + " to replace " + feedType.mOriginalClass.toString()); - - feedType.mOverrideClass = newClass; - } -} \ No newline at end of file From 8ca6858e76f8a079128379fc217ccf70da4cf376 Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Tue, 8 Dec 2015 13:57:47 -0500 Subject: [PATCH 39/70] borrow the fixes from the private sdk --- .../com/citrix/sharefile/api/SFApiClient.java | 4 +- .../com/citrix/sharefile/api/SFApiQuery.java | 83 +++++-- .../sharefile/api/SFApiQueryExecutor.java | 3 +- .../citrix/sharefile/api/SFQueryBuilder.java | 75 ------- .../api/enumerations/SFV3ElementType.java | 201 ++++------------- .../sharefile/api/gson/SFGsonHelper.java | 210 ++++++++++++------ .../auto/SFCustomSafeEnumFlagsParser.java | 3 +- .../api/gson/auto/SFCustomSafeEnumParser.java | 4 +- .../api/gson/auto/SFDefaultGsonParser.java | 23 +- .../sharefile/api/interfaces/ISFQuery.java | 18 +- .../sharefile/api/utils/SafeEnumHelpers.java | 140 ++++-------- 11 files changed, 321 insertions(+), 443 deletions(-) delete mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/SFQueryBuilder.java diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiClient.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiClient.java index d395286..f1c13c5 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiClient.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiClient.java @@ -16,18 +16,18 @@ import com.citrix.sharefile.api.https.SFUploadRunnable; import com.citrix.sharefile.api.https.TransferRunnable; import com.citrix.sharefile.api.interfaces.IOAuthTokenChangeHandler; -import com.citrix.sharefile.api.interfaces.ISFApiResultCallback; import com.citrix.sharefile.api.interfaces.ISFApiClient; import com.citrix.sharefile.api.interfaces.ISFApiExecuteQuery; +import com.citrix.sharefile.api.interfaces.ISFApiResultCallback; import com.citrix.sharefile.api.interfaces.ISFQuery; import com.citrix.sharefile.api.interfaces.ISFReAuthHandler; import com.citrix.sharefile.api.log.Logger; +import com.citrix.sharefile.api.models.SFClientCapability; import com.citrix.sharefile.api.models.SFFile; import com.citrix.sharefile.api.models.SFFolder; import com.citrix.sharefile.api.models.SFODataObject; import com.citrix.sharefile.api.models.SFSession; import com.citrix.sharefile.api.models.SFUploadRequestParams; -import com.citrix.sharefile.api.models.SFUploadSpecification; import com.citrix.sharefile.api.utils.Utils; import java.io.InputStream; diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java index dcb6e32..8608b65 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java @@ -1,7 +1,6 @@ package com.citrix.sharefile.api; import com.citrix.sharefile.api.async.SFAsyncHelper; -import com.citrix.sharefile.api.async.SFAsyncTaskFactory; import com.citrix.sharefile.api.constants.SFKeywords; import com.citrix.sharefile.api.constants.SFQueryParams; import com.citrix.sharefile.api.enumerations.SFHttpMethod; @@ -11,23 +10,21 @@ import com.citrix.sharefile.api.exceptions.SFNotAuthorizedException; import com.citrix.sharefile.api.exceptions.SFOAuthTokenRenewException; import com.citrix.sharefile.api.exceptions.SFOtherException; -import com.citrix.sharefile.api.exceptions.SFToDoReminderException; import com.citrix.sharefile.api.exceptions.SFServerException; +import com.citrix.sharefile.api.exceptions.SFToDoReminderException; import com.citrix.sharefile.api.gson.auto.SFDefaultGsonParser; import com.citrix.sharefile.api.interfaces.ISFApiClient; import com.citrix.sharefile.api.interfaces.ISFApiResultCallback; import com.citrix.sharefile.api.interfaces.ISFAsyncTask; import com.citrix.sharefile.api.interfaces.ISFQuery; +import com.citrix.sharefile.api.log.Logger; import com.citrix.sharefile.api.models.SFODataObject; -import com.citrix.sharefile.api.models.SFQuery; import com.citrix.sharefile.api.models.SFSearchResults; import com.citrix.sharefile.api.utils.Utils; -import com.citrix.sharefile.api.log.Logger; import java.io.UnsupportedEncodingException; import java.net.URI; import java.net.URISyntaxException; -import java.net.URLDecoder; import java.net.URLEncoder; import java.util.ArrayList; import java.util.HashMap; @@ -82,6 +79,7 @@ public ISFQuery setApiClient(ISFApiClient apiClient) for the apiClient to add them. so that the apiClient can call query.expand("somevalue1").expand("somevalue2")....expand("somevaluen") etc */ private final ArrayList mExpansionParameters = new ArrayList(){}; + private final ArrayList mSelectParameters = new ArrayList(){}; private final SFFilterParam mFilter = new SFFilterParam(); public SFApiQuery(ISFApiClient client) @@ -252,6 +250,13 @@ public final ISFQuery addActionIds(String actionid) mActionId = actionid; return this; } + + @Override + public final ISFQuery addActionIds(Integer actionid) + { + mActionId = actionid.toString(); + return this; + } public final ISFQuery addActionIds(SFSafeEnum actionId) { @@ -266,6 +271,13 @@ public final ISFQuery addSubAction(String subaction) return this; } + @Override + public final ISFQuery addSubAction(String subaction, SFSafeEnum extras) + { + mSubAction = subaction; + return this; + } + @Override public final ISFQuery setBody(SFODataObject body) { @@ -501,6 +513,14 @@ private void addExpansionParams() } } + private void addSelectParams() + { + if(mSelectParameters.size()>0) + { + addQueryStringInternal(SFQueryParams.SELECT, mSelectParameters); + } + } + private void addFilterParams() { String filters = mFilter.get(); @@ -514,6 +534,7 @@ private void addFilterParams() private void addAllQueryParams() { addExpansionParams(); + addSelectParams(); addFilterParams(); } @@ -643,8 +664,13 @@ private boolean containsDecodedParams(String oldQueryParams,String newQueryParam try { - String decodedString = URLDecoder.decode(oldQueryParams,SFKeywords.UTF_8); - return newQueryParams.contains(decodedString); + HashMap oldQS = splitQuery(oldQueryParams); + HashMap newQS = splitQuery(newQueryParams); + for(String key : oldQS.keySet()) + { + if(!newQS.containsKey(key)) return false; + } + return true; } catch (Throwable e) { @@ -654,6 +680,20 @@ private boolean containsDecodedParams(String oldQueryParams,String newQueryParam return false; } + private static HashMap splitQuery(String qs) + { + final HashMap query_pairs = new HashMap(); + final String[] pairs = qs.split("&"); + for (String pair : pairs) + { + String[] keyValue = pair.split("="); + if(keyValue.length<2) continue; + query_pairs.put(keyValue[0], keyValue[1]); + } + + return query_pairs; + } + @Override public ISFQuery setLinkAndAppendPreviousParameters(URI newuri) throws URISyntaxException, UnsupportedEncodingException { @@ -747,9 +787,15 @@ public ISFQuery is(SFV3ElementType type) } @Override - public ISFQuery select(String name) + public ISFQuery select(String selectParam) { - addQueryString(SFQueryParams.SELECT,name); + if(Utils.isEmpty(selectParam)) + { + return this; + } + + mSelectParameters.add(selectParam); + return this; } @@ -799,17 +845,17 @@ public T execute() throws SFInvalidStateException, SFServerException, } @Override - public void executeAsync(ISFApiResultCallback callback) throws - SFInvalidStateException + public void executeAsync(ISFApiResultCallback callback) { - if(apiClient==null) - { - throw new SFInvalidStateException("No valid client object set for query"); - } + if(callback == null) + { + throw new RuntimeException("Need to set listener to gather Async Result"); + } - if(callback == null) + if(apiClient==null) { - throw new SFInvalidStateException("Need to set listener to gather Async Result"); + callback.onError(new SFInvalidStateException("No valid client object set for query"), this); + return; } SFAsyncHelper asyncHelper = new SFAsyncHelper(apiClient, this, callback); @@ -818,7 +864,8 @@ public void executeAsync(ISFApiResultCallback callback) throws if(asyncTask == null) { - throw new SFInvalidStateException("Need to set AsyncFactory as per your system"); + callback.onError(new SFInvalidStateException("Need to set AsyncFactory as per your system"), this); + return; } asyncTask.start(asyncHelper); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java index ba172d5..fc265d3 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java @@ -33,6 +33,7 @@ import java.net.URISyntaxException; import java.net.URL; import java.net.URLConnection; +import java.net.UnknownHostException; import javax.net.ssl.HttpsURLConnection; @@ -277,7 +278,7 @@ is ShareFile(404) vs Connectors(409). } } } - catch (ConnectException ex) + catch (ConnectException | UnknownHostException ex) { Logger.e(TAG,ex); throw new SFConnectionException(ex); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFQueryBuilder.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFQueryBuilder.java deleted file mode 100644 index 51b61b7..0000000 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFQueryBuilder.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.citrix.sharefile.api; - -import com.citrix.sharefile.api.constants.SFSdkGlobals; -import com.citrix.sharefile.api.entities.SFAccessControlsEntity; -import com.citrix.sharefile.api.entities.SFAccountsEntity; -import com.citrix.sharefile.api.entities.SFAsyncOperationsEntity; -import com.citrix.sharefile.api.entities.SFConfigsEntity; -import com.citrix.sharefile.api.entities.SFDevicesEntity; -import com.citrix.sharefile.api.entities.SFFavoriteFoldersEntity; -import com.citrix.sharefile.api.entities.SFGroupsEntity; -import com.citrix.sharefile.api.entities.SFItemsEntity; -import com.citrix.sharefile.api.entities.SFMetadataEntity; -import com.citrix.sharefile.api.entities.SFSessionsEntity; -import com.citrix.sharefile.api.entities.SFSharesEntity; -import com.citrix.sharefile.api.entities.SFStorageCentersEntity; -import com.citrix.sharefile.api.entities.SFUsersEntity; -import com.citrix.sharefile.api.entities.SFZonesEntity; -import com.citrix.sharefile.api.extensions.SFCapabilitiesEntityEx; - -import java.net.URI; -import java.net.URISyntaxException; - -/** - * The entities have non-static get* functions to build the queries. The auto-generated SDK does not want to change this. - * lets simplify building the queries with the query builder class which holds static entity references so that the app does - * not haver to create a new entity object every time it needs to build a query. - */ -@Deprecated -public class SFQueryBuilder -{ - public static final SFAccessControlsEntity ACCESS_CONTROL = new SFAccessControlsEntity(null); - public static final SFAccountsEntity ACCOUNTS = new SFAccountsEntity(null); - public static final SFAsyncOperationsEntity ASYNC_OPERATION = new SFAsyncOperationsEntity(null); - public static final SFCapabilitiesEntityEx CAPABILITIES = new SFCapabilitiesEntityEx(null); - public static final SFConfigsEntity CONFIG = new SFConfigsEntity(null); - public static final SFFavoriteFoldersEntity FAVORITE_FOLDERS = new SFFavoriteFoldersEntity(null); - public static final SFGroupsEntity GROUPS = new SFGroupsEntity(null); - public static final SFItemsEntity ITEMS = new SFItemsEntity(null); - public static final SFMetadataEntity METADATA = new SFMetadataEntity(null); - public static final SFSessionsEntity SESSIONS = new SFSessionsEntity(null); - public static final SFSharesEntity SHARES = new SFSharesEntity(null); - public static final SFUsersEntity USERS = new SFUsersEntity(null); - public static final SFStorageCentersEntity STORAGE_CENTER = new SFStorageCentersEntity(null); - public static final SFZonesEntity ZONES = new SFZonesEntity(null); - public static final SFDevicesEntity DEVICES = new SFDevicesEntity(null); - - private static final String FORMAT_GET_TOP_FOLDER = "https://%s.%s/"+ SFProvider.PROVIDER_TYPE_SF+"/v3/Items(%s)"; - private static final String FORMAT_GET_DEVICES = "https://%s.%s/"+SFProvider.PROVIDER_TYPE_SF+"/v3/Devices(%s)"; - - /** - * We need to manually construct the v3 url for the TOP folder. This function provides the helper for the apps - * to build that url. - */ - public static final URI getDefaultURL(final String subdomain,String hostname,final String folderID) throws URISyntaxException - { - URI uri; - - String urlSpec = String.format(FORMAT_GET_TOP_FOLDER, subdomain, SFSdkGlobals.getApiServer(hostname),folderID); - - uri = new URI(urlSpec); - - return uri; - } - - public static final URI getDeviceURL(final String subdomain, String hostname, final String deviceID) throws URISyntaxException - { - URI uri; - - String urlSpec = String.format(FORMAT_GET_DEVICES, subdomain, SFSdkGlobals.getApiServer(hostname),deviceID); - - uri = new URI(urlSpec); - - return uri; - } -} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3ElementType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3ElementType.java index 9a5f9e1..40818d3 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3ElementType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3ElementType.java @@ -3,147 +3,25 @@ import com.citrix.sharefile.api.constants.SFKeywords; import com.citrix.sharefile.api.exceptions.SFInvalidTypeException; import com.citrix.sharefile.api.gson.auto.SFDefaultGsonParser; -import com.citrix.sharefile.api.models.SFAccessControl; -import com.citrix.sharefile.api.models.SFAccount; -import com.citrix.sharefile.api.models.SFAccountPreferences; -import com.citrix.sharefile.api.models.SFAccountUser; -import com.citrix.sharefile.api.models.SFAdvancedSearchResults; -import com.citrix.sharefile.api.models.SFAsyncOperation; -import com.citrix.sharefile.api.models.SFCapability; -import com.citrix.sharefile.api.models.SFContact; -import com.citrix.sharefile.api.models.SFDevice; -import com.citrix.sharefile.api.models.SFDeviceLogEntry; -import com.citrix.sharefile.api.models.SFDeviceStatus; -import com.citrix.sharefile.api.models.SFDeviceUser; -import com.citrix.sharefile.api.models.SFDeviceUserWipe; -import com.citrix.sharefile.api.models.SFDeviceWipeReport; -import com.citrix.sharefile.api.models.SFDownloadSpecification; -import com.citrix.sharefile.api.models.SFFavoriteFolder; -import com.citrix.sharefile.api.models.SFFile; -import com.citrix.sharefile.api.models.SFFindSubdomainParams; -import com.citrix.sharefile.api.models.SFFindSubdomainResult; -import com.citrix.sharefile.api.models.SFFolder; -import com.citrix.sharefile.api.models.SFGenericConfig; -import com.citrix.sharefile.api.models.SFGroup; -import com.citrix.sharefile.api.models.SFItem; -import com.citrix.sharefile.api.models.SFItemDlpInfo; -import com.citrix.sharefile.api.models.SFItemInfo; -import com.citrix.sharefile.api.models.SFItemProtocolLink; -import com.citrix.sharefile.api.models.SFLink; -import com.citrix.sharefile.api.models.SFMetadata; -import com.citrix.sharefile.api.models.SFMobileSecuritySettings; -import com.citrix.sharefile.api.models.SFNote; -import com.citrix.sharefile.api.models.SFNotification; -import com.citrix.sharefile.api.models.SFODataObject; -import com.citrix.sharefile.api.models.SFOutlookInformation; -import com.citrix.sharefile.api.models.SFOutlookInformationOptionBool; -import com.citrix.sharefile.api.models.SFOutlookInformationOptionInt; -import com.citrix.sharefile.api.models.SFOutlookInformationOptionString; -import com.citrix.sharefile.api.models.SFPlanFeatures; -import com.citrix.sharefile.api.models.SFPrincipal; -import com.citrix.sharefile.api.models.SFProductDefaults; -import com.citrix.sharefile.api.models.SFQuery; -import com.citrix.sharefile.api.models.SFQueryPaging; -import com.citrix.sharefile.api.models.SFQuerySorting; -import com.citrix.sharefile.api.models.SFRedirection; -import com.citrix.sharefile.api.models.SFRequireSubdomainResult; -import com.citrix.sharefile.api.models.SFRequireWebPopResult; -import com.citrix.sharefile.api.models.SFSSOAccountProvider; -import com.citrix.sharefile.api.models.SFSSOInfo; -import com.citrix.sharefile.api.models.SFSSOInfoEntry; -import com.citrix.sharefile.api.models.SFSearchQuery; -import com.citrix.sharefile.api.models.SFSearchResult; -import com.citrix.sharefile.api.models.SFSearchResults; -import com.citrix.sharefile.api.models.SFSession; -import com.citrix.sharefile.api.models.SFShare; -import com.citrix.sharefile.api.models.SFShareAlias; -import com.citrix.sharefile.api.models.SFShareRequestParams; -import com.citrix.sharefile.api.models.SFShareSendParams; -import com.citrix.sharefile.api.models.SFSimpleQuery; -import com.citrix.sharefile.api.models.SFSimpleSearchQuery; -import com.citrix.sharefile.api.models.SFStorageCenter; -import com.citrix.sharefile.api.models.SFSymbolicLink; -import com.citrix.sharefile.api.models.SFUploadSpecification; -import com.citrix.sharefile.api.models.SFUser; -import com.citrix.sharefile.api.models.SFUserConfirmationSettings; -import com.citrix.sharefile.api.models.SFUserInfo; -import com.citrix.sharefile.api.models.SFUserPreferences; -import com.citrix.sharefile.api.models.SFUserSecurity; -import com.citrix.sharefile.api.models.SFZone; import com.citrix.sharefile.api.log.Logger; +import com.citrix.sharefile.api.models.*; + +import java.util.Iterator; +import java.util.Map; public enum SFV3ElementType { - AccessControl("Models.AccessControl@Element",SFAccessControl.class), - Account("Models.Account@Element",SFAccount.class), - AccountPreferences("Models.AccountPreferences@Element",SFAccountPreferences.class), - AccountUser("Models.AccountUser@Element",SFAccountUser.class), - AdvancedSearchResults("Models.AdvancedSearchResults@Element",SFAdvancedSearchResults.class), - AsyncOperation("Models.AsyncOperation@Element",SFAsyncOperation.class), - Capability("Models.Capabilities@Element",SFCapability.class), - Contact("Models.Contact@Element",SFContact.class), - Device("Models.Device@Element",SFDevice.class), - DeviceLogEntry("Models.DeviceLogEntry@Element",SFDeviceLogEntry.class), - DeviceStatus("Models.DeviceStatus@Element",SFDeviceStatus.class), - DeviceUser("Models.DeviceUser@Element",SFDeviceUser.class), - DeviceUserWipe("Models.DeviceUserWipe@Element",SFDeviceUserWipe.class), - DeviceWipeReport("Models.DeviceWipeReport@Element",SFDeviceWipeReport.class), - DownloadSpecification("Models.DownloadSpecification@Element",SFDownloadSpecification.class), - FavoriteFolder("Models.FavoriteFolder@Element",SFFavoriteFolder.class), File("Models.File@Element",SFFile.class), - FindSubdomainParams("Models.FindSubdomainParams@Element",SFFindSubdomainParams.class), - FindSubdomainResult("Models.FindSubdomainResult@Element",SFFindSubdomainResult.class), Folder("Models.Folder@Element",SFFolder.class), - GenericConfig("Models.GenericConfig@Element",SFGenericConfig.class), - Group("Models.Group@Element",SFGroup.class), Item("Models.Item@Element",SFItem.class), ItemInfo("Models.ItemInfo",SFItemInfo.class), - ItemDlpInfo("Models.ItemDlpInfo",SFItemDlpInfo.class), - ItemProtocolLink("Models.ItemProtocolLink@Element",SFItemProtocolLink.class), - ItemProtocolLink2("Models.ItemProtocolLink",SFItemProtocolLink.class), Link("Models.Link@Element",SFLink.class), - Metadata("Models.Metadata@Element",SFMetadata.class), - MobileSecuritySettings("Models.MobileSecuritySettings@Element",SFMobileSecuritySettings.class), Note("Models.Note@Element",SFNote.class), - Notification("Models.Notification@Element",SFNotification.class), - ODataObject("Models.ODataObject@Element",SFODataObject.class), - PlanFeatures("Models.PlanFeatures@Element",SFPlanFeatures.class), - Principal("Models.Principal@Element",SFPrincipal.class), - ProductDefaults("Models.ProductDefaults@Element",SFProductDefaults.class), - Query("Models.Query@Element",SFQuery.class), - QueryPaging("Models.QueryPaging@Element",SFQueryPaging.class), - QuerySorting("Models.QuerySorting@Element",SFQuerySorting.class), - Redirection("Models.Redirection",SFRedirection.class), - RequireSubdomainResult("Models.RequireSubdomainResult@Element",SFRequireSubdomainResult.class), - RequireWebPopResult("Models.RequireWebPopResult@Element",SFRequireWebPopResult.class), - SearchQuery("Models.SearchQuery@Element",SFSearchQuery.class), - SearchResult("Models.SearchResult@Element",SFSearchResult.class), - SearchResults("Models.SearchResults@Element",SFSearchResults.class), - Session("Models.Session@Element",SFSession.class), - Share("Models.Share@Element",SFShare.class), - ShareAlias("Models.ShareAlias@Element",SFShareAlias.class), - ShareRequestParams("Models.ShareRequestParams@Element",SFShareRequestParams.class), - ShareSendParams("Models.ShareSendParams@Element",SFShareSendParams.class), - SimpleQuery("Models.SimpleQuery@Element",SFSimpleQuery.class), - SimpleSearchQuery("Models.SimpleSearchQuery@Element",SFSimpleSearchQuery.class), - SSOAccountProvider("Models.SSOAccountProvider@Element",SFSSOAccountProvider.class), - SSOInfo("Models.SSOInfo@Element",SFSSOInfo.class), - SSOInfoEntry("Models.SSOInfoEntry@Element",SFSSOInfoEntry.class), StorageCenter("Models.StorageCenter@Element",SFStorageCenter.class), - SymbolicLink("Models.SymbolicLink@Element",SFSymbolicLink.class), - //The v3 API is returning conflicting specs for UploadSpecification. Lets map both of them to the same class - UploadSpecificationOld("Models.UploadSpecification@Element",SFUploadSpecification.class), - UploadSpecification("Models.UploadSpecification",SFUploadSpecification.class), - User("Models.User@Element",SFUser.class), - UserConfirmationSettings("Models.UserConfirmationSettings@Element",SFUserConfirmationSettings.class), - UserInfo("Models.UserInfo@Element",SFUserInfo.class), - UserPreferences("Models.UserPreferences@Element",SFUserPreferences.class), - UserSecurity("Models.UserSecurity@Element",SFUserSecurity.class), - Zone("Models.Zone@Element",SFZone.class), - OutlookInformation("Models.OutlookInformation@Element",SFOutlookInformation.class), - OutlookInformationOptionBool("Models.OutlookInformationOptionBool@Element",SFOutlookInformationOptionBool.class), - OutlookInformationOptionInt("Models.OutlookInformationOptionInt@Element",SFOutlookInformationOptionInt.class), - OutlookInformationOptionString("Models.OutlookInformationOptionString@Element",SFOutlookInformationOptionString.class); + SymbolicLink("Models.SymbolicLink@Element",SFSymbolicLink.class); + + private static final String prefix = "Models."; + private static final String suffix = "@Element"; private static final String TAG = SFKeywords.TAG + "-SFV3ElementType"; private final String mToString; @@ -224,7 +102,40 @@ public static void registerSubClass(SFV3ElementType elementType, Class newCla Logger.d(TAG, "Successfully registered : " + newClass.toString() + " to replace " + elementType.mOriginalClass.toString()); elementType.mOverrideClass = newClass; + + registerSubClass(elementType.mToString.replace(prefix,"").replace(suffix,""),newClass); + } + + public static void registerSubClass(String originalClassName, Class newClass) throws InstantiationException, IllegalAccessException, SFInvalidTypeException + { + if(newClass == null || originalClassName == null) + { + throw new SFInvalidTypeException(" NULL classes not allowed "); + } + + Class originalClass = SFEntityTypeMap.getEntityTypeMap().get(originalClassName); + + if(originalClass == null) + { + throw new SFInvalidTypeException("Given Class does not exist"); + } + + //test if the new class is a real extension of the type being replaced. + if(!originalClass.isInstance(newClass.newInstance())) + { + String msg = newClass.toString() + " does not extend " + originalClass.toString(); + + Logger.d(TAG, msg); + + throw new SFInvalidTypeException(msg); + } + + SFEntityTypeMap.getEntityTypeMap().put(originalClassName,newClass); + SFDefaultGsonParser.routeSpecialClasses(originalClassName,newClass); + + Logger.d(TAG, "Successfully registered : " + newClass.toString() + " to replace " + originalClass.toString()); } + public static boolean isFolderType(SFODataObject object) { @@ -300,33 +211,5 @@ public static boolean isSymbolicLinkType(SFODataObject object) return ret; } - - public static final SFV3ElementType getElementTypeFromMetaData(String metadata) - { - SFV3ElementType ret = null; - - //Logger.d(TAG, "FIND Element Type for metadata = " + metadata ); - - //if(metadata!=null && metadata.contains("Models.") && metadata.contains("@Element")) - //metadata.contains("@Element") is not correct for ItemsInfo - if(metadata!=null && metadata.contains("Models.")) - { - for(SFV3ElementType s:SFV3ElementType.values()) - { - if(metadata.endsWith(s.toString())) - { - ret = s; - - break; - } - } - - if(ret == null) - { - Logger.d(TAG, " NOT in model factory: " + metadata ); - } - } - - return ret; - } + } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/SFGsonHelper.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/SFGsonHelper.java index 603c885..a99885e 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/SFGsonHelper.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/SFGsonHelper.java @@ -1,25 +1,24 @@ package com.citrix.sharefile.api.gson; -import java.io.UnsupportedEncodingException; -import java.net.MalformedURLException; -import java.net.URI; -import java.net.URISyntaxException; -import java.util.ArrayList; - -import com.citrix.sharefile.api.utils.Utils; -import com.google.gson.JsonArray; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; import com.citrix.sharefile.api.constants.SFKeywords; import com.citrix.sharefile.api.enumerations.SFV3ElementType; -import com.citrix.sharefile.api.enumerations.SFV3FeedType; import com.citrix.sharefile.api.gson.auto.SFDefaultGsonParser; -import com.citrix.sharefile.api.models.SFFile; +import com.citrix.sharefile.api.log.Logger; +import com.citrix.sharefile.api.models.SFEntityTypeMap; import com.citrix.sharefile.api.models.SFItem; import com.citrix.sharefile.api.models.SFODataFeed; import com.citrix.sharefile.api.models.SFODataObject; import com.citrix.sharefile.api.models.SFStorageCenter; -import com.citrix.sharefile.api.log.Logger; +import com.citrix.sharefile.api.utils.Utils; +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; + +import java.io.UnsupportedEncodingException; +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; +import java.util.ArrayList; /** * This class contains helper get*() functions to get primitives out of gson objects @@ -239,6 +238,93 @@ public static SFODataFeed parseFeed(Class clazz,JsonObject jso return item; } + private static final String SHAREFILE_MODELS_PACKAGE_NAME = "ShareFile.Api.Models."; + private static final String ELEMENT_TAG = "@Element"; + private static final String METADATA_FEED_TAG = "$metadata#"; + + private static String replaceLeftSide(String tag, String original) + { + int tagIndex = original.lastIndexOf(tag); + + if(tagIndex > -1) + { + return original.substring(tagIndex + tag.length()); + } + + return original; + } + + /* + * This function will get the base bones class name from odata.type or odata.metadata string. + * + * Sample: + * + * odata.metadata : https://subdomain.sf-api.com/sf/v3/$metadata#Capabilities + * odata.type : ShareFile.Api.Models.Folder + * + * odata.metadata : https://enttest1.sf-api.com/sf/v3/$metadata#Items/ShareFile.Api.Models.Folder@Element + * + * + * For SharePoint Feed we get the following strange combination: + * odata.metadata : https://szqatest2.sharefiletest.com/sp/v3/$metadata#Capabilities + odata.type : ShareFile.Api.Models.ODataFeed`1[[ShareFile.Api.Models.Capability, ShareFile.Api.Models, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]] + + */ + private static String getElementName(String original) + { + String ret = original.replace(ELEMENT_TAG, ""); + ret = replaceLeftSide(SHAREFILE_MODELS_PACKAGE_NAME,ret); + ret = replaceLeftSide(METADATA_FEED_TAG,ret); + return ret.trim(); + } + + /* + * This function will get the element from the EntityTypeMap + */ + private static Class getClassFromString(String str) + { + Class clazz = SFEntityTypeMap.getEntityTypeMap().get(getElementName(str)); + if(clazz == null) + { + Logger.d(TAG,"Object not in EntityMap: " + str); + return null; + } + return clazz; + } + + private static SFODataObject parseSFElement(Class clazz, JsonObject jsonObject) + { + if(SFItem.class.getCanonicalName().equals(clazz.getCanonicalName())) + { + // This needs explicit parsing to avoid going into infinite recursion and stackoverflow + //when enumerating folders. + return SFGsonHelper.parseSFItem(jsonObject); + } + + if(SFStorageCenter.class.getCanonicalName().equals(clazz.getCanonicalName())) + { + return SFGsonHelper.parseSFStorageCenter(jsonObject); + } + + return SFDefaultGsonParser.parse(clazz, jsonObject); + } + + private static SFODataObject parseJsonObject(String odata, JsonObject jsonObject, boolean isFeed) + { + Class clazz = getClassFromString(odata); + if(clazz == null) + { + return null; + } + + if(!isFeed) + { + return parseSFElement(clazz, jsonObject); + } + + return parseFeed(clazz,jsonObject); + } + /** * This function finds type of SFODataObject (including feed types!!) from the metadata and then calls the default gson parser * for the appropriate class type contained in the json string. @@ -248,76 +334,62 @@ public static SFODataFeed parseFeed(Class clazz,JsonObject jso */ public static SFODataObject customParse(JsonElement jsonElement) { - SFODataObject ret = null; - try { - if(jsonElement!=null) + if(jsonElement == null) { + Logger.d(TAG,"JSON Element NULL"); + return null; + } + + JsonObject jsonObject = jsonElement.getAsJsonObject(); -// Logger.d(TAG,"Custom parse: " + jsonElement.toString());//enabling this log creates too much noise - - JsonObject jsonObject = jsonElement.getAsJsonObject(); - - if(jsonObject!=null) - { - String metadata = SFGsonHelper.getString(jsonObject, SFKeywords.ODATA_METADATA, null); - - SFV3ElementType elementType = SFV3ElementType.getElementTypeFromMetaData(metadata); - - if(elementType!=null) - { - //Logger.d(TAG, "GSON For : " + metadata); - - switch (elementType) - { - case Item: - /* - * This needs explicit parsing to avoid going into infinite recursion and stackoverflow - * when enumerating folders. - */ - ret = SFGsonHelper.parseSFItem(jsonObject); - break; - case StorageCenter: - ret = SFGsonHelper.parseSFStorageCenter(jsonObject); - break; + if(jsonObject == null) + { + Logger.d(TAG,"JSON Object NULL"); + return null; + } - default: - ret = SFDefaultGsonParser.parse(elementType.getV3Class(), jsonElement); - break; - } - } - else - { - SFV3FeedType feedType = SFV3FeedType.getFeedTypeFromMetaData(metadata); - - if(feedType!=null) - { - //Logger.d(TAG, "GSON For : " + metadata); - ret = SFGsonHelper.parseFeed(feedType.getV3Class(), jsonObject); - } - } - } - else + String odataType = SFGsonHelper.getString(jsonObject, SFKeywords.ODATA_TYPE, null); + String metadata = SFGsonHelper.getString(jsonObject, SFKeywords.ODATA_METADATA, null); + + if(odataType ==null) + { + if(metadata.endsWith(ELEMENT_TAG)) { - Logger.d(TAG,"JSON Object NULL"); + odataType = metadata; } } - else + + if(odataType != null) //Element is non-feed type { - Logger.d(TAG,"JSON Element NULL"); + SFODataObject ret = parseJsonObject(odataType,jsonObject,false); + + if(ret!=null) + { + return ret; + } + + //Got a null object implies the server added a new type of Object which the SDK + //Has no idea about or we got an anomalous type like the SharePoint Capabilities feed. + //Before parsing this as a feed make sure that it is a FEED + if(metadata == null || !metadata.contains(METADATA_FEED_TAG)) + { + Logger.e(TAG,"Upgrade the SDK. No object type for: " + odataType); + return null; + } } + + //Feed type element + + return parseJsonObject(metadata, jsonObject, true); + } catch(Exception e) { Logger.e(TAG, e); } - - if(ret ==null) - { - Logger.d(TAG,"Returning null "); - } - - return ret; + + return null; } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/auto/SFCustomSafeEnumFlagsParser.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/auto/SFCustomSafeEnumFlagsParser.java index 5120706..a9cc4af 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/auto/SFCustomSafeEnumFlagsParser.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/auto/SFCustomSafeEnumFlagsParser.java @@ -7,7 +7,6 @@ import com.google.gson.JsonPrimitive; import com.google.gson.JsonSerializationContext; import com.google.gson.JsonSerializer; -import com.citrix.sharefile.api.enumerations.SFSafeEnum; import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; import com.citrix.sharefile.api.utils.SafeEnumHelpers; @@ -24,7 +23,7 @@ public class SFCustomSafeEnumFlagsParser implements JsonDeserializer { ISFQuery setApiClient(ISFApiClient apiClient); @@ -33,10 +35,14 @@ public interface ISFQuery ISFQuery addActionIds(String id); + ISFQuery addActionIds(Integer id); + ISFQuery addQueryString(String string, ArrayList ids); ISFQuery addSubAction(String string); + ISFQuery addSubAction(String subaction, SFSafeEnum extras); + URI getLink(); String getUserName(); @@ -120,10 +126,10 @@ public interface ISFQuery */ ISFQuery setBaseLink(URI uri) throws URISyntaxException; - public T execute() throws SFInvalidStateException, SFServerException, + T execute() throws SFInvalidStateException, SFServerException, SFNotAuthorizedException,SFOAuthTokenRenewException, SFOtherException; - void executeAsync(ISFApiResultCallback callback) throws SFInvalidStateException; + void executeAsync(ISFApiResultCallback callback); /** * This will allow the consumer apps to preserve identification information related to queries. diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/utils/SafeEnumHelpers.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/utils/SafeEnumHelpers.java index a5d4d0d..60b8efa 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/utils/SafeEnumHelpers.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/utils/SafeEnumHelpers.java @@ -1,118 +1,54 @@ package com.citrix.sharefile.api.utils; -import com.citrix.sharefile.api.models.SFAccessControlFilter; -import com.citrix.sharefile.api.models.SFAppCodes; -import com.citrix.sharefile.api.models.SFAppStore; -import com.citrix.sharefile.api.models.SFAsyncOperationState; -import com.citrix.sharefile.api.models.SFAsyncOperationType; -import com.citrix.sharefile.api.models.SFCapabilityName; -import com.citrix.sharefile.api.models.SFConnectorGroupKind; -import com.citrix.sharefile.api.models.SFDeviceActionInitiatorRole; -import com.citrix.sharefile.api.models.SFDeviceLogEntryAction; -import com.citrix.sharefile.api.models.SFDlpStatus; -import com.citrix.sharefile.api.models.SFESignatureDocumentStatus; -import com.citrix.sharefile.api.models.SFEnsEventType; -import com.citrix.sharefile.api.models.SFFileVirusStatus; -import com.citrix.sharefile.api.models.SFIntegrationProvider; -import com.citrix.sharefile.api.models.SFLockType; -import com.citrix.sharefile.api.models.SFMobileUserRole; -import com.citrix.sharefile.api.models.SFOAuthClientPermissions; -import com.citrix.sharefile.api.models.SFOAuthState; -import com.citrix.sharefile.api.models.SFODataObjectType; -import com.citrix.sharefile.api.models.SFPinLockType; -import com.citrix.sharefile.api.models.SFPlanAddonsStatus; -import com.citrix.sharefile.api.models.SFPreviewPlatform; -import com.citrix.sharefile.api.models.SFPreviewStatus; -import com.citrix.sharefile.api.models.SFQueueStatus; -import com.citrix.sharefile.api.models.SFSFTool; -import com.citrix.sharefile.api.models.SFShareConnectAddonFeatureInfo; -import com.citrix.sharefile.api.models.SFShareSubType; -import com.citrix.sharefile.api.models.SFShareType; -import com.citrix.sharefile.api.models.SFTreeMode; -import com.citrix.sharefile.api.models.SFUXMode; -import com.citrix.sharefile.api.models.SFUploadMethod; -import com.citrix.sharefile.api.models.SFUserRole; -import com.citrix.sharefile.api.models.SFVRootType; -import com.citrix.sharefile.api.models.SFZoneService; -import com.citrix.sharefile.api.models.SFZoneType; import com.citrix.sharefile.api.log.Logger; +/** + The way this parsing works relies on the class name sent by the server. + So if you use proguard in your application, make sure to add the following lines to the + proguard config file: + + -keepattributes Signature + -keepattributes *Annotation* + -keep class com.citrix.sharefile.api.entities.** { *; } + -keep class com.citrix.sharefile.api.models.** { *; } + + Sample name sent by the server : + + "com.citrix.sharefile.api.enumerations.SFSafeEnum" + */ public class SafeEnumHelpers { - private static final int BEGIN_INDEX_SAFE_ENUM = "com.citrix.sharefile.api.enumerations.SFSafeEnum beginIndex) + try { - String containedClassName = className.substring(beginIndex, className.length()-1); - - for(EnumClassNames e:mEnumClassNames) + int beginIndex = className.indexOf("<"); + if(beginIndex > -1 ) { - if(e.mStrName.equals(containedClassName)) - { - clazz = e.mClassName; - break; - } - } + containedClassName = className.substring(beginIndex+1, className.length() - 1); + } + + clazz = Class.forName(containedClassName); + } + catch (ClassNotFoundException e) + { + Logger.e(TAG,e); + } + catch (Exception e) + { + Logger.e(TAG,e); } - + return clazz; } From a23823bcc5bc6b20e72182acdd1897af17d464f9 Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Tue, 8 Dec 2015 14:00:57 -0500 Subject: [PATCH 40/70] remove the maven compile dependecy on apache libs and add local jars instead since if we use the .jar on Android, the PlayStore does not display your app to be supported on many devices. --- ShareFileJavaSDK/build.gradle | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ShareFileJavaSDK/build.gradle b/ShareFileJavaSDK/build.gradle index 90f00d6..b70c993 100644 --- a/ShareFileJavaSDK/build.gradle +++ b/ShareFileJavaSDK/build.gradle @@ -25,9 +25,10 @@ repositories { } dependencies { - compile 'org.apache.httpcomponents:httpcore:4.3.2' - compile 'org.apache.directory.studio:org.apache.commons.codec:1.6' - compile 'com.google.code.gson:gson:2.2.4' + compile fileTree(dir: 'libs', include: '*.jar') +// compile 'org.apache.httpcomponents:httpcore:4.3.2' +// compile 'org.apache.directory.studio:org.apache.commons.codec:1.6' +// compile 'com.google.code.gson:gson:2.2.4' } distributions { From 3cee31234f6f021f5e260fec5f125c9194dab1a9 Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Tue, 8 Dec 2015 14:04:15 -0500 Subject: [PATCH 41/70] remove the SFApiQueryBuilder --- ShareFileJavaSDK/build.gradle | 2 +- .../src/com/citrix/sharefile/api/SFApiClient.java | 3 +-- .../sharefile/api/https/SFUploadRunnable.java | 14 ++++++-------- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/ShareFileJavaSDK/build.gradle b/ShareFileJavaSDK/build.gradle index b70c993..16a78e3 100644 --- a/ShareFileJavaSDK/build.gradle +++ b/ShareFileJavaSDK/build.gradle @@ -5,7 +5,7 @@ apply plugin: 'maven' apply plugin: 'signing' String shareFileJarName = 'sharefile-api' -String shareFileJarVersion = '3.0.9' +String shareFileJarVersion = '3.1.0' String shareFilePomFileName = "$buildDir/libs/"+shareFileJarName+"-"+shareFileJarVersion+".pom" group = "com.citrix" diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiClient.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiClient.java index f1c13c5..81f903f 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiClient.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiClient.java @@ -22,7 +22,6 @@ import com.citrix.sharefile.api.interfaces.ISFQuery; import com.citrix.sharefile.api.interfaces.ISFReAuthHandler; import com.citrix.sharefile.api.log.Logger; -import com.citrix.sharefile.api.models.SFClientCapability; import com.citrix.sharefile.api.models.SFFile; import com.citrix.sharefile.api.models.SFFolder; import com.citrix.sharefile.api.models.SFODataObject; @@ -276,7 +275,7 @@ public SFDownloadRunnable prepareDownload(String itemId, String v3Url, int resum // calculate download URL String url; try { - ISFQuery downloadQuery = SFQueryBuilder.ITEMS.download(new URI(v3Url), true);//SFItemsEntity.download(); + ISFQuery downloadQuery = items().download(new URI(v3Url), true);//SFItemsEntity.download(); downloadQuery.setLink(v3Url); String server = mOAuthToken.get().getApiServer(); url = downloadQuery.buildQueryUrlString(server); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFUploadRunnable.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFUploadRunnable.java index 04ed60d..b929b00 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFUploadRunnable.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFUploadRunnable.java @@ -1,13 +1,8 @@ package com.citrix.sharefile.api.https; -import com.citrix.sharefile.api.SFConnectionManager; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.google.gson.JsonParser; import com.citrix.sharefile.api.SFApiClient; -import com.citrix.sharefile.api.SFQueryBuilder; +import com.citrix.sharefile.api.SFConnectionManager; import com.citrix.sharefile.api.SFSDKDefaultAccessScope; - import com.citrix.sharefile.api.constants.SFKeywords; import com.citrix.sharefile.api.constants.SFSdkGlobals; import com.citrix.sharefile.api.enumerations.SFSafeEnum; @@ -20,10 +15,13 @@ import com.citrix.sharefile.api.exceptions.SFServerException; import com.citrix.sharefile.api.gson.SFGsonHelper; import com.citrix.sharefile.api.interfaces.ISFQuery; +import com.citrix.sharefile.api.log.Logger; import com.citrix.sharefile.api.models.SFUploadMethod; import com.citrix.sharefile.api.models.SFUploadRequestParams; import com.citrix.sharefile.api.models.SFUploadSpecification; -import com.citrix.sharefile.api.log.Logger; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; import java.io.ByteArrayInputStream; import java.io.Closeable; @@ -131,7 +129,7 @@ private SFUploadSpecification getSpecification() throws SFInvalidStateException, try { Date now = new Date(); - ISFQuery uploadQuery = SFQueryBuilder.ITEMS.upload(new URI(mV3Url) + ISFQuery uploadQuery = mApiClient.items().upload(new URI(mV3Url) ,new SFSafeEnum(SFUploadMethod.Streamed), true, mDestinationFileName, From 67dcaefdfe657772084abb090a60de0024975f8d Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Tue, 8 Dec 2015 14:16:08 -0500 Subject: [PATCH 42/70] test the sample code with the 3.1.0 SDK. --- .../AndroidStudioProject/app/build.gradle | 2 +- .../app/libs/sharefile-api-3.1.0-javadoc.jar | Bin 0 -> 975581 bytes .../app/libs/sharefile-api-3.1.0-sources.jar | Bin 0 -> 264699 bytes .../app/libs/sharefile-api-3.1.0.jar | Bin 0 -> 360218 bytes .../com/sharefile/testv3/FoldersActivity.java | 28 ++++-------------- 5 files changed, 7 insertions(+), 23 deletions(-) create mode 100644 SDKSample/AndroidStudioProject/app/libs/sharefile-api-3.1.0-javadoc.jar create mode 100644 SDKSample/AndroidStudioProject/app/libs/sharefile-api-3.1.0-sources.jar create mode 100644 SDKSample/AndroidStudioProject/app/libs/sharefile-api-3.1.0.jar diff --git a/SDKSample/AndroidStudioProject/app/build.gradle b/SDKSample/AndroidStudioProject/app/build.gradle index 07c4a6c..dafa8a3 100644 --- a/SDKSample/AndroidStudioProject/app/build.gradle +++ b/SDKSample/AndroidStudioProject/app/build.gradle @@ -30,5 +30,5 @@ android { dependencies { compile 'com.google.code.gson:gson:2.2.4' - compile 'com.citrix:sharefile-api:3.0.5' + compile fileTree(dir: 'libs', include: '*.jar') } diff --git a/SDKSample/AndroidStudioProject/app/libs/sharefile-api-3.1.0-javadoc.jar b/SDKSample/AndroidStudioProject/app/libs/sharefile-api-3.1.0-javadoc.jar new file mode 100644 index 0000000000000000000000000000000000000000..f625a67e9540bb5dbe792abdd88a256fb5cf44c9 GIT binary patch literal 975581 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%0AFDEG$D)}J1AyKFsK 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�nsfIR76f(?*;P|EhninwURjCPgx`mHjX5dZ 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

+*^HPL%6>#s|sji)gjTlY%(=~9U^ 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�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�xBwm3#u`NKOVU!kydJjnDUueXnhIwme9O9_2~z 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 w}Af|g=%_)#i9e0iIpxJ))KN}5;;Km&oGhl zzlRA6sX4m$bO!{BF9`O8;CyfL%dl)M|WpND&37(z;~E{O=F`Z4BR_T7*D zi8uBg!LgsW(lEZ)HTAQT!;h*dxc|6SbxX0QE?>32x2wE-g1(VPa-gz?(>!%+Zt=*F zjJyxsZ{F9l@;f9wFQ3}LIlx!d%#G;+Idj$-W^go9uIrhiPY3J`8bL0O$Mi_|UCoY!;a{ff-^6+x~ z1pX}iJ1=e*EAPwD4uTrp9Ext!8y+;EA_T@D3<#m%gR!6dM?vfx&OCI-FJJj(m{;s7 zYih_zz77NdnTR3sE|?_;A(fLt!cfp~!I>m?bRui?PCgP!>`;_6SycPCi|~Z71{R&q%Ny8o;9lgN4=hFvOoceexC(SnG;FmJVDKS-b_Lc zZwcXhhOwfFMA4`du~p(Afd_v0{*uhDk1HuyE}Jkr{t{NcArg}${D|M9_AL`2+F&mT z(G<~L&+Ww~p5umfh7Zma;5#TOaa+1063HlOrB(c&kq1xGj8Qq6z`wzi=d)%oQ;n-7@$n^O{C2@FZuIyl4 z54XvlNhBoEUQ=w9>}IH9`$8;WZfp*$80^4@Kp5&lfI7#@IA+*jSJ5|ux0D_NV)^$T zR?>33ZcBU|?f0XSJXzh|yFT_FRxdV3kJgeDD~es87f%0_W0#P^m%M-+M7^@2P_lvb z##XQPACa4(ENM%^LuJ9E1z?eV+m3$N7zp*2!;>0@&8rJ$(ofuv(V}Io(dPid0-Q;M zY>-VHAR(?9iRgFf>4x61kl<7i3J>3LL{g`-WHF`(buinj3>%>f%qDMv6gY{)i}IW? zK7@V!IVM`Ie%qEpN>CB&_i!c?7w8JhLxryb=X#^Wz29r|aeW2{cK_}F)bh*(rLYum zOBl8HH?%Y3?N~e&o48EZC$4ZQpeNVU-U^(fkQ&79Y3rh8k&a3&hQ1sx=TpViTTNC-*X`EG{b^h-;ozTh=2E}fM{wEl#b#YAS;Q1CpC6t{FV~h<4b1TX}3BomE;yAAqdd0;aSVc5-TAkxDMD* zNvso2O%3bD@E!wFNU(a9HreAlHr%Bn+MHPCYbv2V#H4WLb$5-q%o{MS6I51xf_)98 z1Re40z{WiDQu1jruvj%F469Ji;K-R_NeLW=ftRAW1C#B2sElJ|oybD5VNp&PUi|BWp%123%~fTFPzZUp0N2Pd3%Zab!-P zqO;gn8LCRz8o@{Z`)+cp!Mz=_p2NKFS$yze`F8i(?tcHtEZDhhx-||kl+~!M1}R!{ z^cNEUqJV&lr1-U&>2 zq{>22#G_dUP@)?S5;0A-?@C52uW@lYb-s>}Xjl`Fq9vIoII0&3!$zbdG|vIgudUZM zvFE1ta_o9*CB|hZ7U=0�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

- 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

|{fzgUA2P9&}S2`ir!+b@}|9+7{A4LS9j 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

WQ!jrOc_C$#m@-_vj!#Kv9 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 CCi>F= literal 0 HcmV?d00001 diff --git a/SDKSample/AndroidStudioProject/app/libs/sharefile-api-3.1.0-sources.jar b/SDKSample/AndroidStudioProject/app/libs/sharefile-api-3.1.0-sources.jar new file mode 100644 index 0000000000000000000000000000000000000000..142aaee8349bd5b966d4188e793f2253fd6ca1b3 GIT binary patch literal 264699 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

Fst_!x~KJE~ip%-P-LONWQ>$gY$A2+41lJ-OJd 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 z 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 wM+^6qU>`E;NuA#-Pu3#s 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

Z>TqwyQ!U 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 getContentsListener = new ISFApiResultCallback() From 6291b45f3bbd339753ab2dfc1676b57baae17af5 Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Fri, 11 Dec 2015 16:08:29 -0500 Subject: [PATCH 43/70] Update the proguard.cfg for the Sample and documentation --- README.md | 6 +++--- SDKSample/AndroidStudioProject/app/proguard.cfg | 4 ++++ SDKSample/AndroidStudioProject/build.gradle | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 1d37e5e..bbd025f 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ Alternatively you can use the SDK without building the SDK code, if you are usin * Gradle Dependency: dependencies { - compile 'com.citrix:sharefile-api:3.0.7' + compile 'com.citrix:sharefile-api:3.1.0' } Gradle on Android might need the addional : @@ -55,7 +55,7 @@ Alternatively you can use the SDK without building the SDK code, if you are usin com.citrix sharefile-api - 3.0.7 + 3.1.0 @@ -79,7 +79,7 @@ If you are using pro-guard, make sure to set the following in the configuration -keepattributes Signature -keepattributes *Annotation* - -keep class com.sharefile.api.** { *; } + -keep class com.citrix.sharefile.api.** { *; } ## Initialise the SDK ## diff --git a/SDKSample/AndroidStudioProject/app/proguard.cfg b/SDKSample/AndroidStudioProject/app/proguard.cfg index 1581e30..e26eb0a 100644 --- a/SDKSample/AndroidStudioProject/app/proguard.cfg +++ b/SDKSample/AndroidStudioProject/app/proguard.cfg @@ -42,3 +42,7 @@ -keep class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *; } + +-keepattributes Signature +-keepattributes *Annotation* +-keep class com.citrix.sharefile.api.** { *; } \ No newline at end of file diff --git a/SDKSample/AndroidStudioProject/build.gradle b/SDKSample/AndroidStudioProject/build.gradle index 02d6968..4efd9a7 100644 --- a/SDKSample/AndroidStudioProject/build.gradle +++ b/SDKSample/AndroidStudioProject/build.gradle @@ -4,7 +4,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:1.1.0' + classpath 'com.android.tools.build:gradle:2.0.0-alpha2' } } From e88e957bfdc96b379aec3aef599049a349fa3e8b Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Thu, 24 Dec 2015 13:21:41 -0500 Subject: [PATCH 44/70] add search location for maven --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bbd025f..9833bba 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ with an authorization response. The SDK is a pure Java code and you can build it using the Eclipse IDE (Kepler or higher) or using the Android Studio IDE. Simply point your IDE's import functionality to the SDK folder and it should be able to import the projects correctly. Make sure you have Java-7 JDK atleast. You could either generate `.jar` files from the SDK and use them in your application projects or directly include the SDK Module in your Android application Project or Eclipse Workspace of the application. Alternatively you can use the SDK without building the SDK code, if you are using Gradle or Maven, you can directly add the dependency as follows: -(Always check for the latest version on mavenCentral() since we keep posting enhancements and bug fixes. Altrenative use 3.+ as the version code in dependencies.) +(Always check for the latest version [http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22sharefile-api%22](http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22sharefile-api%22 "here on mavenCentral") since we keep posting enhancements and bug fixes. Alternatively use 3.+ as the version code in dependencies.) * Gradle Dependency: From 52b92d091a163923cdb81c5e663af1009a80709b Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Thu, 24 Dec 2015 13:24:51 -0500 Subject: [PATCH 45/70] fix the hyperlink formatting in the README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9833bba..debf4e8 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ with an authorization response. The SDK is a pure Java code and you can build it using the Eclipse IDE (Kepler or higher) or using the Android Studio IDE. Simply point your IDE's import functionality to the SDK folder and it should be able to import the projects correctly. Make sure you have Java-7 JDK atleast. You could either generate `.jar` files from the SDK and use them in your application projects or directly include the SDK Module in your Android application Project or Eclipse Workspace of the application. Alternatively you can use the SDK without building the SDK code, if you are using Gradle or Maven, you can directly add the dependency as follows: -(Always check for the latest version [http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22sharefile-api%22](http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22sharefile-api%22 "here on mavenCentral") since we keep posting enhancements and bug fixes. Alternatively use 3.+ as the version code in dependencies.) +(Always check for the latest version [here on mavenCentral](http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22sharefile-api%22) since we keep posting enhancements and bug fixes. Alternatively use 3.+ as the version code in dependencies.) * Gradle Dependency: From a0621343cfa676021b1524e5bac455e781ac99fb Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Mon, 11 Jan 2016 14:39:12 -0500 Subject: [PATCH 46/70] Pull changes from SF and auto-generated code from release 4.3 --- ShareFileJavaSDK/build.gradle | 2 +- .../com/citrix/sharefile/api/SFApiClient.java | 10 +- .../com/citrix/sharefile/api/SFApiQuery.java | 4 +- .../sharefile/api/SFApiQueryExecutor.java | 10 +- .../sharefile/api/SFCapabilityService.java | 105 +++++++++++++++ .../api/authentication/SFAuthUtils.java | 42 ++++++ .../api/authentication/SFOAuthService.java | 98 ++++++++++++++ .../authentication/SFOAuthTokenRenewer.java | 42 +----- .../api/authentication/SFWebAuthCode.java | 121 ++++++++++++++++++ .../sharefile/api/constants/SFKeywords.java | 2 + .../sharefile/api/constants/SFSdkGlobals.java | 8 +- .../api/entities/SFAccessControlsEntity.java | 28 ++++ .../api/entities/SFReportsEntity.java | 19 +++ .../api/entities/SFSharesEntity.java | 104 ++++++++++----- .../sharefile/api/entities/SFUsersEntity.java | 34 +++++ .../api/interfaces/ISFApiClient.java | 2 + .../api/interfaces/ISFCapabilityService.java | 13 ++ .../api/interfaces/ISFOAuthService.java | 9 ++ .../sharefile/api/interfaces/ISFQuery.java | 4 +- .../models/SFAccessControlsCloneParams.java | 108 ++++++++++++++++ .../sharefile/api/models/SFAccount.java | 15 +++ .../sharefile/api/models/SFEntityTypeMap.java | 6 + .../api/models/SFExceptionReason.java | 3 +- .../api/models/SFIntegrationProvider.java | 3 +- .../api/models/SFItemProtocolLink.java | 9 ++ .../sharefile/api/models/SFService.java | 49 +++++++ .../api/models/SFServicesCollection.java | 61 +++++++++ .../sharefile/api/models/SFZoneService.java | 3 +- maven_release_tools/cleanup.cmd | 3 + maven_release_tools/make_bundle.cmd | 1 + maven_release_tools/readme.txt | 38 ++++++ maven_release_tools/sign.cmd | 4 + 32 files changed, 879 insertions(+), 81 deletions(-) create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/SFCapabilityService.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFAuthUtils.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFWebAuthCode.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFCapabilityService.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlsCloneParams.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFService.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFServicesCollection.java create mode 100644 maven_release_tools/cleanup.cmd create mode 100644 maven_release_tools/make_bundle.cmd create mode 100644 maven_release_tools/readme.txt create mode 100644 maven_release_tools/sign.cmd diff --git a/ShareFileJavaSDK/build.gradle b/ShareFileJavaSDK/build.gradle index 16a78e3..8d1a984 100644 --- a/ShareFileJavaSDK/build.gradle +++ b/ShareFileJavaSDK/build.gradle @@ -5,7 +5,7 @@ apply plugin: 'maven' apply plugin: 'signing' String shareFileJarName = 'sharefile-api' -String shareFileJarVersion = '3.1.0' +String shareFileJarVersion = '3.1.1' String shareFilePomFileName = "$buildDir/libs/"+shareFileJarName+"-"+shareFileJarVersion+".pom" group = "com.citrix" diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiClient.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiClient.java index 81f903f..7451264 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiClient.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiClient.java @@ -22,6 +22,7 @@ import com.citrix.sharefile.api.interfaces.ISFQuery; import com.citrix.sharefile.api.interfaces.ISFReAuthHandler; import com.citrix.sharefile.api.log.Logger; +import com.citrix.sharefile.api.models.SFClientCapability; import com.citrix.sharefile.api.models.SFFile; import com.citrix.sharefile.api.models.SFFolder; import com.citrix.sharefile.api.models.SFODataObject; @@ -61,7 +62,7 @@ public class SFApiClient extends ISFEntities.Implementation implements ISFApiCli private final URI mDefaultTopUrl; - private final ISFReAuthHandler mReAuthHandler; + private ISFReAuthHandler mReAuthHandler; public boolean isClientInitialised() { @@ -106,6 +107,7 @@ public SFApiClient(SFOAuth2Token oauthToken,String sfUserId,String clientID,Stri mSfUserId = sfUserId; mSFAppConfig.addAcceptedLanguage(DEFAULT_ACCEPTED_LANGUAGE); + mSFAppConfig.addHeader(SFKeywords.CLIENT_CAPABILITIES_HEADER, SFClientCapability.HardLock.toString()); copyOAuthToken(oauthToken); @@ -419,4 +421,10 @@ public void tokenRenewFailed(ISFApiClient apiClient, SFSDKException exception) mAuthTokenChangeCallback.tokenRenewFailed(apiClient,exception); } } + + @Override + public void setReAuthHandler(ISFReAuthHandler reAuthHandler) + { + mReAuthHandler = reAuthHandler; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java index 8608b65..87b71b0 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java @@ -780,14 +780,14 @@ public ISFQuery filter(String filterValue) } @Override - public ISFQuery is(SFV3ElementType type) + public ISFQuery is(SFV3ElementType type) { mFilter.is(type); return this; } @Override - public ISFQuery select(String selectParam) + public ISFQuery select(String selectParam) { if(Utils.isEmpty(selectParam)) { diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java index fc265d3..c8a6c19 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java @@ -199,6 +199,10 @@ public T executeBlockingQuery() throws SFServerException, String server = mSFApiClient.getOAuthToken().getApiServer(); String urlstr = mQuery.buildQueryUrlString(server); + if(!SFCapabilityService.getInternal().providerCapabilitiesLoaded(urlstr)) { + SFCapabilityService.getInternal().getCapabilities(urlstr,mSFApiClient); + } + setCurrentUri(urlstr); URL url = new URL(urlstr); @@ -372,8 +376,7 @@ private void renewToken() throws SFOAuthTokenRenewException //https://crashlytics.com/citrix2/android/apps/com.citrix.sharefile.mobile.tablet/issues/5486913f65f8dfea154945c8/sessions/54834f7502e400013d029118062ebeab private boolean alreadyRenewedToken = false; - private void logMultipleTokenRenewals() - { + private void logMultipleTokenRenewals() throws SFNotAuthorizedException { if(!alreadyRenewedToken) { alreadyRenewedToken = true; @@ -384,6 +387,9 @@ private void logMultipleTokenRenewals() Logger.e(TAG, "!!Multiple token renewals in same query. Might lead to stack overflow " + "\n mCurrentUri = " + mCurrentUri + "\nmLink = " + mQuery.getLink()); + + throw new SFNotAuthorizedException("Account not authorized"); + } private T executeQueryAfterTokenRenew() throws diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFCapabilityService.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFCapabilityService.java new file mode 100644 index 0000000..707a84b --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFCapabilityService.java @@ -0,0 +1,105 @@ +package com.citrix.sharefile.api; + +import com.citrix.sharefile.api.exceptions.SFSDKException; +import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.interfaces.ISFCapabilityService; +import com.citrix.sharefile.api.interfaces.ISFQuery; +import com.citrix.sharefile.api.log.Logger; +import com.citrix.sharefile.api.models.SFCapability; +import com.citrix.sharefile.api.models.SFCapabilityName; +import com.citrix.sharefile.api.models.SFODataFeed; + +import java.net.URI; +import java.net.URISyntaxException; +import java.util.ArrayList; +import java.util.HashMap; + +/** + * Created by Wes on 12/16/15. + */ +public class SFCapabilityService implements ISFCapabilityService +{ + private static SFCapabilityService instance; + + public static ISFCapabilityService get() + { + if(instance == null) instance = new SFCapabilityService(); + return instance; + } + + protected static SFCapabilityService getInternal() + { + if(instance == null) instance = new SFCapabilityService(); + return instance; + } + + private HashMap> mUSerCapabilities = new HashMap<>(); + + public void getCapabilities(String providerUri, ISFApiClient client) { + URI uriKey = getProviderUri(providerUri); + if(mUSerCapabilities.containsKey(providerUri))return; + + //Since it doesn't exist, add it initially with a null entry to avoid an infinite loop. + mUSerCapabilities.put(uriKey,null); + try + { + SFODataFeed capabilities = client.executeQuery(getQuery(uriKey,client)); + mUSerCapabilities.put(uriKey,capabilities); + } + catch(SFSDKException ex) + { + Logger.e(getClass().getSimpleName(), ex); + mUSerCapabilities.remove(providerUri); + } + } + + @Override + public boolean hasCapability(String anyUri, SFCapabilityName capability) { + URI uriKey = getProviderUri(anyUri); + SFODataFeed capabilities = mUSerCapabilities.get(uriKey); + + if (capabilities != null) + { + ArrayList capabilitiesList = capabilities.getFeed(); + for (SFCapability c : capabilitiesList) { + if (c.getName().equals(capability)) { + return true; + } + + } + } + else + { + Logger.d(getClass().getSimpleName(), "Couldn't find capabilities for : " + anyUri.toString()); + } + return false; + } + + @Override + public boolean providerCapabilitiesLoaded(String anyUri) { + URI uriKey = getProviderUri(anyUri); + return mUSerCapabilities.containsKey(uriKey); + } + + private URI getProviderUri(String queryUrl) + { + URI uri = URI.create(queryUrl); + String provider = SFProvider.getProviderType(queryUrl); + String hostAndProvider = "https://" + uri.getHost() + "/" + provider + "/v3"; + return URI.create(hostAndProvider); + } + + private ISFQuery> getQuery(URI folderUri, ISFApiClient client) throws SFSDKException { + try + { + ISFQuery> query = client.capabilities().get(); + query.setBaseLink(getProviderUri(folderUri.toString())); + return query; + } + catch (URISyntaxException e) + { + Logger.e(getClass().getSimpleName(), e); + throw new SFSDKException(e); + } + } +} diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFAuthUtils.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFAuthUtils.java new file mode 100644 index 0000000..86d27b2 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFAuthUtils.java @@ -0,0 +1,42 @@ +package com.citrix.sharefile.api.authentication; + +import com.citrix.sharefile.api.constants.SFKeywords; + +import org.apache.http.NameValuePair; + +import java.io.UnsupportedEncodingException; +import java.util.List; + +public class SFAuthUtils +{ + public static final String buildWebLoginTokenUrl(String controlplane,String subdomain) + { + String strDot = controlplane.startsWith(".")?"":"."; + + return "https://"+subdomain+strDot+controlplane+ SFKeywords.SF_OAUTH_TOKEN_PATH; + } + + public static final String getBodyForWebLogin(List params) throws UnsupportedEncodingException + { + StringBuilder result = new StringBuilder(); + boolean first = true; + + for (NameValuePair pair : params) + { + if (first) + { + first = false; + } + else + { + result.append("&"); + } + + result.append(pair.getName()); + result.append("="); + result.append(pair.getValue()); + } + + return result.toString(); + } +} diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFOAuthService.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFOAuthService.java index 7eb906f..4145306 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFOAuthService.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFOAuthService.java @@ -8,11 +8,16 @@ import com.citrix.sharefile.api.exceptions.SFJsonException; import com.citrix.sharefile.api.exceptions.SFNotAuthorizedException; import com.citrix.sharefile.api.exceptions.SFOAuthTokenRenewException; +import com.citrix.sharefile.api.exceptions.SFOtherException; import com.citrix.sharefile.api.exceptions.SFSDKException; +import com.citrix.sharefile.api.exceptions.SFServerException; +import com.citrix.sharefile.api.gson.SFGsonHelper; import com.citrix.sharefile.api.https.SFHttpsCaller; import com.citrix.sharefile.api.interfaces.IOAuthTokenCallback; import com.citrix.sharefile.api.interfaces.ISFOAuthService; import com.citrix.sharefile.api.log.Logger; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; import org.apache.http.NameValuePair; import org.apache.http.message.BasicNameValuePair; @@ -20,6 +25,7 @@ import java.io.IOException; import java.net.HttpURLConnection; import java.net.URL; +import java.net.URLConnection; import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; @@ -309,4 +315,96 @@ public void run() thread.start(); } + + /** + * This function converts the SFWebAuthCode obtained from the webpop + * and returns the OAuthToken from the server for that code. + * + The clientIDSecret is optional. Yf you don't pass these, the function will try to pick it up from + those which you set during the SFSdk.init() + */ + @Override + public SFOAuth2Token getOAuthToken(SFWebAuthCode webAuthCode,String... clientIdSecret) throws SFServerException, SFOtherException + { + int httpErrorCode; + URLConnection conn = null; + String clientId = SFSdk.getClientId(); + String clientSecret = SFSdk.getClientSecret(); + + if(clientIdSecret != null ) + { + switch (clientIdSecret.length) + { + case 2: + { + clientId = clientIdSecret[0]; + clientSecret = clientIdSecret[1]; + } + break; + + case 0: + //do nothing + break; + + default: + throw new SFOtherException("You need to pass clientId/Secret ot nothing at all.\n In such case make sure to set the clientID/Secret from the SFSdk.init()"); + } + } + + try { + String urlSpec = SFAuthUtils.buildWebLoginTokenUrl(webAuthCode.mApiCp, webAuthCode.mSubDomain); + Logger.v(TAG, "GetOauthAuthAccessToken : " + urlSpec); + URL url = new URL(urlSpec); + + conn = SFConnectionManager.openConnection(url); + SFHttpsCaller.setPostMethod(conn); + SFHttpsCaller.setAcceptLanguage(conn); + + List nvPairs = new ArrayList(); + nvPairs.add(new BasicNameValuePair("grant_type", "authorization_code")); + nvPairs.add(new BasicNameValuePair("code", webAuthCode.mCode)); + nvPairs.add(new BasicNameValuePair("client_id", clientId)); + nvPairs.add(new BasicNameValuePair("client_secret", clientSecret)); + + String body = SFAuthUtils.getBodyForWebLogin(nvPairs); + + Logger.v(TAG, "POST BODY: " + body); + + conn.setRequestProperty("Content-Length", "" + body.length()); + conn.setRequestProperty("Content-Type", "" + "application/x-www-form-urlencoded"); + + SFHttpsCaller.postBody(conn, body); + + httpErrorCode = SFHttpsCaller.safeGetResponseCode(conn); + + if (httpErrorCode == HttpsURLConnection.HTTP_OK) { + String response = SFHttpsCaller.readResponse(conn); + + JsonParser jsonParser = new JsonParser(); + JsonObject jsonObject = jsonParser.parse(response).getAsJsonObject(); + + String error = SFGsonHelper.getString(jsonObject, "error", ""); + if (error.length() != 0) { + String errorMessage = SFGsonHelper.getString(jsonObject, "errorMessage", ""); + throw new SFServerException(httpErrorCode, errorMessage); + } + + return new SFOAuth2Token(jsonObject); + } + } + catch (SFServerException e) + { + throw e; + } + catch (Exception e) + { + throw new SFOtherException(e); + } + finally + { + SFHttpsCaller.disconnect(conn); + } + + return null; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFOAuthTokenRenewer.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFOAuthTokenRenewer.java index 6e1dab3..0ba55bc 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFOAuthTokenRenewer.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFOAuthTokenRenewer.java @@ -1,9 +1,6 @@ package com.citrix.sharefile.api.authentication; import com.citrix.sharefile.api.SFConnectionManager; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.google.gson.JsonParser; import com.citrix.sharefile.api.SFSdk; import com.citrix.sharefile.api.constants.SFKeywords; import com.citrix.sharefile.api.constants.SFSdkGlobals; @@ -11,11 +8,13 @@ import com.citrix.sharefile.api.gson.SFGsonHelper; import com.citrix.sharefile.api.https.SFHttpsCaller; import com.citrix.sharefile.api.log.Logger; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; import org.apache.http.NameValuePair; import org.apache.http.message.BasicNameValuePair; -import java.io.UnsupportedEncodingException; import java.net.URL; import java.net.URLConnection; import java.util.ArrayList; @@ -45,37 +44,6 @@ public SFOAuthTokenRenewer(SFOAuth2Token oldtoken,String clientID,String clientS mWebLoginClientID = clientID; mWebLoginClientSecret = clientSecret; } - - private final String buildWebLoginTokenUrl(String controlplane,String subdomain) - { - String strDot = controlplane.startsWith(".")?"":"."; - - return "https://"+subdomain+strDot+controlplane+"/oauth/token"; - } - - private String getBodyForWebLogin(List params) throws UnsupportedEncodingException - { - StringBuilder result = new StringBuilder(); - boolean first = true; - - for (NameValuePair pair : params) - { - if (first) - { - first = false; - } - else - { - result.append("&"); - } - - result.append(pair.getName()); - result.append("="); - result.append(pair.getValue()); - } - - return result.toString(); - } private String parseError(String serverRespString,int serverHttpCode) { @@ -114,7 +82,7 @@ public SFOAuth2Token getNewAccessToken() throws SFOAuthTokenRenewException try { - URL url = new URL(buildWebLoginTokenUrl(mOldAccessToken.getApiCP(), mOldAccessToken.getSubdomain())); + URL url = new URL(SFAuthUtils.buildWebLoginTokenUrl(mOldAccessToken.getApiCP(), mOldAccessToken.getSubdomain())); URLConnection conn = SFConnectionManager.openConnection(url); SFHttpsCaller.setPostMethod(conn); @@ -126,7 +94,7 @@ public SFOAuth2Token getNewAccessToken() throws SFOAuthTokenRenewException nvPairs.add(new BasicNameValuePair(SFKeywords.CLIENT_ID, mWebLoginClientID)); nvPairs.add(new BasicNameValuePair(SFKeywords.CLIENT_SECRET, mWebLoginClientSecret)); - String body = getBodyForWebLogin(nvPairs); + String body = SFAuthUtils.getBodyForWebLogin(nvPairs); conn.setRequestProperty(SFKeywords.CONTENT_LENGTH, ""+body.length()); conn.setRequestProperty(SFKeywords.CONTENT_TYPE, SFKeywords.APPLICATION_FORM_URLENCODED); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFWebAuthCode.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFWebAuthCode.java new file mode 100644 index 0000000..5560f62 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFWebAuthCode.java @@ -0,0 +1,121 @@ +package com.citrix.sharefile.api.authentication; + + +import com.citrix.sharefile.api.log.Logger; + +/** + This is the code we receive from the WebPop as a part of the finishUrl. + This class can take the finish URL and correctly parse out the necessary fields from it. + The SFWebAuthCode can be used to obtaine the OAuthToken using the SFOAuthService. + */ +public class SFWebAuthCode +{ + private static final String TAG = "SFWebAuthCode"; + private static final String CODE = "code"; + private static final String STATE = "state"; + private static final String SUBDOMAIN = "subdomain"; + private static final String APPCP = "appcp"; + private static final String APICP = "apicp"; + + public String mCode; + public String mState; + public String mSubDomain; + public String mAppCp; + public String mApiCp; + + public SFWebAuthCode() + { + + } + + public SFWebAuthCode(String url) + { + parseTokensFromURL(url); + } + + /** + * parse redirection url to extract parameters + * will return null if required parameters are not found + * @param url + * @return + */ + public static SFWebAuthCode parse(String url) { + SFWebAuthCode code = new SFWebAuthCode(url); + if(code.mApiCp ==null || code.mSubDomain == null) { + Logger.e(TAG, "Couldn't parse URL"); + return null; + } + + return code; + } + + public String toString() + { + StringBuilder sb = new StringBuilder(); + + sb.append(CODE + "=" + mCode + ","); + sb.append(STATE+ "=" + mState + ","); + sb.append(SUBDOMAIN +"=" + mSubDomain+","); + sb.append(APPCP +"="+ mAppCp+ ","); + sb.append(APICP + mApiCp); + + return sb.toString(); + } + + /** + * http://secure.sharefiletest.com/oauth/oauthcomplete.aspx + * ?code=C0K9TSkdf6DyTlvJEGSVjwDmbLFCtV + * &state=1234 + * &subdomain=zachTest + * &appcp=sharefiletest.com + * &apicp=sharefiletest.com + */ + public void parseTokensFromURL(String url) + { + String[]split1 = url.split("\\?"); + + if(split1.length>1) + { + String response = split1[1]; + + if(response.length()>0) + { + String[]splitparams=response.split("\\&"); + + for(int i=0;i1) + { + String name = namevalue[0]; + String value = namevalue[1]; + + if(name.equalsIgnoreCase(CODE)) + { + mCode = value; + } + else if(name.equalsIgnoreCase(STATE)) + { + mState = value; + } + else if(name.equalsIgnoreCase(SUBDOMAIN)) + { + mSubDomain = value; + } + else if(name.equalsIgnoreCase(APPCP)) + { + mAppCp = value; + } + else if(name.equalsIgnoreCase(APICP)) + { + mApiCp = value; + } + } + } + } + } + + Logger.v(TAG, "Parsed: " + toString()); + } +} diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/constants/SFKeywords.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/constants/SFKeywords.java index 1dd44bf..fc0f2fd 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/constants/SFKeywords.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/constants/SFKeywords.java @@ -43,6 +43,8 @@ public final class SFKeywords public static final String CHILDREN_LOCKED_BY = CHILDREN + "/" + LOCKED_BY; public static final String CHILDREN_FILE_LOCK_INFO = CHILDREN + "/" + FILE_LOCK_INFO; + public static final String CONSOLIDATED_NOTIFICATION = "ConsolidatedNotification"; + //Access token related public static final String ACCESS_TOKEN = "access_token"; public static final String REFRESH_TOKEN = "refresh_token"; diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/constants/SFSdkGlobals.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/constants/SFSdkGlobals.java index bba67c0..92cf692 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/constants/SFSdkGlobals.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/constants/SFSdkGlobals.java @@ -13,13 +13,15 @@ public class SFSdkGlobals private static final String API_SERVER_DEV = "sf-apidev.com"; private static final String API_SERVER_PRODUCTION = "sf-api.com"; private static final String API_SERVER_PRODUCTION_EU = "sf-api.eu"; + private static final String API_SERVER_STAGING = "sf-apistaging.com"; - private static final String[] mApiServer = {API_SERVER_PRODUCTION, API_SERVER_DEV,API_SERVER_TEST,API_SERVER_PRODUCTION_EU}; + private static final String[] mApiServer = {API_SERVER_PRODUCTION, API_SERVER_DEV,API_SERVER_TEST,API_SERVER_PRODUCTION_EU,API_SERVER_STAGING}; private static final int HOST_INDEX_PRODUCTION = 0; private static final int HOST_INDEX_DEV = 1; private static final int HOST_INDEX_TEST = 2; private static final int HOST_INDEX_PRODUCTION_EU = 3; + private static final int HOST_INDEX_STAGING = 4; public static final int getHostIndex(final String hostName) { @@ -37,6 +39,10 @@ else if(hostName.endsWith(".eu")) { index = HOST_INDEX_PRODUCTION_EU; } + else if(hostName.endsWith("staging.com")) + { + index = HOST_INDEX_STAGING; + } return index; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccessControlsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccessControlsEntity.java index 9144409..0b6a23c 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccessControlsEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccessControlsEntity.java @@ -462,6 +462,34 @@ public ISFQuery bulkSetForPrincipal(SFAccessControlsB return sfApiQuery; } + /** + * Recursively clones multiple access controls for a multiple users + * { + * "FolderId":"top-level-folder-id", + * "UserId":"source-user-id", + * "CloneUserIds": + * [ + * "clone-user-id-1", + * "clone-user-id-2", + * "clone-user-id-3" + * ] + * } + * @param accessControlsCloneParams + * @return Cloned access controls + */ + public ISFQuery clone(SFAccessControlsCloneParams accessControlsCloneParams) throws InvalidOrMissingParameterException { + if (accessControlsCloneParams == null) { + throw new InvalidOrMissingParameterException("accessControlsCloneParams"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("AccessControls"); + sfApiQuery.setAction("Clone"); + sfApiQuery.setBody(accessControlsCloneParams); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + /** * Delete multiple access controls * ["id1","id2",...] diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFReportsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFReportsEntity.java index 5536333..90741ce 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFReportsEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFReportsEntity.java @@ -70,6 +70,25 @@ public ISFQuery get(URI url) throws InvalidOrMissingParameterException /** * Get recent reports * Returns the last 10 reports run for the current account. + * @param maxReports (default: 10) + * @return List of reports + */ + public ISFQuery> getRecent(Integer maxReports) throws InvalidOrMissingParameterException { + if (maxReports == null) { + throw new InvalidOrMissingParameterException("maxReports"); + } + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Reports"); + sfApiQuery.setAction("Recent"); + sfApiQuery.addQueryString("maxReports", maxReports); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Get recent reports + * Returns the most recent reports run for the current account. 10 reports are returned unless otherwise specified. * @return List of reports */ public ISFQuery> getRecent() { diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFSharesEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFSharesEntity.java index ce128e3..ed46503 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFSharesEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFSharesEntity.java @@ -114,9 +114,19 @@ public ISFQuery getRecipients(URI parentUrl, String id) throws Inv return sfApiQuery; } - public ISFQuery createRecipients(URI url, String Email, String FirstName, String LastName, String Company) throws InvalidOrMissingParameterException { - if (url == null) { - throw new InvalidOrMissingParameterException("url"); + /** + * Create Recipient for a Share + * Creates a Recipient User for a Share that requires user information + * @param parentUrl + * @param Email (default: null) + * @param FirstName (default: null) + * @param LastName (default: null) + * @param Company (default: null) + * @return A Share Alias representing a single recipient of the Share + */ + public ISFQuery createRecipients(URI parentUrl, String Email, String FirstName, String LastName, String Company) throws InvalidOrMissingParameterException { + if (parentUrl == null) { + throw new InvalidOrMissingParameterException("parentUrl"); } if (Email == null) { throw new InvalidOrMissingParameterException("Email"); @@ -134,7 +144,7 @@ public ISFQuery createRecipients(URI url, String Email, String Fir SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Recipients"); - sfApiQuery.addIds(url); + sfApiQuery.addIds(parentUrl); sfApiQuery.addQueryString("Email", Email); sfApiQuery.addQueryString("FirstName", FirstName); sfApiQuery.addQueryString("LastName", LastName); @@ -143,9 +153,18 @@ public ISFQuery createRecipients(URI url, String Email, String Fir return sfApiQuery; } - public ISFQuery createRecipients(URI url, String Email, String FirstName, String LastName) throws InvalidOrMissingParameterException { - if (url == null) { - throw new InvalidOrMissingParameterException("url"); + /** + * Create Recipient for a Share + * Creates a Recipient User for a Share that requires user information + * @param parentUrl + * @param Email (default: null) + * @param FirstName (default: null) + * @param LastName (default: null) + * @return A Share Alias representing a single recipient of the Share + */ + public ISFQuery createRecipients(URI parentUrl, String Email, String FirstName, String LastName) throws InvalidOrMissingParameterException { + if (parentUrl == null) { + throw new InvalidOrMissingParameterException("parentUrl"); } if (Email == null) { throw new InvalidOrMissingParameterException("Email"); @@ -160,7 +179,7 @@ public ISFQuery createRecipients(URI url, String Email, String Fir SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Recipients"); - sfApiQuery.addIds(url); + sfApiQuery.addIds(parentUrl); sfApiQuery.addQueryString("Email", Email); sfApiQuery.addQueryString("FirstName", FirstName); sfApiQuery.addQueryString("LastName", LastName); @@ -168,9 +187,17 @@ public ISFQuery createRecipients(URI url, String Email, String Fir return sfApiQuery; } - public ISFQuery createRecipients(URI url, String Email, String FirstName) throws InvalidOrMissingParameterException { - if (url == null) { - throw new InvalidOrMissingParameterException("url"); + /** + * Create Recipient for a Share + * Creates a Recipient User for a Share that requires user information + * @param parentUrl + * @param Email (default: null) + * @param FirstName (default: null) + * @return A Share Alias representing a single recipient of the Share + */ + public ISFQuery createRecipients(URI parentUrl, String Email, String FirstName) throws InvalidOrMissingParameterException { + if (parentUrl == null) { + throw new InvalidOrMissingParameterException("parentUrl"); } if (Email == null) { throw new InvalidOrMissingParameterException("Email"); @@ -182,16 +209,23 @@ public ISFQuery createRecipients(URI url, String Email, String Fir SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Recipients"); - sfApiQuery.addIds(url); + sfApiQuery.addIds(parentUrl); sfApiQuery.addQueryString("Email", Email); sfApiQuery.addQueryString("FirstName", FirstName); sfApiQuery.setHttpMethod("POST"); return sfApiQuery; } - public ISFQuery createRecipients(URI url, String Email) throws InvalidOrMissingParameterException { - if (url == null) { - throw new InvalidOrMissingParameterException("url"); + /** + * Create Recipient for a Share + * Creates a Recipient User for a Share that requires user information + * @param parentUrl + * @param Email (default: null) + * @return A Share Alias representing a single recipient of the Share + */ + public ISFQuery createRecipients(URI parentUrl, String Email) throws InvalidOrMissingParameterException { + if (parentUrl == null) { + throw new InvalidOrMissingParameterException("parentUrl"); } if (Email == null) { throw new InvalidOrMissingParameterException("Email"); @@ -200,21 +234,27 @@ public ISFQuery createRecipients(URI url, String Email) throws Inv SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Recipients"); - sfApiQuery.addIds(url); + sfApiQuery.addIds(parentUrl); sfApiQuery.addQueryString("Email", Email); sfApiQuery.setHttpMethod("POST"); return sfApiQuery; } - public ISFQuery createRecipients(URI url) throws InvalidOrMissingParameterException { - if (url == null) { - throw new InvalidOrMissingParameterException("url"); + /** + * Create Recipient for a Share + * Creates a Recipient User for a Share that requires user information + * @param parentUrl + * @return A Share Alias representing a single recipient of the Share + */ + public ISFQuery createRecipients(URI parentUrl) throws InvalidOrMissingParameterException { + if (parentUrl == null) { + throw new InvalidOrMissingParameterException("parentUrl"); } SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Recipients"); - sfApiQuery.addIds(url); + sfApiQuery.addIds(parentUrl); sfApiQuery.setHttpMethod("POST"); return sfApiQuery; } @@ -3790,9 +3830,9 @@ public ISFQuery getRedirection(URI url) throws InvalidOrMissingPa * Retrieve all outstanding Shares in the inbox.User identifier * @return List of Shares created by the authenticated user */ - public ISFQuery> getInbox(String id, SFSafeEnum type, Boolean archived) throws InvalidOrMissingParameterException { - if (id == null) { - throw new InvalidOrMissingParameterException("id"); + public ISFQuery> getInbox(String userId, SFSafeEnum type, Boolean archived) throws InvalidOrMissingParameterException { + if (userId == null) { + throw new InvalidOrMissingParameterException("userId"); } if (type == null) { throw new InvalidOrMissingParameterException("type"); @@ -3804,7 +3844,7 @@ public ISFQuery> getInbox(String id, SFSafeEnum> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Inbox"); - sfApiQuery.addActionIds(id); + sfApiQuery.addActionIds(userId); sfApiQuery.addQueryString("type", type); sfApiQuery.addQueryString("archived", archived); sfApiQuery.setHttpMethod("GET"); @@ -3816,9 +3856,9 @@ public ISFQuery> getInbox(String id, SFSafeEnum> getInbox(String id, SFSafeEnum type) throws InvalidOrMissingParameterException { - if (id == null) { - throw new InvalidOrMissingParameterException("id"); + public ISFQuery> getInbox(String userId, SFSafeEnum type) throws InvalidOrMissingParameterException { + if (userId == null) { + throw new InvalidOrMissingParameterException("userId"); } if (type == null) { throw new InvalidOrMissingParameterException("type"); @@ -3827,7 +3867,7 @@ public ISFQuery> getInbox(String id, SFSafeEnum> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Inbox"); - sfApiQuery.addActionIds(id); + sfApiQuery.addActionIds(userId); sfApiQuery.addQueryString("type", type); sfApiQuery.setHttpMethod("GET"); return sfApiQuery; @@ -3838,15 +3878,15 @@ public ISFQuery> getInbox(String id, SFSafeEnum> getInbox(String id) throws InvalidOrMissingParameterException { - if (id == null) { - throw new InvalidOrMissingParameterException("id"); + public ISFQuery> getInbox(String userId) throws InvalidOrMissingParameterException { + if (userId == null) { + throw new InvalidOrMissingParameterException("userId"); } SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Inbox"); - sfApiQuery.addActionIds(id); + sfApiQuery.addActionIds(userId); sfApiQuery.setHttpMethod("GET"); return sfApiQuery; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFUsersEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFUsersEntity.java index 565a2af..885f4fb 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFUsersEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFUsersEntity.java @@ -800,6 +800,40 @@ public ISFQuery patchRoles(URI parentUrl, SFUser user) throws InvalidOrM return sfApiQuery; } + /** + * Remove Roles + * { + * [ "CanManageUsers", "CanSelectFolderZone" ] + * } + * Removes the roles for user. + * The following roles can be removed from user through this call (depending on User type): + * CanCreateFolders, + * CanSelectFolderZone, + * CanUseFileBox, + * CanManageUsers, + * AdminSharedAddressBook, + * CanChangePassword, + * CanManageMySettings + * @param userUrl + * @param userRoles + */ + public ISFQuery removeRoles(URI userUrl, ArrayList> userRoles) throws InvalidOrMissingParameterException { + if (userUrl == null) { + throw new InvalidOrMissingParameterException("userUrl"); + } + if (userRoles == null) { + throw new InvalidOrMissingParameterException("userRoles"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.setAction("RemoveRoles"); + sfApiQuery.addIds(userUrl); + sfApiQuery.setBody(userRoles); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + /** * Update Employee or Promote Customer * { diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFApiClient.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFApiClient.java index 0018eb6..53f60c3 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFApiClient.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFApiClient.java @@ -56,4 +56,6 @@ public SFUploadRunnable getUploader(SFUploadRequestParams uploadRequestParams, public URI getDefaultUrl(String folderID) throws URISyntaxException; public URI getTopUrl(); public URI getDeviceUrl(String deviceId) throws URISyntaxException; + + public void setReAuthHandler(ISFReAuthHandler reAuthHandler); } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFCapabilityService.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFCapabilityService.java new file mode 100644 index 0000000..cec2554 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFCapabilityService.java @@ -0,0 +1,13 @@ +package com.citrix.sharefile.api.interfaces; +import com.citrix.sharefile.api.exceptions.SFSDKException; +import com.citrix.sharefile.api.models.SFCapabilityName; + +import java.net.URI; + +/** + * Created by Wes on 12/16/15. + */ +public interface ISFCapabilityService { + boolean hasCapability(String anyUri, SFCapabilityName capability); + boolean providerCapabilitiesLoaded(String anyUri); +} diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFOAuthService.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFOAuthService.java index 7681a9a..0647773 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFOAuthService.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFOAuthService.java @@ -1,10 +1,13 @@ package com.citrix.sharefile.api.interfaces; import com.citrix.sharefile.api.authentication.SFOAuth2Token; +import com.citrix.sharefile.api.authentication.SFWebAuthCode; import com.citrix.sharefile.api.exceptions.SFInvalidStateException; import com.citrix.sharefile.api.exceptions.SFJsonException; import com.citrix.sharefile.api.exceptions.SFNotAuthorizedException; import com.citrix.sharefile.api.exceptions.SFOAuthTokenRenewException; +import com.citrix.sharefile.api.exceptions.SFOtherException; +import com.citrix.sharefile.api.exceptions.SFServerException; import java.io.IOException; @@ -25,4 +28,10 @@ public SFOAuth2Token refreshOAuthToken(SFOAuth2Token oldToken) public void authenticateAsync(String subDomain, String apiControlPlane, String samlAssertion, IOAuthTokenCallback callback); public void refreshOAuthTokenAsync(SFOAuth2Token oldToken, IOAuthTokenCallback callback); + + /** + The clientID Secret is optional. Yf you don't pass these, the function will try to pick it up from + those which you set during the SFSdk.init() + */ + public SFOAuth2Token getOAuthToken(SFWebAuthCode webAuthCode, String... clientIdSecret) throws SFServerException, SFOtherException; } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFQuery.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFQuery.java index 4bf3478..77077ef 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFQuery.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFQuery.java @@ -113,9 +113,9 @@ public interface ISFQuery ISFQuery filter(String filterValue); - ISFQuery is(SFV3ElementType type); + ISFQuery is(SFV3ElementType type); - ISFQuery select(String name); + ISFQuery select(String name); /** This function takes any uri and stores only its base part along with the provider diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlsCloneParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlsCloneParams.java new file mode 100644 index 0000000..0e63f7e --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlsCloneParams.java @@ -0,0 +1,108 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFAccessControlsCloneParams extends SFODataObject { + + @SerializedName("NotifyUser") + private Boolean NotifyUser; + @SerializedName("NotifyMessage") + private String NotifyMessage; + @SerializedName("FolderId") + private String FolderId; + @SerializedName("UserId") + private String UserId; + @SerializedName("CloneUserIds") + private ArrayList CloneUserIds; + + /** + * Defines whether the cloned users should receieve a notice on the permission grant. + */ + public Boolean getNotifyUser() { + return this.NotifyUser; + } + + /** + * Defines whether the cloned users should receieve a notice on the permission grant. + */ + public void setNotifyUser(Boolean notifyuser) { + this.NotifyUser = notifyuser; + } + /** + * Custom notification message, if any. + */ + public String getNotifyMessage() { + return this.NotifyMessage; + } + + /** + * Custom notification message, if any. + */ + public void setNotifyMessage(String notifymessage) { + this.NotifyMessage = notifymessage; + } + /** + * The source user's permissions for this folder and all subdirectories + * will be copied into the cloned users. + */ + public String getFolderId() { + return this.FolderId; + } + + /** + * The source user's permissions for this folder and all subdirectories + * will be copied into the cloned users. + */ + public void setFolderId(String folderid) { + this.FolderId = folderid; + } + /** + * This user's permissions will be used as the source for all cloned users. + */ + public String getUserId() { + return this.UserId; + } + + /** + * This user's permissions will be used as the source for all cloned users. + */ + public void setUserId(String userid) { + this.UserId = userid; + } + /** + * List of existing users that will receive cloned permissions. + */ + public ArrayList getCloneUserIds() { + return this.CloneUserIds; + } + + /** + * List of existing users that will receive cloned permissions. + */ + public void setCloneUserIds(ArrayList cloneuserids) { + this.CloneUserIds = cloneuserids; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccount.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccount.java index 1732828..82b3904 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccount.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccount.java @@ -178,6 +178,8 @@ public class SFAccount extends SFODataObject { private SFBillingInfo BillingInformation; @SerializedName("AccountSubType") private SFSafeEnum AccountSubType; + @SerializedName("Services") + private SFServicesCollection Services; public String getCompanyName() { return this.CompanyName; @@ -819,5 +821,18 @@ public SFSafeEnum getAccountSubType() { public void setAccountSubType(SFSafeEnum accountsubtype) { this.AccountSubType = accountsubtype; } + /** + * The add-on services available to the account + */ + public SFServicesCollection getServices() { + return this.Services; + } + + /** + * The add-on services available to the account + */ + public void setServices(SFServicesCollection services) { + this.Services = services; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEntityTypeMap.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEntityTypeMap.java index ccedc1f..6c5f279 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEntityTypeMap.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEntityTypeMap.java @@ -28,12 +28,18 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("AccessControlsBulkParamss", SFAccessControlsBulkParams.class); _entityTypeMap.put("AccessControlParam", SFAccessControlParam.class); _entityTypeMap.put("AccessControlParams", SFAccessControlParam.class); + _entityTypeMap.put("AccessControlsCloneParams", SFAccessControlsCloneParams.class); + _entityTypeMap.put("AccessControlsCloneParamss", SFAccessControlsCloneParams.class); _entityTypeMap.put("EditingPlatformInfo", SFEditingPlatformInfo.class); _entityTypeMap.put("EditingPlatformInfos", SFEditingPlatformInfo.class); _entityTypeMap.put("NotifyUsersParams", SFNotifyUsersParams.class); _entityTypeMap.put("NotifyUsersParamss", SFNotifyUsersParams.class); _entityTypeMap.put("RemoteUpload", SFRemoteUpload.class); _entityTypeMap.put("RemoteUploads", SFRemoteUpload.class); + _entityTypeMap.put("Service", SFService.class); + _entityTypeMap.put("Services", SFService.class); + _entityTypeMap.put("ServicesCollection", SFServicesCollection.class); + _entityTypeMap.put("ServicesCollections", SFServicesCollection.class); _entityTypeMap.put("AccountZoneUsage", SFAccountZoneUsage.class); _entityTypeMap.put("AccountZoneUsages", SFAccountZoneUsage.class); _entityTypeMap.put("AccessControlBulkResult", SFAccessControlBulkResult.class); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFExceptionReason.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFExceptionReason.java index 2433181..6b93869 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFExceptionReason.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFExceptionReason.java @@ -47,5 +47,6 @@ public enum SFExceptionReason { LoginBlacklistViolation, UpdateSecurityQuestionError, InvalidPassword, - ServiceUnavailable + ServiceUnavailable, + UnsupportedVosWithImgFileType } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIntegrationProvider.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIntegrationProvider.java index 1e1b2d2..fb1eba9 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIntegrationProvider.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIntegrationProvider.java @@ -17,5 +17,6 @@ import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; public enum SFIntegrationProvider { - RightSignature + RightSignature, + RightSignature4 } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemProtocolLink.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemProtocolLink.java index 7c5c472..2dbdf1e 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemProtocolLink.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemProtocolLink.java @@ -28,6 +28,8 @@ public class SFItemProtocolLink extends SFODataObject { @SerializedName("Link") private String Link; + @SerializedName("Redirection") + private SFRedirection Redirection; public String getLink() { return this.Link; @@ -36,5 +38,12 @@ public String getLink() { public void setLink(String link) { this.Link = link; } + public SFRedirection getRedirection() { + return this.Redirection; + } + + public void setRedirection(SFRedirection redirection) { + this.Redirection = redirection; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFService.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFService.java new file mode 100644 index 0000000..bb56f81 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFService.java @@ -0,0 +1,49 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFService extends SFODataObject { + + @SerializedName("AddOnCode") + private String AddOnCode; + @SerializedName("Licenses") + private Integer Licenses; + + public String getAddOnCode() { + return this.AddOnCode; + } + + public void setAddOnCode(String addoncode) { + this.AddOnCode = addoncode; + } + public Integer getLicenses() { + return this.Licenses; + } + + public void setLicenses(Integer licenses) { + this.Licenses = licenses; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFServicesCollection.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFServicesCollection.java new file mode 100644 index 0000000..7928ed3 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFServicesCollection.java @@ -0,0 +1,61 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFServicesCollection extends SFODataObject { + + @SerializedName("RightSignature") + private SFService RightSignature; + @SerializedName("ShareConnect") + private SFService ShareConnect; + + /** + * RightSignature account service + */ + public SFService getRightSignature() { + return this.RightSignature; + } + + /** + * RightSignature account service + */ + public void setRightSignature(SFService rightsignature) { + this.RightSignature = rightsignature; + } + /** + * ShareConnect account service + */ + public SFService getShareConnect() { + return this.ShareConnect; + } + + /** + * ShareConnect account service + */ + public void setShareConnect(SFService shareconnect) { + this.ShareConnect = shareconnect; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneService.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneService.java index 1cff8e4..bea84e8 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneService.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneService.java @@ -31,5 +31,6 @@ public enum SFZoneService { GenericConnector, OneDriveBusinessConnector, ShareConnectConnector, - Preview + Preview, + HighConcurrency } \ No newline at end of file diff --git a/maven_release_tools/cleanup.cmd b/maven_release_tools/cleanup.cmd new file mode 100644 index 0000000..01f6d0a --- /dev/null +++ b/maven_release_tools/cleanup.cmd @@ -0,0 +1,3 @@ +del *.jar +del *.asc +del *.pom \ No newline at end of file diff --git a/maven_release_tools/make_bundle.cmd b/maven_release_tools/make_bundle.cmd new file mode 100644 index 0000000..2275da8 --- /dev/null +++ b/maven_release_tools/make_bundle.cmd @@ -0,0 +1 @@ +jar -cvf bundle.jar sharefile-api-%1-javadoc.jar sharefile-api-%1-javadoc.jar.asc sharefile-api-%1-sources.jar sharefile-api-%1-sources.jar.asc sharefile-api-%1.jar sharefile-api-%1.jar.asc sharefile-api-%1.pom sharefile-api-%1.pom.asc \ No newline at end of file diff --git a/maven_release_tools/readme.txt b/maven_release_tools/readme.txt new file mode 100644 index 0000000..bf4551d --- /dev/null +++ b/maven_release_tools/readme.txt @@ -0,0 +1,38 @@ +These .cmd files are the windows batch files to create the bundle.jar for release to maven. + +The manual process for release to maven is as follows: +1) Change the build version in build.gradle file by changing the variable: + shareFileJarVersion to appropriate. Currently its 3.0.9 + +2) run the writeNewPom task from gradle. + This will generate the build\libs\sharefile-api-.pom file + +3) run the build task from gradle. This will generate 3 new jars in the + build\libs\ folder. (viz the main jar and sources and javadocs jar) + +4) sign all the jars using the citrix pgp key and password. Use the sign.cmd + batch file to do this so that it will sign all the above 4 files in one go + and generate several .asc files + + Commandline : sign.cmd . + Example: if your jar version was from step 1) was 3.1.2 then run sign.cmd 3.1.2 + +5) Create a bundle.jar by running: make_bundle.cmd + Example: make_bundle.cmd 3.1.2 + +6) This should generate a bundle.jar file for upload to maven. + We use the sona type repo manager to host the jars for staging for maven. + a) Login to the following link: https://oss.sonatype.org/#staging-upload + b) Seletc Upload Mode as Artifact bundle on the web page and upload the above generated bundle.jar + c) click release + +7) cleanup the stale files by running the cleanup.cmd if required. + + +For more details follow the following links: +http://central.sonatype.org/pages/manual-staging-bundle-creation-and-deployment.html +http://kirang89.github.io/blog/2013/01/20/uploading-your-jar-to-maven-central/ + + + + diff --git a/maven_release_tools/sign.cmd b/maven_release_tools/sign.cmd new file mode 100644 index 0000000..e29b66d --- /dev/null +++ b/maven_release_tools/sign.cmd @@ -0,0 +1,4 @@ +gpg -ab sharefile-api-%1-javadoc.jar +gpg -ab sharefile-api-%1-sources.jar +gpg -ab sharefile-api-%1.jar +gpg -ab sharefile-api-%1.pom From 2a01120cd4a2e58b0adbba96277b28fea0904ccd Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Tue, 5 Apr 2016 17:14:40 -0400 Subject: [PATCH 47/70] Fix the CONTENT_LENGTH issues with empty httpost bodies on Desktop java --- ShareFileJavaSDK/build.gradle | 2 +- .../sharefile/api/AbstractSFApiQuery.java | 896 ++++++++++++++++++ .../api/AbstractSFApiQueryFactory.java | 26 + .../com/citrix/sharefile/api/SFApiClient.java | 14 +- .../com/citrix/sharefile/api/SFApiQuery.java | 878 +---------------- .../sharefile/api/SFApiQueryExecutor.java | 165 +++- .../sharefile/api/SFCapabilityService.java | 4 +- .../citrix/sharefile/api/SFQueryStream.java | 20 +- .../api/authentication/SFOAuthService.java | 56 +- .../sharefile/api/constants/SFFolderID.java | 10 + .../sharefile/api/constants/SFKeywords.java | 2 - .../api/entities/SFAccountsEntity.java | 13 + .../sharefile/api/entities/SFItemsEntity.java | 37 +- .../api/entities/SFRemoteUploadsEntity.java | 33 +- .../sharefile/api/entities/SFUsersEntity.java | 121 +++ .../SFFormsAuthenticationCookies.java | 26 + .../exceptions/SFNotAuthorizedException.java | 14 + .../sharefile/api/gson/SFGsonHelper.java | 4 +- .../sharefile/api/https/SFCookieManager.java | 42 + .../sharefile/api/https/SFHttpsCaller.java | 69 ++ .../api/interfaces/ISFApiClient.java | 3 + .../api/interfaces/ISFOAuthService.java | 6 + .../sharefile/api/interfaces/ISFQuery.java | 4 + .../models/SFAccessControlsCloneParams.java | 24 +- .../api/models/SFAccountMessageCode.java | 58 ++ .../api/models/SFAccountPreferences.java | 54 ++ .../api/models/SFCapabilityName.java | 5 +- .../sharefile/api/models/SFEntityTypeMap.java | 50 +- .../api/models/SFExceptionReason.java | 9 +- .../api/models/SFIntegrationProvider.java | 3 +- .../api/models/SFIrmClassification.java | 108 +++ .../models/SFIrmPrimaryAccessRightParams.java | 166 ++++ .../sharefile/api/models/SFItemInfo.java | 9 + .../api/models/SFItemOrderingMode.java | 22 + .../api/models/SFNotificationLocale.java | 31 + .../sharefile/api/models/SFRemoteUpload.java | 15 + .../models/SFRemoteUploadRequestParams.java | 40 + .../api/models/SFServicesCollection.java | 15 + .../citrix/sharefile/api/models/SFShare.java | 191 +--- .../api/models/SFShareAccessRight.java | 61 ++ .../api/models/SFShareAccessRightType.java | 23 + .../api/models/SFShareActionType.java | 22 + .../api/models/SFShareFileAccessRights.java | 31 + .../api/models/SFShareSendParams.java | 89 +- .../api/models/SFUserPreferences.java | 11 +- .../sharefile/api/models/SFZoneService.java | 5 +- 46 files changed, 2347 insertions(+), 1140 deletions(-) create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/AbstractSFApiQuery.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/AbstractSFApiQueryFactory.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/exceptions/SFFormsAuthenticationCookies.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountMessageCode.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIrmClassification.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIrmPrimaryAccessRightParams.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemOrderingMode.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNotificationLocale.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRemoteUploadRequestParams.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareAccessRight.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareAccessRightType.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareActionType.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareFileAccessRights.java diff --git a/ShareFileJavaSDK/build.gradle b/ShareFileJavaSDK/build.gradle index 8d1a984..486223f 100644 --- a/ShareFileJavaSDK/build.gradle +++ b/ShareFileJavaSDK/build.gradle @@ -5,7 +5,7 @@ apply plugin: 'maven' apply plugin: 'signing' String shareFileJarName = 'sharefile-api' -String shareFileJarVersion = '3.1.1' +String shareFileJarVersion = '3.1.2' String shareFilePomFileName = "$buildDir/libs/"+shareFileJarName+"-"+shareFileJarVersion+".pom" group = "com.citrix" diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/AbstractSFApiQuery.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/AbstractSFApiQuery.java new file mode 100644 index 0000000..322ba7e --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/AbstractSFApiQuery.java @@ -0,0 +1,896 @@ +package com.citrix.sharefile.api; + +import com.citrix.sharefile.api.async.SFAsyncHelper; +import com.citrix.sharefile.api.constants.SFKeywords; +import com.citrix.sharefile.api.constants.SFQueryParams; +import com.citrix.sharefile.api.enumerations.SFHttpMethod; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFV3ElementType; +import com.citrix.sharefile.api.exceptions.SFInvalidStateException; +import com.citrix.sharefile.api.exceptions.SFToDoReminderException; +import com.citrix.sharefile.api.gson.auto.SFDefaultGsonParser; +import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.interfaces.ISFApiResultCallback; +import com.citrix.sharefile.api.interfaces.ISFAsyncTask; +import com.citrix.sharefile.api.interfaces.ISFQuery; +import com.citrix.sharefile.api.log.Logger; +import com.citrix.sharefile.api.models.SFODataObject; +import com.citrix.sharefile.api.models.SFSearchResults; +import com.citrix.sharefile.api.utils.Utils; + +import java.io.UnsupportedEncodingException; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; + +/** + * Created by tarungo on 1/28/2016. + */ +abstract class AbstractSFApiQuery implements ISFQuery +{ + private static final String TAG = "SFApiQuery"; + protected ISFApiClient apiClient; + private Object mTag; + private String mServerResponse; + + /** + * https://server/provider/version/entity(id) + * + * https://myaccount.sf-api.com/sf/v3/Items(id) + * + */ + private String mFromEntity = null; + private String mAction = null; + private String mSubAction = null; + private String mHttpMethod = null; + private String mProviderForUrlPath = "/"+SFProvider.PROVIDER_TYPE_SF+"/v3/"; + private String mId = null; + private String mActionId = null; + private final Map mQueryMap = new HashMap(); + private final Map mIdMap = new HashMap(); + private String mBody = null; + private URI mLink = null; //The URL link obtained for V3connectors from their symbolic link or 302 redirect. + private boolean mLinkIsParametrized = false; + + @Override + public ISFQuery setApiClient(ISFApiClient apiClient) + { + this.apiClient = apiClient; + return this; + } + + /** + The apiClient has an option to add query any parameters as follows: + + ArrayList expand = new ArrayList(){}; + expand.add(SFKeywords.INFO); + expand.add(SFKeywords.CHILDREN); + expand.add(SFKeywords.REDIRECTION); + expand.add(SFKeywords.CHILDREN+ "/" +SFKeywords.PARENT); + expand.add(SFKeywords.CHILDREN+ "/" +SFKeywords.REDIRECTION); + addQueryString(SFQueryParams.EXPAND, expand); + + Expansion parameters are most frequently used so provide a simpler way + for the apiClient to add them. so that the apiClient can call query.expand("somevalue1").expand("somevalue2")....expand("somevaluen") etc + */ + private final ArrayList mExpansionParameters = new ArrayList(){}; + private final ArrayList mSelectParameters = new ArrayList(){}; + private final SFFilterParam mFilter = new SFFilterParam(); + + public AbstractSFApiQuery(ISFApiClient client) + { + this.apiClient = client; + } + + + + /** + * Currently the server is not returning a DownloadSpecification for download requests, + * its directly returning the download link. For the sake of completeness, implement the local + * response filler for such requests. + */ + @Override + public boolean constructDownloadSpec() + { + boolean ret = false; + + if(SFKeywords.Items.equalsIgnoreCase(mFromEntity) && SFKeywords.Download.equalsIgnoreCase(mAction)) + { + ret = true; + } + + return ret; + } + + /** + * The username and password are used only for connectors auth. These can be set during auth errors or explicitly set during + * the very first call from this query to avoid double round-trips to the server. We let the application handle setting of this + * TODO: For security purpose we may want to wipe the credentials from this object when done using for auth. + */ + private String mUserName; + + /** + * The username and password are used only for connectors auth. These can be set during auth errors or explicitly set during + * the very first call from this query to avoid double round-trips to the server. We let the application handle setting of this + * TODO: For security purpose we may want to wipe the credentials from this object when done using for auth. + */ + private String mPassword; + + private boolean allowRedirection = true; + + //{@link #getComponentAt(int, int) getComponentAt} method. + + /** + * When whenever you want to re-execute a previous query with slightly different parameters + * always use this function to copy feilds from the source query and then modify the necessry feilds. + */ + public void copyQuery(AbstractSFApiQuery sourceQuery) + { + mFromEntity = sourceQuery.mFromEntity; + mAction = sourceQuery.mAction; + mHttpMethod = sourceQuery.mHttpMethod; + mProviderForUrlPath = sourceQuery.mProviderForUrlPath; + mId = sourceQuery.mId; + mQueryMap.putAll(sourceQuery.mQueryMap); + mIdMap.putAll(sourceQuery.mIdMap); + mBody = sourceQuery.mBody; + mLink = sourceQuery.mLink; + mUserName = sourceQuery.mUserName; + mPassword = sourceQuery.mPassword; + } + + @Override + public ISFQuery expect(Class clazz) + { + AbstractSFApiQuery newQuery = AbstractSFApiQueryFactory.getAbstractSFApiQuery(clazz, apiClient); + newQuery.copyQuery(this); + return newQuery; + } + + @Override + public ISFQuery setCredentials(final String userName,final String password) + { + mUserName = userName; + mPassword = password; + return this; + } + + @Override + public final String getUserName() + { + return mUserName; + } + + @Override + public final String getPassword() + { + return mPassword; + } + + @Override + public final ISFQuery setFrom(String setFrom) + { + mFromEntity = setFrom; + return this; + } + + /** + This function takes any uri and store it entirely. + example if you pass: https://szqatest2.sharefiletest.com/cifs/v3/Items(randdomid) + This function will store it as: https://szqatest2.sharefiletest.com/cifs/v3/Items(randdomid) + if the query needs additional params, the call to buildQueryUrlString() will add those to this + one. In case you want to avoid that, call setFullyParametrizedLink() instead. + */ + @Override + public final ISFQuery setLink(String link) throws URISyntaxException + { + if(link!=null) + { + mLink = new URI(link); + } + return this; + } + + @Override + public final URI getLink() + { + return mLink; + } + + public final void setProvider(String provider) + { + mProviderForUrlPath = provider; + } + + @Override + public final ISFQuery setAction(String action) + { + mAction = action; + return this; + } + + public final void setHttpMethod(SFHttpMethod httpMethod) + { + mHttpMethod = httpMethod.toString(); + } + + /** + * setId() and addIds() are mutually exclusive. We will throw and exception if both are called on the same QueryObject + * That's since we want to be able to build queries like:

Items(id) or

Items(principalid=pid, itemid=itemid)

+ */ + public synchronized final void setId(String id) + { + if(mIdMap!=null && mIdMap.size() == 0) + { + mId = id; + } + else + { + throw new RuntimeException(SFKeywords.EXCEPTION_MSG_INVALID_PARAMETER_TO_QUERY); + } + } + + + /** + * setId() and addIds() are mutually exclusive. We will throw and exception if both are called on the same QueryObject + * That's since we want to be able to build queries like:

Items(id) or

Items(principalid=pid, itemid=itemid)

+ */ + public synchronized final void addIds(String key,String value) + { + if(mId == null) + { + mIdMap.put(key, value); + } + else + { + throw new RuntimeException(SFKeywords.EXCEPTION_MSG_INVALID_PARAMETER_TO_QUERY); + } + } + + @Override + public final ISFQuery addActionIds(String actionid) + { + mActionId = actionid; + return this; + } + + @Override + public final ISFQuery addActionIds(Integer actionid) + { + mActionId = actionid.toString(); + return this; + } + + public final ISFQuery addActionIds(SFSafeEnum actionId) + { + mActionId = actionId.getOriginalString(); + return this; + } + + @Override + public final ISFQuery addSubAction(String subaction) + { + mSubAction = subaction; + return this; + } + + @Override + public final ISFQuery addSubAction(String subaction, SFSafeEnum extras) + { + mSubAction = subaction; + return this; + } + + @Override + public final ISFQuery setBody(SFODataObject body) + { + mBody = SFDefaultGsonParser.serialize(body.getClass(), body); + return this; + } + + public final ISFQuery setBody(String str) + { + mBody = str; + return this; + } + + @Override + public final String getBody() + { + return mBody; + } + + @Override + public final ISFQuery addQueryString(String key,Object object) + { + if(object == null || key == null) + { + Logger.d(TAG,"Cannot add NULL parameter to queryString"); + return this; + } + + mQueryMap.put(key, object.toString()); + return this; + } + + @Override + public ISFQuery addQueryString(String key, ArrayList ids) + { + if(ids == null || key == null) + { + return this; + } + + //put expansion parameters in expansion map instead + if(SFQueryParams.EXPAND.equals(key)) + { + expand(ids); + return this; + } + + addQueryStringInternal(key, ids); + return this; + } + + private void addQueryStringInternal(String key, ArrayList ids) + { + if(ids!=null) + { + StringBuilder sb = new StringBuilder(); + + boolean isFirst = true; + + for(String str:ids) + { + if(!isFirst) + { + sb.append(SFKeywords.COMMA); + } + else + { + isFirst = false; + } + + sb.append(str); + } + + mQueryMap.put(key, sb.toString()); + } + } + + @Deprecated + public void addQueryString(String key, SFApiQuery query) + { + throw new SFToDoReminderException(SFKeywords.EXCEPTION_MSG_NOT_IMPLEMENTED); + } + + private boolean isBaseLink(URI uri) + { + String path = uri.getPath(); + + if(path !=null && path.replaceAll("/","").length()>0) + { + return false; + } + + return true; + }; + + /** + This functions builds the query url part with : + + https://subdomain.domain.com/provider/FromEntity(ids,..) + + */ + private final String buildServerURLWithProviderAndEntity(String server) + { + StringBuilder sb = new StringBuilder(); + + /* + * In case of CIF/SP connectors lets find out the provider type and the server to connect to from the given link + */ + if(mLink != null) + { + if(!isBaseLink(mLink)) + { + mProviderForUrlPath = "/"+SFProvider.getProviderType(mLink.getPath())+"/v3/"; + + return mLink.toString(); + } + + server = mLink.toString(); + } + + if(!server.startsWith(SFKeywords.PREFIX_HTTPS) && !server.startsWith(SFKeywords.PREFIX_HTTP)) + { + sb.append(SFKeywords.PREFIX_HTTPS); + } + + sb.append(server); + sb.append(mProviderForUrlPath); + sb.append(mFromEntity); + + //Add the single Id or multiple comma separated key=value pairs after entity and enclose within () + if(mId!=null) + { + sb.append(SFKeywords.OPEN_BRACKET); + sb.append(mId); + sb.append(SFKeywords.CLOSE_BRACKET); + } + else if (mIdMap!=null && mIdMap.size()>0) + { + sb.append(SFKeywords.OPEN_BRACKET); + + Set keyset = mIdMap.keySet(); + boolean appendComma = keyset.size() > 1; + + for(String key:keyset) + { + String value = mIdMap.get(key); + sb.append(key); + sb.append(SFKeywords.EQUALS); + sb.append(value); + if(appendComma) + { + sb.append(SFKeywords.COMMA); + } + } + + sb.append(SFKeywords.CLOSE_BRACKET); + } + + return sb.toString(); + } + + /** + *

https://server/provider/version/entity(id) + * + *

https://myaccount.sf-api.com/sf/v3/Items(id) + * + *

https://server/provider/version/entity(principalid=pid,itemid=id) + * + *

https://server/provider/version/entity(id)?$expand=Children + * + *

https://server/provider/version/entity?$expand=Children + * + *

https://server/provider/version/entity?$expand=Children&$select=FileCount,Id,Name,Children/Id,Children/Name,Children/CreationDate + * + *

https://account.sf-api.com/sf/v3/Items(parentid)/Folder?overwrite=false&passthrough=false + * @throws UnsupportedEncodingException + */ + @Override + public final String buildQueryUrlString(String server) throws UnsupportedEncodingException + { + if(mLinkIsParametrized && mLink!=null) + { + Logger.d(TAG,"Link is fully parametrized"); + return mLink.toString(); + } + + StringBuilder sb = new StringBuilder(); + + sb.append(buildServerURLWithProviderAndEntity(server)); + //Add the Actions part + if(!Utils.isEmpty(mAction)) + { + sb.append(SFKeywords.FWD_SLASH); + sb.append(mAction); + + //Add action id + if(!Utils.isEmpty(mActionId)) + { + sb.append(SFKeywords.OPEN_BRACKET); + sb.append(mActionId); + sb.append(SFKeywords.CLOSE_BRACKET); + } + + //Add sub action + if(!Utils.isEmpty(mSubAction)) + { + sb.append(SFKeywords.FWD_SLASH); + sb.append(mSubAction); + } + } + + String queryParams = buildQueryParameters(); + + if(!Utils.isEmpty(queryParams)) + { + sb.append(SFKeywords.CHAR_QUERY); + sb.append(queryParams); + } + + String queryUrlString = sb.toString(); + + Logger.d(SFKeywords.TAG,"QUERY URL String = " + queryUrlString); + + return queryUrlString; + } + + + private void addExpansionParams() + { + if(mExpansionParameters.size()>0) + { + addQueryStringInternal(SFQueryParams.EXPAND, mExpansionParameters); + } + } + + private void addSelectParams() + { + if(mSelectParameters.size()>0) + { + addQueryStringInternal(SFQueryParams.SELECT, mSelectParameters); + } + } + + private void addFilterParams() + { + String filters = mFilter.get(); + + if(!Utils.isEmpty(filters)) + { + addQueryString(SFQueryParams.FILTER, filters); + } + } + + private void addAllQueryParams() + { + addExpansionParams(); + addSelectParams(); + addFilterParams(); + } + + private String buildQueryParameters() throws UnsupportedEncodingException + { + addAllQueryParams(); + + StringBuilder sb = new StringBuilder(); + + boolean isFirst = true; + + //Add query key , value pairs + if(mQueryMap!=null && mQueryMap.size()>0) + { + Set keyset = mQueryMap.keySet(); + + for(String key:keyset) + { + String value = mQueryMap.get(key); + + if(value!=null) + { + if(!isFirst) + { + sb.append(SFKeywords.CHAR_AMPERSAND); + } + else + { + isFirst = false; + } + + String urlencoded = URLEncoder.encode(value, SFKeywords.UTF_8).replace("+", "%20"); + + sb.append(key); + sb.append(SFKeywords.EQUALS); + sb.append(urlencoded); + } + } + } + + return sb.toString(); + } + + @Override + public final String getHttpMethod() + { + return mHttpMethod; + } + + /** + * we can renew token for Sharefile providers. + */ + @Override + public boolean canReNewTokenInternally() + { + boolean ret = true; + + if(mLink!=null) + { + ret = (SFProvider.PROVIDER_TYPE_SF.equalsIgnoreCase(SFProvider.getProviderType(mLink))); + } + + return ret; + } + + @Override + public ISFQuery setHttpMethod(String string) + { + mHttpMethod = string; + return this; + } + + @Override + public ISFQuery addIds(URI url) + { + mLink = url; + return this; + } + + @Override + public ISFQuery setBody( ArrayList sfoDataObjectsFeed) + { + mBody = SFDefaultGsonParser.serialize(sfoDataObjectsFeed.getClass(), sfoDataObjectsFeed); + return this; + } + + @Override + public ISFQuery setBody(Object object) + { + mBody = SFDefaultGsonParser.serialize(object.getClass(), object); + return this; + } + + @Override + public ISFQuery setLink(URI uri) + { + mLinkIsParametrized = false; + mLink = uri; + return this; + } + + @Override + public ISFQuery setFullyParametrizedLink(URI uri) + { + mLinkIsParametrized = true; + mLink = uri; + return this; + } + + @Override + public ISFQuery allowRedirection(boolean value) + { + allowRedirection = value; + return this; + } + + @Override + public boolean reDirectionAllowed() + { + return allowRedirection; + } + + /* + For ZK redirection the server is sending back our original query parameters after url decoding. + So our search for previous query parameters need to be done using our original format + and even the decoded format. + */ + private boolean containsDecodedParams(String oldQueryParams,String newQueryParams) + { + if(oldQueryParams == null || newQueryParams == null) + { + return false; + } + + try + { + HashMap oldQS = splitQuery(oldQueryParams); + HashMap newQS = splitQuery(newQueryParams); + for(String key : oldQS.keySet()) + { + if(!newQS.containsKey(key)) return false; + } + return true; + } + catch (Throwable e) + { + + } + + return false; + } + + private static HashMap splitQuery(String qs) + { + final HashMap query_pairs = new HashMap(); + final String[] pairs = qs.split("&"); + for (String pair : pairs) + { + String[] keyValue = pair.split("="); + if(keyValue.length<2) continue; + query_pairs.put(keyValue[0], keyValue[1]); + } + + return query_pairs; + } + + @Override + public ISFQuery setLinkAndAppendPreviousParameters(URI newuri) throws URISyntaxException, UnsupportedEncodingException + { + String newQueryParams = newuri.getQuery(); + String oldQueryParms = buildQueryParameters(); + + if(newQueryParams !=null && (newQueryParams.contains(oldQueryParms) || containsDecodedParams(oldQueryParms,newQueryParams))) + { + setFullyParametrizedLink(newuri); + return this; + } + + StringBuilder sb = new StringBuilder(); + sb.append(newuri.toString()); + + if(!Utils.isEmpty(oldQueryParms)) + { + if(Utils.isEmpty(newQueryParams)) + { + sb.append(SFKeywords.CHAR_QUERY); + } + else + { + sb.append(SFKeywords.CHAR_AMPERSAND); + } + + sb.append(oldQueryParms); + } + + String strNewUrl = sb.toString(); + + Logger.d(TAG,"Setting new URL by appending old query parameter to: " + strNewUrl); + + setFullyParametrizedLink(new URI(strNewUrl)); + + return this; + } + + @Override + public ISFQuery setLinkAndAppendPreviousParameters(String string) throws URISyntaxException, UnsupportedEncodingException + { + setLinkAndAppendPreviousParameters(new URI(string)); + return this; + } + + @Override + public ISFQuery expand(String expansionParameter) + { + if(Utils.isEmpty(expansionParameter)) + { + return this; + } + + mExpansionParameters.add(expansionParameter); + + return this; + } + + @Override + public ISFQuery top(int topItems) + { + addQueryString(SFQueryParams.TOP,topItems); + return this; + } + + @Override + public ISFQuery skip(int skipItems) + { + addQueryString(SFQueryParams.SKIP,skipItems); + return this; + } + + @Override + public ISFQuery filter(String filterValue) + { + if(Utils.isEmpty(filterValue)) + { + return this; + } + + mFilter.filter(filterValue); + + return this; + } + + @Override + public ISFQuery is(SFV3ElementType type) + { + mFilter.is(type); + return this; + } + + @Override + public ISFQuery select(String selectParam) + { + if(Utils.isEmpty(selectParam)) + { + return this; + } + + mSelectParameters.add(selectParam); + + return this; + } + + private void expand(ArrayList expansionParameters) + { + if(Utils.isEmpty(expansionParameters)) + { + return ; + } + + for(String str: expansionParameters) + { + mExpansionParameters.add(str); + } + } + + /** + This function takes any uri and stores only its base part along with the provider + + example if you pass: https://szqatest2.sharefiletest.com/cifs/v3/Capabilities + + This function will store baseLink as : https://szqatest2.sharefiletest.com + */ + @Override + public ISFQuery setBaseLink(URI uri) throws URISyntaxException + { + mProviderForUrlPath = "/"+SFProvider.getProviderType(uri)+"/v3/"; + + String host = uri.getHost(); + String protocol = uri.getScheme(); + + mLink = new URI(protocol + "://" + host); + return this; + } + + @Override + public void executeAsync(ISFApiResultCallback callback) + { + if(callback == null) + { + throw new RuntimeException("Need to set listener to gather Async Result"); + } + + if(apiClient==null) + { + callback.onError(new SFInvalidStateException("No valid client object set for query"), this); + return; + } + + SFAsyncHelper asyncHelper = new SFAsyncHelper(apiClient, this, callback); + + ISFAsyncTask asyncTask = SFSdk.createAsyncTask(); + + if(asyncTask == null) + { + callback.onError(new SFInvalidStateException("Need to set AsyncFactory as per your system"), this); + return; + } + + asyncTask.start(asyncHelper); + } + + @Override + public void setTag(Object tag) + { + mTag = tag; + } + + @Override + public Object getTag() + { + return mTag; + } + + @Override + public String getStringResponse() { + return mServerResponse; + } + + @Override + public void setStringResponse(String response) { + mServerResponse = response; + } +} diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/AbstractSFApiQueryFactory.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/AbstractSFApiQueryFactory.java new file mode 100644 index 0000000..dce5c37 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/AbstractSFApiQueryFactory.java @@ -0,0 +1,26 @@ +package com.citrix.sharefile.api; + +import com.citrix.sharefile.api.interfaces.ISFApiClient; + +import java.io.InputStream; + +/** + * Created by tarungo on 1/28/2016. + */ +class AbstractSFApiQueryFactory { + + public static AbstractSFApiQuery getAbstractSFApiQuery(Class clazz, ISFApiClient apiClient) + { + AbstractSFApiQuery newQuery = null; + + if(InputStream.class.isAssignableFrom(clazz) ) + { + newQuery = new SFQueryStream(apiClient); + } + else + { + newQuery = new SFApiQuery(apiClient); + } + return newQuery; + } +} diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiClient.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiClient.java index 7451264..906b3a9 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiClient.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiClient.java @@ -46,7 +46,7 @@ public class SFApiClient extends ISFEntities.Implementation implements ISFApiCli private final AtomicReference mOAuthToken = new AtomicReference(null); private SFSession mSession = null; - private final SFCookieManager mCookieManager = new SFCookieManager(); + private SFCookieManager mCookieManager = new SFCookieManager(); private final String mClientID; private final String mClientSecret; private final IOAuthTokenChangeHandler mAuthTokenChangeCallback; @@ -128,6 +128,18 @@ public SFApiClient(SFOAuth2Token oauthToken,String sfUserId,String clientID,Stri mReAuthHandler = reAuthHandler; } + + public SFApiClient clone(){ + try { + SFApiClient clonedClient = new SFApiClient(getOAuthToken(), mSfUserId, mClientID, mClientSecret, mAuthTokenChangeCallback, mReAuthHandler); + clonedClient.mCookieManager = mCookieManager; + return clonedClient; + } + catch(SFInvalidStateException ex) { + Logger.d(TAG, "Exception in creating a clone of the API Client"); + } + return null; + } /** * This function can be called only on clients which were previously initialized. diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java index 87b71b0..3fa1bed 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQuery.java @@ -1,895 +1,31 @@ package com.citrix.sharefile.api; -import com.citrix.sharefile.api.async.SFAsyncHelper; -import com.citrix.sharefile.api.constants.SFKeywords; -import com.citrix.sharefile.api.constants.SFQueryParams; -import com.citrix.sharefile.api.enumerations.SFHttpMethod; -import com.citrix.sharefile.api.enumerations.SFSafeEnum; -import com.citrix.sharefile.api.enumerations.SFV3ElementType; import com.citrix.sharefile.api.exceptions.SFInvalidStateException; import com.citrix.sharefile.api.exceptions.SFNotAuthorizedException; import com.citrix.sharefile.api.exceptions.SFOAuthTokenRenewException; import com.citrix.sharefile.api.exceptions.SFOtherException; import com.citrix.sharefile.api.exceptions.SFServerException; -import com.citrix.sharefile.api.exceptions.SFToDoReminderException; -import com.citrix.sharefile.api.gson.auto.SFDefaultGsonParser; import com.citrix.sharefile.api.interfaces.ISFApiClient; -import com.citrix.sharefile.api.interfaces.ISFApiResultCallback; -import com.citrix.sharefile.api.interfaces.ISFAsyncTask; -import com.citrix.sharefile.api.interfaces.ISFQuery; -import com.citrix.sharefile.api.log.Logger; import com.citrix.sharefile.api.models.SFODataObject; -import com.citrix.sharefile.api.models.SFSearchResults; -import com.citrix.sharefile.api.utils.Utils; -import java.io.UnsupportedEncodingException; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.URLEncoder; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Map; -import java.util.Set; - -public class SFApiQuery implements ISFQuery +public class SFApiQuery extends AbstractSFApiQuery { - private static final String TAG = "SFApiQuery"; - private ISFApiClient apiClient; - private Object mTag; - private String mServerResponse; - - /** - * https://server/provider/version/entity(id) - * - * https://myaccount.sf-api.com/sf/v3/Items(id) - * - */ - private String mFromEntity = null; - private String mAction = null; - private String mSubAction = null; - private String mHttpMethod = null; - private String mProviderForUrlPath = "/"+SFProvider.PROVIDER_TYPE_SF+"/v3/"; - private String mId = null; - private String mActionId = null; - private final Map mQueryMap = new HashMap(); - private final Map mIdMap = new HashMap(); - private String mBody = null; - private URI mLink = null; //The URL link obtained for V3connectors from their symbolic link or 302 redirect. - private boolean mLinkIsParametrized = false; - - @Override - public ISFQuery setApiClient(ISFApiClient apiClient) - { - this.apiClient = apiClient; - return this; - } - - /** - The apiClient has an option to add query any parameters as follows: - - ArrayList expand = new ArrayList(){}; - expand.add(SFKeywords.INFO); - expand.add(SFKeywords.CHILDREN); - expand.add(SFKeywords.REDIRECTION); - expand.add(SFKeywords.CHILDREN+ "/" +SFKeywords.PARENT); - expand.add(SFKeywords.CHILDREN+ "/" +SFKeywords.REDIRECTION); - addQueryString(SFQueryParams.EXPAND, expand); - - Expansion parameters are most frequently used so provide a simpler way - for the apiClient to add them. so that the apiClient can call query.expand("somevalue1").expand("somevalue2")....expand("somevaluen") etc - */ - private final ArrayList mExpansionParameters = new ArrayList(){}; - private final ArrayList mSelectParameters = new ArrayList(){}; - private final SFFilterParam mFilter = new SFFilterParam(); - public SFApiQuery(ISFApiClient client) { - this.apiClient = client; + super(client); } - - - /** - * Currently the server is not returning a DownloadSpecification for download requests, - * its directly returning the download link. For the sake of completeness, implement the local - * response filler for such requests. - */ - @Override - public boolean constructDownloadSpec() - { - boolean ret = false; - - if(SFKeywords.Items.equalsIgnoreCase(mFromEntity) && SFKeywords.Download.equalsIgnoreCase(mAction)) - { - ret = true; - } - - return ret; - } - - /** - * The username and password are used only for connectors auth. These can be set during auth errors or explicitly set during - * the very first call from this query to avoid double round-trips to the server. We let the application handle setting of this - * TODO: For security purpose we may want to wipe the credentials from this object when done using for auth. - */ - private String mUserName; - - /** - * The username and password are used only for connectors auth. These can be set during auth errors or explicitly set during - * the very first call from this query to avoid double round-trips to the server. We let the application handle setting of this - * TODO: For security purpose we may want to wipe the credentials from this object when done using for auth. - */ - private String mPassword; - - private boolean allowRedirection = true; - - //{@link #getComponentAt(int, int) getComponentAt} method. - - /** - * When whenever you want to re-execute a previous query with slightly different parameters - * always use this function to copy feilds from the source query and then modify the necessry feilds. - */ - public void copyQuery(SFApiQuery sourceQuery) - { - mFromEntity = sourceQuery.mFromEntity; - mAction = sourceQuery.mAction; - mHttpMethod = sourceQuery.mHttpMethod; - mProviderForUrlPath = sourceQuery.mProviderForUrlPath; - mId = sourceQuery.mId; - mQueryMap.putAll(sourceQuery.mQueryMap); - mIdMap.putAll(sourceQuery.mIdMap); - mBody = sourceQuery.mBody; - mLink = sourceQuery.mLink; - mUserName = sourceQuery.mUserName; - mPassword = sourceQuery.mPassword; - } - - @Override - public ISFQuery setCredentials(final String userName,final String password) - { - mUserName = userName; - mPassword = password; - return this; - } - - @Override - public final String getUserName() - { - return mUserName; - } - - @Override - public final String getPassword() - { - return mPassword; - } - - @Override - public final ISFQuery setFrom(String setFrom) - { - mFromEntity = setFrom; - return this; - } - - /** - This function takes any uri and store it entirely. - example if you pass: https://szqatest2.sharefiletest.com/cifs/v3/Items(randdomid) - This function will store it as: https://szqatest2.sharefiletest.com/cifs/v3/Items(randdomid) - if the query needs additional params, the call to buildQueryUrlString() will add those to this - one. In case you want to avoid that, call setFullyParametrizedLink() instead. - */ - @Override - public final ISFQuery setLink(String link) throws URISyntaxException - { - if(link!=null) - { - mLink = new URI(link); - } - return this; - } - - @Override - public final URI getLink() - { - return mLink; - } - - public final void setProvider(String provider) - { - mProviderForUrlPath = provider; - } - - @Override - public final ISFQuery setAction(String action) - { - mAction = action; - return this; - } - - public final void setHttpMethod(SFHttpMethod httpMethod) - { - mHttpMethod = httpMethod.toString(); - } - - /** - * setId() and addIds() are mutually exclusive. We will throw and exception if both are called on the same QueryObject - * That's since we want to be able to build queries like:

Items(id) or

Items(principalid=pid, itemid=itemid)

- */ - public synchronized final void setId(String id) - { - if(mIdMap!=null && mIdMap.size() == 0) - { - mId = id; - } - else - { - throw new RuntimeException(SFKeywords.EXCEPTION_MSG_INVALID_PARAMETER_TO_QUERY); - } - } - - - /** - * setId() and addIds() are mutually exclusive. We will throw and exception if both are called on the same QueryObject - * That's since we want to be able to build queries like:

Items(id) or

Items(principalid=pid, itemid=itemid)

- */ - public synchronized final void addIds(String key,String value) - { - if(mId == null) - { - mIdMap.put(key, value); - } - else - { - throw new RuntimeException(SFKeywords.EXCEPTION_MSG_INVALID_PARAMETER_TO_QUERY); - } - } - - @Override - public final ISFQuery addActionIds(String actionid) - { - mActionId = actionid; - return this; - } - @Override - public final ISFQuery addActionIds(Integer actionid) + public T execute() throws SFInvalidStateException, SFServerException, + SFNotAuthorizedException, SFOAuthTokenRenewException, SFOtherException { - mActionId = actionid.toString(); - return this; - } - - public final ISFQuery addActionIds(SFSafeEnum actionId) - { - mActionId = actionId.getOriginalString(); - return this; - } - - @Override - public final ISFQuery addSubAction(String subaction) - { - mSubAction = subaction; - return this; - } - @Override - public final ISFQuery addSubAction(String subaction, SFSafeEnum extras) - { - mSubAction = subaction; - return this; - } - - @Override - public final ISFQuery setBody(SFODataObject body) - { - mBody = SFDefaultGsonParser.serialize(body.getClass(), body); - return this; - } - - public final ISFQuery setBody(String str) - { - mBody = str; - return this; - } - - @Override - public final String getBody() - { - return mBody; - } - - @Override - public final ISFQuery addQueryString(String key,Object object) - { - if(object == null || key == null) - { - Logger.d(TAG,"Cannot add NULL parameter to queryString"); - return this; - } - - mQueryMap.put(key, object.toString()); - return this; - } - - @Override - public ISFQuery addQueryString(String key, ArrayList ids) - { - if(ids == null || key == null) - { - return this; - } - - //put expansion parameters in expansion map instead - if(SFQueryParams.EXPAND.equals(key)) - { - expand(ids); - return this; - } - - addQueryStringInternal(key,ids); - return this; - } - - private void addQueryStringInternal(String key, ArrayList ids) - { - if(ids!=null) - { - StringBuilder sb = new StringBuilder(); - - boolean isFirst = true; - - for(String str:ids) - { - if(!isFirst) - { - sb.append(SFKeywords.COMMA); - } - else - { - isFirst = false; - } - - sb.append(str); - } - - mQueryMap.put(key, sb.toString()); - } - } - - @Deprecated - public void addQueryString(String key, SFApiQuery query) - { - throw new SFToDoReminderException(SFKeywords.EXCEPTION_MSG_NOT_IMPLEMENTED); - } - - private boolean isBaseLink(URI uri) - { - String path = uri.getPath(); - - if(path !=null && path.replaceAll("/","").length()>0) - { - return false; - } - - return true; - }; - - /** - This functions builds the query url part with : - - https://subdomain.domain.com/provider/FromEntity(ids,..) - - */ - private final String buildServerURLWithProviderAndEntity(String server) - { - StringBuilder sb = new StringBuilder(); - - /* - * In case of CIF/SP connectors lets find out the provider type and the server to connect to from the given link - */ - if(mLink != null) + if(apiClient==null) { - if(!isBaseLink(mLink)) - { - mProviderForUrlPath = "/"+SFProvider.getProviderType(mLink.getPath())+"/v3/"; - - return mLink.toString(); - } - - server = mLink.toString(); + throw new SFInvalidStateException("No valid client object set for query"); } - if(!server.startsWith(SFKeywords.PREFIX_HTTPS) && !server.startsWith(SFKeywords.PREFIX_HTTP)) - { - sb.append(SFKeywords.PREFIX_HTTPS); - } - - sb.append(server); - sb.append(mProviderForUrlPath); - sb.append(mFromEntity); - - //Add the single Id or multiple comma separated key=value pairs after entity and enclose within () - if(mId!=null) - { - sb.append(SFKeywords.OPEN_BRACKET); - sb.append(mId); - sb.append(SFKeywords.CLOSE_BRACKET); - } - else if (mIdMap!=null && mIdMap.size()>0) - { - sb.append(SFKeywords.OPEN_BRACKET); - - Set keyset = mIdMap.keySet(); - boolean appendComma = keyset.size() > 1; - - for(String key:keyset) - { - String value = mIdMap.get(key); - sb.append(key); - sb.append(SFKeywords.EQUALS); - sb.append(value); - if(appendComma) - { - sb.append(SFKeywords.COMMA); - } - } - - sb.append(SFKeywords.CLOSE_BRACKET); - } - - return sb.toString(); + return (T)apiClient.executeQuery(this); } - - /** - *

https://server/provider/version/entity(id) - * - *

https://myaccount.sf-api.com/sf/v3/Items(id) - * - *

https://server/provider/version/entity(principalid=pid,itemid=id) - * - *

https://server/provider/version/entity(id)?$expand=Children - * - *

https://server/provider/version/entity?$expand=Children - * - *

https://server/provider/version/entity?$expand=Children&$select=FileCount,Id,Name,Children/Id,Children/Name,Children/CreationDate - * - *

https://account.sf-api.com/sf/v3/Items(parentid)/Folder?overwrite=false&passthrough=false - * @throws UnsupportedEncodingException - */ - @Override - public final String buildQueryUrlString(String server) throws UnsupportedEncodingException - { - if(mLinkIsParametrized && mLink!=null) - { - Logger.d(TAG,"Link is fully parametrized"); - return mLink.toString(); - } - - StringBuilder sb = new StringBuilder(); - - sb.append(buildServerURLWithProviderAndEntity(server)); - //Add the Actions part - if(!Utils.isEmpty(mAction)) - { - sb.append(SFKeywords.FWD_SLASH); - sb.append(mAction); - - //Add action id - if(!Utils.isEmpty(mActionId)) - { - sb.append(SFKeywords.OPEN_BRACKET); - sb.append(mActionId); - sb.append(SFKeywords.CLOSE_BRACKET); - } - - //Add sub action - if(!Utils.isEmpty(mSubAction)) - { - sb.append(SFKeywords.FWD_SLASH); - sb.append(mSubAction); - } - } - - String queryParams = buildQueryParameters(); - - if(!Utils.isEmpty(queryParams)) - { - sb.append(SFKeywords.CHAR_QUERY); - sb.append(queryParams); - } - - String queryUrlString = sb.toString(); - - Logger.d(SFKeywords.TAG,"QUERY URL String = " + queryUrlString); - - return queryUrlString; - } - - - private void addExpansionParams() - { - if(mExpansionParameters.size()>0) - { - addQueryStringInternal(SFQueryParams.EXPAND, mExpansionParameters); - } - } - - private void addSelectParams() - { - if(mSelectParameters.size()>0) - { - addQueryStringInternal(SFQueryParams.SELECT, mSelectParameters); - } - } - - private void addFilterParams() - { - String filters = mFilter.get(); - - if(!Utils.isEmpty(filters)) - { - addQueryString(SFQueryParams.FILTER, filters); - } - } - - private void addAllQueryParams() - { - addExpansionParams(); - addSelectParams(); - addFilterParams(); - } - - private String buildQueryParameters() throws UnsupportedEncodingException - { - addAllQueryParams(); - StringBuilder sb = new StringBuilder(); - - boolean isFirst = true; - - //Add query key , value pairs - if(mQueryMap!=null && mQueryMap.size()>0) - { - Set keyset = mQueryMap.keySet(); - - for(String key:keyset) - { - String value = mQueryMap.get(key); - - if(value!=null) - { - if(!isFirst) - { - sb.append(SFKeywords.CHAR_AMPERSAND); - } - else - { - isFirst = false; - } - - String urlencoded = URLEncoder.encode(value, SFKeywords.UTF_8).replace("+", "%20"); - - sb.append(key); - sb.append(SFKeywords.EQUALS); - sb.append(urlencoded); - } - } - } - - return sb.toString(); - } - - @Override - public final String getHttpMethod() - { - return mHttpMethod; - } - - /** - * we can renew token for Sharefile providers. - */ - @Override - public boolean canReNewTokenInternally() - { - boolean ret = true; - - if(mLink!=null) - { - ret = (SFProvider.PROVIDER_TYPE_SF.equalsIgnoreCase(SFProvider.getProviderType(mLink))); - } - - return ret; - } - - @Override - public ISFQuery setHttpMethod(String string) - { - mHttpMethod = string; - return this; - } - - @Override - public ISFQuery addIds(URI url) - { - mLink = url; - return this; - } - - @Override - public ISFQuery setBody( ArrayList sfoDataObjectsFeed) - { - mBody = SFDefaultGsonParser.serialize(sfoDataObjectsFeed.getClass(), sfoDataObjectsFeed); - return this; - } - - @Override - public ISFQuery setLink(URI uri) - { - mLinkIsParametrized = false; - mLink = uri; - return this; - } - - @Override - public ISFQuery setFullyParametrizedLink(URI uri) - { - mLinkIsParametrized = true; - mLink = uri; - return this; - } - - @Override - public ISFQuery allowRedirection(boolean value) - { - allowRedirection = value; - return this; - } - - @Override - public boolean reDirectionAllowed() - { - return allowRedirection; - } - - /* - For ZK redirection the server is sending back our original query parameters after url decoding. - So our search for previous query parameters need to be done using our original format - and even the decoded format. - */ - private boolean containsDecodedParams(String oldQueryParams,String newQueryParams) - { - if(oldQueryParams == null || newQueryParams == null) - { - return false; - } - - try - { - HashMap oldQS = splitQuery(oldQueryParams); - HashMap newQS = splitQuery(newQueryParams); - for(String key : oldQS.keySet()) - { - if(!newQS.containsKey(key)) return false; - } - return true; - } - catch (Throwable e) - { - - } - - return false; - } - - private static HashMap splitQuery(String qs) - { - final HashMap query_pairs = new HashMap(); - final String[] pairs = qs.split("&"); - for (String pair : pairs) - { - String[] keyValue = pair.split("="); - if(keyValue.length<2) continue; - query_pairs.put(keyValue[0], keyValue[1]); - } - - return query_pairs; - } - - @Override - public ISFQuery setLinkAndAppendPreviousParameters(URI newuri) throws URISyntaxException, UnsupportedEncodingException - { - String newQueryParams = newuri.getQuery(); - String oldQueryParms = buildQueryParameters(); - - if(newQueryParams !=null && (newQueryParams.contains(oldQueryParms) || containsDecodedParams(oldQueryParms,newQueryParams))) - { - setFullyParametrizedLink(newuri); - return this; - } - - StringBuilder sb = new StringBuilder(); - sb.append(newuri.toString()); - - if(!Utils.isEmpty(oldQueryParms)) - { - if(Utils.isEmpty(newQueryParams)) - { - sb.append(SFKeywords.CHAR_QUERY); - } - else - { - sb.append(SFKeywords.CHAR_AMPERSAND); - } - - sb.append(oldQueryParms); - } - - String strNewUrl = sb.toString(); - - Logger.d(TAG,"Setting new URL by appending old query parameter to: " + strNewUrl); - - setFullyParametrizedLink(new URI(strNewUrl)); - - return this; - } - - @Override - public ISFQuery setLinkAndAppendPreviousParameters(String string) throws URISyntaxException, UnsupportedEncodingException - { - setLinkAndAppendPreviousParameters(new URI(string)); - return this; - } - - @Override - public ISFQuery expand(String expansionParameter) - { - if(Utils.isEmpty(expansionParameter)) - { - return this; - } - - mExpansionParameters.add(expansionParameter); - - return this; - } - - @Override - public ISFQuery top(int topItems) - { - addQueryString(SFQueryParams.TOP,topItems); - return this; - } - - @Override - public ISFQuery skip(int skipItems) - { - addQueryString(SFQueryParams.SKIP,skipItems); - return this; - } - - @Override - public ISFQuery filter(String filterValue) - { - if(Utils.isEmpty(filterValue)) - { - return this; - } - - mFilter.filter(filterValue); - - return this; - } - - @Override - public ISFQuery is(SFV3ElementType type) - { - mFilter.is(type); - return this; - } - - @Override - public ISFQuery select(String selectParam) - { - if(Utils.isEmpty(selectParam)) - { - return this; - } - - mSelectParameters.add(selectParam); - - return this; - } - - private void expand(ArrayList expansionParameters) - { - if(Utils.isEmpty(expansionParameters)) - { - return ; - } - - for(String str: expansionParameters) - { - mExpansionParameters.add(str); - } - } - - /** - This function takes any uri and stores only its base part along with the provider - - example if you pass: https://szqatest2.sharefiletest.com/cifs/v3/Capabilities - - This function will store baseLink as : https://szqatest2.sharefiletest.com - */ - @Override - public ISFQuery setBaseLink(URI uri) throws URISyntaxException - { - mProviderForUrlPath = "/"+SFProvider.getProviderType(uri)+"/v3/"; - - String host = uri.getHost(); - String protocol = uri.getScheme(); - - mLink = new URI(protocol + "://" + host); - return this; - } - - @Override - public T execute() throws SFInvalidStateException, SFServerException, - SFNotAuthorizedException, SFOAuthTokenRenewException, SFOtherException - { - - if(apiClient==null) - { - throw new SFInvalidStateException("No valid client object set for query"); - } - - return (T)apiClient.executeQuery(this); - } - - @Override - public void executeAsync(ISFApiResultCallback callback) - { - if(callback == null) - { - throw new RuntimeException("Need to set listener to gather Async Result"); - } - - if(apiClient==null) - { - callback.onError(new SFInvalidStateException("No valid client object set for query"), this); - return; - } - - SFAsyncHelper asyncHelper = new SFAsyncHelper(apiClient, this, callback); - - ISFAsyncTask asyncTask = SFSdk.createAsyncTask(); - - if(asyncTask == null) - { - callback.onError(new SFInvalidStateException("Need to set AsyncFactory as per your system"), this); - return; - } - - asyncTask.start(asyncHelper); - } - - @Override - public void setTag(Object tag) - { - mTag = tag; - } - - @Override - public Object getTag() - { - return mTag; - } - - @Override - public String getStringResponse() { - return mServerResponse; - } - - @Override - public void setStringResponse(String response) { - mServerResponse = response; - } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java index c8a6c19..675c015 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java @@ -1,12 +1,12 @@ package com.citrix.sharefile.api; -import com.google.gson.JsonElement; -import com.google.gson.JsonParser; import com.citrix.sharefile.api.authentication.SFOAuth2Token; import com.citrix.sharefile.api.authentication.SFOAuthTokenRenewer; +import com.citrix.sharefile.api.constants.SFFolderID; import com.citrix.sharefile.api.constants.SFKeywords; import com.citrix.sharefile.api.enumerations.SFHttpMethod; import com.citrix.sharefile.api.exceptions.SFConnectionException; +import com.citrix.sharefile.api.exceptions.SFFormsAuthenticationCookies; import com.citrix.sharefile.api.exceptions.SFInvalidStateException; import com.citrix.sharefile.api.exceptions.SFNotAuthorizedException; import com.citrix.sharefile.api.exceptions.SFNotFoundException; @@ -22,8 +22,13 @@ import com.citrix.sharefile.api.interfaces.ISFReAuthHandler; import com.citrix.sharefile.api.log.Logger; import com.citrix.sharefile.api.models.SFFolder; +import com.citrix.sharefile.api.models.SFODataFeed; import com.citrix.sharefile.api.models.SFRedirection; +import com.citrix.sharefile.api.models.SFSymbolicLink; import com.citrix.sharefile.api.utils.Utils; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; import java.io.IOException; import java.io.InputStream; @@ -34,6 +39,7 @@ import java.net.URL; import java.net.URLConnection; import java.net.UnknownHostException; +import java.util.ArrayList; import javax.net.ssl.HttpsURLConnection; @@ -94,15 +100,19 @@ private void handleHttPost(URLConnection conn) throws IOException mQuery.getHttpMethod().equalsIgnoreCase(SFHttpMethod.PATCH.toString()) || mQuery.getHttpMethod().equalsIgnoreCase(SFHttpMethod.DELETE.toString()) ) { - String body = mQuery.getBody(); - - if(body!=null && body.length()>0) - { - conn.setRequestProperty(SFKeywords.CONTENT_LENGTH, ""+body.getBytes().length); - conn.setRequestProperty(SFKeywords.CONTENT_TYPE, SFKeywords.APPLICATION_JSON); - - SFHttpsCaller.postBody(conn, body); - } + String body = mQuery.getBody(); + + // OnDesktop systems CONTENT_LENGTH is not set by default. + // Also setting zero content lenght and not sending anything causes server errors + // So set an empty JSON. + if(body == null || body.length() == 0) + { + body = "{}"; + } + + conn.setRequestProperty(SFKeywords.CONTENT_LENGTH, ""+body.getBytes().length); + conn.setRequestProperty(SFKeywords.CONTENT_TYPE, SFKeywords.APPLICATION_JSON); + SFHttpsCaller.postBody(conn, body); } } @@ -172,7 +182,6 @@ private T executeQueryWithReAuthentication() throws SFServerException, return executeBlockingQuery(); } } - throw new SFNotAuthorizedException(SFKeywords.UN_AUTHORIZED, mReAuthContext); } } @@ -199,10 +208,6 @@ public T executeBlockingQuery() throws SFServerException, String server = mSFApiClient.getOAuthToken().getApiServer(); String urlstr = mQuery.buildQueryUrlString(server); - if(!SFCapabilityService.getInternal().providerCapabilitiesLoaded(urlstr)) { - SFCapabilityService.getInternal().getCapabilities(urlstr,mSFApiClient); - } - setCurrentUri(urlstr); URL url = new URL(urlstr); @@ -238,6 +243,9 @@ public T executeBlockingQuery() throws SFServerException, T ret = callSuccessResponseParser(responseString); callSaveCredentialsCallback(ret); + if(!SFCapabilityService.getInternal().providerCapabilitiesLoaded(urlstr)) { + SFCapabilityService.getInternal().getCapabilities(urlstr,mSFApiClient); + } return ret; } //break; @@ -254,6 +262,10 @@ public T executeBlockingQuery() throws SFServerException, callWipeCredentialsCallback(); + SFFormsAuthenticationCookies formsAuthResponseCookies = SFHttpsCaller.getFormsAuthResponseCookies(url, connection, mCookieManager); + if(formsAuthResponseCookies != null) { + throw new SFNotAuthorizedException(SFKeywords.UN_AUTHORIZED, formsAuthResponseCookies, mReAuthContext); + } return executeQueryWithReAuthentication(); } //break; @@ -301,7 +313,7 @@ is ShareFile(404) vs Connectors(409). finally { if(closeTheConnection) { - SFHttpsCaller.disconnect(connection); + SFHttpsCaller.disconnect(connection); } } } @@ -383,10 +395,10 @@ private void logMultipleTokenRenewals() throws SFNotAuthorizedException { return; } - //Token already renewed once before in this query. dump logs - Logger.e(TAG, "!!Multiple token renewals in same query. Might lead to stack overflow " + - "\n mCurrentUri = " + mCurrentUri - + "\nmLink = " + mQuery.getLink()); + //Token already renewed once before in this query. dump logs + Logger.e(TAG, "!!Multiple token renewals in same query. Might lead to stack overflow " + + "\n mCurrentUri = " + mCurrentUri + + "\nmLink = " + mQuery.getLink()); throw new SFNotAuthorizedException("Account not authorized"); @@ -416,6 +428,11 @@ private T executeQueryOnRedirectedObject(SFRedirection redirection) throws URI redirectLink = redirection.getUri(); Logger.d(TAG,"REDIRECT TO: " + redirectLink); mQuery.setLinkAndAppendPreviousParameters(redirectLink); + if(mQuery.getBody() == null && redirection.getBody() != null) { + JsonParser parser = new JsonParser(); + JsonObject bodyJson = (JsonObject)parser.parse(redirection.getBody()); + mQuery.setBody(bodyJson); + } return executeBlockingQuery(); } catch (NullPointerException e) @@ -538,16 +555,112 @@ protected T callSuccessResponseParser(String responseString) throws SFServerExce SFRedirection redirection = getRedirectionObject(sfobject); - if(redirection == null) + if(redirection != null) { - return sfobject; + return executeQueryOnRedirectedObject(redirection); + } + URI link = getShareConnectRedirectLink(sfobject); + + if(link != null) + { + return executeQueryForShareConnectRead(link); } - return executeQueryOnRedirectedObject(redirection); + return sfobject; } - - protected ISFApiResultCallback getResponseListener() + + private URI getFirstSymlinkChildURI(ArrayList feed) + { + if( feed!=null && feed.size()>0 && feed.get(0) instanceof SFSymbolicLink) + { + return ((SFSymbolicLink) feed.get(0)).geturl(); + } + + return null; + } + + private static final String SHARE_CONNECT_ITEMS_QUERY_PART = "/Items("+SFFolderID.CONNECTOR_SHARE_CONNECT+")"; + + + private URI getShareConnectRedirectLink(T sfobject) throws SFOtherException + { + if(!SFHttpMethod.GET.toString().equalsIgnoreCase(mQuery.getHttpMethod()) || mQuery.getLink() == null) + { + return null; + } + + String path = mQuery.getLink().getPath(); + if(path==null || !path.contains(SHARE_CONNECT_ITEMS_QUERY_PART)) + { + return null; + } + + + if(sfobject instanceof SFFolder) + { + SFFolder folder = (SFFolder) sfobject; + + if (SFFolderID.CONNECTOR_SHARE_CONNECT.equalsIgnoreCase(folder.getId())) + { + return getFirstSymlinkChildURI(folder.getChildren()); + } + + return null; + } + + if(sfobject instanceof SFODataFeed) + { + URI uri = getFirstSymlinkChildURI(((SFODataFeed) sfobject).getFeed()); + if(uri !=null) + { + //For feed type reads the url needs to have /Children in the path. + path = uri.getPath(); + String uriStr = uri.toString(); + uriStr = uriStr.replace(path,path+"/Children"); + try + { + return new URI(uriStr); + } + catch (URISyntaxException e) + { + throw new SFOtherException("Invalid URI"); + } + } + } + + return null; + } + + private T executeQueryForShareConnectRead(URI shareConnectLink) throws + SFInvalidStateException, SFServerException, + SFOAuthTokenRenewException, SFOtherException, + SFNotAuthorizedException + { + try + { + Logger.d(TAG,"ShareConnect read from: " + shareConnectLink); + mQuery.setLinkAndAppendPreviousParameters(shareConnectLink); + return executeBlockingQuery(); + } + catch (NullPointerException e) + { + Logger.e(TAG,e); + throw new SFOtherException("Server Bug: Redirection object or Uri is null"); + } + catch (URISyntaxException e) + { + Logger.e(TAG,e); + throw new SFOtherException("Server Bug: Redirection object syntax error"); + } + catch (UnsupportedEncodingException e) + { + Logger.e(TAG,e); + throw new SFOtherException("Server Bug: Redirection object unsupported encoding"); + } + } + + protected ISFApiResultCallback getResponseListener() { return mResponseListener; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFCapabilityService.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFCapabilityService.java index 707a84b..54adf6e 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFCapabilityService.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFCapabilityService.java @@ -37,7 +37,7 @@ protected static SFCapabilityService getInternal() public void getCapabilities(String providerUri, ISFApiClient client) { URI uriKey = getProviderUri(providerUri); - if(mUSerCapabilities.containsKey(providerUri))return; + if(mUSerCapabilities.containsKey(uriKey))return; //Since it doesn't exist, add it initially with a null entry to avoid an infinite loop. mUSerCapabilities.put(uriKey,null); @@ -49,7 +49,7 @@ public void getCapabilities(String providerUri, ISFApiClient client) { catch(SFSDKException ex) { Logger.e(getClass().getSimpleName(), ex); - mUSerCapabilities.remove(providerUri); + mUSerCapabilities.remove(uriKey); } } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFQueryStream.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFQueryStream.java index f78da01..86ae424 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFQueryStream.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFQueryStream.java @@ -1,11 +1,29 @@ package com.citrix.sharefile.api; +import com.citrix.sharefile.api.exceptions.SFInvalidStateException; +import com.citrix.sharefile.api.exceptions.SFNotAuthorizedException; +import com.citrix.sharefile.api.exceptions.SFOAuthTokenRenewException; +import com.citrix.sharefile.api.exceptions.SFOtherException; +import com.citrix.sharefile.api.exceptions.SFServerException; import com.citrix.sharefile.api.interfaces.ISFApiClient; -public class SFQueryStream extends SFApiQuery +import java.io.InputStream; + +public class SFQueryStream extends AbstractSFApiQuery { public SFQueryStream(ISFApiClient client) { super(client); } + + @Override + public InputStream execute() throws SFInvalidStateException, SFServerException, SFNotAuthorizedException, SFOAuthTokenRenewException, SFOtherException { + + if(apiClient==null) + { + throw new SFInvalidStateException("No valid client object set for query"); + } + + return apiClient.executeQueryEx(this); + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFOAuthService.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFOAuthService.java index 4145306..e1109d9 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFOAuthService.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFOAuthService.java @@ -198,7 +198,8 @@ private static String oAuthTokenUrl(String subDomain, String apiControlPlane) return url; } - protected SFOAuth2Token refreshOAuthToken(SFOAuth2Token oldToken, String clientId,String clientSecret) + @Override + public SFOAuth2Token refreshOAuthToken(SFOAuth2Token oldToken, String clientId,String clientSecret) throws SFOAuthTokenRenewException { SFOAuthTokenRenewer tokenRenewer = new SFOAuthTokenRenewer(oldToken,clientId,clientSecret); @@ -292,6 +293,34 @@ public void run() thread.start(); } + @Override + public void authenticateAsync(final String subDomain, + final String apiControlPlane, + final String clientId, + final String clientSecret, + final String samlAssertion, + final IOAuthTokenCallback callback) + { + Thread thread = new Thread(new Runnable() + { + @Override + public void run() + { + try + { + SFOAuth2Token token = authenticate(subDomain,apiControlPlane,clientId,clientSecret,samlAssertion); + callback.onSuccess(token); + } + catch (SFSDKException e) + { + callback.onError(e); + } + } + }); + + thread.start(); + } + @Override public void refreshOAuthTokenAsync(final SFOAuth2Token oldToken, final IOAuthTokenCallback callback) @@ -316,6 +345,31 @@ public void run() thread.start(); } + + @Override + public void refreshOAuthTokenAsync(final SFOAuth2Token oldToken, final String clientId, final String clientSecret, + final IOAuthTokenCallback callback) + { + Thread thread = new Thread(new Runnable() + { + @Override + public void run() + { + try + { + SFOAuth2Token token = refreshOAuthToken(oldToken,clientId,clientSecret); + callback.onSuccess(token); + } + catch (SFSDKException e) + { + callback.onError(e); + } + } + }); + + thread.start(); + } + /** * This function converts the SFWebAuthCode obtained from the webpop * and returns the OAuthToken from the server for that code. diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/constants/SFFolderID.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/constants/SFFolderID.java index dfcb319..a534767 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/constants/SFFolderID.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/constants/SFFolderID.java @@ -14,4 +14,14 @@ public final class SFFolderID public static final String CONNECTOR_SHAREPOINT = "c-sp"; public static final String CONNECTOR_NETWORKSHARE = "c-cifs"; public static final String SEARCH_RESULTS = "search_results"; + public static final String CONNECTOR_SHARE_CONNECT = "c-shareconnect"; + public static final String CONNECTOR_PCC = "personal_clound_connector"; + public static final String CONNECTOR_OFFICE365 = "office_365_connector"; + public static final String CONNECTOR_BOX = "c-Box"; + public static final String CONNECTOR_DROPBOX = "c-Dropbox"; + public static final String CONNECTOR_GOOGLE_DRIVE = "c-GoogleDrive"; + public static final String CONNECTOR_ONE_DRIVE = "c-OneDrive"; + public static final String CONNECTOR_SHAREPOINT_BUSINESS = "c-sp365"; + public static final String CONNECTOR_ONE_DRIVE_BUSINESS = "c-odb365"; + } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/constants/SFKeywords.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/constants/SFKeywords.java index fc0f2fd..2066e7e 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/constants/SFKeywords.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/constants/SFKeywords.java @@ -42,8 +42,6 @@ public final class SFKeywords public static final String CHILDREN_PREVIEW_PLATFORMS_SUPPORTED = CHILDREN + "/" + PREVIEW_PLATFORMS_SUPPORTED; public static final String CHILDREN_LOCKED_BY = CHILDREN + "/" + LOCKED_BY; public static final String CHILDREN_FILE_LOCK_INFO = CHILDREN + "/" + FILE_LOCK_INFO; - - public static final String CONSOLIDATED_NOTIFICATION = "ConsolidatedNotification"; //Access token related public static final String ACCESS_TOKEN = "access_token"; diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccountsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccountsEntity.java index be45388..dd11696 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccountsEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccountsEntity.java @@ -921,5 +921,18 @@ public ISFQuery> getZones(String parentid) throws InvalidOrM return sfApiQuery; } + /** + * Create a one-time use login Uri for the Web App. + * @return Redirection populated with link in Uri field + */ + public ISFQuery webAppAdmin() { + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Accounts"); + sfApiQuery.setAction("WebAppAdmin"); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFItemsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFItemsEntity.java index f5c2a30..de76bd7 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFItemsEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFItemsEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -245,6 +245,8 @@ public ISFQuery> getChildrenByConnectorGroup(URI parentUrl) * For example, when users upload or modify an existing file, a new Item * is created with the same StreamID. All default Item enumerations return only the latest version of a given stream. * Use this method to retrieve previous versions of a given stream. + * This method carries a default OData $top parameter of 20. If more versions are required, specify the $top query + * option with the desired parameter. * @param url * @param includeDeleted (default: false) */ @@ -273,6 +275,8 @@ public ISFQuery> stream(URI url, Boolean includeDeleted) thr * For example, when users upload or modify an existing file, a new Item * is created with the same StreamID. All default Item enumerations return only the latest version of a given stream. * Use this method to retrieve previous versions of a given stream. + * This method carries a default OData $top parameter of 20. If more versions are required, specify the $top query + * option with the desired parameter. * @param url */ public ISFQuery> stream(URI url) throws InvalidOrMissingParameterException { @@ -355,6 +359,37 @@ public ISFQuery getParent(URI url) throws InvalidOrMissingParameterExcep return sfApiQuery; } + /** + * Get Children + * Handler for the Children navigation property of a given Item. + * A 302 redirection is returned if the folder is a SymbolicLink. The redirection + * will enumerate the children of the remote connector + * @param url + * @param includeDeleted (default: false) + * @param orderingMode (default: Default) + * @return the list of children under the given object ID + */ + public ISFQuery> getChildren(URI url, Boolean includeDeleted, SFSafeEnum orderingMode) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (includeDeleted == null) { + throw new InvalidOrMissingParameterException("includeDeleted"); + } + if (orderingMode == null) { + throw new InvalidOrMissingParameterException("orderingMode"); + } + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Items"); + sfApiQuery.setAction("Children"); + sfApiQuery.addIds(url); + sfApiQuery.addQueryString("includeDeleted", includeDeleted); + sfApiQuery.addQueryString("orderingMode", orderingMode); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + /** * Get Children * Handler for the Children navigation property of a given Item. diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFRemoteUploadsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFRemoteUploadsEntity.java index 18a7792..9f26a7c 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFRemoteUploadsEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFRemoteUploadsEntity.java @@ -44,6 +44,15 @@ public ISFQuery> get() { return sfApiQuery; } + public ISFQuery getPublic() { + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("RemoteUploads"); + sfApiQuery.setAction("Public"); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + public ISFQuery get(URI url) throws InvalidOrMissingParameterException { if (url == null) { throw new InvalidOrMissingParameterException("url"); @@ -56,7 +65,7 @@ public ISFQuery get(URI url) throws InvalidOrMissingParameterExc return sfApiQuery; } - public ISFQuery upload2(URI url, SFUploadRequestParams uploadParams, String userId, Integer expirationDays) throws InvalidOrMissingParameterException { + public ISFQuery upload2(URI url, SFRemoteUploadRequestParams uploadParams, String userId, Integer expirationDays) throws InvalidOrMissingParameterException { if (url == null) { throw new InvalidOrMissingParameterException("url"); } @@ -81,7 +90,7 @@ public ISFQuery upload2(URI url, SFUploadRequestParams up return sfApiQuery; } - public ISFQuery upload2(URI url, SFUploadRequestParams uploadParams, String userId) throws InvalidOrMissingParameterException { + public ISFQuery upload2(URI url, SFRemoteUploadRequestParams uploadParams, String userId) throws InvalidOrMissingParameterException { if (url == null) { throw new InvalidOrMissingParameterException("url"); } @@ -147,20 +156,20 @@ public ISFQuery> getUsers() { return sfApiQuery; } - public ISFQuery updateUsers(URI url, ArrayList ids) throws InvalidOrMissingParameterException { - if (url == null) { - throw new InvalidOrMissingParameterException("url"); + public ISFQuery validateRemoteUploadUser(String id, String email) throws InvalidOrMissingParameterException { + if (id == null) { + throw new InvalidOrMissingParameterException("id"); } - if (ids == null) { - throw new InvalidOrMissingParameterException("ids"); + if (email == null) { + throw new InvalidOrMissingParameterException("email"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.client); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("RemoteUploads"); - sfApiQuery.setAction("Users"); - sfApiQuery.addIds(url); - sfApiQuery.setBody(ids); - sfApiQuery.setHttpMethod("PATCH"); + sfApiQuery.setAction("ValidateRemoteUploadUser"); + sfApiQuery.addQueryString("id", id); + sfApiQuery.addQueryString("email", email); + sfApiQuery.setHttpMethod("POST"); return sfApiQuery; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFUsersEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFUsersEntity.java index 885f4fb..1b71798 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFUsersEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFUsersEntity.java @@ -411,6 +411,83 @@ public ISFQuery create(SFUser user) throws InvalidOrMissingParameterExce * "AdminSharedAddressBook", "AdminViewReceipts", "AdminDelegate", "AdminManageFolderTemplates", * "AdminEmailMessages", "AdminSSO", "AdminSuperGroup", "AdminZones", "AdminCreateSharedGroups", "AdminConnectors" * ] + * } + * Creates a new Employee User (AccountUser) and associates it to an Account + * The following parameters from the input object are used: Email, FirstName, LastName, Company, + * DefaultZone, Password, IsEmployee, IsAdministrator, CanCreateFolders, CanUseFileBox, CanManageUsers, + * Preferences.CanResetPassword and Preferences.CanViewMySettings. + * Other parameters are ignoredStorageQuotaLimitGB parameter is optional. If not specified or equal to -1 the account default storage quota value will be set for the User. + * @param user + * @param pushCreatorDefaultSettings (default: false) + * @param addshared (default: false) + * @param notify (default: false) + * @param ifNecessary (default: false) + * @param addPersonal (default: false) + * @return The new employee user + */ + public ISFQuery createAccountUser(SFAccountUser user, Boolean pushCreatorDefaultSettings, Boolean addshared, Boolean notify, Boolean ifNecessary, Boolean addPersonal) throws InvalidOrMissingParameterException { + if (user == null) { + throw new InvalidOrMissingParameterException("user"); + } + if (pushCreatorDefaultSettings == null) { + throw new InvalidOrMissingParameterException("pushCreatorDefaultSettings"); + } + if (addshared == null) { + throw new InvalidOrMissingParameterException("addshared"); + } + if (notify == null) { + throw new InvalidOrMissingParameterException("notify"); + } + if (ifNecessary == null) { + throw new InvalidOrMissingParameterException("ifNecessary"); + } + if (addPersonal == null) { + throw new InvalidOrMissingParameterException("addPersonal"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.setAction("AccountUser"); + sfApiQuery.addQueryString("pushCreatorDefaultSettings", pushCreatorDefaultSettings); + sfApiQuery.addQueryString("addshared", addshared); + sfApiQuery.addQueryString("notify", notify); + sfApiQuery.addQueryString("ifNecessary", ifNecessary); + sfApiQuery.addQueryString("addPersonal", addPersonal); + sfApiQuery.setBody(user); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + + /** + * Create Employee + * { + * "Email":"user.one@domain.com", + * "FirstName":"Name", + * "LastName":"Last Name", + * "Company":"Company", + * "Password":"password", + * "StorageQuotaLimitGB":50, + * "Preferences": + * { + * "CanResetPassword":true, + * "CanViewMySettings":true + * }, + * "DefaultZone": + * { + * "Id":"zoneid" + * }, + * "IsAdministrator": false, + * "CanCreateFolders": false, + * "CanUseFileBox": true, + * "CanManageUsers": false, + * "Roles": [ + * "CanChangePassword", "CanManageMySettings", + * "CanUseFileBox, "CanManageUsers, "CanCreateFolders, "CanUseDropBox, "CanSelectFolderZone, + * "AdminAccountPolicies", "AdminBilling", "AdminBranding", "AdminChangePlan", "AdminFileBoxAccess", + * "AdminManageEmployees", "AdminRemoteUploadForms", "AdminReporting", "AdminSharedDistGroups", + * "AdminSharedAddressBook", "AdminViewReceipts", "AdminDelegate", "AdminManageFolderTemplates", + * "AdminEmailMessages", "AdminSSO", "AdminSuperGroup", "AdminZones", "AdminCreateSharedGroups", "AdminConnectors" + * ] * } * Creates a new Employee User (AccountUser) and associates it to an Account * The following parameters from the input object are used: Email, FirstName, LastName, Company, @@ -1458,5 +1535,49 @@ public ISFQuery> sentMessages(URI url) throws InvalidOrMiss return sfApiQuery; } + /** + * Create a one-time use login Uri for the Web App. + * @param url + * @return Redirection populated with link in Uri field + */ + public ISFQuery webAppManageUser(URI url) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.setAction("WebAppManageUser"); + sfApiQuery.addIds(url); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + + /** + * Create a one-time use login Uri for the Web App. + * @return Redirection populated with link in Uri field + */ + public ISFQuery webAppManageUsers() { + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.setAction("WebAppManageUsers"); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + + /** + * Create a one-time use login Uri for the Web App. + * @return Redirection populated with link in Uri field + */ + public ISFQuery webAppAddEmployee() { + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.setAction("WebAppAddEmployee"); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/exceptions/SFFormsAuthenticationCookies.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/exceptions/SFFormsAuthenticationCookies.java new file mode 100644 index 0000000..b29c816 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/exceptions/SFFormsAuthenticationCookies.java @@ -0,0 +1,26 @@ +package com.citrix.sharefile.api.exceptions; + +/** + * Created by sai on 2/22/16. + */ +public class SFFormsAuthenticationCookies { + + private String loginURL; + private String token; + + public void setLoginURL(String loginURL) { + this.loginURL = loginURL; + } + + public void setToken(String token) { + this.token = token; + } + + public String getLoginURL() { + return loginURL; + } + + public String getToken() { + return token; + } +} diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/exceptions/SFNotAuthorizedException.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/exceptions/SFNotAuthorizedException.java index 7601bbc..152624e 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/exceptions/SFNotAuthorizedException.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/exceptions/SFNotAuthorizedException.java @@ -7,6 +7,8 @@ public class SFNotAuthorizedException extends SFSDKException { private SFReAuthContext mReAuthContext; + private SFFormsAuthenticationCookies mFormsAuthenticationCookies; + public SFNotAuthorizedException(String detailedMessage) { super(detailedMessage); @@ -21,12 +23,24 @@ public SFNotAuthorizedException(String detailedMessage, SFReAuthContext reAuthCo { super(detailedMessage); mReAuthContext = reAuthContext; + this.mFormsAuthenticationCookies = null; } public SFNotAuthorizedException(Exception e, SFReAuthContext reAuthContext) { super(e); mReAuthContext = reAuthContext; + this.mFormsAuthenticationCookies = null; + } + + public SFNotAuthorizedException(String detailedMessage, SFFormsAuthenticationCookies mFormsAuthenticationCookies, SFReAuthContext reAuthContext) { + super(detailedMessage); + this.mFormsAuthenticationCookies = mFormsAuthenticationCookies; + this.mReAuthContext = reAuthContext; + } + + public SFFormsAuthenticationCookies getFormsAuthenticationCookies() { + return mFormsAuthenticationCookies; } public SFReAuthContext getReAuthContext() diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/SFGsonHelper.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/SFGsonHelper.java index a99885e..1e8ba5e 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/SFGsonHelper.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/SFGsonHelper.java @@ -241,6 +241,7 @@ public static SFODataFeed parseFeed(Class clazz,JsonObject jso private static final String SHAREFILE_MODELS_PACKAGE_NAME = "ShareFile.Api.Models."; private static final String ELEMENT_TAG = "@Element"; private static final String METADATA_FEED_TAG = "$metadata#"; + private static final String REDIRECTION_MODEL_TAG = SHAREFILE_MODELS_PACKAGE_NAME+"Redirection"; private static String replaceLeftSide(String tag, String original) { @@ -355,7 +356,8 @@ public static SFODataObject customParse(JsonElement jsonElement) if(odataType ==null) { - if(metadata.endsWith(ELEMENT_TAG)) + //if metadata ends with element tag or redirection tag, never parse it as FeedType. + if(metadata.endsWith(ELEMENT_TAG) || metadata.endsWith(REDIRECTION_MODEL_TAG)) { odataType = metadata; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFCookieManager.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFCookieManager.java index 3577683..dd7062e 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFCookieManager.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFCookieManager.java @@ -1,6 +1,7 @@ package com.citrix.sharefile.api.https; import com.citrix.sharefile.api.SFSDKDefaultAccessScope; +import com.citrix.sharefile.api.exceptions.SFFormsAuthenticationCookies; import com.citrix.sharefile.api.log.Logger; import java.io.IOException; @@ -37,6 +38,7 @@ public Cookie(String value) { private final Map> mStore; private static final String SET_COOKIE = "Set-Cookie"; + private static final String WWWW_AUTHENTICATE = "WWW-Authenticate"; private static final String COOKIE_VALUE_DELIMITER = ";"; private static final String PATH = "path"; private static final String EXPIRES = "expires"; @@ -184,6 +186,46 @@ private void storeCookieToDomainStore(Map domainStore,String cook } } + /** + * Retreivees the www-authentication-headers for personal cloud connectors when there is a not authorized exception + * @param conn + * @throws IOException + */ + @SFSDKDefaultAccessScope + SFFormsAuthenticationCookies readFormsAuthCookies(URLConnection conn) throws IOException + { + String headerName; + SFFormsAuthenticationCookies SFFormsAuthenticationCookies = null; + for (int i=1; (headerName = conn.getHeaderFieldKey(i)) != null; i++) + { + if (headerName.equalsIgnoreCase(WWWW_AUTHENTICATE)) { + if (SFFormsAuthenticationCookies == null) { + String headerValue = conn.getHeaderField(i); + String[] values = parseAuthenticationResponseHeader(headerValue); + if(values != null && values.length == 2) { + SFFormsAuthenticationCookies = new SFFormsAuthenticationCookies(); + SFFormsAuthenticationCookies.setLoginURL(values[0]); + SFFormsAuthenticationCookies.setToken(values[1]); + } + return SFFormsAuthenticationCookies; + } + } + } + return SFFormsAuthenticationCookies; + } + + + private String[] parseAuthenticationResponseHeader(String headerValue) { + String[] result = new String[2]; + + String[] split = headerValue.split(" "); + if(split.length == 4) { + result[0] = split[1]; + result[1] = split[3]; + return result; + } + return null; + } /** * Prior to opening a URLConnection, calling this method will set all diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFHttpsCaller.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFHttpsCaller.java index bb2e5a3..f85b768 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFHttpsCaller.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFHttpsCaller.java @@ -6,6 +6,7 @@ import com.citrix.sharefile.api.constants.SFKeywords; import com.citrix.sharefile.api.enumerations.SFHttpMethod; import com.citrix.sharefile.api.SFProvider; +import com.citrix.sharefile.api.exceptions.SFFormsAuthenticationCookies; import com.citrix.sharefile.api.utils.Utils; import com.citrix.sharefile.api.log.Logger; @@ -22,8 +23,11 @@ import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.ProtocolException; +import java.net.URI; +import java.net.URISyntaxException; import java.net.URL; import java.net.URLConnection; +import java.net.URLDecoder; import java.util.List; import javax.net.ssl.HttpsURLConnection; @@ -34,6 +38,8 @@ public class SFHttpsCaller private static final String NO_AUTH_CHALLENGES = "No authentication challenges found"; private static final String OUT_OF_MEMORY = "memory"; + private static final String ROOT_PARAM = "root"; + private static final String REDIRECT_URL_PARAM = "redirect_url"; //private static CookieManager m_cookieManager = null; @@ -242,6 +248,69 @@ public static void getAndStoreCookies(URLConnection conn, URL url,SFCookieManage cookieManager.readCookiesFromConnection(conn); } } + + public static SFFormsAuthenticationCookies getFormsAuthResponseCookies(URL url, URLConnection connection, SFCookieManager cookieManager) throws IOException + { + if(cookieManager != null) { + SFFormsAuthenticationCookies sfFormsAuthenticationCookies = cookieManager.readFormsAuthCookies(connection); + if(sfFormsAuthenticationCookies != null) { + String rootParam = getRootQueryParamter(url); + //Adding the root parameter to the login and the token url + String tokenURL = getTokenURL(sfFormsAuthenticationCookies.getToken(), rootParam); + String loginURL = getLoginURL(sfFormsAuthenticationCookies.getLoginURL(), tokenURL, rootParam); + + sfFormsAuthenticationCookies.setLoginURL(loginURL); + sfFormsAuthenticationCookies.setToken(tokenURL); + return sfFormsAuthenticationCookies; + } + } + return null; + } + + private static String getTokenURL(String token, String root) + { + try { + return addQueryParams(token, ROOT_PARAM, root); + } + catch (URISyntaxException ex) { + Logger.e(TAG, "error: ", ex); + return null; + } + } + + private static String getLoginURL(String login, String token, String root) { + try { + String loginURL = addQueryParams(login, ROOT_PARAM, root); + return addQueryParams(loginURL, REDIRECT_URL_PARAM, token); + } + catch (URISyntaxException ex) { + Logger.e(TAG, "error: ", ex); + return null; + } + } + + private static String addQueryParams(String url, String name, String value) throws URISyntaxException { + URI oldUri = new URI(url); + String appendQuery = name + "=" + value; + String newQuery = oldUri.getQuery(); + if (newQuery == null) { + newQuery = appendQuery; + } else { + newQuery += "&" + appendQuery; + } + + URI newUri = new URI(oldUri.getScheme(), oldUri.getAuthority(), + oldUri.getPath(), newQuery, oldUri.getFragment()); + return newUri.toString(); + } + + private static String getRootQueryParamter(URL url) { + String[] pairs = url.toString().split("&"); + + //Root is the first query parameter + int idx = pairs[0].indexOf("="); + return URLDecoder.decode(pairs[0].substring(idx + 1)); + } public static String readResponse(URLConnection conn) throws IOException { diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFApiClient.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFApiClient.java index 53f60c3..9fe0346 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFApiClient.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFApiClient.java @@ -1,5 +1,6 @@ package com.citrix.sharefile.api.interfaces; +import com.citrix.sharefile.api.SFApiClient; import com.citrix.sharefile.api.SFQueryStream; import com.citrix.sharefile.api.entities.ISFEntities; import com.citrix.sharefile.api.exceptions.SFInvalidStateException; @@ -58,4 +59,6 @@ public SFUploadRunnable getUploader(SFUploadRequestParams uploadRequestParams, public URI getDeviceUrl(String deviceId) throws URISyntaxException; public void setReAuthHandler(ISFReAuthHandler reAuthHandler); + + public ISFApiClient clone(); } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFOAuthService.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFOAuthService.java index 0647773..d1a4ee2 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFOAuthService.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFOAuthService.java @@ -27,11 +27,17 @@ public SFOAuth2Token refreshOAuthToken(SFOAuth2Token oldToken) public void authenticateAsync(String subDomain, String apiControlPlane, String samlAssertion, IOAuthTokenCallback callback); + public void authenticateAsync(String subDomain, String apiControlPlane, String clientId, String clientSecret, String samlAssertion, IOAuthTokenCallback callback); + public void refreshOAuthTokenAsync(SFOAuth2Token oldToken, IOAuthTokenCallback callback); + public void refreshOAuthTokenAsync(SFOAuth2Token oldToken, String clientId,String clientSecret,IOAuthTokenCallback callback); + /** The clientID Secret is optional. Yf you don't pass these, the function will try to pick it up from those which you set during the SFSdk.init() */ public SFOAuth2Token getOAuthToken(SFWebAuthCode webAuthCode, String... clientIdSecret) throws SFServerException, SFOtherException; + + public SFOAuth2Token refreshOAuthToken(SFOAuth2Token oldToken, String clientId,String clientSecret) throws SFOAuthTokenRenewException; } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFQuery.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFQuery.java index 77077ef..2c4d6d2 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFQuery.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFQuery.java @@ -31,6 +31,8 @@ public interface ISFQuery ISFQuery setBody(ArrayList sfoDataObjectsFeed); + ISFQuery setBody(Object object); + ISFQuery addQueryString(String string, Object type); ISFQuery addActionIds(String id); @@ -83,6 +85,8 @@ public interface ISFQuery ISFQuery allowRedirection(boolean value); boolean reDirectionAllowed(); + + ISFQuery expect(Class clazz); /** * This will append the query paremeters from previuos query to the new link. use this only diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlsCloneParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlsCloneParams.java index 0e63f7e..da8c218 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlsCloneParams.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlsCloneParams.java @@ -32,10 +32,10 @@ public class SFAccessControlsCloneParams extends SFODataObject { private String NotifyMessage; @SerializedName("FolderId") private String FolderId; - @SerializedName("UserId") - private String UserId; - @SerializedName("CloneUserIds") - private ArrayList CloneUserIds; + @SerializedName("PrincipalId") + private String PrincipalId; + @SerializedName("ClonePrincipalIds") + private ArrayList ClonePrincipalIds; /** * Defines whether the cloned users should receieve a notice on the permission grant. @@ -81,28 +81,28 @@ public void setFolderId(String folderid) { /** * This user's permissions will be used as the source for all cloned users. */ - public String getUserId() { - return this.UserId; + public String getPrincipalId() { + return this.PrincipalId; } /** * This user's permissions will be used as the source for all cloned users. */ - public void setUserId(String userid) { - this.UserId = userid; + public void setPrincipalId(String principalid) { + this.PrincipalId = principalid; } /** * List of existing users that will receive cloned permissions. */ - public ArrayList getCloneUserIds() { - return this.CloneUserIds; + public ArrayList getClonePrincipalIds() { + return this.ClonePrincipalIds; } /** * List of existing users that will receive cloned permissions. */ - public void setCloneUserIds(ArrayList cloneuserids) { - this.CloneUserIds = cloneuserids; + public void setClonePrincipalIds(ArrayList cloneprincipalids) { + this.ClonePrincipalIds = cloneprincipalids; } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountMessageCode.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountMessageCode.java new file mode 100644 index 0000000..254dd7e --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountMessageCode.java @@ -0,0 +1,58 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFAccountMessageCode extends SFODataObject { + + @SerializedName("AccountType") + private String AccountType; + @SerializedName("MessageType") + private String MessageType; + @SerializedName("CancelDate") + private Date CancelDate; + + public String getAccountType() { + return this.AccountType; + } + + public void setAccountType(String accounttype) { + this.AccountType = accounttype; + } + public String getMessageType() { + return this.MessageType; + } + + public void setMessageType(String messagetype) { + this.MessageType = messagetype; + } + public Date getCancelDate() { + return this.CancelDate; + } + + public void setCancelDate(Date canceldate) { + this.CancelDate = canceldate; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountPreferences.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountPreferences.java index cbed047..acc7662 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountPreferences.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountPreferences.java @@ -268,6 +268,8 @@ public class SFAccountPreferences extends SFODataObject { private Boolean CanCreateMultiTenantZones; @SerializedName("EnableDLP") private Boolean EnableDLP; + @SerializedName("EnableIRM") + private Boolean EnableIRM; @SerializedName("EnableOfficeOnlinePreviews") private Boolean EnableOfficeOnlinePreviews; @SerializedName("EnableOfficeOnlineEditing") @@ -284,10 +286,20 @@ public class SFAccountPreferences extends SFODataObject { private String PrimaryStorageBasePath; @SerializedName("EnableSharingConnectorItems") private Boolean EnableSharingConnectorItems; + @SerializedName("AccountMessageCode") + private SFAccountMessageCode AccountMessageCode; @SerializedName("EnableSingleIdentity") private Boolean EnableSingleIdentity; @SerializedName("EnableDriveMapping") private Boolean EnableDriveMapping; + @SerializedName("NotificationLocale") + private SFSafeEnum NotificationLocale; + @SerializedName("RetentionPolicySysAdminOnly") + private Boolean RetentionPolicySysAdminOnly; + @SerializedName("EnableDocumentApprovalWorkflow") + private Boolean EnableDocumentApprovalWorkflow; + @SerializedName("EnableLocalization") + private Boolean EnableLocalization; public Boolean getEnableViewOnly() { return this.EnableViewOnly; @@ -1136,6 +1148,13 @@ public Boolean getEnableDLP() { public void setEnableDLP(Boolean enabledlp) { this.EnableDLP = enabledlp; } + public Boolean getEnableIRM() { + return this.EnableIRM; + } + + public void setEnableIRM(Boolean enableirm) { + this.EnableIRM = enableirm; + } public Boolean getEnableOfficeOnlinePreviews() { return this.EnableOfficeOnlinePreviews; } @@ -1192,6 +1211,13 @@ public Boolean getEnableSharingConnectorItems() { public void setEnableSharingConnectorItems(Boolean enablesharingconnectoritems) { this.EnableSharingConnectorItems = enablesharingconnectoritems; } + public SFAccountMessageCode getAccountMessageCode() { + return this.AccountMessageCode; + } + + public void setAccountMessageCode(SFAccountMessageCode accountmessagecode) { + this.AccountMessageCode = accountmessagecode; + } public Boolean getEnableSingleIdentity() { return this.EnableSingleIdentity; } @@ -1206,5 +1232,33 @@ public Boolean getEnableDriveMapping() { public void setEnableDriveMapping(Boolean enabledrivemapping) { this.EnableDriveMapping = enabledrivemapping; } + public SFSafeEnum getNotificationLocale() { + return this.NotificationLocale; + } + + public void setNotificationLocale(SFSafeEnum notificationlocale) { + this.NotificationLocale = notificationlocale; + } + public Boolean getRetentionPolicySysAdminOnly() { + return this.RetentionPolicySysAdminOnly; + } + + public void setRetentionPolicySysAdminOnly(Boolean retentionpolicysysadminonly) { + this.RetentionPolicySysAdminOnly = retentionpolicysysadminonly; + } + public Boolean getEnableDocumentApprovalWorkflow() { + return this.EnableDocumentApprovalWorkflow; + } + + public void setEnableDocumentApprovalWorkflow(Boolean enabledocumentapprovalworkflow) { + this.EnableDocumentApprovalWorkflow = enabledocumentapprovalworkflow; + } + public Boolean getEnableLocalization() { + return this.EnableLocalization; + } + + public void setEnableLocalization(Boolean enablelocalization) { + this.EnableLocalization = enablelocalization; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCapabilityName.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCapabilityName.java index 7ea89f4..a8a882e 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCapabilityName.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCapabilityName.java @@ -61,5 +61,8 @@ public enum SFCapabilityName { AnonymousSharingSend, Copy, Move, - UnZipFileUploads + UnZipFileUploads, + RightSignature4, + DocumentApprovalWorkflow, + ShareAccessRight } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEntityTypeMap.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEntityTypeMap.java index 6c5f279..080e372 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEntityTypeMap.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEntityTypeMap.java @@ -28,18 +28,30 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("AccessControlsBulkParamss", SFAccessControlsBulkParams.class); _entityTypeMap.put("AccessControlParam", SFAccessControlParam.class); _entityTypeMap.put("AccessControlParams", SFAccessControlParam.class); + _entityTypeMap.put("AccountMessageCode", SFAccountMessageCode.class); + _entityTypeMap.put("AccountMessageCodes", SFAccountMessageCode.class); _entityTypeMap.put("AccessControlsCloneParams", SFAccessControlsCloneParams.class); _entityTypeMap.put("AccessControlsCloneParamss", SFAccessControlsCloneParams.class); _entityTypeMap.put("EditingPlatformInfo", SFEditingPlatformInfo.class); _entityTypeMap.put("EditingPlatformInfos", SFEditingPlatformInfo.class); + _entityTypeMap.put("IrmClassification", SFIrmClassification.class); + _entityTypeMap.put("IrmClassifications", SFIrmClassification.class); + _entityTypeMap.put("IrmPrimaryAccessRightParams", SFIrmPrimaryAccessRightParams.class); + _entityTypeMap.put("IrmPrimaryAccessRightParamss", SFIrmPrimaryAccessRightParams.class); _entityTypeMap.put("NotifyUsersParams", SFNotifyUsersParams.class); _entityTypeMap.put("NotifyUsersParamss", SFNotifyUsersParams.class); _entityTypeMap.put("RemoteUpload", SFRemoteUpload.class); _entityTypeMap.put("RemoteUploads", SFRemoteUpload.class); + _entityTypeMap.put("UploadRequestParams", SFUploadRequestParams.class); + _entityTypeMap.put("UploadRequestParamss", SFUploadRequestParams.class); + _entityTypeMap.put("RemoteUploadRequestParams", SFRemoteUploadRequestParams.class); + _entityTypeMap.put("RemoteUploadRequestParamss", SFRemoteUploadRequestParams.class); _entityTypeMap.put("Service", SFService.class); _entityTypeMap.put("Services", SFService.class); _entityTypeMap.put("ServicesCollection", SFServicesCollection.class); _entityTypeMap.put("ServicesCollections", SFServicesCollection.class); + _entityTypeMap.put("ShareAccessRight", SFShareAccessRight.class); + _entityTypeMap.put("ShareAccessRights", SFShareAccessRight.class); _entityTypeMap.put("AccountZoneUsage", SFAccountZoneUsage.class); _entityTypeMap.put("AccountZoneUsages", SFAccountZoneUsage.class); _entityTypeMap.put("AccessControlBulkResult", SFAccessControlBulkResult.class); @@ -72,8 +84,6 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("ReportRecords", SFReportRecord.class); _entityTypeMap.put("BillingInfo", SFBillingInfo.class); _entityTypeMap.put("BillingInfos", SFBillingInfo.class); - _entityTypeMap.put("UploadRequestParams", SFUploadRequestParams.class); - _entityTypeMap.put("UploadRequestParamss", SFUploadRequestParams.class); _entityTypeMap.put("ESignature", SFESignature.class); _entityTypeMap.put("ESignatures", SFESignature.class); _entityTypeMap.put("MarketAnalytics", SFMarketAnalytics.class); @@ -88,6 +98,14 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("Folders", SFFolder.class); _entityTypeMap.put("ConnectorGroup", SFConnectorGroup.class); _entityTypeMap.put("ConnectorGroups", SFConnectorGroup.class); + _entityTypeMap.put("SymbolicLink", SFSymbolicLink.class); + _entityTypeMap.put("SymbolicLinks", SFSymbolicLink.class); + _entityTypeMap.put("File", SFFile.class); + _entityTypeMap.put("Files", SFFile.class); + _entityTypeMap.put("Link", SFLink.class); + _entityTypeMap.put("Links", SFLink.class); + _entityTypeMap.put("Note", SFNote.class); + _entityTypeMap.put("Notes", SFNote.class); _entityTypeMap.put("ConnectorGroupZone", SFConnectorGroupZone.class); _entityTypeMap.put("ConnectorGroupZones", SFConnectorGroupZone.class); _entityTypeMap.put("ConnectorGroupAccessControl", SFConnectorGroupAccessControl.class); @@ -96,6 +114,16 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("Reports", SFReport.class); _entityTypeMap.put("Principal", SFPrincipal.class); _entityTypeMap.put("Principals", SFPrincipal.class); + _entityTypeMap.put("User", SFUser.class); + _entityTypeMap.put("Users", SFUser.class); + _entityTypeMap.put("AccountUser", SFAccountUser.class); + _entityTypeMap.put("AccountUsers", SFAccountUser.class); + _entityTypeMap.put("Contact", SFContact.class); + _entityTypeMap.put("Contacts", SFContact.class); + _entityTypeMap.put("Group", SFGroup.class); + _entityTypeMap.put("Groups", SFGroup.class); + _entityTypeMap.put("Zone", SFZone.class); + _entityTypeMap.put("Zones", SFZone.class); _entityTypeMap.put("PreviewPlatformInfo", SFPreviewPlatformInfo.class); _entityTypeMap.put("PreviewPlatformInfos", SFPreviewPlatformInfo.class); _entityTypeMap.put("ShareResendParams", SFShareResendParams.class); @@ -107,10 +135,6 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("Account", SFAccount.class); _entityTypeMap.put("Accounts", SFAccount.class); _entityTypeMap.put("AccountPreferences", SFAccountPreferences.class); - _entityTypeMap.put("User", SFUser.class); - _entityTypeMap.put("Users", SFUser.class); - _entityTypeMap.put("AccountUser", SFAccountUser.class); - _entityTypeMap.put("AccountUsers", SFAccountUser.class); _entityTypeMap.put("AsyncOperation", SFAsyncOperation.class); _entityTypeMap.put("AsyncOperations", SFAsyncOperation.class); _entityTypeMap.put("Capability", SFCapability.class); @@ -140,27 +164,17 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("FindSubdomainResults", SFFindSubdomainResult.class); _entityTypeMap.put("GenericConfig", SFGenericConfig.class); _entityTypeMap.put("GenericConfigs", SFGenericConfig.class); - _entityTypeMap.put("Contact", SFContact.class); - _entityTypeMap.put("Contacts", SFContact.class); _entityTypeMap.put("FavoriteFolder", SFFavoriteFolder.class); _entityTypeMap.put("FavoriteFolders", SFFavoriteFolder.class); - _entityTypeMap.put("File", SFFile.class); - _entityTypeMap.put("Files", SFFile.class); - _entityTypeMap.put("Group", SFGroup.class); - _entityTypeMap.put("Groups", SFGroup.class); _entityTypeMap.put("Industry", SFIndustry.class); _entityTypeMap.put("Industrys", SFIndustry.class); _entityTypeMap.put("ItemInfo", SFItemInfo.class); _entityTypeMap.put("ItemInfos", SFItemInfo.class); _entityTypeMap.put("ItemProtocolLink", SFItemProtocolLink.class); _entityTypeMap.put("ItemProtocolLinks", SFItemProtocolLink.class); - _entityTypeMap.put("Link", SFLink.class); - _entityTypeMap.put("Links", SFLink.class); _entityTypeMap.put("Metadata", SFMetadata.class); _entityTypeMap.put("Metadatas", SFMetadata.class); _entityTypeMap.put("MobileSecuritySettings", SFMobileSecuritySettings.class); - _entityTypeMap.put("Note", SFNote.class); - _entityTypeMap.put("Notes", SFNote.class); _entityTypeMap.put("Notification", SFNotification.class); _entityTypeMap.put("Notifications", SFNotification.class); _entityTypeMap.put("OutlookInformation", SFOutlookInformation.class); @@ -209,8 +223,6 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("SSOInfos", SFSSOInfo.class); _entityTypeMap.put("StorageCenter", SFStorageCenter.class); _entityTypeMap.put("StorageCenters", SFStorageCenter.class); - _entityTypeMap.put("SymbolicLink", SFSymbolicLink.class); - _entityTypeMap.put("SymbolicLinks", SFSymbolicLink.class); _entityTypeMap.put("UploadSpecification", SFUploadSpecification.class); _entityTypeMap.put("UploadSpecifications", SFUploadSpecification.class); _entityTypeMap.put("UserConfirmationSettings", SFUserConfirmationSettings.class); @@ -220,8 +232,6 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("UserPreferences", SFUserPreferences.class); _entityTypeMap.put("UserSecurity", SFUserSecurity.class); _entityTypeMap.put("UserSecurities", SFUserSecurity.class); - _entityTypeMap.put("Zone", SFZone.class); - _entityTypeMap.put("Zones", SFZone.class); return _entityTypeMap; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFExceptionReason.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFExceptionReason.java index 6b93869..9d341fd 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFExceptionReason.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFExceptionReason.java @@ -48,5 +48,12 @@ public enum SFExceptionReason { UpdateSecurityQuestionError, InvalidPassword, ServiceUnavailable, - UnsupportedVosWithImgFileType + UnsupportedVosWithImgFileType, + EmailWhitelistViolation, + EmailBlacklistViolation, + IrmClassificationError, + UnsupportedIrmFileType, + IrmClassificationDisabled, + IrmClassificationNotFound, + DuplicateIrmClassificationName } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIntegrationProvider.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIntegrationProvider.java index fb1eba9..25fe13a 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIntegrationProvider.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIntegrationProvider.java @@ -18,5 +18,6 @@ public enum SFIntegrationProvider { RightSignature, - RightSignature4 + RightSignature4, + DocumentApprovalWorkflow } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIrmClassification.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIrmClassification.java new file mode 100644 index 0000000..6553503 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIrmClassification.java @@ -0,0 +1,108 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFIrmClassification extends SFODataObject { + + @SerializedName("Name") + private String Name; + @SerializedName("Description") + private String Description; + @SerializedName("PrimaryAccessRightParams") + private SFIrmPrimaryAccessRightParams PrimaryAccessRightParams; + @SerializedName("IsEnabled") + private Boolean IsEnabled; + @SerializedName("NumberOfProtectionDays") + private Integer NumberOfProtectionDays; + + /** + * Name of the Irm Classification + */ + public String getName() { + return this.Name; + } + + /** + * Name of the Irm Classification + */ + public void setName(String name) { + this.Name = name; + } + /** + * Description of the Irm Classification if any + */ + public String getDescription() { + return this.Description; + } + + /** + * Description of the Irm Classification if any + */ + public void setDescription(String description) { + this.Description = description; + } + /** + * AccessRight permissions on an IRM Classification + */ + public SFIrmPrimaryAccessRightParams getPrimaryAccessRightParams() { + return this.PrimaryAccessRightParams; + } + + /** + * AccessRight permissions on an IRM Classification + */ + public void setPrimaryAccessRightParams(SFIrmPrimaryAccessRightParams primaryaccessrightparams) { + this.PrimaryAccessRightParams = primaryaccessrightparams; + } + /** + * Use this flag to enable/ disable the Irm Classification. + * If disabled, this Irm Classification won't show up in the List of active IrmClassifications on an account. + */ + public Boolean getIsEnabled() { + return this.IsEnabled; + } + + /** + * Use this flag to enable/ disable the Irm Classification. + * If disabled, this Irm Classification won't show up in the List of active IrmClassifications on an account. + */ + public void setIsEnabled(Boolean isenabled) { + this.IsEnabled = isenabled; + } + /** + * Defines the numner of days after which the user won't be access the documents protected with this classification. + */ + public Integer getNumberOfProtectionDays() { + return this.NumberOfProtectionDays; + } + + /** + * Defines the numner of days after which the user won't be access the documents protected with this classification. + */ + public void setNumberOfProtectionDays(Integer numberofprotectiondays) { + this.NumberOfProtectionDays = numberofprotectiondays; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIrmPrimaryAccessRightParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIrmPrimaryAccessRightParams.java new file mode 100644 index 0000000..ae4ac0d --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIrmPrimaryAccessRightParams.java @@ -0,0 +1,166 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFIrmPrimaryAccessRightParams extends SFODataObject { + + @SerializedName("View") + private Boolean View; + @SerializedName("LightViewer") + private Boolean LightViewer; + @SerializedName("Print") + private Boolean Print; + @SerializedName("Edit") + private Boolean Edit; + @SerializedName("FullControl") + private Boolean FullControl; + @SerializedName("CopyData") + private Boolean CopyData; + @SerializedName("ScreenCapture") + private Boolean ScreenCapture; + @SerializedName("Macro") + private Boolean Macro; + @SerializedName("OfflineAccess") + private Boolean OfflineAccess; + + /** + * Allows user to view the documents + */ + public Boolean getView() { + return this.View; + } + + /** + * Allows user to view the documents + */ + public void setView(Boolean view) { + this.View = view; + } + /** + * Allows user to use LightViewer client to view the documents + */ + public Boolean getLightViewer() { + return this.LightViewer; + } + + /** + * Allows user to use LightViewer client to view the documents + */ + public void setLightViewer(Boolean lightviewer) { + this.LightViewer = lightviewer; + } + /** + * Allows user to print the documents + */ + public Boolean getPrint() { + return this.Print; + } + + /** + * Allows user to print the documents + */ + public void setPrint(Boolean print) { + this.Print = print; + } + /** + * Allows user to edit the documents + */ + public Boolean getEdit() { + return this.Edit; + } + + /** + * Allows user to edit the documents + */ + public void setEdit(Boolean edit) { + this.Edit = edit; + } + /** + * Allows user to have full control over the document. + */ + public Boolean getFullControl() { + return this.FullControl; + } + + /** + * Allows user to have full control over the document. + */ + public void setFullControl(Boolean fullcontrol) { + this.FullControl = fullcontrol; + } + /** + * Allows user to copy the content into clipboard from the document. + */ + public Boolean getCopyData() { + return this.CopyData; + } + + /** + * Allows user to copy the content into clipboard from the document. + */ + public void setCopyData(Boolean copydata) { + this.CopyData = copydata; + } + /** + * Allows user to use native screen capture tools. + */ + public Boolean getScreenCapture() { + return this.ScreenCapture; + } + + /** + * Allows user to use native screen capture tools. + */ + public void setScreenCapture(Boolean screencapture) { + this.ScreenCapture = screencapture; + } + /** + * Allows user to run macros. User cannot even view a macro file if this access right is set to false. + */ + public Boolean getMacro() { + return this.Macro; + } + + /** + * Allows user to run macros. User cannot even view a macro file if this access right is set to false. + */ + public void setMacro(Boolean macro) { + this.Macro = macro; + } + /** + * Allows user to access the documents offline + */ + public Boolean getOfflineAccess() { + return this.OfflineAccess; + } + + /** + * Allows user to access the documents offline + */ + public void setOfflineAccess(Boolean offlineaccess) { + this.OfflineAccess = offlineaccess; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemInfo.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemInfo.java index a33ead5..e9be3d2 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemInfo.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemInfo.java @@ -74,6 +74,8 @@ public class SFItemInfo extends SFODataObject { private Boolean CanManagePermissions; @SerializedName("CanEditFolderOpts") private Boolean CanEditFolderOpts; + @SerializedName("CanEditRetentionPolicy") + private Boolean CanEditRetentionPolicy; @SerializedName("FolderPayID") private String FolderPayID; @SerializedName("ShowFolderPayBuyButton") @@ -273,6 +275,13 @@ public Boolean getCanEditFolderOpts() { public void setCanEditFolderOpts(Boolean caneditfolderopts) { this.CanEditFolderOpts = caneditfolderopts; } + public Boolean getCanEditRetentionPolicy() { + return this.CanEditRetentionPolicy; + } + + public void setCanEditRetentionPolicy(Boolean caneditretentionpolicy) { + this.CanEditRetentionPolicy = caneditretentionpolicy; + } public String getFolderPayID() { return this.FolderPayID; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemOrderingMode.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemOrderingMode.java new file mode 100644 index 0000000..69138d4 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemOrderingMode.java @@ -0,0 +1,22 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFItemOrderingMode { + Default, + FoldersFirst +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNotificationLocale.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNotificationLocale.java new file mode 100644 index 0000000..31dff97 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNotificationLocale.java @@ -0,0 +1,31 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFNotificationLocale { + Invariant, + English, + German, + Spanish, + French, + Dutch, + Chinese, + Russian, + Japanese, + Korean, + Portuguese +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRemoteUpload.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRemoteUpload.java index 6f11c77..2cf76fb 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRemoteUpload.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRemoteUpload.java @@ -28,6 +28,8 @@ public class SFRemoteUpload extends SFODataObject { @SerializedName("Name") private String Name; + @SerializedName("Uri") + private String Uri; @SerializedName("IsPublic") private Boolean IsPublic; @SerializedName("RequireUserInfo") @@ -49,6 +51,19 @@ public String getName() { */ public void setName(String name) { this.Name = name; + } + /** + * Uri to access the Remote Upload through the Web portal + */ + public String getUri() { + return this.Uri; + } + + /** + * Uri to access the Remote Upload through the Web portal + */ + public void setUri(String uri) { + this.Uri = uri; } /** * Indicates whether the Remote Upload is public or not. diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRemoteUploadRequestParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRemoteUploadRequestParams.java new file mode 100644 index 0000000..dcf7ecd --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRemoteUploadRequestParams.java @@ -0,0 +1,40 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFRemoteUploadRequestParams extends SFUploadRequestParams { + + @SerializedName("Creator") + private SFContact Creator; + + public SFContact getCreator() { + return this.Creator; + } + + public void setCreator(SFContact creator) { + this.Creator = creator; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFServicesCollection.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFServicesCollection.java index 7928ed3..3c998f1 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFServicesCollection.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFServicesCollection.java @@ -30,6 +30,8 @@ public class SFServicesCollection extends SFODataObject { private SFService RightSignature; @SerializedName("ShareConnect") private SFService ShareConnect; + @SerializedName("ShareFileLegal") + private SFService ShareFileLegal; /** * RightSignature account service @@ -57,5 +59,18 @@ public SFService getShareConnect() { public void setShareConnect(SFService shareconnect) { this.ShareConnect = shareconnect; } + /** + * ShareFile Legal account service + */ + public SFService getShareFileLegal() { + return this.ShareFileLegal; + } + + /** + * ShareFile Legal account service + */ + public void setShareFileLegal(SFService sharefilelegal) { + this.ShareFileLegal = sharefilelegal; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShare.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShare.java index 6d71890..83c43f9 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShare.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShare.java @@ -96,237 +96,125 @@ public class SFShare extends SFODataObject { private ArrayList ShareItemHistory; @SerializedName("Settings") private SFShareSettings Settings; + @SerializedName("ShareAccessRight") + private SFShareAccessRight ShareAccessRight; - /** - * When a Share is sent to multiple users, with RequireLogin or RequireUserInfo set, then a different - * Share Alias is created for each user. The email ShareFile sends to these users will contain different - * AliasIDs, allowing ShareFile to track the user activity on the share. - * For anonymous Shares, the AliasID will be the same as the Share ID. - */ public String getAliasID() { return this.AliasID; } - /** - * When a Share is sent to multiple users, with RequireLogin or RequireUserInfo set, then a different - * Share Alias is created for each user. The email ShareFile sends to these users will contain different - * AliasIDs, allowing ShareFile to track the user activity on the share. - * For anonymous Shares, the AliasID will be the same as the Share ID. - */ public void setAliasID(String aliasid) { this.AliasID = aliasid; } - /** - * Either "Send" or "Request". Send Shares are used to Send files and folders to the specified users. Request - * shares are used to allow users to upload files to the share owner chosen location. - */ public SFSafeEnum getShareType() { return this.ShareType; } - /** - * Either "Send" or "Request". Send Shares are used to Send files and folders to the specified users. Request - * shares are used to allow users to upload files to the share owner chosen location. - */ public void setShareType(SFSafeEnum sharetype) { this.ShareType = sharetype; } - /** - * Share title - */ public String getTitle() { return this.Title; } - /** - * Share title - */ public void setTitle(String title) { this.Title = title; } - /** - * Flag to indicate if ShareFile has sent email messages for this Share - */ public Boolean getHasSentMessage() { return this.HasSentMessage; } - /** - * Flag to indicate if ShareFile has sent email messages for this Share - */ public void setHasSentMessage(Boolean hassentmessage) { this.HasSentMessage = hassentmessage; } - /** - * Subject of Share email message - */ public String getSentMessageTitle() { return this.SentMessageTitle; } - /** - * Subject of Share email message - */ public void setSentMessageTitle(String sentmessagetitle) { this.SentMessageTitle = sentmessagetitle; } - /** - * If set, only authenticated users can download files from this share. - */ public Boolean getRequireLogin() { return this.RequireLogin; } - /** - * If set, only authenticated users can download files from this share. - */ public void setRequireLogin(Boolean requirelogin) { this.RequireLogin = requirelogin; } - /** - * If set, users must provide Name, Email and Company information to download files from the share. - */ public Boolean getRequireUserInfo() { return this.RequireUserInfo; } - /** - * If set, users must provide Name, Email and Company information to download files from the share. - */ public void setRequireUserInfo(Boolean requireuserinfo) { this.RequireUserInfo = requireuserinfo; } - /** - * Folder location that contain the share files (Send); or the folder were files will be uploaded to - * (Request). - */ public SFItem getParent() { return this.Parent; } - /** - * Folder location that contain the share files (Send); or the folder were files will be uploaded to - * (Request). - */ public void setParent(SFItem parent) { this.Parent = parent; } - /** - * User that created this Share. - */ public SFUser getCreator() { return this.Creator; } - /** - * User that created this Share. - */ public void setCreator(SFUser creator) { this.Creator = creator; } - /** - * User given permission to use this share - used for Aliases. - */ public SFUser getUser() { return this.User; } - /** - * User given permission to use this share - used for Aliases. - */ public void setUser(SFUser user) { this.User = user; } - /** - * List of shared Items (for Send Shares only) - */ public ArrayList getItems() { return this.Items; } - /** - * List of shared Items (for Send Shares only) - */ public void setItems(ArrayList items) { this.Items = items; } - /** - * Date the share was created - */ public Date getCreationDate() { return this.CreationDate; } - /** - * Date the share was created - */ public void setCreationDate(Date creationdate) { this.CreationDate = creationdate; } - /** - * Date the share expires - */ public Date getExpirationDate() { return this.ExpirationDate; } - /** - * Date the share expires - */ public void setExpirationDate(Date expirationdate) { this.ExpirationDate = expirationdate; } - /** - * Maximum number of downloads each user can perform. - */ public Integer getMaxDownloads() { return this.MaxDownloads; } - /** - * Maximum number of downloads each user can perform. - */ public void setMaxDownloads(Integer maxdownloads) { this.MaxDownloads = maxdownloads; } - /** - * Total number of times a share has been downloaded by a user. - */ public Integer getTotalDownloads() { return this.TotalDownloads; } - /** - * Total number of times a share has been downloaded by a user. - */ public void setTotalDownloads(Integer totaldownloads) { this.TotalDownloads = totaldownloads; } - /** - * Used for Virtual Data Room accounts - indicates the files in the share can only be - * downloaded with an applied watermark. - */ public Boolean getIsViewOnly() { return this.IsViewOnly; } - /** - * Used for Virtual Data Room accounts - indicates the files in the share can only be - * downloaded with an applied watermark. - */ public void setIsViewOnly(Boolean isviewonly) { this.IsViewOnly = isviewonly; } - /** - * User activity on this share will be tracked up to this date. - */ public Date getTrackUntilDate() { return this.TrackUntilDate; } - /** - * User activity on this share will be tracked up to this date. - */ public void setTrackUntilDate(Date trackuntildate) { this.TrackUntilDate = trackuntildate; } @@ -351,29 +239,17 @@ public Date getLastDateSent() { public void setLastDateSent(Date lastdatesent) { this.LastDateSent = lastdatesent; } - /** - * Indicates whether or not this Share has been downloaded - */ public Boolean getIsConsumed() { return this.IsConsumed; } - /** - * Indicates whether or not this Share has been downloaded - */ public void setIsConsumed(Boolean isconsumed) { this.IsConsumed = isconsumed; } - /** - * Indicates whether the contents of this share have been viewed by a valid, authenticated recipient - */ public Boolean getIsRead() { return this.IsRead; } - /** - * Indicates whether the contents of this share have been viewed by a valid, authenticated recipient - */ public void setIsRead(Boolean isread) { this.IsRead = isread; } @@ -398,96 +274,52 @@ public String getSendMethod() { public void setSendMethod(String sendmethod) { this.SendMethod = sendmethod; } - /** - * When enabled the items are identified by stream IDs instead of item IDs. - * Applies to Send Shares only. - */ public Boolean getUsesStreamIDs() { return this.UsesStreamIDs; } - /** - * When enabled the items are identified by stream IDs instead of item IDs. - * Applies to Send Shares only. - */ public void setUsesStreamIDs(Boolean usesstreamids) { this.UsesStreamIDs = usesstreamids; } - /** - * Uri to access the share through the Web portal - */ public URI getUri() { return this.Uri; } - /** - * Uri to access the share through the Web portal - */ public void setUri(URI uri) { this.Uri = uri; } - /** - * List of users that have access to this share. - */ public ArrayList getRecipients() { return this.Recipients; } - /** - * List of users that have access to this share. - */ public void setRecipients(ArrayList recipients) { this.Recipients = recipients; } - /** - * The Storage Zone that contains this Share. - */ public SFZone getZone() { return this.Zone; } - /** - * The Storage Zone that contains this Share. - */ public void setZone(SFZone zone) { this.Zone = zone; } - /** - * HMAC Signature for the Share data - */ public String getSignature() { return this.Signature; } - /** - * HMAC Signature for the Share data - */ public void setSignature(String signature) { this.Signature = signature; } - /** - * Defines whether the request to retrieve Share Items is to be navigated to a remote endpoint. - */ public Boolean getHasRemoteChildren() { return this.HasRemoteChildren; } - /** - * Defines whether the request to retrieve Share Items is to be navigated to a remote endpoint. - */ public void setHasRemoteChildren(Boolean hasremotechildren) { this.HasRemoteChildren = hasremotechildren; } - /** - * Redirection endpoint for this Share. - */ public SFRedirection getRedirection() { return this.Redirection; } - /** - * Redirection endpoint for this Share. - */ public void setRedirection(SFRedirection redirection) { this.Redirection = redirection; } @@ -498,31 +330,26 @@ public SFSafeEnum getShareSubType() { public void setShareSubType(SFSafeEnum sharesubtype) { this.ShareSubType = sharesubtype; } - /** - * Shared item history. - */ public ArrayList getShareItemHistory() { return this.ShareItemHistory; } - /** - * Shared item history. - */ public void setShareItemHistory(ArrayList shareitemhistory) { this.ShareItemHistory = shareitemhistory; } - /** - * Current Settings for the Share - */ public SFShareSettings getSettings() { return this.Settings; } - /** - * Current Settings for the Share - */ public void setSettings(SFShareSettings settings) { this.Settings = settings; } + public SFShareAccessRight getShareAccessRight() { + return this.ShareAccessRight; + } + + public void setShareAccessRight(SFShareAccessRight shareaccessright) { + this.ShareAccessRight = shareaccessright; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareAccessRight.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareAccessRight.java new file mode 100644 index 0000000..1e70c3c --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareAccessRight.java @@ -0,0 +1,61 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFShareAccessRight extends SFODataObject { + + @SerializedName("DisplayText") + private String DisplayText; + @SerializedName("AccessRightType") + private SFSafeEnum AccessRightType; + + /** + * Localized text for downstream clients to use for displaying options + */ + public String getDisplayText() { + return this.DisplayText; + } + + /** + * Localized text for downstream clients to use for displaying options + */ + public void setDisplayText(String displaytext) { + this.DisplayText = displaytext; + } + /** + * Share Access Right Type + */ + public SFSafeEnum getAccessRightType() { + return this.AccessRightType; + } + + /** + * Share Access Right Type + */ + public void setAccessRightType(SFSafeEnum accessrighttype) { + this.AccessRightType = accessrighttype; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareAccessRightType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareAccessRightType.java new file mode 100644 index 0000000..df8baa2 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareAccessRightType.java @@ -0,0 +1,23 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFShareAccessRightType { + ViewOnline, + IRM, + FullControl +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareActionType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareActionType.java new file mode 100644 index 0000000..962eb4b --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareActionType.java @@ -0,0 +1,22 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFShareActionType { + Link, + Email +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareFileAccessRights.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareFileAccessRights.java new file mode 100644 index 0000000..12c844e --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareFileAccessRights.java @@ -0,0 +1,31 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFShareFileAccessRights { + NoAccess, + View, + LightViewer, + Print, + Edit, + FullControl, + CopyData, + ScreenCapture, + Macro, + OfflineAccess, + Redistribute +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSendParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSendParams.java index 0430d00..820ff36 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSendParams.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSendParams.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -52,88 +52,162 @@ public class SFShareSendParams extends SFODataObject { private Integer MaxDownloads; @SerializedName("UsesStreamIDs") private Boolean UsesStreamIDs; + @SerializedName("ShareAccessRight") + private SFShareAccessRight ShareAccessRight; + /** + * List of Item Ids to be sent + */ public ArrayList getItems() { return this.Items; } + /** + * List of Item Ids to be sent + */ public void setItems(ArrayList items) { this.Items = items; } + /** + * List of emails to whom this Share should be sent + */ public ArrayList getEmails() { return this.Emails; } + /** + * List of emails to whom this Share should be sent + */ public void setEmails(ArrayList emails) { this.Emails = emails; } + /** + * The subject of the Share email + */ public String getSubject() { return this.Subject; } + /** + * The subject of the Share email + */ public void setSubject(String subject) { this.Subject = subject; } + /** + * A message to be included in the Share email body + */ public String getBody() { return this.Body; } + /** + * A message to be included in the Share email body + */ public void setBody(String body) { this.Body = body; } + /** + * If true, the Share sender will be cc'd in the Share email + */ public Boolean getCcSender() { return this.CcSender; } + /** + * If true, the Share sender will be cc'd in the Share email + */ public void setCcSender(Boolean ccsender) { this.CcSender = ccsender; } + /** + * If true, recipients will need to login to access the Share + */ public Boolean getRequireLogin() { return this.RequireLogin; } + /** + * If true, recipients will need to login to access the Share + */ public void setRequireLogin(Boolean requirelogin) { this.RequireLogin = requirelogin; } + /** + * If true, anyone with the link can access the Share. Cannot be true if RequireLogin is true + */ public Boolean getSendAnon() { return this.SendAnon; } + /** + * If true, anyone with the link can access the Share. Cannot be true if RequireLogin is true + */ public void setSendAnon(Boolean sendanon) { this.SendAnon = sendanon; } + /** + * If true, a recipient will need to provide their full name and email to access the Share. Cannot be true if RequireLogin is true + */ public Boolean getRequireUserInfo() { return this.RequireUserInfo; } + /** + * If true, a recipient will need to provide their full name and email to access the Share. Cannot be true if RequireLogin is true + */ public void setRequireUserInfo(Boolean requireuserinfo) { this.RequireUserInfo = requireuserinfo; } + /** + * Number of days until access to this Share expires + */ public Integer getExpirationDays() { return this.ExpirationDays; } + /** + * Number of days until access to this Share expires + */ public void setExpirationDays(Integer expirationdays) { this.ExpirationDays = expirationdays; } + /** + * If true, the sender will receive an email notification when the Share items are downloaded + */ public Boolean getNotifyOnDownload() { return this.NotifyOnDownload; } + /** + * If true, the sender will receive an email notification when the Share items are downloaded + */ public void setNotifyOnDownload(Boolean notifyondownload) { this.NotifyOnDownload = notifyondownload; } + /** + * If true, the Share items can only be viewed but not downloaded. Requires account preference EnableViewOnly to work + */ public Boolean getIsViewOnly() { return this.IsViewOnly; } + /** + * If true, the Share items can only be viewed but not downloaded. Requires account preference EnableViewOnly to work + */ public void setIsViewOnly(Boolean isviewonly) { this.IsViewOnly = isviewonly; } + /** + * Maximum number of times each recipient can download the Share items + */ public Integer getMaxDownloads() { return this.MaxDownloads; } + /** + * Maximum number of times each recipient can download the Share items + */ public void setMaxDownloads(Integer maxdownloads) { this.MaxDownloads = maxdownloads; } @@ -152,5 +226,18 @@ public Boolean getUsesStreamIDs() { public void setUsesStreamIDs(Boolean usesstreamids) { this.UsesStreamIDs = usesstreamids; } + /** + * Used to define the share type and share action types + */ + public SFShareAccessRight getShareAccessRight() { + return this.ShareAccessRight; + } + + /** + * Used to define the share type and share action types + */ + public void setShareAccessRight(SFShareAccessRight shareaccessright) { + this.ShareAccessRight = shareaccessright; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserPreferences.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserPreferences.java index 18a785a..7dbe966 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserPreferences.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserPreferences.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -78,6 +78,8 @@ public class SFUserPreferences extends SFODataObject { private Boolean ReceiveBouncedEmailNotifications; @SerializedName("EnablePromotions") private Boolean EnablePromotions; + @SerializedName("UserNotificationLocale") + private SFSafeEnum UserNotificationLocale; public Boolean getEnableFlashUpload() { return this.EnableFlashUpload; @@ -261,5 +263,12 @@ public Boolean getEnablePromotions() { public void setEnablePromotions(Boolean enablepromotions) { this.EnablePromotions = enablepromotions; } + public SFSafeEnum getUserNotificationLocale() { + return this.UserNotificationLocale; + } + + public void setUserNotificationLocale(SFSafeEnum usernotificationlocale) { + this.UserNotificationLocale = usernotificationlocale; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneService.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneService.java index bea84e8..e0316b7 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneService.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneService.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -32,5 +32,6 @@ public enum SFZoneService { OneDriveBusinessConnector, ShareConnectConnector, Preview, - HighConcurrency + HighConcurrency, + InformationRightsManagement } \ No newline at end of file From ebc468dbc0d40d02adae5f53b3cbead175b79890 Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Fri, 22 Apr 2016 16:12:00 -0400 Subject: [PATCH 48/70] Uset the latest SDK. Add a sample WebLogin ID/Secret. Use RequestParams --- .../AndroidStudioProject/app/build.gradle | 1 + .../app/libs/sharefile-api-3.1.0-javadoc.jar | Bin 975581 -> 0 bytes .../app/libs/sharefile-api-3.1.0-sources.jar | Bin 264699 -> 0 bytes .../app/libs/sharefile-api-3.1.0.jar | Bin 360218 -> 0 bytes .../java/com/sharefile/testv3/Core/Core.java | 12 +++--------- .../com/sharefile/testv3/FoldersActivity.java | 12 ++++++++---- SDKSample/AndroidStudioProject/build.gradle | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 4 ++-- 8 files changed, 15 insertions(+), 16 deletions(-) delete mode 100644 SDKSample/AndroidStudioProject/app/libs/sharefile-api-3.1.0-javadoc.jar delete mode 100644 SDKSample/AndroidStudioProject/app/libs/sharefile-api-3.1.0-sources.jar delete mode 100644 SDKSample/AndroidStudioProject/app/libs/sharefile-api-3.1.0.jar diff --git a/SDKSample/AndroidStudioProject/app/build.gradle b/SDKSample/AndroidStudioProject/app/build.gradle index dafa8a3..eab6012 100644 --- a/SDKSample/AndroidStudioProject/app/build.gradle +++ b/SDKSample/AndroidStudioProject/app/build.gradle @@ -31,4 +31,5 @@ android { dependencies { compile 'com.google.code.gson:gson:2.2.4' compile fileTree(dir: 'libs', include: '*.jar') + compile 'com.citrix:sharefile-api:3.1.2' } diff --git a/SDKSample/AndroidStudioProject/app/libs/sharefile-api-3.1.0-javadoc.jar b/SDKSample/AndroidStudioProject/app/libs/sharefile-api-3.1.0-javadoc.jar deleted file mode 100644 index f625a67e9540bb5dbe792abdd88a256fb5cf44c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 975581 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%0AFDEG$D)}J1AyKFsK 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�nsfIR76f(?*;P|EhninwURjCPgx`mHjX5dZ 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 w}Af|g=%_)#i9e0iIpxJ))KN}5;;Km&oGhl zzlRA6sX4m$bO!{BF9`O8;CyfL%dl)M|WpND&37(z;~E{O=F`Z4BR_T7*D zi8uBg!LgsW(lEZ)HTAQT!;h*dxc|6SbxX0QE?>32x2wE-g1(VPa-gz?(>!%+Zt=*F zjJyxsZ{F9l@;f9wFQ3}LIlx!d%#G;+Idj$-W^go9uIrhiPY3J`8bL0O$Mi_|UCoY!;a{ff-^6+x~ z1pX}iJ1=e*EAPwD4uTrp9Ext!8y+;EA_T@D3<#m%gR!6dM?vfx&OCI-FJJj(m{;s7 zYih_zz77NdnTR3sE|?_;A(fLt!cfp~!I>m?bRui?PCgP!>`;_6SycPCi|~Z71{R&q%Ny8o;9lgN4=hFvOoceexC(SnG;FmJVDKS-b_Lc zZwcXhhOwfFMA4`du~p(Afd_v0{*uhDk1HuyE}Jkr{t{NcArg}${D|M9_AL`2+F&mT z(G<~L&+Ww~p5umfh7Zma;5#TOaa+1063HlOrB(c&kq1xGj8Qq6z`wzi=d)%oQ;n-7@$n^O{C2@FZuIyl4 z54XvlNhBoEUQ=w9>}IH9`$8;WZfp*$80^4@Kp5&lfI7#@IA+*jSJ5|ux0D_NV)^$T zR?>33ZcBU|?f0XSJXzh|yFT_FRxdV3kJgeDD~es87f%0_W0#P^m%M-+M7^@2P_lvb z##XQPACa4(ENM%^LuJ9E1z?eV+m3$N7zp*2!;>0@&8rJ$(ofuv(V}Io(dPid0-Q;M zY>-VHAR(?9iRgFf>4x61kl<7i3J>3LL{g`-WHF`(buinj3>%>f%qDMv6gY{)i}IW? zK7@V!IVM`Ie%qEpN>CB&_i!c?7w8JhLxryb=X#^Wz29r|aeW2{cK_}F)bh*(rLYum zOBl8HH?%Y3?N~e&o48EZC$4ZQpeNVU-U^(fkQ&79Y3rh8k&a3&hQ1sx=TpViTTNC-*X`EG{b^h-;ozTh=2E}fM{wEl#b#YAS;Q1CpC6t{FV~h<4b1TX}3BomE;yAAqdd0;aSVc5-TAkxDMD* zNvso2O%3bD@E!wFNU(a9HreAlHr%Bn+MHPCYbv2V#H4WLb$5-q%o{MS6I51xf_)98 z1Re40z{WiDQu1jruvj%F469Ji;K-R_NeLW=ftRAW1C#B2sElJ|oybD5VNp&PUi|BWp%123%~fTFPzZUp0N2Pd3%Zab!-P zqO;gn8LCRz8o@{Z`)+cp!Mz=_p2NKFS$yze`F8i(?tcHtEZDhhx-||kl+~!M1}R!{ z^cNEUqJV&lr1-U&>2 zq{>22#G_dUP@)?S5;0A-?@C52uW@lYb-s>}Xjl`Fq9vIoII0&3!$zbdG|vIgudUZM zvFE1ta_o9*CB|hZ7U=0�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

- z{m+6PV-17xr!&mS8k1QWJ_<6x%4l(_1HgRT7Hm67BCkl6OWRe1#m?*3z$$Zet+ldQ z;M-H4aMz&GU%hNLwb7{rf)4qS!mzhbp?mSZAyTCT0`-D1ufO~2#Ck_Vg_AiiID7}n z9!CF_iq=x;WVG8))Wd_4n|eT2|3yrmiEH)vs^ITSFxhQ^l$S8H6y2sS4sJBJF`@u+ zut2^&cORE1wTGTNLx$9xf%`E(w9_ke8QK*(B|?>3s+m00t13el9EHW!wRwR34gPVXBm@e-=vRV%#a6WCDGs!f zoQb3DP#FVelV4mD|MT*X(jP94zQk1rH6I=#YpDjD4q<|9M%Y+BY#=R{*=|oSVXG3J z^aIQ@iY6wK2PAO|LeO?synz?gpE~RP_q>O2EO&K>X`}t`tjXOJNBa{SSSDnBKSTaZ zU;Es9$RZe~Xd<^XvhmzjZ~5O0T?Fa-M1IZk&XBI^<<-R`d45f@gY3kYLkL$8-_e3^ zcqo2t?FM^qve}x*I|W~rQhmvt+Ra@l`7u(c&UzS+r%@~uODVJ2y4uY2{aiTo*p2Kh zL?gXTmlDpXN?v{Tnl*r!N$q|Q^5F5UtDD4n_yRVSh9O{j1pz#woYAZB5uR2K$*!B& znhC(Bulb5^vY^*VCIQv0BnAR5Ys`YdGKUQroG7J$@&?M zg0iumxTHxkL(sxNJ1sSpp79)46hIY0O+?e|`mBoRRNHMsIK8X!`b5uqD1k9L#!ZH% ziq0GXL+v_D0#oU{D!n)V86RirYF3vmL95R~nz((&ESF79^T)yRf)`hQ?&V-MlS-Y3 z%xE$Mu>!5h}HxWCmM*p_m{@&Q=54JnC5IY{bbMX~E}71Br|;vr-?euh|X@Fzk7|4F(a9sZ(7+oyxGkjg3s5RE0A5!^h= zq$T(YK9(q4%l5y2!o}?|6T;0=1BT|I&SLkEMSvv?Vw2koY|;IwPzj~UtzS% zgjxobk$KA(w|_UT`mZa(y(96wyCH9%2cCzI(J%U&7PG&!9R8rCWN;Oww>hM!Pz^O( zT7^lL+CyCv=p?fT&7v3`6`D>{T_cMgC+B{strQxUAVS}`1{1%28sPI)S5!uZ(&|Y@>tHU5hmfkWv z#Itd=Ek1O8&pdqY6?|!iuJ!lJbn9p%kJ)Xyg3ow&1hIbKWTEbWq~1XMWUb6^>uss( zfKY8%x$d)IwM!5Ku66=`f-TQ0rd`Qf?aeH%yX9w+*Y2DA@2;_W&)aNIYTwCG%ln7I*~uurpH*}pHx^`7UHO%NDy)o}=*T8@f3jXK_J9A^{%4R< z427^K>bD^_!ubEZ_prCKGc|UxcM^B9cXjwLF#P|oBsOvT)k+#q`eu3?9iB!A4J+~p zG2Zm4_U8-D-n)!M+u&k~G--_l;;KpGiVjU0$n!_lZw>qB@dCvMLtihyDk~}K5znec z_XXencN2vFvK-_-vyX^1%3+Ya$k5kwnG2^?&U(o6KJS_~S<>Wv8GPT(-Q#BNebejw z#b7dY-@eM_`*rc9e$9pze~j8gUcQY+T8Q@G=&);opyz%LPJX}sa?r`?KKbL%gS@(hYd>Q$J_;d4J`0%|!y=N{gV)k%xJ&PLIPI)+S zGhT)W@sRL`d4~>&1>N&7qes#2N4NeA7e9eJT;el?7kW9jz3!^S7QEy*MF6vsWygTh zv@DRoazHzlkm1ksSd-Q0&8v|1qMYgE5y!G`l1hy^UL~ z(@}?wsNz6P6HM3p^KW0HRlU0i#xr@J8y^KQ)C-l)$OS!2TFmIQo0+`>J4X zB;A6WA|ok(u#68ejl9a)zOEGd!wIc$v6~b|rTxk!pCRMoVF;HKpPS)DgijAp zF3t+?L-^BQkYuwJcEH~xQ%xoS^EMtI^O(4Cf?bL4b<{qP8|^DuF&fZt?@s03Pg;JK z;@%p+R2egv&438HK&5SCGw3!o#ORd`+26nt&Fj}y=Gm+EG2wG1JS6(%gq}AKDWB-2 zhA*?YL6@$`?Ci-1R}O_GljWW5#C4`FPAQq4Sd$mZ+8uRc5&XXGi0*22h=s_R*shxE zGcu6U8q4l67ks>qedt}%T2u&ZMH-M?sI3c4w9d|oTo_vw(mTpBM^ok{6oeT;IocnL zA&O`>fEWc~?(u?cU=r%Aym&gRILLRRvCr!+x1rEK9)LpTf5PQ9Gyb;&5Aq_fn%cYo zo@-af9OaAL&766?u;OTYn)#Lq?F5naG`&Pr1Md2N+)KOVT(SUwA&F5u?h;jkk_h*n<;&2OCc8@G@)1!y`tFJuPkf z(hp7dHR+5zN#PhquOmOZd%3BwI@-km@cXT1DkEIA4Up+lOt&oLW&p!v)e<*wF^p9& zm^Us`Wk%Z--k2xhg0Cmm0 zD}LxfQxqh4vCkSe>rGGmBQ*T1LdBdKJ}+oa7WZXRupTg81W}ts=%&(?@0Y*BG(FP`Ea{lY)-73x8a!TE&~~`s-sTvgHl)~n z{Up~GdPApC$>YyUwH!ZQ;k|n?hi^0pJx5GkmB-N2#0Num&Ug(=iNIP1kvgGei@i&I zzDH2Hokc~TToaks5)7=K5sP$9*^PABPBRju7wVD1rHC2YfKCTw*EiK|nhl?>o8&nrDHvbkG}(UI z&$6U&u)y?WeK3zPg*PAzn@HIZP0BMXLGznVN5(%x%F>`Ix^Btsjo3FL1zsB{JI12e z$z;YzWld*^=78tuke|z{Cr~pLqy#26JVVBz0K;OXES0tDqNyyeOmDRHrm^?VS|49h z!(lb4ps}xLiH>;LI2a`KN56`>OU@RW&xpI##L_XH;*J2d)|2xY5D<&%FzWG8GuCHt)=+FPx3q(y!PDnUs0={7=?uU zOZxPB6*xo5kvWMRqwi~gs_xf@ggigU_sP&;*zgxnC5MW7&@2QGX3%CsK8<=4wWp z$a^L|tfM8Cv9LEO2~|F^rlV18ZYD@y4$7c#j0$b&I}JK-ag4mTQhrXebB>O$A;w!2 z=w7aJQmx+vqon=qAynaGh#a#_+1CJ{Jy)3wBx9U0d7`E;w+VjfF>x!Rqb1sKpn0E3 z!dtswiRysV7bWjJGA+jd35!AB0zJ;*$}ko-v8N?6;oe}SI}HO68GGEiYN_ss4(c&h zaYv(c)*RB6uSr_lQsx>)_v0@lofys|=p=C!)1<{dFQgjL>lg?~h*DK}Au^b_o^~nR z{5g-NaHe(@22oSuc)>=|wAAJ228fliv|lRS7dyF=%XBbt7bj3Fo4CT)$g}bhjE3n< z{x4%;f)t=iil`KW*v7TFqazidT8eU!VL{g42L%}_^(nRhOC!r})0&2Dwlv_S6sSr< zS}9xHK>|umPPx)(z;D@4m564oX+aRt{~#G{^(vN#Rh_(4?kFW|%DL7_BYv&&42gta zo%~wu#ypEkZzOy7J{*25OT@4*t-KCqd=PAWv#R)r<$TH`)3v?D|OG_S=E{C@4y)JFl!@J+scChK5qoK+!+m}sFU*h)MqVW(a!Y-n)0FsY~B(;zRTAB~pF1k=B z3jAdlfu-^>61o&9*-{>ABOt4xCtK;5rGlNRoaNHlJ*3FA$yOpPa~=-@3*l~8JBwPn zQYO!~kHWh}=PdQ+9UHxx`^u1pNAPe9`n(R9xd8A{U&|@*(8QhZ=x>%j?WOPn07_W4 znDVy$o6{T;zD}J-QqKL-q^)XkKd$+{ctvl0RQvhV`}sa^|Kn@uSJlf|ZI+euec^%2 zj25c3oO>^2g*sKK>wF0p>!IH8g9GJ!DnXG$`Kaj5Gnmgk;g6mE`0$!AWftJuB&c2Ec zUT0$b5Ppi7+&mvFmqCMt&;xTASILDOsMcr-hh%NUxz@pzK~*=G_|7-*ja2trst7OA z2-E=S1nU360MO#hmbKbhbIfLr-RimIq^35hZi)TzbI)OiELg+4S9|ccGZOe_;qh87 z^zipnQ| zp0lSDT|f5W%PIL*`MrKovB%mdywYHFh)cC03Q|w!v6o})hX$DL8~lGxcc_Z2{%^mO z|6eu$0HOaI<^MmXJ3(V(Q)g#kdpj2=dz=5p{yETmZ!5pyvD~lalu)m9yxdB?fV4pp z&#y@0p=Ru+kx6Y3S!iwQOoW=c9(P~PjEu3dk%5}lD~cCDpmU;T-eyFFe7l-k~`_ttU_p@*^ zAWAMyzK6Nd2#a|EOUHG9fItuDAE}tx$$r0yfbsv z%Uu{ObhYzxJF`IOvXU~20%ye)9r}Br-}z+yu$_;)!zM3|+$UHt$As(pDf@dK`PL7K zk&vWGz9YnkiA={}7^P1TMRrJLyeaeII<7}GKH;W_HKsqTIX=Z4^$q4#%_T$BHmSWK z6~9qqF7JAq@Fmy4p+^uwihND6Nd`3A<1!kdt1u7PA;8~0oiRJs8bP5x6q`KwWIIju zOISDWXHzd$eW^#hX;Y(7B?0UG_Ext&?j?;_Iqf$1?p>!`HsCNzp9p=R+q#|t;0lVeW9pkY&X1!ae^J$xY?Rm5qoaLV$01PlXTt2=R zh!9y7!p%J7Jz+%giRiz208i%-w}GOO69)^44Dc0MC;4_@ak@zV?g0!Zz%U$kNMm+P z{m!G9*^oynwsR|m^dBv>0-Fd#)Raq@z|m*R)bFY>^3bU4!ctA+NYn(Gm<( zUsxM)Y8gN3PoLbLe?F?5S$;fN$Wfe7(0;#dJRTyO*2zy0KrLWpI#zLzKq(k)9p9e^ znkE_@jv+m!qyGrRCe!~t68tx!j>P=O?r%w!*;!+0_Z(#~6yo$n&KNz8%@LvvVY5y@ zFdZhM?LRbCpZ;N_xMg|5!w~j1dK}hldJMGwu18H}i);ybA-iB9b)xb*-6wTV=^nt( zaWelY0EDGTpu0|=B*X?D@)sWf3IL)+Z;bwN_((C|4>#Vbyq$RgDqbxW7Bf%$Hxnd% zL1eE&RBHZno{z9Ov1tKcaZjo|)gs$x*zGfs3QcVTwCKCks+yIAgq2!?dyNGR80&s@ z_(Zv*&9up#R<84LO|+}8<8;OL^Z2mx&6iCI^>vf6+N8Tn=8SemQH>g`t*k1pc4>x2 zfldu9^Oz9$5`+i6fvvf{b23$ztk&l=YUwcSUQ`yAOPB*_hBQlH9#lRrFPUjoWM zW84DKtI;M!Bi!8Rs48Ds!{se|0QrA8)R&$;@6&T+oiWxbjpm9(mRCoZ^dm)y;%%Ik zX9T=v?`Uv@=H|+V|$?3g-;nz$?!0;F zCI_QcIi9C#3$9rj-$EhNfo_|VIu1YNL!q=P2Hv^UNxM}bM1ms!!KCyrGLk;0TRfxN zKi>!?A1et$kbBVu4~-AxG8^*p^*rAIlo7d20HW4(YU|hxnZCFs;E`~Au$I-ixgsVzOv+}*X@t? zEO>aXjGdH`n^9gqVvQuW-QAC9y?9Oj8-pRTH&^O(i;(!sWQSq1omt5G%l43jz(2cx z?L^DcY()hYKY<=73%;nC{6~gPC2xGRg^hNqCYHeOa>@ZL7nnUYGj^2mMJH;QEAw`l z#S1>Jtt36Q?qjKA^Kez+lXD51H4}xhN8`*LDK}0=mUOc{gkkOsc(lPAbrLmqS(V4&N181^NfsVB$YY-=n*BlS-+&xX%Zd@NOE*cn>nt%m?ceBVyz-;lMV4?6))*!!sn9 zp7e0|fpvNfdZt1inWM=Doq-?AQ6}tHSlJuGP<7lRMTqGL!7L z@ah2!sOB~Qdc`Huv~y91P22b3HX)9b*k57Gre(7=XIk!)ryF-3RXfR>8B>d#gBfIr z@A)m&n+qR~Mbp>OM;-o zokEr;zS=jE(0<)^NIur6dn48e*(}geKt!>cS7vco?BpNnU0Hc1WYAjf<_i}_dNdrx z{7q(+w5Tb`%Pv#a7_rd|qL_tiD}U-}QE0kvj0=?UBD&v3IF>zFxSr4S1v_=2B)>hX2u1mexd^ z$X`(j-#eFyPNAr6@uL@)R45#b{7!c9fKlbEhGq?sqIDl<>GXOTNayD7&oOI$A)yf( zd*)bV(wWPqa;?L%;TPcR0|@ zwLPhTBn50eg?S?=Dr_Qlw#cjl7hG{MA%;IiS7ea+z#p*)dx<{fLV?R1hcB5zzcoWQ ze~2F{RBa;9g0Lq3=KM_aCgL_{?_bhPL^VW|XOlD60Aw<^z@a-4NsSo!ZuIW$X0$h_ zunmeFqfd*d`(R zfgjTy`_7zYmss(xgiFL3dvfq`EFL7PsIXqbE>bBtr8G4^)HLd-GV6>56?rw)Fdr5n z<|HqXz;D(V^Pv!2CQm0v)(M28}OmSV$T2{tj#h$NF46SGY$P zuK8^yB!`Nm(!VOJOF2bouJVF6LhmILE`E<|foaZ=dGW!r-5)%OXqaL@D$GUNGal?*I)1-j@7vPpLuAmay+fZN8rM1u8foKHD6<+sHHNGsUa`<&$8erpnqBt zBcH7ImUCadDT{;kp)vYTL*1hUGO8(;ab`bd1Tqf}Zm3E}`jc-eF;$L?ng$HgENo#e za8<2N(D>a_D-UtJLgIHYoeeb|LC{X#(xSuti+)|m=5WupCW*KQIc(EvMnw%$XhPa4HL#I$cBnR$uSJw86Gwz;p- zGr+7*OhGU)2O)OBYZ;T8s_ZaK6W_?u03qjD{Nc@Q%$^++e1 zDo0d-{wF#p2;-38bRbYcO!`6_b1IwIc>>#5sHp~A51}-3tTXlR77?&;fy9VsRgpyIplwmy6n_ z!4gXs@8Mnl*lsKi?-8jRJ%MM!F10DT!fk_SL}$ql`pfpWF?0cp)B=JxMg-2aP1nZq zs(EdHr zW`|?eGJH!{K!_T{MO|0GLK*YFmk#@pG-!-j6#C>-xMn;Aqcm~k z+#<+EYN#gc!pzb=j&lmAduS3*u+m!5y*5F@<18@jd3&$yep=|h^s|~ftoc-5Vmk6^ z=`34&k3QDyypizU-_#IdVl4Uf&wKn9qC*4P;AX`kSZm{9)_G{<1wOL{4$*;&0*=n* z$Ju8obmKc(*z&g}Il|9sH{+1jF$zw2q}6uoh5Q@z=Z9;6O;R5L5kkzDVK@kDFF1^a zMi+XvC0&=rcuyf%Z~l=%-S`p@7HzdHB&*gBs3l)vn9+c9Ze%O9J0Rx9Baq}NVpf(j z$Ap050IUG)Ade*I`W(|`o*6k$-ABPyObNck3E~>G+7bSCOZwb z&3$X29xSRpUuWs2P0)@mESv|~rT%*NIOR4&-Oo5pDySutpO z%<0f~Fpu9ZrqE7mPQ(v@nuvKFVfpDd+$Ave@&VvN-N z^^~|0K;w=Q;|jB4mI-b zjP6&E9-)iG@CAD?{!1-2?xBjFgQUl8K)dUwD-HgMjIP)ZGoqwQ$5?Js0>%h36mZ}> z@%0F=X|#J{;V;%+Ses5cW^InXeqaTee8`!C)sC^wmr1Q3@AA=dR)%iw2WEfb2zYxUNgm3W0b_k z=hb{YhtXnaaxptM$S>V@d+g2@jAC=iF zqF&EgQZitW9$|A`=l6KPCTa^P!w!dkSm?;^-FLu+e=gGBS9h;cx=l`Ce0-Y|(+`q+F+ld~i){n(WR6pfZqnV@iXwU>k0(0JgNAN z0Y!#lDu5Y@y0pY^ZtHsf5uX3e?5XKvN~o>vOC<{2Hh5;NqW2Sd$A4JaitG!J`CA+hP?;l=|9>h|!`kXU#Z;|-&&p;2W@RaU zEw3@7n+=~f#{X_pAZfo{Y~oJZNZ-PM6aL=<8t=6D9?%Qpig^wfwuVSQoG{wEJ%N7O zKgqPupM5&HNAW&YRnJ_02A7Yc*O^D%SI;NyH@I6m?pJzx__;B{V;-`=)?9NOv!mCE zW{6$mns8;V%`5$iAjsItWZpCQuG|kMByJk!DZhPNTxD;>ZX=x6{NR_bB-0S4KiJ>N zwTk6`!a}+r_4FnK4rL_A$DRP_OeFW*aCm%)2_GJ=TJMJFcfPMr#9k3=LHYESlNWM_ zyQj^6FxOM}ls&v|Izz_zZK-?+i?C);}bGXl;526h6TcX9xw`Rylr ziSmxgYE6$YjmwHi5dk$!(PN<4%#AoMXoYEmeA7m{vLL&)5ak^ge`9t7H8@bM88PkA zCmLV_bF2P?nA3GHYCI)Slo4x*cHQZ&dlg92DQ@CiRgFbzO*SuA;AC<@=V*v!&-F}D zrEJk0Ql!f(a3>gk)|a5|_sSG{hb17NQOeByl2wNtLCm<)Ftz`W)?7R}yVnCSGaZh4VG4?9ByCArzw@1T=u4A{cV2!INDdf?14l z$xQUYvr+hvP=~Y>hLm{ODPiCSrJIl!1aAt&B#T(tu%d0b>jT*}BBQL5;y4+)gh~6Z z$ZvM$N;DTWa1-KhL8CMWp5?9}DH=)BFlLV!3Day4x>Q3I(_+N(Qd)>~7d+%c$!26V z)kugp^MX8eP+CxzsiW|a_{x04PjU%%nfT^XU+$v8|H4~aFvYkquQ@>}vE%-tJ7n~< zOSx$$eEG+=ix7%_nV@Vxp=S^x)dj&umL3WLN1PdI$}=oZu*fl_mIP8m-~E}01%%D* za|y8j8)ODQhr-4*B&?#e|DdYcZELOJKsqMQnS)kZf`npG9`P+T20^Bb{;>Vv|Cw1r zVUHvvudC9gl{z64azv>zg`!Yx1^i^htoNz7qM74oAx{e#?3eH4S9DG7i6b&oRil9p zik~)@C|>KBU`(8H(<(Qxj8HFioudyO%=A37+lvZ|E_?21DjlyC+d|7+3x`F1cMJPl z9dslsTlwit$-{?nw9EjsM%Jo?@b*w&aF&UR=|EsbCH8sKxz|VJ+J2{n5VkMF{A+t- z6Grl5EL|PMKM!2Xh{$JgnGv6;$pZCAQx<5fK;gv5p!)Dp@L_Vg7OoNf@wm99mxNow zJfD+9h`KoDH|^-o;e|C7S{&ox*}+GVWtGg_8Ob&uwXufUq!mVEdM8<#nksXiF-a|J zw!Irsfkq^0EDM_J0~u5w^5qC>Kt)4pu@hynKdV@$2Vh;^ zRBDI%Jjo1_sw8dEf#7bJvB7syB_5@0tCJ21NtLv@S3uwUhzd!X zfFmxQVG*HR4FqfvRZijZ#z`(Z>;=F-5lX-1LdR}U$69B!0*S?_v`sE0A(}P5R-R7v z>Lq$Zlh5Sg;`+G-ScHzXB&TN+%dlP31Qw`^EgyGAXFlOJWQSkbK`DV*s9;>+&x`OH zaZsD7iPYsa@*wJj0A`;es)eHADHSlU1SGP3ni+1Orz4f-J$UaDrLo`Djb^}nAP}&f zpmv}^3#ETOWBsmRA$}`g8|fI5>(d#tG}fUkf@&l(%=j`sKX%Ht3d$?MumBfO zLeh@@B$@t`z+4(wZ!UYdo`hjpRrW!5_~tZaKElIbsd#c${WrySO1dILNUM>j6R+A6 zw)FXsb!d!LjuX|NYTPr7ixxp%g^FQW-8CZnsabkWjF{i7VFB_`(X157w5EFz@M%q0 znlo|6uBvQ2D6~c(r|+#ZUfHSOqNtyWW<}FF0bM-fh!=R>fWMCOm^6kflv#q>S#tMU z7A6G-US!p3&ZQ%A+Qc3cdpLgw3Oy^MXVNwDHfK}<(n}!Nx0&d^Dtcny#H6l6fPhrZ z7twF46LnJU_|jm3qg*0)&+iu;CrN3BmGAkhL;2e)R&>Bes ziPT$#9>xXPX$RS_6a*aZ#|}#kYzdhc*u(<_-VvFx(FIxliI(&Q|Y`Yzo8Q1GT zH7y`&$L6J!X?MMTi&iH(S)lE=j-&JBbcE|Q^{TaG>&b6`7+6|M<&QP1uBoo&NmUxJ z_}SB9*ltGx_i?l{bIfuaWgdE`t&`}Vx}+*-8@ja) zM?!hiWdifWYVE+u98DXzT7q>VWv*LTN6=sI^0sDrgqy8D*A83{na5K9Y&ThyCrDW`!><8|b+)_|Vl*fy!xU*~nSZM7wLLm5zO-uv zMqD}Ax<0C`D!;zkuey7wZ_E$IHE-yxd%HWpzVFaKx;ntJ!@YHG!*ATs>96~`J7B(7 zw*qzKIa4Gv3i=pTXe37WNWOvNKDvu`#{a9*rJ~W%tpO-q5E&pKy8rH>+Ck62;ol~z zmZsAFKSyb*FaII!c2Jdpqq%zKMWGdFC~0OGD3Ly^$*uxaO~N#%i;BY-W2fWp>)Ao) zRrno#1kgpeSenf9;{1Fmj|Um+8N5$B$1vVVI{KN#$%H z=DED;+Pj*58nl1

1?n=Soa@+Kp6$<5zUZpD3s_Hssf-q5!7hMQ-f@Srej#NLmd zkG5XkyDxuIL?r!q42gX5;(sULz4CDA zN~FBN=lZw!W^!AtuX3jrU#DV8HHDfvp&0LOG8*6@3>jnKK0`5@;AGnyy=T_m1;nou zubH7k*4ci$TqCm)ld#CUbo*oxz9MU|8GxsO8LqKO&r5zwai!$N>Tatmv3xG@XVan@ow<1Oet30QtB{ou|T-1@cyK) zP7sajC5_$wU)1k+*?7h91X9f#Ii<5mFsSmsEPpNbor9-vrIr!q6vzmHN z1HQdJT^AY0j9GI&fjJpbSRa4dVsmDW{puKw=A+dqK1k~hZw~uYTJsGT^~YavA)d(y zoQH1tRbWPGPO|gsdY()$%Ul1b)v>Kpk^*2WZ3B+a)lis?awh zgyB9b+$;@R4536b;eVG&h=&AW+N+3crpEt1WgXd+Xp^(Jz0JqF{sRIs_)9&NT+Q|O3PD*tVq8=pMthR&g zy=Wz5#2suDny#P6s%NF%@`C>x3nc}YZ`}3F`3q)4bm{WEcSq83QQEe2Hv2Im0@$nt z&M4yZMa{Yoov#RSmK+u&t>Q~(_Y{lN>a^dm%r65Bd@yb}ur}-nF*`x_0(l+fH| zd_$r8EEc>%HS<}Hli60Ek{~kX;HuGpf3d9=3bR4134}rmnyHxW0plL51o8w=P{Biv zVVDwSovAnvsi7b2*`zqX(8Vf=A261{B*Xn5Jif}1!MTTl0qpEAUA=0`t*kQKz+E6P?q*PQ|yaO(oVk>{0Ac!rq zZ_e&u!&%eO|61-oAYS)B8Ln0TRcp4aP%p%)9x^08*^D>lj)<&hR^JmP^qMu8OXFW`sStE52?<#wVk~a6D&jE;a;YHc(iC2E+~Y0W#qYIC zI?jay^Dzd?UMZNdP-F{rT%6z%hhYe2F)c zRUbuz%td)iyBoXrdqjHQ(!rJMjpYO_=3V*bD87toV@%rUK4$W6G+#xsolc&#@`%B0 z$XTL}qVoZdt58_b;YWA`WO`~8M$3#`*{g%DR4QsiJghO~%cB+A1yPR?7j!BcGl}lx z!sD^-tUE7R+#D#lNS@nHHGa_>=YeN4iHpQ$@*m8<@Yw`~&jeG4#rD7Fw2*`8jwN4} zC+}On${BiXjv(~bK=SsceSry83CPe3y|ujXzq4Puq-vh+-m;lXQs;DKagBVHC$m98 zGTfkn6>Q^yTsm&pKUj`usj;^-&mI+rj*uyY$onk7^_+Pf|A;Fj9iX^o_+M3!bdRtn z8rK-j8w0=0HSNBN5(0-wD~a<%(-M#Kk1q$LItbNgB>Vr5)s19C?u%c48*mSytKblf@@)TqtPLfvNW7Ahwo$K(>S%g2wzS++7aNh6> z@G&`HdsEAE5ZD%8v4|tL%31B%n@jitEUF#t2_;g6}0EaX=zCU}4Jrgf+6;?@L3POzKB zRE$cWS(w*!`G&tLa=<5bQK!vPi0^c2E#EJP&KarA(r>X8*wj99FT~Xu{pF)1G|gB1IfC@-n?ESEGt zRpNotSf-&EC0Ss^+Z9f2*ieD8i9e!({S> zLD+h{+Q9nfQu{#m?cjFsRWOT@h^nPXmk0@;2(lNRlZrcCBHJW^GCO3)0$a_N)thBU zh45oc$ws6VB5>oGp{_igitT#)l)$OM0r+S9MJ4YHPbl}}R_WTdlAZoxi%aZ8E>Cwj*h*Ddf@7wXomw@vgVa&LgKyQSxXN`_ z+Ws22c0-UN7Q2c>(J!n&jG^F!sT~s_wR%P-Mc#f?p|ucSYKZ#V0*XZc9 z-Mx&2nSL4y48s*jo)B)0pkoh>L!ovHPjZpM`oC7RE7YAq^Z?pdSR4q5_P?clg^ird z4F0FHt7#8F4th;Xe}RroSY2X;H|#sCOVC`8#C6&(H*q6x%4V}5La9qrC`$3GHdubY z<8QbWi;pX2PIAPr5CzzO+t>gha=unAU$1p>QBT%5CAWLi<=S#EeOS^J{ zw%ahg`5`Zs{&k6RCkcqgKbz7(Nr`n*4&}{r%!J7-`&lXnhQIb z;5X5}Wim(7>sg$y@K?<?mHL?pkT=|9PAA@e@kxcvu_YP>$zf(($Ixp6I7p7h@$}_eV%!Vfq_Y6#@!Q`Ap0yMN&M279=vnSdG!CJ1mAfJsaVSm+Vl0XQhzDRXZN^0f>;`Tq zCo&QUKMU<~2hu=j{M|!bgz;m-NWQ-sa>LIW6D11vZ4h<98A^50Mg3>U)juU_QY@>! z;0#+OA5}8&@t}b5au4~^(@HJ-W_f&9g~(FEA@6`I?M^i2(h<>0sV@bx*4cp0@=|9M z=*BAL%&XvQN`qPXy2+gMD9UB!16vreY-TZIXqKIuV5%e zvaf0i>h>A6!$sb5CmC6VjV=X18DH(Ag)j{<2zVvMFJ^y0{D@>J1k~&b#HEf}m7zyO zMaleFR)UyjyT08SitZ68`8N=u)n(Ye6<(hDh`kPzM?JtCVPHc8L4_;|6uC%DXGi+g zrh%w(%}&S~miJs~-@@3Qax(5d@CHp{1MLfr7${nru)Vd!Bb3{i_Q(@kXe8^{cXsN}ZKw5VsI9QGLZs3h*j zysFcrJ^1T}6mostpY@auti5kG< zL4x{x?*!y1=^I!7nd>>fVQ>2pB^q(^2u&gNh%j0#l2U$ChbML@TIdT@;_|5n;}ehA zlSrYGZC-Ush)(w&OiWMU)-+ac9Hgy%SQHKQkuu#zk7ugh_T@J0Wv}+~6~fHT)mt0$ z3oYLT!62WkR-t;gLm?xNYO1n>s5z4#qZbYOvUOXMz5;m$Oz@CW)Iw(YqEyga=wMM_X_#EW zt1iJ@F2R`c$Oi8FJPO1PWLsG7-9eg0L?HW{nKd8J6Gu;CN~b47=J?{3u9c*-R6srl zA`^-hj&}As!Fwl&MRwSRN2>yu250a!eziKMYl);~dY1Qh5?oYs9th8L=h+k3w{;MU+- zsXR=?)gkRYefwWmFLWnEiSWfqPCW73?^3_vD4fHm+XL3~8;^d;d<+0H;V*lJkRRZt z;h$f#;9NOQid86hKIz$8!_!+}a^P4+o7v?K@s!+Z{oIkHfHn1W%JvD)(Y5)mU_-cJ zGGgQYWNm$-uKB=lHBPSk(|E!3gphm88@|Y3M}TdLC27_NIS?> zAdezWu(&`9MssXtY564XX16* z3u)iDwS~p0U-=qOA=vN6@C8jZICj|VxzbayIvg9^YN6MeT+pjE91jz)U*F{sAf0a3Yis93WO6mBMx+v_e{MT=C^$2@-JC zUq_-T@c~3k@p=M`|B09;*W_ZYkWkP6;-jA`@z7R{0Dq67xSPjw;&hp-+|~}qP?!TIg~~7bPqiI0wW!xlHXS^ zU%>jglH;bKJV{^bSLKazgF;rXb+Ddygw9V1?ao%tbk$AXBb7RrW_ClgI-+y6GaGZo zMTJ_D2?>uIZONotg|fQ4g!fYc1L8!@XJ7%W#Wkax7E`tBoPm}1Wn8Q@&Zg$W&82+j z9$447$?bPW0xP-#n8Af0R=4fe>D5ckXjW~!8y=0Md}i7@Kry&y8sXNr z9#)Q+4gH(6)#Ol}Oh2^YY)3sB&qS;6SQ^eZFAD}K<%(#N`uf+RAU1X6OXWe-CDl^19&vml&E7=*xEA*XcTRNwGZCH z#9!G2FE{^%9ws6bG5!Lehy4WPUitqYw5ouCgPFCJgq4|tnH~Tgp=fRKANh)7DYq~B z=3elLprmH*FKqFxbBetaA&i4*tAf@b& z#02sbFoEV{LTjSK3l2#1@W5`4J6A6FzH?oo;tQD`4vc|lql?Bri?Us2Eb`GbRW~Vs zCQ)UHcF3;b#)Ej?vovJX=2mxXK*8@gOt|C|c8_oa{MT?OeIM~p#U`^3{YqMFc%^TqV%l1B@T~Gju(mX zJ^)IrFo2bZFgYRwif~TIjuTW|;>r*aYByIxQdDO8+5f{CeCJ#y&1D{^#3=HYO&Io_ zOQ}~lMIm$Qa21QOYG=~iaXGdhJ(r;45OKx8Gn!>K8Dr~t^x3x3ED%SWpIJInX8iTD zJfKAs?0&)ruIf3-FB1CDi+W%Bw!`6G@TapG{E?vATtF8V4YO!*IKU*^z-@i*MpT|k zUK$La$p*p3hcvs`H03VvXQ?-G$t1K2zOP+r(Yv63jVE5-7Z&upTFLU)ar;xF`(He8 zo173mLjG)zrT*p|QInS++wit-py$-nqUba|=IOO(&3nX|taj;YK>?2Zj#9&Gh~lkb zKp)^PnM0EyMS^}dMgu#?8JwcPM}E+)dGngFHTbEwO-Hu4duK^;B0>|zN*Q#XXz72- zt&>?zfP1R-Qg=^?2kx;K64hxz4qZHg=au?ac3FW7v&s&&TZ|+_L~#3tEh{RZP~+7l zi4u9SVU_if98}BEW=~E4Jt7)E`$sJ#C&85p;8=Zu?S2D%rWEGSajw5p+XEgYpOp(u z&xnyPEFmS*r`kW2HzI#tfpF*dCJYCJ_K1|}jd6w*`I>@^TAbn7c!OPmwpjP{iVeb& zQ;YUe$1`GblQxfFD|T9|EXb=E)4#N&iy!OA4LBgwZK@Vk+TvGuUDBsbcB`UQk(h9C z+H#S}|CY|@Lu}t%%Xu=muhisONG~Iak3H`u?#Qqn`CRmUuN3>5YEDtW2%|P_M zkY**PM0Lq0XwV_o+zO>~3gOR`ZiW|&;|0PasI*jB9~n0x=S&=O$~e5pcnWT;^QiA=@9;LM5TkqgeJr3w zbTe`1&Aw&47)Ek`3g^HqxF@`|l5o}7Rudt6S=Y44rfiZ>1MQIGpLW9mNE2r}zwH(^ z;FDjxRwfvGeM~eRS+@<5#uVj_$xb5slu40VKULeP{ ze*j`nTxGQ+rOoQGf{6~DOFXSkgLemwQu7-7zvkkb&Ff(U-=Bo;-`%8k8!9(N*jLZ6B@S8KfFzfI_1|8n28H`9|*0SGnpjVj93Q zI7eni4z#kmbe3b+zlO zwWhz|1Y%YlEtQtE(;*@Q7cHE)4i4;Ko!HYa52Odl{yuMWKbKH0*NUYRRQ#A>ebNS3 z$+5=XFsoOE=o9vu7N?1+B3@`NAUkahsPCl+Mc{%sW8elM_Lpg1oJCV)jVwmd;&#bh zQTOyO4*65E+GV@MO<5rL$T&5z&u9oWS8mE5Z7uQN?A6pX3^y=t^e{ zdf=pCwn|xs9ilmo$iDL+&0IhDT%Fd?g|?gWL#9zyql!_LQ@oivgYyYYoiefvwWt)w zFm!yxj~u;orM$0pkw84L*qEyMLZtB@TkAM{qY5W8RHX$^>TtTQowK-KE1qB1>!Qq3 z`MldG=hUZ}gVxKShIZWAChUr$Ucy=r@sRva=#!<(3u+ z`z20Lvt&e?^>#t>ex@v~W~22rr%XzCD^IuO1M5l+x&ImOq6)Yl;@uae%6qDi9yA`v z;A^M~%_t7#w-XE_MY%FjK*S&aMq*7MQpQF%z6pi^EU-P*vgM8p&loOY0~8UJk!GYj(JNx zMHi|?bh4;w$$GF+DvBj(8kI-$F$=WKw9{j10-nvJS;aL|O{{F^tC-i` z7vNzH%VWo16=*IqFErm8gGkAgmV>fJIaht?NCS^d(G=lar#COjBFDmR$RcZlN>#sbeMGwUOe{ z%J^z$a5vu0m^vOX{W4dOxOcd9Fy1-(ecm~W=P9BNdhnKA=QYI2;`>g(`u5Gx8~k6d z|ESscZU3BEn-eR(6R zt7j%Rhs(b>nKY6ftLN><&m!IL!kv$9p|FEjis|e@3EYz$85v?2O)Orw>XyzMTX|Xi zZ?>?vHSC*iw$%S1%IkAYFmeIBP)~pt3aq}p;|@pxZ1uSlBD_Ca`oH8&XXuijy|eGd zBQo#hoPvM)5!9fpob31ppswVj+>712-0kbYBXLKl{gVQS@)jh&-Xi!0@}3X7*Om;0`Zo7zuSSC~J{S2J$gX6-Sv=yh*j{d;oh;aMnFFp!&jc8;4>}QsO_nU?3 zW4OEZ17rb&nPTu>B3>#iZO|*@n=ALT13C-^Pu17agQ^pa#s zeUAuJ8{y^~=Dg#9i%v*Vnj?{{(Hkm9xaNCSZ?+fUH%XMIq3$K5PX2Dwtkc&%Jl2XNSJ1+cQBJD zlJ)e?M}6hYwz&Ti?U!P~-^vkq&L(JYo^6K4<_BHHFG7vLq=9$=w!m;*A4X8Zl?9lh z42u0U6YUaeUAfttM%0U(PxuX>r4Y}5eiPVw$mh^Q9J@*zTZv;)6dQo^sr@0Lh-kH= z41a~yM~4mywctzvWAMk-hA1@r z2Fm| ztBssAZ@dAP6Mi>rHwm%C7l_`C{8b2ymU@zY#?muC{EA2*OA4hfhVwvWKiz%!#qne8 zXurFZ=8YW(qw~U*^CdjE(~Vx8A}mF{-i-!wf=zM zh+V)thv1cfTRiAdb{TOK1rKF;5oLnx{;uaM97mwkg@p_ZAy5C-e0iE9{d1ZuLFc~) zUNkZmq|2zVi|^NLdT>=v2DCWGZ4*}u@I$HJ!nmGt4(vMrR~mq&;h!{s0@E}GNLv{p zc08>z9XO9?Dl!Ju>6e7Iz1JdMq({arFdIX4V?cPas#8DD}HNp>cS zGsDM4dI-!kuSQC7x~kOVDh>?H(socelC|b*uEB-^orjc%)WIVsXeybZ;zWu?#`RsE z_+g6?FHnmbCar01RkZI!mSc2dw8+orY92`YzZlN`x+(87R;kYBv0zt+^Cd~(#7)%!UmGV!Uzsyc{LsrP2^q5Tia-myK?cHOp( z?Nn^rwp}qRwr!{4q+(QTTNT^3ZQI6v>K$Y3y~f;M);x~ zUKkRbBMjnPV2>t>?d~-Q#~V6$11-MAYPX3nd)9>pjw>04gQk}VV}QyLkcO6zL3+e{ z4jsmjob;_TudDr8M~gm3-Tz>K9pAmv>lP`OD53(6g}jpnqyNVPWwo8?8*tcaj}j)U zoYX%ZfK(+j^mN#KYHkBjNG~M(4#5!d!~J2mN$Z~^!_-CJjSiYpQ0;CjAwyfaM*ORn z32+0Xnt9_=QxaxJP;9B?V!s<&=buH~6dP0n9TgLE>lG#X|2X{o*y9|dKs2DT(Ycq_ zoB-?`*nKz7^}^%494A9*GNN1~={AMX-Rb2lJ)E1NH&JqzFZ+r7bG1voCIToKi_&=Y zjMslaa;Y)!_tYyNzr^em&v;Bfj6qG6QE+C%HjR1b7!3Y)YvgsLw%}Y97Ncy4L{M0C zNdw>G&JSyl<8Wx?E1~{sL`-_Q$Rx?e%-q`vIZUXyTjSiTseoaG)IlG)OfxgY&KP_N z#Fy*PUQl%ppm1&z;LnmKp~kc%95y_D(f!x`j2x;+ZSbjXVIwyo%D#v~X2tjS(B2U| zG6P=u{XYJ^evxf%J$17*divW-AeQM_Lz1l@nqXs-RdcioS>d^&N|mb3DN-9KKWbBg z^r$N&)HRS--Pf)huWlr~xvkQElJPy7MBFjxd<;@7x zO$xR2)J@3Mq1a_XHX=tsqx$B{OGkqrb{DH8Ral0}*E9#!;`Gv-nWr?fDHzfU z9Y_YfQUny1FVMj^NiYqZp(N65ECHXjc1_k}+^a{TAOrGJgUIe9QG3ku_RpI=>sD~q zZi3|sq{snEvcdp^#WG}@YQ>Tz;_Eaf#H)QHg@yt!EZ-R4-?%gHs7-!(8qON*3(bk| z4x54Oj?XYm8VR@t%3noW$oCkz(eEes|xQxlHJ%e zMYf??OsyBjp6yrJi}LyLMizJI@~ut5Fa|Q)hC@kGnz+V~X&a{D_sm0cG;F}skt;hW=Z>k>}-;bJ?xON(pFob{2hHcddOpIY3)XqR?af(^X4DwBv#*!Ij zKl;v9HiK)$vb*CpwzkUEWidMqbc`Emi{5CY)->v&%=gRS%m#bn0CU17ZJ&8!Xvdwm zeNwlZYO^R6A`%?-Le}6#^<%8J?2F_Qb}WuTJw&exu1g!sw}tr~t{Sdbc!$H=O2gvD z(c$@E_xkH%_d1DKSp7nDAiByuybOcpRoE)&)URBXg#m(Ke`(W^8_!)4>LDz=*b1~ag)b+5|!82R*4~jUbU&ahL;u$9g%aATG-7TGCo; z9vH>5XP2{M$O(x28;L}uMb{v0CSqdYg1~)C1RgSvSY5)Pz`UUEtI=nk16$sKtT*Dd-~xiv?>U{ZImj43Oa4(ltia3Jkki;Y)M zB31w)qPj=H9M-CZY%1j2QqH);HFCSV%~Dhxc0%w|$qKL94v_S_a zx|@Lp+4Q^B25^V4dh|1IzJ1G%^)f~)%W`u~oUam%Ax(mssb4T> z{(4pMNy$mA3rnE#FEAvY5CicSnh(E+{t1C=(_40cHdAx)6Y|)C_;N8|3!P~{U6U!B zGI9~EH4-aTJzgKru*n*NleU27x8)k;m~^*&HuA&6#woM)VvT(c3sNR)at>>!b&~s2CvGRosSj26wT9uadQo6)Yw43Y%-XO=H& z%)q-%4=;qMU=7RM*P45p88r%nshdJSRJf6cSzpWCNgpeB)10QdOAbAy0nfI7FV(I= z^tNUU;I^N{VyJs?te?PYT711?Po&o;y>5*jn82o*RBrb9W(bWTcD+)O$>+#940% zFbM4ys3ZhlOUB=Xhb=*xn{)ZIU@$)*tXvb`jq@`YtS)DHqlwzE%i#8+v(BDN180Q_ zXOpUW0UCbXi+YRSze|F##U*UCvC~9FL0j^Bj*Qh@1|yyd?4>Rr0rpR&qxi9vby3e_ z2>KnC)a{>P%8ZzEJVD|viESj?SS+su3tYH)+PO#G5IRw5KJ1q8B73NsNQ!wlLLbm% zwq~7}EZBrm6?K=TfmK#H>hKF-gSmoJ^ZUP{*llXdW*a?@QE6+wrMQ@X+DA=>f`+w# z5=8N9>$%za(N;17KS{aQB`PN5(BSkQ7i65q(jgK?XC0#=nH*8o)!+TG!eu>#Hui6H z0z<}bt>;1zDMK)o8^?qroi=i}9jS5f#lwpq98>uM=ZR!0q74%X+C%yzx&0bmq3mYE<=x5x*(l5El2C)fb`cjD>10qcdn$!!e)r^a$d< zGcFjgA|j(A9VdKXw4IHHTS9W41gTNaQF~k8)NBkm^5)A(XtqPN&e36r{Ei%#_sB|C z8fL69BHNqn$IJ0r69W-~#q$iN+X*#M;)|(0c5MhbrO5CKX4el|7Fof#oQfeI8ZZ&7 z9i4mJdeuen_=wN5lpfuhV{!U4ML;*^zSvig>$(KkHoIV8)Ghfl=xE-4NR+7%Zyw-n zJ~U^qvFaYo@rcFl=S9oL`hzDFh%UG8rFRVJ46YO>ad{^G6|emf{|`8pT$%?w2Z-R! zefP<-1liYyhS|Az%e22qu{Lk&T+Ae0Tm&h)q<8^9f0Nx!iuMWxNk^3up-FN`s_^*D z@`^TNQGn}}Po(Yn`uI4{@4A58P(4mH!7tJ&roG}LwF4NZjgy8)- zY|%;~iKd8jBR_92ml2&4q`ZB@hPyCQgd(%2H5&4-?WK+7VL?bs5fKm-gT$N>-VoVH zLZxjjUx?z@-H(YzaaXWaC$Lt{kdnFhR${tm6H)?(1##72n3A3Aq`!pQ{KAq_Mt9BF z-n1mrJ94-NP~VQhm(qK5x2|+`eTsA$`Fz$Z(OAujOG}i)3VYj7rj^N1I;b$N8R-dR zm)$Gzy45K4T#v=ce5vIzf9;O9)%lFFTwQ*Wf=pm}s^tCPXpr|e)mh0F&B7AU8u(#( z?21-gD%TiMKacwfEvmU&{Ho$0Ba+@!kAtO80DoZ=x5ci%KqOEN{B$5^LH8s7(Jc2m z+n3$AXm%v=^G&T6>cui}h9wR7nn?&2SS)cL>KBy@PF3zC@gk#vKY0dI=eJ^U&?snm zg+GU;YCq+yHk(_hz98XA5No1mq$Qc1UW8knDEY}E(tCQ=LgEy36>6hBX_Q|kd!)}< zd44It_SM{lqljvemgvP4Fi4acZ6`gtXCpI}PiOzp`j(L=Y*-i=An|d4It7j0nKt)4 zZB0b#9t=n9EY7nJ3>jZJ$-AmJDJg;?h(Tgv|Xvv7_H zm~T<^RX2i==Fb39;WZ6VZe&)9kw|HCtM$N4>o17%HwKu&keBoj2_}m-%=uXm1r~Ak zGZ4@uLVQxqoFco$k6YyrTU7g~YXXsNiPKXP=+AQTNljaZM;&}_G-JxmPBtg59I~k)sMO|oiFGo)rrYunsNqpHNC2ePVFBbbyXGUdD|?V z4VEqLEzPfv4iAVO&8>w+CDgvNtHotWQW01TAKBkuyP|rMzd-+cP71xXZs{Jd(-{VM zR%iKNfTpsufwPO#zlWqw>~J{HzwimaKzVu^+4U!$B@s!J(CbX>+8fCFu$zu4{L^x2 z+2W%B`mexPNAHB$7NX z8adF0;fzjOwEMce%2tM~8oL6t(`5_uVQImb(fFqb;rAItJqFBA0;I&aGAMbUxF6BQ zoROgQ9Aw%*-JSP8kMSRU-wg`bJnu`HY! zw2Y-eXMbzRfvuh)Fi|8Y#(jZ&*`Ap>@8Y+FmUwtI_?=>*Z9C=L!&+U)~D2*fe92QA@)KLxgPSz1g^qvint!}<5B|Kl(-hC6xq zYCX^OF8R-)&TVNh__ZK#pYTuUJqH~59>?%%65b1=&A^*)UBmGn8nP_W-X#394s;w` z4|tKFJ%FD_IQFTa!B0aRR7$=2V@z3WAa+v6(8G|PNZH{Eb9_}`6iBOkNcIH$UdmeJa}smS{`!?H z10gn*k{AoAyHv35wk7VvskQj`_lgLvE?d{Ol7;*9lFs@lMH}LsNyFM3Rcse*t2(o?+iOm#cI=Ci6yJ<` zD`xHTL%}i6_JYS12<&w*@tBHMEOB#I(hO-_a8lrKY2>O^n&!;UE7Djl^(qn{Z>rP! zntt(3BdeJ-Xj>sks)uT=WzS79w{JV`yHrP|u_^7pos(0Axg`#Fn?1dUAF{-{gw+=@ zkCDcSJBNN|vd0SP5R1du79emkIC!v@y? zU11G-AuHfBz>g)|A%@8mSK_f=N?}x_S*S_sqphq(_~u6%;9dcrmPDN2rd0kLe7=+- zbhRYupHa@zxB+sy(VG5F2W%i*A$2@P`OA8zkNx!B<;_n+R_bA`95b@k^i!&3!U%7LdK)1@Z+P2@5dX`n*Hb|N&i{W(hFN&Jk+8ZHPWL&Nlz%FEQ zXMxEeYWZ1Dp;cgmmfZa(Y41)rIk;-e|YHYLRaV;6KZ+Xk%M$X!8F= zAO}G?$5_mn_|vB!>@&?qm>ncdgjX>TcdAdPM)qgM0+X7R$#|qklPHU&`o{fHwLJ+B z?p=Cl|K^kC)`L829{Ts_Z%*SvC0{J90kof7L{AcX8w46M|p(c z#eZNGyZYl=bH+_)!bJm0g(Xg76z39>4LanfLNm-(ykvjEng%YMRtlS>s9N3RDXvb@^B4d4+9!xV? zA->*prJKHAcGgAKwFW<~Hz!gmA>9oOHrGIr&JmIkSu90mY=g{N6qx;oPFs%=iFYU_ z3WSKJxoClxpPPxXCT}5KZ+zfKC0d4Kh?lhN4_@|3lZ&4N$mhKyU*su0hhBmtA>kyv)`* z&lBZm7ulHPTiMo*`sSTCQr>a)TD;z6`>MHRCkpDB!d*I?!vVRyarHeiKSE88+GwKd z>qIK!OPibu8YU+np^8@fBP1Zw)7&#X#v~9I4t*ZqYU=!zzU*4jXn;sQ%Ip(9&Kh|Y zHzC!%gl%5O+a5;w7%;xq|n4k3d`nXsljC zWX`)Ewfkls?$XgMWdrmd6_+p~f*Uy(dA}41Hct}tPraw{rbsmYfRwx3K2986t=c#T zVl)ksh+nYNtA?ZfP=F8WMqUgK*UjG#21JajIav^bX zy))ExLDGyl$#iOfiuV~5&F{_o4*Z#W*Mrm{!22o`iMH$?C=Y?b_imj2oTX220Z$$h z!(a{hh3ZLg{}~+JKyrcPV#n|#aMli7pRwC5Sj9AunFPLHAA8aQ>>4N+;kw1|xyAn; zj(oLzslIPiJV)H~CvXI8FDE$Q2&*3Mx=D}&+9EeRW+*eM=;XGm*?*9_wuh$@n9kJa zEZ0~(>*4zs${aw&x6Xrx%wUtL0Nm*lxIKiQ&o{&ZU&ay@UAa;f-1RWzwY63Ne^G(>>-jW^G~D)Dt-b20@dx(|Up?8{$BAUs+IQ}+=5^zgRE(K@M`>qLDbu@oVo z^*9G@HO2J@y3X1#5*G-l49Oo#xKIQ z^^5;vGk6O|QjlQS8BSR6=jQpKJ4j1#nrl>X+>U^tN01I_+6hGE;KFmXcY~Qtsbc{b zWoT8_xdgd~Xsu9=-zF#DVBhki6wr7nMBtVa1?jg{?G@6n!Itn4B&0|S8KLpO)H~xn zv2;K;vCnVu_}nV+dIoSr-U13kf(S=#4Cb# zq}Y(ibBcuYFCy3}Z)+vc8COBlyg*$Q%~~9Gyw#AsFa-J&mw`sq^YK+iHqki-d#a}S zBZN1SZt9(=aS1p(>5U{fOHbvEdeE)UB2@0HLB=a*BhxeGsa}MczEUozNPRg@3nJ}h z$zj)?5Lvd(aCDbEAqwm(uvlr+5S%#JWoH7R3w~c=;mrHDgkO$j(##Fy0&6VVG&3Cf z`;Ou0)S8;maBPv|T?~EN!znughW3Q(o!Za(2$ETpGU;3HlxrgNdc%#}bb>rIgZo4# z$1obvI1M^>-zC1)TyY~LSI2_^e_DRR3?lLAD4MMb#cctHOyPYO$l}-2^x~pDXR$Mi zc|y-2w3|5*G}xbv&$JppvfMT@jlO{sX%OG0=yLRX;Q0U_?NeQA&59^2f>EdV;a_0d zOcyJ}vEBH%r?-Ke>Ju;M5D1OQuKV6K-h{#K>ev;jgC4}d$aZMD{eswA78qq3tm1Qk zCn(5zQ_+0E)gO+Np}89N{w9~ zQ!By5SN@@$@DwZ+Fc3HJQYLOf)qF%ljP`eGLzb7Q$-|cENm4i-;Wfn3dWqs5raj=w4T%3@F`oRWjm;TIn%p1 zqx5!qrPd?TiE*JWACW5=ZCK3;xV2_A0{OAS}+aEw~W3C$qj!JnVHn zJ+~`gsdWFs*BH3eSy)Ote)6H-y1G$GPKuPXq4UnP&D>zn;3v#HIoK#(f^(%}7pOtd zOGwiYla+hduN1w&Mp;+*Em-32TVqHO>qJn|J@1kj(%lhYW^LF{l6UxwTAVG|RER(( zL>LqFJWhoWl1TeY&B}ynvoJ}f^B~7jLA>vV35WMRCnScREacO};0~))KRVpGeHH_u zQOk~p5Z{<^86%>HWDWHTTLoUML2&)m*mW$!YgWA7DU#1GijRoE+b|vN2>Jyrpu|u$ zPzbn{WnGm>GxQ*JvJt!Py|AFVz73oxkRo=kcX7mQ>~mTyJ6e_#Cq1bWXfPaOi=b33 zWtqg-jMs7pP4j|T9vlv?O=IZ5=B^p#8bX{WYXn6w>Vc_0wKI(@`p%^xaH@6n= zrHjr9oE&<#3}3+QjIV7sqQR9m#DJ0!W^fgp3!P*fNlszR#0%QTNkjFZ7~@)&gKA4*_>Su3-=sZN=^2vpSvHk1RwxV-$yYoP zX@t1(e{4Ij%HOn^LUJ0_+N*T5c0fFDC&SA{TQagLh70v?e`!G&*Usv&`2~!9Zy@f3 z_JYu+KreP~Bc!DhQFpx4JU=kWG)b;(VjwSdxe^NbCOflUcap8KB0q$N%lSg{aq_B7 zZlsufNMyZ28kzjX!r`Q?#`OlAx~h%OUh95A2dY{x7E436kR?u~wmecQs>?l^S ztTy~RR^rSSD~uTj-ttVP{U)bTpRcRT&)w@3^`f^%LcFz(UE^_BESr>T6!Tqq zROHr9UF)=v%Ud$zD&zHw9NDB&NdLb>9`7WD2OMA_(omJ zguFKZE(^yI^PI-fjTo+<19(U131HMH3AF|yCxu3RXqN2_A=O7^Xwt@E;dc+jB*qo7 zR=|K<{n#KQP~N6;EaRH8FPYdWpj(&mmVTrHj$dHMn;L+G`eNt6b^JNlXvO*HmlKr5 zkne+=6D~w<1~417=<3I0_jTzEaS8fUj5BLux)Oe=jg?(fdr4*pcn7pU$GYDpx?g!O zceIy%#kxP2MDps4NMyhC@d@h$brj0u(s(H$jgqv27<}h1kYf<((Rz6S#ibd!xkI?a z$S{naVk!>Oo}xNrhK^8fvfLp@j8Q|gN!2(IDY4A8Rnm;14a9vApK|y?*HTK~60g)U zyN3HIMeLFggmN=24Ax#GLPt)qTOl_TEogT{rDVrp-)L{-Uj z=9sGQRy+P#*bM_s`AL~#8L^HJ`?f&~CCS7HD6a~r3Cq?r9Huut&zhA#QfQmnxnQBo z45wg}9xd6-2i6N{HSrZw=er#bBoS>(RCyG8k8V%HCCl=%^Ty{i(NuaBq(xecO_a6A zoJsi(OT^*Dj(A}16Qs}MEvVFGFL&ax86y(sXIja zZk@`2MJMx3HDbWg?b0fG2xesj%*3*+jtWHeTO#L^&Y$>#`U13XWQuCCKY~-0*k~#e z8zN_KOO=aF=nC7f=UtRx_C0vmDvdAVb8q8w=Ph+mKFW(a*w{pV)g%bWU}Er?v!$7- zW2+Qq@2i*@|K_EuE%1|6R3jRt=IK^6t5FSZFz#2C%zUjMRvNYH7NC?fJ%1Ou`xMGu zB%A3106Vkmt=Y(=0IT17@oJ;RGv+q7O~ku)$daK7w!5&1w3w=!o4QYqcoak)F3_(H zUGXOb%rXAf{Lxv>*ONvzhFUVjat0h&)8q2SV>Q>0zvXtSwa?p?yI zdE5u}*FMI-mLjM&CD6N~&+7$nAFC6p8OJ(ftoOnFIaE89e)|US*r}pDsJquv z+qHN#onCH~wYimFZdSH-x|K_#U&+6Fs`dGyaClb|=q$SDuwjW{7J4weH zKGJNm(wG2<#I4z+pzVHua#gtVgu966b|w0?V9ZJGx5%)ZD3;SjJ%8c>B5`p@+WVUO zbUKqY*6Wev&*yEgQ5-=D!)r5{ewN!0BFhGay=SBkiMi2isPEsPaLxtNM>)bxr+G7#9;^|LZ@xKis@;3KB$8x1@)`nx**`F6448ilg+;Q==5nkv{%uCs zGbimk-F>m%R^k`D{)u<$^69bJBG1n@4TL{zl;Xr_i1~1hYn|-Q(|v~=9m<$xh>67v zIcBl?o8TEW3cF>b^hqCAW8x&gjz9i+8z84jHh~*rJp@5lr-0KnqgDK7ZcB+#nxRYG z+s!yv3HAqx*j#QTug7eTDmu9_Qn-ABqfeRz@>oWj_?%B@KdI#M-aL-7c#kWZ0m^9T z2~Yth3SGKEXCexzg|$;JRnm-=&r5M1RAH%Gat>B%0}t#DZA5^^jSGHc$lZ z?Thsd8R9KuF*=O_2CUqAvn#omKU_fM>T@Z&rBDo<%m$1P5^fo6T%2#TD zpp!w)0M#weFVdbT2E)@@Pk`8ulHeAMf-nb4*n56I9OhK^-Q1j&UZbXU8sQ7?)i_tV zz$b0}ZHa@yw+0QvCOy%`KSbadKC)~7E}0X1jO&CZBE4M>*NPUQ8&;;RR)wh8WdeM< zz_`<=)T{O9KC%Qk$cSpDyQ?py(Ww%K9ICNghp^ASH7>XzcorKBw$oU&lTT0g4U#6w zzN8ERkASvYaVKvfpr^hbEp@Hzb5+5LI3$^H6kBM*d)DR5?FB@RbZr*GK+v&(jf^1~ z{#Vuv7ZGBo|71({CvK$sy%Pc^UoTP5$;z`ukx&=yz16LdS{J9)#T>@vFBe45r7!H>K`|iYx0?|P68kXe~TZ}ZR(_v zdixuLN3}Gcz(JI(Iq;M;)WyVQ5{Fk>HaM72H>~0?o0r}0lS*~MT$E(|tf+UG^*%Eb zI`XW`14`q^)&>tjj2y+1GiM}XLgT!a1o@UqZrx&0^OnCAM&Wq5F8X@gJAY;9-_V}C zSOAZD9uTVpyj)*1(LRPi72r9cJgLqJCBV{ zUshanyb*qB%a-NB7e&U7mdurDk>6_rQUp}rY+IaUz{tE1S%!r38AEs%>e6B*^|O%- zwu)~#w^alJoA@5!vT?`=QB{M9$PS=JJ_!!<0b>$SJKdpwmk@SwjlD<_X(-Q3nYx1N z1;#~CNVOq47vwC%P6$!S9SdQW4dV;h7emQ`92g=Kh34W5T#_wa{={-S^^0OHT!*9b zrwDl(=gLL(GSu2-djLsHs|JtDvBO%Jz2x$G+G}7WpgfDe_YkFso+hM7J-4uNjmj_VS8U^hWaakma^MOs|7jnJL2a_jDhKSB~a-VEW#Q_gcZ zqc7ZJ(}xY>XcjI`e(|ig%7okeL$42%gMbfzj?#?=^;^y>3bh3*e2=k{EMrdsjl3}T zm68e_ykpCphWWZHS4OTGCN6P>1_5KMpaX(sDv%6YIknhKgQ{>@KidvX{4uxwgXdNNYN#^>4s3Hx_xI@Sa zw0<*5TYf|8-dCn(oVal_h=#a%GYmGRg80b=ILk%5`Xu#v`kX6V0C#A|xr8!gYIVl; zv}r$S>>pK?G>%b1j=(Ctf?FiE4Uh5#=zXFa)4gh~hMJ($eQ|>6i$0h_GD%z--i3V^ zt<}6eWsIGy|19DglG6na^3o^&-vI%{K13!KM@N!3By(+Hso4)>(Ery`nt6cXV^iG}zq;_&A@i5aqFZ>iY$wD;U{I zfk}P0%DO~YfUr)No5;dV7YA1ywCE5pX*!^EXLV#1Y5BNy-d76@6VWb*=^$bw_J zqFR&hnOvd3BCbV`{!Xl>QBm1Y8R{0>kk$&Y`p9-0*XF9RjT5f2-SKUwlNN~`v%SNY zrrr80e{+eV<>iIuP5{QN-8sASX`3d?mf?ismLa?BS$&x;w60yqF7h}6UZ(9u*2$qt zI$L?UHIBN6`-G`$=;ubwe1My}g~}#Nm*WK+MI6t)&5g!EDgym!gJ~hnq=wpy=bXbd zJ&o9bxdrT0^+NUI^NDKGN>Q?g7fJ46fY3x#(7AB0$Ck@m(|`=z0uFS(LYTd#SBsKg z{l|wi%NMvhEx=YqH`b(;WYGsQY$x(JnVQHPT zLsq9co|Q)KcFS`9OE-Yyf7S~KCW_DY0YFs%pec_31yKEkDJ2toJI8;|tZM!LD+Wzs zh89FxkAszTSc~ovz9=PFqlU5*;|Nq#t2SRx{P<3m&dc#AkTpBQ*uSo}y}I0D4duG5 zTqZZR>=>pgo({1$HnVl~GD*r0IlD45c;v=xP7pWOLM8qWq^hSgh7S(o=bUurZYZVz zAQk6jCd)UH$IbsBRlASVtIpq!f#*LRgMTB{>0hKG`ioRs|3az{tXEL^8UjyqJK?`b z759$&G8es+ z{5A-3;S$P84(J)^35qv8&~VqroQur2cdQDyuwqTegmqJPlPEQLD~t;3VnU&WwUPzT zM@L(Q3Y3!ppeiq=rgdN-5}BVA09E6}0I2%&4^%~tHX{iXK2ROp}y+Y2FdiwhuebEvx9#$PM+(M1qig+3q9IsKBkX~qSohhcqCpm z%O6aE??p(b$>S(*lFX5(sbu4Q>c<`Z%X~MeJ7J8$WKX2Q{2*$L?(P+k{43{WkNYnp z<6&IdVhgj*y%^TA1M=d}KnH!cT*T2&N#Y<-KUwXh8Jy`9SPkvpjP7`UL=|&dinI$H zS4*Kl`@c7#ObdtQL6gm46U2yfX00%zREiJ5(M;gxFgS$QJVDK9<+U#4i{)iRn{o0} zMB;5AGoH5K>JDo42VoAs7lUUp#nc`-VzUSh z5@Ulx5_yHjze}7-K?N;Wt`>nGBRf)1OIX#J^GW@oRdWy9&FjoCMekRtc8Y#fb^WcYF z3M?ppb}~+dYjE= zc}T6;C^wqYfbS*xrl-v9=I@m5C#q|~WzkLUWV{E7y$4QzSV>A^&=cKgDz%RVca_OV zn*WL#5o=T3NGgbu^7UOD%FyFz)0wwyl~vJO9v(K0>tFP4aWLU-z^17KfEA!$&<%58 z&JX^>;;Mj)Aq^7#{3d|feAU7p15<#}(o7?_C$?W@yPE`B!?>*G;IilP{);ecxWyUm zzUI2e5KHcKmA?RyQZu(XN(La*9gmYWpvs!W#S=56?-fmC%WRpG4(eNp*PXzl7i ziTd#j_Du6sN%2wM=&nv-3-zwu*6@YQHt5FEy=Cyye(#~I<^oV!#tWPX`fQ&^@rKLQ z<v^xU}NepS%nbe8K;vW z(lDM4{v|8*@jw7sfpsoOT85vH|3g-*hAD*{i~gqnCac-MWYtiY!|l?q@E@}J1t6=K zzhsr+`IoG~CkER>lww|NeZB3vxS7e`qfh_^1I$uYL)x7qwL?m?iBPHB?|%yhZ>4i- zpbtgO^c-{%gq1x08~H7Of`M`6MJwhapkS~i<3Xzkb}f562TX?DLC<;vZT+`k5G}{x zDe)xKtSn$JLRr9aG_|VC9xTKqb-uqxq_Lz_0PaRBzEsd%f z+pONO@LAbDE~_SXixl@MYrgO;oc^7XVoFc>)#WP7#)6$lI8qby%6cI+Xip0qp$+=e z;pH^TtDM~SsNB+D1J(>YuqPlf+dJC?L!k$E$WT$Z;q&ME5n84{l0Er6;;p3PeV2n% zXtu(dZ{2$EuS0z>J7ZGg5^z?6|LQ;EEwkXyh1WTCmfRuFcBtS+Q|3!OBx<%{&=-i^ zfKYXVq#D)%6Z#nX3BMa~a4mLt`jG%DMZ%!O=WlH^baUHO7bxf%Z+4a2i7e~nY$l(q zT*(c5=nyr?6km8o5N}t&@QnFifyhwAE{i@tLsAf@3@(9TgoPjh1NsTIprpbHNi*M+ zGP#vij*4Zeb z=gIKZ^C$xE3!bx#N~hLA$NQk?+8Lc}mNwm*gkGXfPe)C)bUKoQS!}qWek-CtSP=gp zcQYzYReGvkjYYeT^-XPdzH6m}ygopPP3QZt4d-UqA~Owa59c|I(Q3p54fZ+3fDhid z)EE=j+6_3BJACM~4wlH9_!EbVuJmP7p4X8tDuTKfymefn|kZ@3~{PX8G4iSc*O^e_ZS2h zd#L+^fbX_x#_n;4s#f&6L1EEsTr>XcwL2DobP4xq5-S4w?YM?7878cP_C^a-1VD$kb94 z`3{=$r1d3g_89IHnbvgC=Oi%&*$a&fSmzWzO+sAN7={HE0#R%teOeu{xOkQ*>uVqrqNp3?D@jM0QY>3X^X9Q+`2>*t1=3|mvJ75U3&dFBV&QB?!ug%c&ZAj^+5g_h__ zG$e@J6Ufr|5!)*gTHAj(6EmPpG~VYwB$z(@lRts(n3EltAek=lXR>|kV2^a%SB?&a z>qP|C1t_TD_v|O7th0Ikl|K!wz@-Kru;L9MzQ>6-tnahh1LWwY_d;CwQs(yC)!~5rNgR+r zMbe-`WGg38!mx5AMySYfpcx>goHPd2AT3Tr#(PA`Q=sB9ShqY@h)?~4N_x8>z`j8b zt)edF5)q3YW zY9fD8ss7+2sotnJ54!?RnJ&(M+jh z)ImIrRAX_zTiB>!yzt)TW5 zn7Yf(`lOt0-c(UfpXor%M~X4CU3-JxxLMjo_GcCzNHA96!B!(9%}7G{4^Ce~1zu;z zmS`f3Yia`9yvq>t-$I3|VXrQ*u~i|^1hix=Y!GIm4TQK-;Sjg7gY|AQs*K%RRVw~) zeJA3JGu+ZL2$8#8XkaSK2id>uvFo_ZpRz4T2YOTDLBfSv2z5BCxa9gx;m9I8uljmu2MT{eYqE(JI z`1@tf(t0?(baZcybdS0|U;DClmS5_Rb}G=tiG^4x%LFqR)H)uf7>o0?{&z!a`|UU| zd}gj?M`it|kS=8T{eb51`-6evrCty#4+gqq9P(vwA{i{d1cP*sBSS^eo3u9V6z{w_ z)mbUi)sp!XtXR~9`2EoJ?w*}l z;zUV~TLgq2NG1P%hTbWxos#B?sxaY&^8Cr)Z!JrjJy%vl?dyRmx#}2?AD~T?W>|kT z*KBsmJT4GQmu~fQ!xrR@=a9*;OX%IDBBKtV}NrA{kZ`aNj0qhgo9$lLVC2US9j(9l(wO#Hz!~0wrOM;86{V0%sjeu*e~hL@?zukCYfL9 zsG9$iI?J!2YTfkB^l3bQV@AHlYL5BKgs3nomYQQ;g~Ce};BXm6Num%(32;@z9TztO$dZd#(^ zN7wZkmnV(6>fM}K4*qK5 zSlryyc$?eQ(3+!2WMh>QP+rU?h5wcCt_Swe#kakS_}@h2x&=D)2pE9e|Gy_9Yy1B? zQ~3hiL8E_d2!27zfwDt}6&9S>ieSHO4^FZ*^&=R%gc@LiXy(~e)$hkS<8EyL79ZbD zr5evEEj(rY!Agx3_unR`ykeB(J5TQA`}C??kA2)d{Hyre+c*WpbV;B-U7WGOGHZ-% z+iwsN6o(y%OA0Ikejqt};op)gO-2Xm*J?aRkO&;?5w;_cJC1IG(aM6~7-4x;sy8Iq zVZ+apM9}b(m&_=TSfU$pVsY@rA9JAw7;!uikP-pzRPuLFKK$(*GQ>-KWtxE=kEg$8 z1e#xN?7X1pd%1-0P;vvar+3o#0tvP;Tp)=&ee9nD56DW53)nc%YE}ddxiCujQ}pE~ zDM`M-b^|A;{?DbyJA<7>$w(AlGFb))3*K*q;iTc#p1(Zzu3h%FDd>3eMH2o^ZSl5*V-7z+Q`QJ3!a|y z>aBGl25e+hp_1?;CkR^d&SXKdkZ_8en5?{O$d^5vzB?Ezylpc3_?`&lUd&gmbTLL?9qxrMpb?i zgFXcZr~k?+CYHwxa`+-sNJg*Z1x9CK z{C?Gh+Yj2zE9txbN#kKAy!oUOH&m6cC zaF9-gf*ns~3<6A#f`&8T=uV^M?M8;AjLEk2LrUu$?J0CPM&EOd`tDbD@3ee*YRF*? zK5$a81w;00@{;K%zeY}DU5C&vI7<6RvwtP08k}F__<3qg)P*G`H)QMX5PR6 zMY^CFr&dDjIt;?>2MVY98v2?XR5qJ|`FiQ~K6C$H)#EsXHN!4I^>|pj-2TKEyJ(4| zI0;ZaF8ARM_QBr7KrFFR$bdDlR6cV89cmSKX)M?v$pZD4^%efCr+O9`<^8p@Yze^${4^i&dUh6h62}~l z;o)JHb9=cB6dc1ed&*9ka`lcspFQqV%`}HnmqNcDWJ(I6y-cIj#XI*F$5gfS=+s0Py4XyuYAg*l^b@CXvmbcL{kS6?b^eS68k zwg`x)z(!PBGYoRpOeDF%Mr23BqMt+RGeLWVpMoTr&V~=AQbX4nK5x()R`}6`83iyW zfeHB2?TGV71h;;HUQ8D5I>+xQsKFX_B|l0Q&N8;zj}IG(sa%yf^Jn2qgpvIb@_oQm zBRRu77|H!@c!ibyfufAWzG`7UeN$d8SaXFSi^TE^*ACXf+SNRVT)oTq3n6T0PK3os zOSn=n$ib7kXgpPwKQvHa?=L~sEIY7OOjGM-;Nqc5K~$_7-W?+4-uMIt^&%h$8NO|; z^<$V}LHQu%qes|FW|qQl993laB*?A@xQoBm2!hubpKyQU85bT-0cGIm1r3ltOETk( ztKI@3W9} z4*wV*Gndrn<6;)o#d~v1e$KusAP^&$R&54Px7yT-UYIC2qfA7y*O!jqlm8$RZCEaW z#I9$u$Q3~`@wo=M_r)b{L8n$(ZC_yRtSl1nFgOW2AztGH=S^vvuPeUuZnql5Y?(Gxo~clFUjYLs3-=4l0CA^SD{QYac6POX$N{^9OaxEd6nUJ3#|-CI|3V zVI*mOS^WAG!tIL3$e4OJ?|kK{XV=DcmLbb4YSp~9<=$!V_4|{lh3np^ZOMa)|Ewg(h&D%l4zJL+sdb728&{@DdHL1Ia#*=*P6;;lxS;z5GC6kui9W~h` zS5~zz!(3z1Q$zcTBbyJ{4kl758vV$wR-wJrLokDtH?$JeSlRH#+pAF3>nKg5F0z?GV1P)aRcT;*l2OKfr)1&UJ|T}b0&tF4Mt zihN(Q5+QMSh%i3ozw~A-5C{nALdlf*bEW;u@}Qeb2(Ef-v9(R0GXb_o=U>p(tuueB zkX2Ft+8(tF@!J-|2Y*v_;LW(X$je7sSHoOiKt1Rbq_3CFGwpUm5^ON83bB>F6#mkY zh;YG{orktfFSfF2twz){+$w5ZloQ3zik7Gt{#4?#0X zaJpGgHoTa-BJ93Su}?qNA1}zMcW%|cy77N>W^~Ct2OW=utG{UI|G26knv%j-|COT3Q0D@@{gpKTg$UmF{=YJ$G102oUx|1OD-aOhe|J^0 zH+Ho(wR2IkG<7!x7>F$GTrBO(|1H+BwLcJhkws#pjNYx(sL|0h<`rvhRn*ja1kNRChU|HR5x z>jwa-lS0MsMslw_ML?=@T^suLR;`7kfexN#A`B4*T%~{8 zDIh$EnFRGkHlNH^p$fE_k@X7^C*0wS`y%Q8Pgw zIChzq{LK|oG%nVh4Nj*i@aj^HRDT-bubM_?t|gKf&(l*$CC6rc{u?6_1lCyR@zn=q0m$|9%{rpkLDH!MKkfo|x58kD$(CBQ%WffI;JD~{_%;U(_LnYh=@OcQ^kGDlEwPbq=(#LuhfkA z%Y5txMZr^8qMXo{=1tc>Kxwkh8Z|E=wUk`bfm{HM&3JgEiV496>-#4K_SD7}I_NKC zXr?)YFZ)BwyapGfjzB9hnw$z;%#~g>_3{5VDdv*xi6cQX^=X0Y=!8Yv#KC!Cpa zcH}xuf|EaxjY3Tb59DG9meXS@T-Fd>P%0tLAzD6SzYp$&F_;<)WqpVeAG zY4(U7?aWSHm;9iGU#xS5WS)oyAq+DaY2Afvhi)|{oMkSrS}vHC(Z~f+BpQlYLKIfJ zrNpQ;lolnj2AzU6?{)HKvDEcTm#~<}Y>J)tOej5-Qc7SU5qfNtbSIL}pK|B@N6!Fw z_Xnu&eL%J@sN-SX>zUC5oYQ9WG-B8;8}NHiJn{s(tI`iu4Mx?wbA<9y9;={{rEY6b zMuvR4XPis8uA@I4Cylv_M6iN{ER2={6g2=A@l{QBe!fkOtej9`C}jm;-e8j}JQCMX z5NR2p}5lYft*8il3vncQp?d;+xKJ=+SW9&huRqRtzYS%OPmW z#0R8UC5txx1>oSt3(h4wu)zmv!Fn4vehz57MW*4>qiFi)V(5vt8L|GB5s<@84Kb zhBAfrHJ)Y(73vkZ!j=Vc1BjK-*m{m&nR@x&RlmwS;Zf5pMz9ZIJ#AVQa2*5BQz;!t zTy$Q9M&(T#)SH=sX|d@_NtE;FQu&vbH2!gj*QDIW%xQUb_qvd7NM3PXWIv2>+VLqx zSwy4FJmV-yEw{YV>YAQc6N_PIj2a}&M)m=aKzhKS{D+qJkPr@pnHTzQJjUe zP2k6&Y3G5pl;$Rl4Fv5NO7e|sLh#n2GvNw5WemQY@9>a22tDf*je@<)UULM}2lW7f zBQLIN!cUp9k{U^&FYkWt%02prJ}^PT8xMoqsMck=jIvu{0iPk$X1fLgOCw>1AXnJ_ zmQj9E*xLfrA%1^D3PJUquLJs0r8lQWFORFu#ma{#dPtAzcqEmLw#TF&IpvYLb3xexUcAlzvKTzkiW_b^lN4=U#2aWm$iKdT0)rY6>PJ&2P2R3Z(Bevl9$4TbTamGQu zmyDydrJ@>WDY=5CWb!Jj;432C$yeylgRlQQONNN2+xr6|B?%x;^8S~R(%sI+-q1wZ z!PMB&%+lEK??BDJO*()zaWM?P{Hhm3d|6u%RgDAYjS`9s`e4Iwx^*;+jhWKWz| zl<#`{335I4mh8`Q33om~kIFd@ROUH{e%#G!BRD|_k>&H+^AdC)l5)sh^L?%2Mi9T9 zHFBPez>A*c^!U5KtJa2TnfL@>LszZ*Q*(>^eSr|UoC7>)$o_OqMna82CejQ23eJDP zh%i4(D#;Zg4hgVg_&s&^|0e0U5eH+F40!Apha}{`@`wGJ_Z$}w2e9@ynn5sPa@?3R z9(avd;khATE%Kmrv4T9gz;ct|rbpsP%a)&@_??iyzgunV{3h_u!pMM&9H1H!R&p1b z{~;)d2aOWhMM}PcfMET$N6Uj1OQ0a7v9oV91VxBMf=5OHtpIaN))U|i39qzR&r^4C z{MV=hzz6Di@BvLX@62Q`N6til&xA!006t*lxLgpIJ$EDdc#gd>YQ968scp5DtX!zMWMiZwgw1w?DETW0vy>5Z@fpC0YaT9C#KY;tSCl{oL_1}+He=Y z5|bQbnseyy_TvE*6gw>BOCPa390y<{&*#Y3}5KY@di? zg!OjQD3zKdNGz#@GSQ-F{1Z@gFq*f`v$X29+0P9PGFq2tQDKmn!52!APp#K`I%|E8khveyT*Qwz zS0{`Io#L{}NaT&j7)qPBZq3j^>pAL&u4=9>l_2ymD$?=IHP^_!^AG0wb1d zWWEynf1hxz}Benn-@nt>WeU!Q3ds zQ#Bzx+fuuDi76Mx@YGNwm6eAJ0%;f#1I)5KZy}&W@VL_&+e5`XwzkK z##@e7o-lMZCv1YXp+~_BQ^}*m`(+*BR#3O!rwG!t+{0K>a!K528t_6@&buef3A4{n zBCpUP&l<> z;Ig>^&M!&MvKPr{UQuqu(QgHl+7eec_c3>Mf;XlQbLXV59O|$`XG6Fx%4Mo!ZL1#I za?;Ahsy}fTLy}j2h-4(kn&EqP$AX3lReyt*%YJt(EpTCi5om=*LbBbxB@NmMX9G@B zI(OaZU;vuD6FTF%7$}?5(cPN_TYj*L18aVg$4cN&{2Q56?-!x(wI+fVB!AVyWq|0y zhqZGOA%8-}5gywk;J~drCG|TXk)KrP2nD#wAAZAhIX+fCDtK#T!dPZleIG_I(cz8= z;#5V3wu?%>cn1v!=j;}h!BUKRi>^9ax2XD$mKen%PL_fCk8;)hEltK7r(UifsRuOexSPaN$6mD0#&7{X#j#pyC zmi(cix}wV(x3YFyZt^&<7(^0ti`r&|X^`I5Wb$r;RfMffD`JCbucYBtTGS*ScAX<%eQMia(Gdwb)EuU;f0F}>a)N3M){t~@69gn*1cqZz3i)Cg3;KWGhrL$Y!XYvc zXAOQ6L>URbC12VHH}a7g0g7^1%86gLPb)*!FO(RsmDK)!P@@k>qfa{bI(jzWQKK)h zuW1nJ?v;PhVPLm|oA0WXVdT1QwV!pakDuQ;cc^=4l_9HCs;(55gNvUx3qL5Ku{)Ra z(Se;nt^fAjDqO3w(?7X=8D{COzly!-F+;D*_wzOg-PtRX$=(y)lugFP_^_;Wd#pVX zimp9X#EsGOd}=a#p6a5H-@D~ofdK8uat(!ISg1FGY^Mt=6<(#M<6mi^i_kNC(p$B7 zFg54mTptS3Hi&WUOl@t-Rjk1&x*aa1AF1+?dyOeTch%wZik@|BM;cSTY#D1-nhP}_ zw-)nw^s(_Ko<(rTCp?syZVk5KH{LbrSM}BF^{b%YWca?VS18*2v=7^_Yw^-laJ&`T z{0%d&&9~oI_g(1Vy&cxO5$VtT>t{$`>nkmq*(b|x(R_;iH>I9li9e4dqg&Bv^^c-a zIzsQD{nCbjpZnZ{E7zz!z#n*RNbTvQ7J)Ww@&lvZqh767H1_xZeJjl3$Cn)j1iPDW zKtKQs_kY2HikbjM2JOrhYz$q@?44}?73s9TU$nDZEUB9v#wCcTVvYMxpLS1uot<7~tGx-n ze3rxr4=-q4?tWdK-{OI{QoW8Zc%ro)r1kzG=H(P=9LOw*x`k_|vT_GOi%H4C6JM}l zhcy=`#vG>Vixso_@m(awS#n6FRPa#u_&!?;-gV*<0ud1D?j!O-v1Y>_0!++iBYrN= zeZWpe3`CVw@Qe5Fd*|GOsa{7W3=rUl@rOaW^M6_*4vO-USBRpx+@Ny5JNVpyz8ATD z6T3!4@OS7zQ;lKu!n{Ij%ZIneQUhfetJuUf6#Q%72FK`K-J4hRzyb)pXO4F*P1FZ( znG~^1J!H-WVZ31!hFCu$O}wV{ZGW!3#4@GS-6g2-sUl>+`&WX-VO~3tstB*#IX(td_cw6u`^#Uq2$?<+%-TA_P-OsYHTf#J~9FXD+{J z=3oT<`B{e|x=NL}Q}vnk=lCgQm*a;QEkP<(DasSJ0B{W7sdC_J&>R`^zGVrewUQ?Y z&Ue?ZU@ylzcCj5;G1QZgN#nl zM>ph|*}l}i%TNN!c%d%_coI8Hg^K)(K#2l-40^|o90fu&NOdvTK606RR5hJNO7zbz z7<70D>E7Cd*pP$(`LTWlY9)0J3!dWNa1KXB2` zfQ>bP;X+1v$Yh24 z!a;M4W6mQ5Ss~~-X~1src&uTh1q8A!o|e^qkQUUkkTg6IEhVS+C9Xgg{NQKMHmSL~ zZ+~O)5W(J?luhRkh<8o*-N24^M*w3Y&mK9LuyK-~Pgj_Z5KSC7VkA5p8URJiLG8+c zgCDm#X_JDq&_WP^nPEtBtp@TFV?RCG3Y*X(ZWcc)MpHK3Zjfu#ZW7LeQ%aqCX?1~w zI&i>N?0&8J#Z+sDXee(|$VDMHu=2S^FMLq6jur(`RtSOkNd_wqw7LLM^1gY-xc>r? zk#xh=c8n!STPq2~d7;n(8<+I<=3)cO=UsO-JvkYVnOj6?pn3R9v%C9;8d-MSbwOAn zjQRO&=zYOLn4!z>u-IDm#IAyns{zRKGGzI5xVo7KHM~0Mt)PSGCRam_$mFb-Z=wKz>VU!7-Y4P>3mekoZ%Vy$*BRWNZFp)w^l@5vO6yTnfm6cIkD!(KhREpl6+`aRs&h(} zj1Duu38#BAH?o|r93NJaSIA6t;K|zvgb#h8d>;j(6d?c=vdK=+(pDsR6wm>*pS`+udU5&<-@YrJo}*Ji-N2t*hy>mEGRNL z5~p7he<#RHhJ!bs`|;#tCl~OlBOp@`35n!Vc%Ai=we&UMctQ`94#gS%X@^~BS$;mnhP37d9i8h zcY)Zn$pF{F6d~sQE~Sv^R2loWRV|33C5hM=FMRTSYC{O>P{(XJm9C)z$1ETfL%?Mz zuRf9K^Y)5O7A)PTpbPYDT7tt^<&F-&?ICba+@$UJp>#3FBC&C!>l$q^u5RnkxZTBu zV4v27tx!9CwjRN%==W-mw(cGDiL})_;%6bkJ2WPr8D)!wNJiYKLfG35db*w=>x-HU zf4qA)d4$KGk}yuQ)jv>X!Fiuyg|I$)YA$w-*~xbVT{D#d4nW-B;PCF%KO3y?=oDJ! zF1aM5EN9#@W3`LQNRlODC77N`z6S`>$X3Ugq1_aoN_dZfwkA>J@?g`4M35ta<@;U< zJRh&E0fB2iq@{}vUz_Mbk!e8ja>%0_p~y8pqdm#%%B^psosdgv97R9#BhLGy#1{wVA>Ul|a14P7Mv52*@6$SYex& z+z$19a*u894a7137!kp*c5RsZE5~+p+sJh3u?eK+GOR4|f~)Y5j*~rDIrR_iwIK!I z-+kk*b-C2W969HpFS2;RxOVcdSGjN)Hj%j9De2nzajCqQG@jgTKAdi=v4_81{{(Kn zE;W8vkBXPphiGbd^Cz5``3h1Gx}0in58B;@@$#lUyQ(c%ds0(iK=B*>2Ej$Wy9@8- z&2jeiYB!(ORa66X`yj8$cLCqKoRWHX4LRKQN8~tcjUXEr558l!h>Z7?lIKcnU9>&* zyFVw?r0Ylerh`B?#f^;ra5x#y+|Tg-qucF%{OPkNsK4EFpd^lXduh@jm6a zX{YV(({fS%f2mfN|9~`{d1CVMo(BH|(%9?oey;lm(ioQqKpIV=aR5j|9v%Q``~W~2 z*l!&F2hs@o2hv~#KpKx{%byE%h<@+WOhK3cNF&>$;uDqoNb&iRAt2R5oI!jkB$Z>^^u8aNYD^rR8FuT`oq~i&q+}n zX1XQ!=*~5$7L0Zmwvs**)s|dgf%OXelJ3nEE0Wf=oNCvarIdWVNBmq!>M|mPD1Eq* z)GiB}?{g6w*H_*HaVG&MW*gxl)yEI8+EnEd6n~v{-co{~gAYNF%23`CC)$|DYUQ&n z?CthD?{M3RRe=%DDHmIRmmR9K}D|{7)W3WLuZhfaa|Kb{#$Se=A zJ!a;F6q~|h1`Ha6)9xKuq1ObCs zs3M>a=BV1qjmpgI35{&n|6r{!0IW4{;D#xa*jQm>Z(B)O8w&r1JyS8>#q6hpj)TKn zN;fQned+d?9FMk;pt$7AT5c=}zIl@X9zSvf?dF!w_)olNnpQjca@->3%2Zm>WqXYV zXcd+A|R=>~)NVn>I^2V?wN zjUmS9A%MMY1Pa*GSP0g#eFph$HKvWQc~qtzAhlJbgEMvfF~4L&1G%QFZ2+lZW+e*t zgEPFxv?Y3CsG(l>rko#An80_opjevonP=yHPwASC+{W~jIZ4n9G~4t%l92$*9I;ND zP3q2;0tkAE^FH1AdihQ3K6Pz9tR}kY7A3zCN*{1Bz)7m4O;6CEhdv%qXUTs88STxx%;$#pp4t+xw4rYq190(LgnUDxKoOTY~!Tl8CO=P+(tDK8h z>t)B#xSI~A9<{0FY&8tXHCBp%%*JTTbSqW8#nQh^W6F?kVUbpvFV&fHG-G#nedAO+ z#eIOT)Mm*-z<#*bP{E#7hpHcXeRIFHL49U?h;OkCy*k>Q(yEn$kNxrqV{ooJs9L+~ zMvPaty9RzBy#B3)$d9QzDtE7Ju8vJjGe>{ueCWGkU;=`5`RVK`ksjV1qUglSWK72j zXMCdzUya}g9*2Vb=u2Y_dHRZ9b5-en#vv5oPQxM`H4U8v_$M!(dFT!`1Te8hdaOVKYAF_B8+68&d!vXOucBEs9S1T8C!n!X#Y zx_4V0GY*Tk6o=bU2$IDig>G3+=^6ZX1{U!rR8y62bN`)4mXlw_B{#QTr|9u_#zj2* z;II;p$kmX1&7$HOwcT%>>l*^@_)pUHx2iv^H%AYb>u2 z$Jd&i62)(I{{c3}Zi&)=a&Y{?NI&^y+K2b9RR;FiJ)}p#YD$gbA${}oC&Hz`a!nzD zoRmXENSwS##^Z^cB=fYWyf0#B^0GBI$R+A$?7qeq7Xyv(9pVnXR%gE4W&i8T?_78&_^jAUc?PImbk{&$)0J1hU# zkDJLByr4oRX!7kFZFan%9ai17d!WC(YgEQ^-J`%iyel0d5NckyB-@_wP}r$K@v}U* z=_7s|>mBGnq(>Qm^f(-jJ+Zt=p@5|A`&`!^p!VuWA4zfI;ye6{ydHri>X&EyL1iua zYZ93U$(C4olb^@B`-2|CCkQZ!SR}sNGPwnbSZp(A8Phc7uXJg>snzA4U)w%MTbI8a zSau(_+1Wkm^T_s@ZkD-J^D*wrS*( zruE!;tg2|YK|ZQ>?r3#4rm5>v*^brJi|xGZw7X{T&n@%eFvEgDmZP!%IIp|<1~`Pw zb-Y!Z_vwE5c7MLPeLP*gURQU2W;=#_jdKLd(Cjh*_v?au?l1t?OA=Q(<&v#bO6ewT zk4kqb#|I554>INw1sd)a6dJPv)$>Ri6 z^4=ls)iz5}$gW%--Bze`EDAY#tqW-~wQJR?r^q0BjE!d56@J@&z47@$OA;w?FLm0M zs?n3hef0Em|Ng~swd?sjEeq)j^>>DOyt#VX`Di8h=jq`ckwv)e+s|Boj}W0iR7vz> zXfwh2UtSZqv}}CPL8C_d-{O23!~{KXV^%_XVX;n=o*ScjPqL?eaXfIJCyl}rAgk10 zAoIa8<;36+NdCxS8g%3aXxE5AXiQ9j~MIZu$QW+M{<2=HI{U&8^Hwqu|{Sx(Xl zS(1NtNZg&C|E4K^5qrdVKZlOLm$o;|T#>fP9I+A>%1D@W<)Eq$CXAyX=3DoHMf)#M z{5SDWVyhh;f*c4pVu1{#P{kn1lKoMEv~ZF7#X1yUXtd(aG?4U zM4rn7^J)Z-fh|a_O86@X+w6pwy9ErdAzZb;c&&HJB(ef`?@^N^U3SvPjICC@O2yBY|yN?H7`R_g+%ilg;U4;rQ z?+!YQc@(y-b=lZp@<|Haxf6S)LF0WZhu2IVE_(`igCG19nt1*|@S57r`ocjGUaYxB z4(eE(9WNnSF zJXGfDfZTo$x_zP!!D7~z(|B?zI}0(kE9LqIv=|{D6hR|+4O;nO2jz$PlNz3amqG^O zXAx7#rHRXM1CA3@r%c$kQifKnV1xw-vF(Aj#wSb~VuKGXES#F0V^a~13@divBX}lh zx#~wxXL-kC0dHb;gA!RLS@Yzn@^)xId#X`+nKy5Xsq9iMc?Mq(j8r4VIe6%7Ytp2VGg6kKq1sC>!7wdUe?2VSWG>jD|&#B z=H=PLKMMH;GEMecq2>QV9qgWARP_9M`t5f9)IS;q9~3>*ei=$LGuVEP zjgPj3=}-eX-mPD{SX{^@mg?qZ9~J^*BK^VLB_1(8nHFadJ9erwx-Qbe6Ze7N;p?X1$ zHB;{h#WtG+b|F|8YBJ)A58ZC<8bDl|J6gIV5F6`(PnIY&1g8Xl$Ualy0WWyR3Stdz z72EEsnXG)mw&&*ByS|*?#w&pg4q;D&gr2_0@O&^=@{uOfLBg**@iuemW&a(-SSMRf z?_SDf2b%wWQ~r1C1^ER#N6X6I+EYJCp6ht?^6v{rjMb&i&CuOS8tyH&_+JSqhEPq3 zTihCk`{)3!W8>ZFx`mYs7cyNvfjr+)$vG~eOCS)Pw6y+rt@97F5{??PRsq5RvSQHs zUj*p9?#6koSXaD|ahXOWZMrOAAZ)0SB33d{zW`hToRX!Me@lS@l~-I&l7zOB%{z1Z z^xIj+(-7Uk+Fo9y?1YsSNRtJy_b+TA*uM?DY!r)imzG5@T~%n>Uff8_<23<0biVNr zNj`6AMyM$00wl6sGce7e=cI&h*E;ng2i=7~6_S3TyN{y06#5i!DE+&ECkklb#TWt_ zcoO$)wk)rz(i7GZ@77`1BM-!~F0`PC;v%iFe=B&^m0@EVadU>gGmJ`0PD@MH5{?(y zY%NZP=1SUbx_v<%Hgg}WAkuG7IsenZ>i{(HRBH;s%V@qdXFq4VXX1u_zfF{%QLSo6 zxl!8a>iL$&k?hoO))zK(+y33PYr~@tz0pvN+3Re=V2GNjiJlod(#5~^8D?#gNogyt zT)qvx>1%2R_G^E?6@7qBH_A)BUG)=3OmGFpMYu=f8xW2=v|4qFpHwIGQG@yV!a)9~aL1GdbOS8N0{tTH2<9n4$WwW?YWufvH}SV{XH=?>?G#v5 z8csywqSV!URo+9WQbRXD^D13AF>=asEKh7so2F76{De-MONZE4whKkSbMCyzt?6p( zWrWAUuk2+Je*dG+q>ECM;NI;XRUR8uJ#@Pc14V7MSbDPn(t5UKCDZABqJdxX)5| zt^o)^wSXWf%gbtzQQRyPra~AR!7qbv-Ti~F}B+ z5uig*%WXJiqaHPLwjjGC@8L)x#=d=(Kwq-t#`Mj9Z*Wk}X;_(<`?+rs9lgmZj$OZx zyBq_YJpFMv8r{reb{wkqhHZwS+V(9LPuo#68c4k^m7}kH#IIvaG*dapWQ!=1L;KIPwnQS@yr%tP{0! z{{IMy|CikW;n}dMS7mn~5wLTXC4$-IQB_5Ue*{{>x8Y_HIMW5>#5)LfETN{2EfJ}d z0KPoWUH$RoC3~$Mv*&47TtH4_Sa=w3o{pxttrEPsJ~TsW8A|iKndRpdA|8({NGkiA z6MuV5;7W3FK?l9~{GN;dNI?v~p}?AC^2TgnMIVVby4!O1L*#20>ArJq?!4b9SHy2FzTE)`yn&#mcU#l4~qryl7648*$;vh>x&XQ}8x$h5qLm$ij z2?p4PEHkv1+Gi2Ul^;i?zYXvNX3i9*38*iSfcEJ0#vOSIbR-Pwp#HwclA^8ZC=sW7 za7&}DLa77BkTqd;S&B{c&;jqUccJyX^VRNG4P|rz57r74oUdSd-EHTaF(;U&7QDkf z06R(-G0}1v&MvsNlMvlcB!>3HrZEK>iX0Id2^H*!5fBS{@h7li{GurAW*~;;k34Jf z5ZS7qcy7NSJ7((O%4GaCjc3-gGag%e(a#?VN))*fNNBivVMA`afuD5)C|R+}nG8wh zXE#V#a1u+SaX@kx5=^+oSOXQFq1ES#R zE0LcsgYqWr8vrudXPwMSoLLI~@(mT|Hj4?E#M*-oH9)>k`qk+6yDghB@Tq2&L!s-W{|zpx3aXt#zoUhx_MpjBv%}=H{ygWzw0KRpR%~6MwKg=4 zh714$FDX_CRjc81ucYo_omM}x>{8ADF74j$AOPiWuA zcgF@F9RXuhcd3I~9ArKm8$E0UrgDwzz>=2%3upcU`ThbVE|L>qm{CT=PE%C52dc+Z z>|d2u5Tq7mU1n^dynNQIs*i`Oy%rPS@%!kWa=GeZvSrR9gf(f%%M`z=PIEU!cb;6YX@OuLN3CKu)Yq5qyNY(1L%c_cN(dmyb#09 zq4?0pN{BsI7>{>V8*R!DpLwlngNxw29Iwc2h9_hK#&!j4oJp03a{Pn`Ij*ZP_)d^UdC$hI|y1H%3 z%>b=`^ZnQY{azC@ikz%SWhKa=J8hcHvR3to3;swVdQIp60YGeUYgjFY#jGJM%ab-J z1E!HzPakMJ8GEZd<-qnz$O zl1z3Lbp>^O`^Y@~bIz{jx?Xm(Zv`N8W(M-(m(Qy3{m$C*c!lcQNw$QVE6@9VWM&UF z5y!$deTy3cA6)jIbZiArKyOrW0P;E=RFkGo=&sJtbPwZP!@E1uw!%p*wh~}y*F_du zyP7{d&2x$MJ4Xm_We=89*>{2evf&uILq|xleI0u)S zPV7_Gs{{6+@$3{k0H6BTr=aiO&!>NXdcB$G8)kM{wGZ5@{eVqLE9>@XcM*r}wJPFp zT2^kEe>$evx<#ifRZV?Wnf+O{Lx1j@7WMJKA)J;xrZoArw~1G%K+otUY7DeXX+cv^ zlT00SD~I1rTe%a*CZkaxIHkdjNhx+vDmbO+c}1lWBDcDG{}Q(soU~8avZoCtIp)Wm z`Uy6rKbhp@a?@u*)a$|TMB6r= zT=5NRK=RU_KQ=As%p9tm-sGHe5?pBJeZc%m*a2HU0#X4%4u!T=V7-W0NZ-p)aHs)! zQ@elcTqicD(eQWKsFKX)EcE|F**OJQ+GuMxwr$%^$F}W`I<{@wcG9tpj&0j^I_g;e z>TmD!*E#2EpQ`tA)w+3Wt$J$C`HZ2~473=Y@K4^najOBhc0l3;w>lBn zC#uqV@x*w1pu4=#T3uTSO)7T!>Sc z9UWn42HkL~H^xfyfwyQR((L4nUa~B%m3Nu(V-kNFrc39!h8wx3nyc=epVsf;ek)lL z_G#!CKm=>nt_pb&MsOuu$8qq;!|qdGe9|8z=SK(+p|JWx``u`Qb*?Y*8Evo#^~3AK z{ry7#0l5=91neO^BGylk@_L)l5AtjF$Ubx}@yL_0*KUoqO0VW)^f6TTR`B%HIv7<<`W;cOer_3LqgPkFWa*r8A<#7(A* zdUp5g4QVIY-!&~&eypJ>-~mC6YI+sKQFON!4zA3=EoanAvl!%CN(h*LJKv0(-GzyP za4Xw+IV*G`^r0aJ<&8fxknStkE{sdt9ih5o_%2^35c-IK>i)L0<2e(a$pk;kWkG98kZV>@8bW6>o30qvAi#wi&1 zlB}b+5g&ja(J{0}7nZZLO?Tbhh=VXWu!T98?uFe*_rh=}>kB(SLV>u3N(@n?4}^6X z;A+s5v~be9nKdThzL^C_1ftP1;9SPYKjRl%^l1=f$-KP3&$O*5u9szi4L$O@(~&HU z7w>Q~Y0>CLY_C=Iz%C!I-`(A_{A`R!ScAjCj{JZGxsR6Q(cu39t$n;deECW+?nKv& zyQZ!aB-ED$jc;~m7$U7J-GBdE;v_gNto%Nclnkd-tGtT93{l*?Rr zGDyW^Oom7NNQjM=#FkP-5R>-(a&r^L6rd2C533iUn|t5cEY;v}kQUgSv{roRorRw2 zy&qwD5urJWq4TzcP?VVBwG#1~*wH9tv@=GGWZoFdY70TeFl$bMN46-3R$449=hMMJ zTS7vX>#%OWe2R=pZL^ko+)?G)%9^$h_smg(Y?hh8Q&&aNpHL7dO*LwE5;Kia%k7Fu zWRc*hkQUe0HHOBvgrV}?NuA7UKnweggrt$#&=+?#9c~A?$}R;)l*;ei0x<`fq#uDz z)?Y=k<;#ux$KF4r)8>Rp43dwWj8&=(PUXG^Mjq!G{TjugQIfaSOnA7_!e|h)b;i3J zW51`Mn@2wwb%aAqU-jFT#zrr!|4Qwu<7l)0z!&R0c)|~g;~X7T@$t=$5E&JVpFF3C z5>JG`iu(9)d^@|Y01O8?(wOIwh&p==YTbiLc@xv)oP_L6BFyZ&BR(A{@xa33=*yyl zh!c_TR#qeN)&^_!y{RURdSNQJ1cf$tPdDwVAS@c+vG$c?k#yt*{gM@P35YMXZwM14 z(kHj35+?@nmJ3g1Gm%y@q}&68Wme{=i?}4z3z1PxsUba>Hh%J&0f~VYmbC67#FR1> z@TgR_Vt+RiXF8Bi@qQ0SbS1Lk&XvpvNHO&DH3b3Kl=;0~mB%pEi|r~r@$f2!>2dLt zhk``xaTmB8O$^8{Iozr4gQ(coTIQ~fP6zVSg5FOG`E_2Cfxj=JzKwWl%VQi1Z*)Lm zcDh3Trfqph2z{zHTT{t`vThW!20KUFg9pH>SOxq

|{fzgUA2P9&}S2`ir!+b@}|9+7{A4LS9j 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

WQ!jrOc_C$#m@-_vj!#Kv9 z4gL?0;xv^a`Co~uHW&MrR@Ls66q z)qf?_RCv&zHjGX{kol)xd|kQArlpQaP5j+cf+5zYpZ5|~2IBi+F-r^^4JOE*R_w`1^Jwtnp-uDHKumR3~61nnj3%QvY zCm1`YYPTDcDo&F5)B-t>aN-N6fhPf?fQU++T{TzFb5Du39b#Na=g>exl2k}P^ia!%s zMV;Lo6^TFSe(>zxLZSEmb@B7l=yhcI>F^NrKUNgVl7m|2{4Z8?A$=Sh>>m4`i*ge? zln1clxkIDD|FELV|Idn909G9JfBO$BX3q-zV@337Mrh1?4n!qxbkQ>G?s44pE)h=R5 z8*7dhGt-nHZK(yL{}^z@Qq0JqLKp*H#>b}_B(cQ7+y65<#c3zbdJK|LEd;TK-5fHM zB|Rw`R-RtSh>@|>W?~5aI)hL40Ff_C&Z*n6_>!Zx_a9d52Q!Tdmfx?JuC9Bs@Kg*O zQ_jgl9z(E$f_jocun(eB5`r@zv|CGT8c~oaqk=Z^uwX=r1fHJ|YX>XtDGbDB0ir*8 zNV6sxDucg;Ykma%iJ|VrQs#$kOt+4k51-nrdhrZgBFKCPLapR=<9O~)a?67#U&$dU zG}K}K)0q)h>U6n8)0z0r2C&MEZ1dX+%MM}~9IGx2IBc?oBgOILbbf<~FOEg-&8eDj+)p8(UQNSrf-mG`qhwcV313BeEc z2^y0Vqn+G>r?&3#gN3EWr4?bBi_8Z0rvj>|WClrx(j4xUL+Ta+np#RNb9Y>>!i+zc z9qni9w1(^^Twl&twG?=FnNF^Yckaa|X|-I`!-LVuWfLz}f!vmT@yVu@SXvaRtD18h zLvYoS7g3rSsrZczmKq8}2nhvE4(rJAi$YzWcJjN-9oz+|;jggiZ7B=9#FQW-P@@@< zFj#eVXgmK`9%vE4&@F~kG{0XXcjjg*a}t$gcL5V|qjw~no^up|DH<%8x;+#aEP?v(~?}e*yvfIFnQP^Mcw2y!fsBbm_ z$qmQz4b_4bw%v|8rc|}f>=L@#$eIlU$oC8@Xr-ixR8^allYKStoE|UW)tox4R8-OH zCg9{5OO+~A2Ja8ix&OQn!94r0zIwQ>^u3j`3WpDfA4~+jW~FFuM2LnT9|g+{g?YGF zJY$s%YMHbhGCSk3$|yxl$(j=mQMiaJp$^kA{HN=yE)3u{mKyZviKHQ&nRq`q|OU zmm(Yi8CmnZ??|Ohv&ijP!F4B6GGa|sih*L5@I#|$DHtjpsYMQiQK>+!bNRGQDl^{4 zJ1b(`a-w>62cxfiUXv@LA<5)yuODcF<7kiN2mI#t&%j#-l0U$SZDjS@$(K~!`my}S z0fBX0-{F3z8=#|3Gu`w;XZLr=K%U45w7b4mF<>#5T_5BL!kfU+B~~ z6n9e`d{eFVQQz;YIr`AG!opDPNn>(4aco*DQKmyiSb4ykpd>r1 z2rNIV2LuPu(@`p+)GfIXyz^6dJZLXzCEmKFkSn}Qptm1aeH4z#u7GMMg}7Kodo{)0UKw1Bn!BwqRIB@X&_ak5xyVfGhM zYbc3|Vy>pu)}f`!qk5b?=s()g$8l!*m~+41v&qLNiIs2iwW)}Yrogp|EkFjs!Dcu~ zH4}*>+V0O}WZkl)GZ@8-LmEwH<6CO1i%CVFen-Xu;iI=d=uVy6$vPw85Yl!Kp>kwG zyTh197&!8-^VV5v9#y8c9_2Y4^Hn6yD6T3^MjEbr71hi`Xjal`cN=Qs*RVed&S4KW zXkD z`OMXt)v{y2j7elNyK<@FyKuh&HEMIDJ#^V9H$4S?`hI4uGrF3=>Xxhc1ZqVfSr03e z%;StU91PQFlx1nW^R^#7-HN*DeLLM<>brTVpUjU??|(r+B~Fq&24?@V`e3m!`$mmx zJWsW!*w~e8>diIr=9y>XQYzcXYX9^LY6Yk#oOfBd->Hd$CT(g^4-jv7g0 z%za-4z5hY#c>8}~u~9S}Wd_h}FOdQQ0`TJh=DcWW>tJK5=xX{u(?mM|Q)&N%tS!IB zsEU9ezLcIx(h2=frJdxz*EauE+O=RZw|D+k+F!rOpg9|C1h0f@Dzt0GcwsUoL-4YfWYVzf|(^l}^Rxk-?ij7&}8h+_qzY~!T9tVDzWD3_u9srF}B6K2+?t82e6n|u( z-G;jSDF~n$DG+e#=j&gAdHQ0X2_*&!JY8(Q4G3cWUcZ3`haChJ($~+<#9cn`mKNOe zbnXE6>jKYx9;uolIJ$q zEhftyaf^*HX>5K<)85OjW*QEhbS4#_m*3}xBcYa(p6iV1xFa@!asd$B{iHsa1>UQ) z7|6piN@{3T35Z~}*=sPw@beYY6T^Iif3Vk;e}1d|uss`<0OY?aJJRDR?XVpaYF^+CL(mq(Pvs`{QPrJGw__AVR`loKD{pntt zd4n`bn~`1Q0aYisf$kLQ5smG{>tMj5OvOk7PEN^~3SvN&ZOp)o?s2{|oB(+Qd|rsQ z*Umm-0qR^zgN=l@u6(YrXeP}=VDFBYqf@!#71BlkDv4uxvd4aIb6BYYxiYosH}HWxC6OKp3ujQ-28YefkVJniw!$?RJXdS_lzKxd*r`wsAy? zzRJM6?q|>eN%o{ypEybpcq9D*#3D&?j$o1-=&=p|*9va)n>@7IBNXUdS=8V3kLMw> zmd7bhGeHp0WMe~Tek{v&1UW5?r~~bKAf=+pn~|oq`_3faH$FGwdMC@i==ie`5>?(R z#6k;8%ppbCU^n)COjF208E#^(8`tQiL`q`G)%b_>SygX9o&C8XHmejmW*iYvXCIzc z;8ZMb9dj2Wm*)?$Q*XjA?TJS&m6oy;L?2h-PZ{}{%P~v@e3Zw|ZWi%JR&w9za)Y!a z!U3sFgE-^su72bsGEj%&{ncXm#wbqJJ3dy}nmVIWjM>j$_t)wlxmdBRDRlYBK&J>N zEkh;jEfRbaBNWVZdC*R!#C~FI>zRLb_9}Ynm<8-&(~Mnj3N?y6&>sw3Y2e0W?}I)deUxN!D2+{52=INQ4V?e_i?T|u>v;9w}cIp|Jv-MRewczhb^}5vHRA<0$wIK!c1twB}hL2 zZT1-R@PBRg_;GcpalIa*rpBX2DfndFh^9eO!opDJIVLT`?fEyO3Xw;ZrYw2maPp2yU@}wJO z(GSSZO3K$d?Hzs~(hzK7?rlkz(WK(!e9TI$b&<8x;khrnxKVjBCw3C5!v>g#?sEIC zTw3SU*6bv;^Q!oIOrv_@nRV+uM+$mH7j)QP3FTCSGJ3ibKsj^uoj_ZU#>Al{v z-3bm96e!vvui+nIk zL~{lul=lUmxo}*LXzNy-)Q^KLTuB2S+ zFA@6_=CYu%pl~)l-ft*Ap;GjYu*| zqXKpkcwg%tf)pBUU{dhKfEctX;Pur6Osko-P{-XwMEss>EQKe(6&vDNN~s^Enaim^ zO_fxppltH>dg;HXQmR0{e4CzHtcbIPnnSiZvjj#$A{s6m#vbS!XR%{FdbZUNyDd%@ zq17K}>6bzOG9IP9(ie2)icHYsEDQfe!Jw}%4$@_9k9cog7xdQ<2?o@eNwgRxqmy)s z{IVKYWuvxs$o}=*o4&x^D?MXRxyx?igk>Bh*e{Unc6aou*xB-nG<5ER5XhyG4-Kg;#zMQX*&X3jHF^GGf0H*bz=F?@m^IZI?YK4l%m| zEO~bSeCx)lo-F@7@Aqns;C*}K_x;@CC2V7;zu^Bu+zY10tvPpDw-P1=dg<0iFJiJOmg28pLS+HHU9rTLbIEjb4Jf7v@+eKz= zc$Qt)WB0g~C&$-9%!jDEha3mw@h2{CL$a z7EBXXB8vD}?f50ZJx1}nq(&^Ogx#QxRBEyc28(??mWt$87JdoNc_T0qRgj9NT8pMC z5BKQJ?edji5`|X$9f{OR>>Z*5!$J|<_adggMssl<( z6Q(Od)%O~1$|LNW$ER@~96GM4xEdaCpEVkGP1Y)&`ZfFS>Vv+GuU+e!{+yTk<@FiI zH_@@avtODAx$aLZCu_T|U*g+7>PhzLdwcZ#{knes-Jjn<>3gX3H|Tr*YrP)bAb;J! zzc=az)Jb7QHDxoF(a5L_(~Ls@jwOD&m+TM!1^&O^-Vq*bkPiWu)LFs*bz%KKaI9=< z=wxj1e;_j6hx6}_x0l?Fzk;W^yJRebCocy z_luv`D>yq6h`S4Urf!g_FQTu#Z4t(x6QfxA=UhDwXAktWYe3d@BU#ryS%#!JjV-q@;M#Cgl4FCr*C1Qno$XLk%>2O&fg(ihG zolsJzE;UO%QS?HH4KqZbsyT<`u>24Uk${|d10y1PqwWnvLcnokuHmZtWBRugs4lN0 zaxJG0XSJhOL*R=tqk7M1;9SJ4kw!98vApi+^&0@l+<@~CjzKB6`huG!RziL5!GgPr z3Q(Mbf~D*|)!Q}JidBV^SIoDu!O9$%2$~e83L}0s1Cu#JO8G;x;M>-Rd!9MkA-37d z8lzM{H05E#T+yI`y!Gp!5V!k+wV2AfXMj&&c)@N{+-{GKmF7A>0 zwPN>O{M4AR&l(QYz5r-gC=i!eGP@td-6#y=oipJBK@3G&3~fgE3TyEU;&0eo73O4A z@FC6uuQGWpV2R8Kpic;oL@|4b&V+`JA4a!arcA{^&eEYWXDz5Gt0>C57_@XC{9a`y zYRF4>SPz}mJ`0uZmklS=ps(Pxs6SspzPo{3?ZqAhun8EL`hUda@*yEzq~hp>YC8$h z8WHxTH8wRA1juk=S2!pd5}`yFWX9M$fGxx33tZ*$6jRH-@beXBvK??7F-;EoEz>f2FEe!R;hnaH zbS9atje^7H!X$mpU z^*Fn=fVhYz{tTt1u*GU$y}YgX55LE+E!p4*E01nzv%P zod7sRqL@;`@aFMJ>W{XbG3o{FWLkR1=ns%st7^89f>P;-R*dqS(Pe!ViV?=Q#iOnr zT6&qJMN%IAT9Z0E+#Px=_D_ha)HLQQJ<@GWInKVQayegFJXsBb+)-o=Z64|fK{+Kr zE2|W>Fp8IEBBZShA~f(-c*?_yjuj7Cjtl{klpPbDR;M-G0nq3pHa1D=LU8#2Td_2X zgzvRgzQ}^MiyIdr*Jy8e>VS1gYQIKT$94rD32E%um+4$2W;t9PJtV1nVSY!2X?-`@ zG8(tqn`)_mYjJdjl{^s|Q7zwjA|$B)oCUq$ z+udO!@Y94tW*Eu`>l}hp>=4J!-KwajAj$3+c$j-K)3H4=61r0xnRQg)|BcjaC5Qe4 z#s-(16RP3@IVanC{#ihO*mnv{q}0?%LYYg@iU;UHG0f93$N_7>U!+f{2w{nC3CP-- z{n*$I8cC9cV;A1CxL&io~!;%7eR!sx`Y%#mvLA zEY$k>b1WDeOcEm#h$b05A>D4Y5HvX5=|R z)XXXW$9e-`Vr~k%uKSwHJxS8-Uv0s(PG_!W2b9*~x#i6l(%{>(vl<6md0_h#zao3! z_e6p5m5kul!?pO@w($U3?;w^bpWY4JJfq>g&HdJe-9rkb`)6#T;F0xy!^te~I9s|z z-)eCGwdr!w=7&mLAdN3Zp$!*2E;5*FMMs7$8Jbm$LyxfgNb&0iOG zkg;)iNx}=dDEfyt4D&j$Dr3LO{$yBP>vt*Akc^ZcX!U;a@s)e=)w^>?A1knyuQx_1 z>+2V^&n?sp{7S$QRmLdb+XnKfs_w)smv&dATMytx_Jdk{IL`oA-ADC24-$r|gp(cNbU#F!Lx%r$P>dq|tlz^jQ^J(cMmvofmZ~pv$;8S-B#Xw6 z`Yn6C-a=epj@ye#nl(H*Eq2A7j4uK46D{{oO><%OR*0obUrsRsT_tX5^|rgj#)AS{ ze+pyzV%NgM1zZ=HNeDeW61;8Hwsn!LH*o#NOmv=YTv7qY(LzT#u@{3?Z`~g-O6fM% zgd)QZ<{#SPXY)9zW$Aa5R(^@Ch@4Q@T$it%Ip#Liu$)8X$^5yhm^`lr#n?!r8xsiH zT~!U2Ps^6YbQCkAeB&)3(naW(puFpZ2nMf-EYcJ#O^88iWGN%59^4IxPD>`bOT0DW zq-G5k$>d_!6SN`h(MCz$jHrnm$wpltthk9RxUz&!P|i2EBi9Vi=E6hk3FJ5^=X`uE zaI)6&l9TjY*}IxUnlTRb6I4^DxtSHb28t4LNG6)oBhWaDNG$L6SilsEzZxklLPpPE zPVx#ElUz9C{W-9B0=?G5Oj(Cj%=n{CTkoyj0;ce)qSXliqkXZ@hGsRDUZu;oF7G@W<0`~3Ep>e1!_{b zc^fIv-r2OfC^OZgI&QksrTrnci&o|$h4I^&TS-%WLfCGZaIi0sC%JGt6|h*>K${bgx;JpXH@(4zFk~Y44Wz zHI1`&J0mJ9ZNq$7S9YdL9ENf1@90-MA>L}Gc0VJkeoS^ooH;kNnr;(*si{o@?Zkhd zbkc6pU?78^6oOEXFpVZK&BV4}_SiAq&|e?f8HieA(b~M+$;RW@5UKNV>e?4P3!*4r zf-Gm?>D%j^;y?H}DTfVjU3ZD_|F+SP;d_9nh0(u0}; z1I&fG4_#94>cM(@(_OlI)7gk_D5&g>9Lp+pqO8&AeYyiZ>gxnB{005L!Lc(l-}(js zjz0m3P1gV2Rn^|fMa0s{)Y!$+-j3eF#n$HPe^Q%oggu&;=~4+TOB>5oM3W*>Ub)znDJ{SO1i`)eao(S@?hYv5P8-5E!_m$z zZwEVX8_@Szg17a<$wX&ix)1xY{r&+$ams>ZGfLAz1#2$}=@MMLFhPKK_&LO{m_4uq z)r4_qZ`1}_)RB18%U1oBxPD7^#r$c8J9xpFG91Nbq~UYfDU!;(WF)-qPJc401C1oC zSd24wpXftcp(pJj@B(qjZ~5=^>99pjunc+aMW_Q$af0&MiK%7;__r1sP3L8#xU^+*Z^ottQ08jBo zrr57@bYu@@8M5RV3_i!fdfo=%Y^K09`hm=&3*xt1sjBH_Ej<+ihdk5rP{xqzfY@eH zSo>gF4iYS9$dqhJ4I^4I6;=TZsw~8hMxd^#1^hvacnhO3+5i^U{=?0X220eQVR~Q0 z_R-YAm~%qw8gOsa=ESyksh!(A%rL1P`ScC;Mqm2=cgikV3LZUYal#J?(-!76YSQcKOU8hGFnz>b{SNNf=pgTya za#V(nnR-dHUV%8WcowQLP}^i^b<8HX-x`h_!*9800pKwhS`1BHjW)FoNL(mfzD zZX1i}_G#ygKEcyoo~H=^dg7{}%5K+U?2xfG-S3<27E*K$FFU~dPLCgXz7?eV7#VP87WTLMnN?nP(zdQp2N|XO zesj#een)xN#VEYBjy-U(&V!$TGBJsE7Fp-)qt>ls))o`MjjNeEBXTvT{(N?LpRv=N zvRx*9T2Lyg@OHAD3g=JVE2fi83RJUmf3lJvW*s8BavOrRaA9#(xlpca%kvdR)#`oa zWptBrdfXN?q7_NLj&^6Ikc4J=9<*IzN$)OO%wjn+Q{WgZRY z!xz{H{g_lyg=(kK)JWK^fd`G7B;lh7Zz1vaS<4MN1$k&LM zJvIoU_d56xe3=Lyx7z8U^2$JYdHsBez~e0t^j3)YF4%Ke&hK8wpIEICmYOblsC6I__(%a8 zpJLdNQ&5`82oX4YN@+zqhvBNgQ9QO8Qs*yL)mpTlJ;Y7b;J``CJX-K628lTX?_p*o zg-2y&90}7gEbQ}(=Cy3L>)UT|znNvfm!PI?vCu>yem5vdut@%beSxjD0-a$>9lf!7 zZr`nK=Qi_}{3%-9y!pq)+wk=Alckm0PTQtk?w8F4mm*I@nF1iesh~(|Z!-vqdEB-M zVQhQfw)ndFo0+*p-R+m0TIksCN-#AGg}l;bm`8hb-Nw=lRX1{MyLA0VUavF|T4se_ zw&qgo$*sax&Ih!adEdKHjGL7}vU=9MNp+pkCc!!V$}s=08Kje=MwN%Z?L$J8DzGtT z3t$29P+8Ctv&_N?B`eVRSr)-WrnGK6GyMi{X-rfuC~lr2#oLlw6=E%YESOPIX!XUQxyx*w!bv7DegWIk zgcmbOmTn9==owxC^jQs5>touhUO8bHu&2Gyy)MPesu-ICGmLn2pss;kcZawS3t-R=Wta+E0{uAN! zg&GpUC!!hjSDn(Fx;lUefz0f3F~!E0LiaAJ^LMVxx77O%5ggz@uC4#MDG|?1*(ka1$@Ogc zNaW%9i(Gy^J((Wt&H#C%hp^j=*Yhz1c>`m3gPq^otkZ+n@6F}+A{xJEOZB6w3Sa$F z1)ZVJ3wm2$@2uZGF#7+!JZAQxj)noA<&6N^p#Not69AB6mZml){{@fQe*u*rjKBDn z-;nldo25#UfX)x5D+~q96@VTqq)z0jSE`sJEqjcOR@qB0cfN04Yck&4n4*hqKvnaGj3+eNt0v+tC!PdU#0TDrw(t*0N=;tUc z)GRl_JxZzAFG0pkna_#DxlvuDU9d=;CU@XN9Ta}G#x)ORuD3G4LMC%3U}Jv8%1dNU z2(H}SHNM15PRQZ%$HVt}@VYPVvI@Jf1*rWr^`fc9uzH>H(gX5qv|=lILEv2FF`u9jFPncw#J>yu z1G3gIy(t275n;nc3{!p+S9&u!92Q2DN0n4vTVAvdx3>o8!{5Y|pX5c_93L*@tfcg0@_PqmUsJKU8 zd}-|reat#3wJ{8MXRPkD-y-9zIwx302RRb}_Dcwl5?Nso-);}b_$^>`r9cPM?7`Cv zE-^ssC)KJ=-n>oJEYKNnY>Wxs+g4_-oVas{7+qfLJ7w$IXgHt^c!E_C<9rAE?rON$ zjKjb@_V_tkB#On;LkwgkjaXk?3r386fYeuKWGYyY5d#+K;!(jAKuR*77i%Xm<{=Ev zl7`$dzlK{U3x&Hfz|vGoxX;|rjK%Um!LpjuJK?yuu3c$IxWW2+n5al&)&hbZf*0R zsm1nR1qj0}m9sJP?{SIaqdLqX>pAnA5xRmJa|hcf^>NJ-eZ8WYs+8Y%Plcr}yEpH$ zU6`zjzUInVQX-T+*GmX@g;%V&(Rs}AQ7!B+#GMZ3y%~5)X@>{l?vg5yw)KTpZ-wC!cLTKij}kC1Eg!6X7=$M)U{DvGyazjT<1f z?|-SWq>9L&Oo^$gottGIV3(;trIKs-^$6A4K^7TMi1fy*tIuTX!?4&u z`7H7^6ZQQtO(PgjDmJY9A`)dzxf@jJMMX!s*!V+*lsf+t9mzfSY-TM@LDE1~`AMp#(-F zth5D^loH-yPyOJ_*Vb9yO9kAu&jvKF)?#$^d1}30QIZ_3VQ7bKcgTcZq>OOTE;?`}^a* zv$tc;NU43>E^CIa_Nw&Gc_)*e{GNtj37Bk%(S&ZD{AOrKx~F9}>g_Fa?;cR5Nl^48Jd*A_0Jm33kAg z$7&0B+V#{a0T>S(hDzOq(bYd2?kL}&>OTMYcYUwcHP1Rh-L}}CVdLFAA8a;ex_-sY zzSmrKE56O?w%`>dJ*HLZavqHIeO<|Z@SssY4eaz7dXv;)>4-(kw4WvJ)PV(}{npSd z0f;*c!_>W242InK7KrshOTTgj-EAL6pHZ=;_8B^^8V|T$;?u82XZ*Tap;KVw$MagvKut9wBx6@1s52O(eb=Mf{DbkKOM@PnrT!1 z2--_qS?=v=lM}X&Z3HwV&3ZDPU!433c2nOwgD#m49QxeQw) zwty7z0*xch=}i^44_8JQTXzO=G$f}{1Z*B7f7CeI#k>!q`XGNPcE*#esH0(9;YN==CO|6}Z(x-5&jZQHPI+qN@oJHuRI z+h%6iw#^JX!?tbPJdyj`=ah2yec2E553D)MDt(Mrdu^tVB7f^t4NhpJr=e|PA@Qg= zen6Xx@M1+tm0KUJcnB5ywP;gcT91>jVdIr~KIVeSLlerdN%gon6B5uN5Czh2E1Fl9 z#XE+Gi^7#DZ~J-SeuJiqh{BdQGNHC!gk{vj<3CkdfsTLBB;rNhc> ze3`xEwKrdlH_!&acftwtJ<(FAThAJ6z2WJP7<-UU-AoYf@m_=)K9xToZ{0e1`&6S5 zCU@l;*x7tW3v+y7*HAAf)!5N=bd_Dd7WbWH!06w}h3Jg0?WCZyQ0r~|bobHUspzVy zEe@ojbg$!8T+5E&jZolyHnq;Pfy$bb%~OSf{?MXor|rrqNAOw z1;E7dKf|r=|0PbpOO(>uwEw$AN#L@kLVynzc-Y8>1BLV=x{Uf zDFi13>CTE4rV7;C$p;{};Khd$wipzqOGaL>+dBApa0v?Jm)QI^1UM#o0X=r!Os-GU zWVL+K!n*)!!P6Q0=h{b1bXt?sn&IsSWo#*N` zG0f-B*|vewH4|z&Oh@{wrlnrJM6+mm%E>pk^PL`;x}ajjW4E(OM{iu4jU9jCJM*dM zk>$>plOY>0%mj3CQ0sz?oSDtAn05j0^$+B%NXp}n%T2`ms@Px#e!QIMp@J@(H(JIH zxOd*&Z6KSdBXxg;U*Cs_sz}H$(YL|ux`@}5zZakhn87$0T#d12^!7D-{u=mzH@)!A z+9ksY=ci3KH@|3}9hC1TrP{T#>FeGB=V*szp`E`d(xJ~X=BtUW(|kP*dP7X(=iQC| z$R@vWu3QG`xXaff+1VblARkj!fi*){R@2JeEstWUZ!d7c1OTB;I$KRxt`JshMA<>z zk*3;PsH-84TtKp3hP8cLb_IHfE>BG}ejb{S4PfXVdB9ke80R8%nkpf#zB?|TH;+*k zj^?rq^l!&6CuU*m_~Hj1h|ppPd5iP^x|9$wKsK* z-Lq=CvZkSe5#yJ)kv1cPggXQae{|T_MP*<^n?q$KutRkJw56j;(~@0arT#C%y!p6b=I+WjSG)Z#eTu=cg(YV2OQfvabES z4+&XJpx30Su+_0ZAg~g&uuAr%#$p!^tKSFAyC8M{6wThe>vnxo~vJdGY z=sMA0X~%Iur+3pbARN-w+VC1CvJeE6hRGegN4c%BLsWIU$PG3Y@)-e|YUSf^I!`(A zr90cbsjuF0>BEqW7choAbyZJM-63hYsL^MYdJT*#%VjS5x>2fFivu@&4~AkAgVj%` zodQR>QD2hXdmh0TD(tz8z&{m=LRzI~FRY9C+rC>atzAVV;mC@1w}Bj@a%R@17kL1b zK!lu@R3AQ1EFSIO4Av4V2x&GOpa!2lHITnX){|@2!zm0vDbkCqeh8{$QOl<1yc9k_ zzJVL;wwe6c`kR&?|H5Dlb31Gw6idF7in|`;_fYKoA`^;-nHuP_H}XZh5jEI(YRY35 zzz8a0ViM+SPb$lcbxIZ2TT%nmQP6r-XfjoBCjFT7#s!2K(Q?4RpN}f9x=`?ngsJ9A zEKZ-@5|Pj~E)qVrpB0}F5wK1!l^JjSIUmN&fA-%FP=%9zrk}`=S+}aJh7^CCO6v-L z4c|T0AxAGq1H?-c+~qrLUF7Wzw`fg;b`(JYK>n1X3NOMP+z6899vsoof5$_5vxy>S z?%k}zur*x72n7V9Ak@uo9tn6QELgBw#bFWxs*PXUOmg?3^&FCV$9mV}2R2P<)B)_Q zq}tj1i20Oh$DHmKVPgyPx-BkLJRDZ=pZ>-4PPs(}$&Fjdf{h)ega6)?T30 z4#)d%j*a+Q+xW91tEZn|-#h#sv}a`5$_1F6XElXigITsPlQ~Bt`}e_({RBL*%wilI zL~eq@hv$S;1b{TWvUHhfuBU4o@xp4cdilE{8ZVAlxTUwf4~X)CL(8F z5{)@+3-sw5)IZKbQmp+x9?u%K#zg66mXR^v>38A@yU8Ts8*4#XoC{yy;bV8WgvtaF zweiEIW=qR&IhU;z;;BR!wWZn0g zv_?IfCZnA)(oy{=={*X9=7E#*hLDCl&dmp$!cSpWy`82;Gt~a#eCU*BbSaR27uXe( z10)Kb`J{s-beGu@N3qDSyn`%N*l?4k$Bva$b_x2`6@95vV+}{*)jTB(JH!PQkVA(? z#ug{#k;q}m!n`mTch$apn;pUf;ojC3LX1mG+Uo1j&vj!EDF6p4jC^x2R?uHYxQulP zE7qUF7>)FIj27+zHDf|V)tofv`F5DO(C7G7*P3B>Odt$zN(LE}uR+~5)m&Jon@>K| zFvfrpFG2g7_a|`lkTmtjKw2#8SF-z304}Yl&L=mTho0y4PeXa+_tybt5_!q@NVc7U zIwNnb>(<#|%%O;zgK1J??VQV+K5kf_J;s}PlFp~w<@h;}7z|1DMBN$>DL9;%T{fN@ zF^2SL`hkm-qiP+MciL>0Vt*&$XLYJPvXv?ql#@xy$)zP|Ib)GmG155HdogsO!XsqI zJs?ftRdtIGYsIm_`rjPCKno*n&>Ng4mMtFP$vttdXs{`(nZ&A8+5b#j*!N}ES!+W!_YJQqB0i}%D`M#1sMfNcDbj9HCR-l+=6K;yH^e2 zM8~N@zf?6(daZLQ%wrUmbT)=BVk0QOe!mA+4!LX2e;^b z1OMEmpmCTp-|Do5q=J?I&4FYUBts5jnI4+GM&QyFmgH2;KC`JA4O*$aOXN)j-k0)K5{6niMPk=2iz#B#rmEK$wR&2b&Cw-bvZvUb>frCvVqx3^fQfF^ni(-oY zY!~SO?>Ekay}6D)yhldGbDHva_wRyVRdQTnuuqBHMc&Kw#(!*5+uAB^dXo_h@Ku z&V~W%F^9 zgnvM+Gn5M5WX`xq-_jbn&a-oDr#McbuD0wilUHzo*!?WKHNI`D*;l5Z=P=FBS#437 zr3^fI%RFh?M;?0^%4w~B%I39_o#|1jB1ox*hf=XrOJ|xe)g(Z@t~^f*%MgWjFwIIC z#np_{sz}O0KsHv)iqtZRHk;=JGdacsH#P4@ZRwtg>y>vzzwA;!4o<8p!4Ii&^+PSP zplU{L4k{BG8~r)r1c9aRCWICAvCw0H$?Tp=r|T+-@GHRqQ+cdRy>!JunbDAUMk#el ze!5Xw`sL8$8-OIdJ;G%*z^E7;75Es9LoJhARx<`3DNZ3S}6z zRk>hAu16}Ch~pk_%hgW_f%?xBUZ@dHerrLYT;`9ZzZ~y z@jhbG5gJnR0JZ^H5~HZ1S}h6jQ`g2x%jWlIsVsDs&eBsS8urDZ1200F?kmmPhl%(r zFZu4v7jw3>$jLi>WZloMqcXzKPvO^17+)EP@b?9Dk}uLty2T+3Y|-4F5ZHL`6Z$*3|C5@BOvE`(-hFugX6WaojH8RFQcFr;6I3wF7!M z+G7>_&lmZM(6ouu)vaT`bwL|hUtJQIysqau{s8Rq+%}QQV;$#7HwNYY5x1(z)~~Y* z@Ymffor1NuhO-K%{dvAC{h_1mrCaU8pcvZ^q!&DiKxrI_RF6%uHK9qx(fx!Yxe^sO z&-20e-n*-gJiNLXf(T=wb;Z!hlQ%cYt#80quDJO*AXiH+s#G(4=QwXCR&oj(1+UoY zOPr+d+e3OfHErh}_?Ju23$+hCTq5jp%C__APT>uT;GJ2B9wqmc@%VbL_)KM1yM5z3h)8-mKO;`OZ#rphZW(v9zE*VL} zNAj&9)x|^Wk0Xn-=KAe+ab2qZC1y2gevj_ZhZ7ykD&8N9bV9@}zaIrrBi!lMC(6p<^cmVQ-Zxkai6)>TOD^w zM<_2@+Vi%bca`ucx7^tacPinbQ1IcWOb~?+#dRFq1cxFq zYxSbBX%XZj7uLmDX|!U~VrsO8qHn8_ag8QI1dAhXd&^S{^Qigww&nfdP}U(&jF2pr zT#FyI8FrLWYqIrhBxQ4KO!wPxw>T+h@*`5@mkn&)k45Zfp{*{q87h_Sau)liA+4?c zhZq;OqDN$*F66uCl4(tIVzVY!srCx{H7J9#(3M!JN#Ih^a@TIdiqEe#tf;j#1EAm9 z7N>hR(R5H1aN)n}`!wTPE5@o|(J2hwA@Vc%6NhVxwLbFndTanHt5ngF(T(}j2abX> ztQ4sGJB#dTk8@8-`eZpy;pV8o787t^&G#qdF(g$)iEyg+<6Ae%e5;%YSjA3}=Ea#qoDuJ8Nke zkzSR#m`#8+69I^qYP6RU4 zw_0p|v|+u*?Bof_V}o;ixv#mFHL+Nm^ANbXo3>rBRkI z*NKRxu}GTM@p*8V%Q@L#K;KQWL!)=?7Wi<4^+TN>!q3!^+EQL`wVvcWf5PFMPQ6x1 z4>YLeTOrz7ue+VK$oKg%J0f(4Sk}{(yS#=m4(Re1%-g9I;cG4o@0IZ>(3Ct;!<+?w z1(YJ{y8oU4`R5@`GvOy(7N>;0@c4BF;#&X-+m2=rE?hNdD-6PcJ`r5L7(8^2aZgOc zFuS6S zfh+MLjckQc3+#Wqra#Qo_y&a zS!1if5v0qv30p&{z4Cs7q~pikhG2n`IWdH}#29~_Qoa21HD-J1J~ja7KqJe=CTs($ zhx!#Ze{RdX2`swSkf!)!=m;d67~T&T9v-Ji=j@C)xTD#&@Qb=6ThS+*X;xItEwske zDAx$@%uKFTxpp|HMx^vybvkx?tbGAZ25T31sa33%Keo%7ENr`5%fyy6S=XA?*KQYF zmePJDxA4Cm+8@XpYcHZ#R8_cY9d5w5e6Bw>wWlRDRr8Opk_5`|9-|vDTohF_Y9nUD zH$7^D&4j|zZChl8j>)4ew%0q0wyXV|HEWCK-%PSnXll~zE|(wSa6Gc4Pr)y?Q3R^+ zN=bU6ps5y8UC&6>&)_hBsPlO%ywVT_z8jAef|%5 z`!5NTEcfq;>GFGA`d=DS|1&X(**gDUhk@3a-R>a9SJ&((qDsxB4GDM#*;-gr04>Nq zgBxmi;9Pmmv;m@FdT((yaPs5j*Cs2X0CNo4bXcM}=J`$LliegY>+^1fddyq%IM)(QjkR~0*H1-{1fv1txDl|o&Qfoslys~mpvQww0w9E zRS&9igSX>|r*wD53 z$ZhrUcpG$Z=EAEg>459IUoE+7%U^0ziuV2%UjaiAjgQ%5PH;&k; zHnSM?C0bzCf}EB67k(sY1-Fml_o6&L-m}$ieq?XBxQ@SrN#FMOD-;VjOm~bMKA|9i zgHqXmA%Zo0_?EY;K7Y&GXJ(UWr^}zlYiGxS|H<1Q2@Dr7N^Kv^v#AQcn?TZo>*jbt z&=fqA;GbzZcB)K3;c37oyod^KJzVvJF@FsQd%3)NKm9 zxWKd%B%Hox;3};O-4~Z=F1TeN`_`fg4*IciiayMgS#82xl~;J_-)keje{fL0M_9$Y zqp^U)!=oh_+b3295hTSu#@ehl@h7kEzpU+6P%gJhKPwn-K|v&4i{ShG0g^H>x)hN6 zqy?-(816n<76R|QShpvL*c#5zVU5LMU){I&zfqbV4Yg`>eF6@c?+j+(W#z-*svu0B zn^^rr&GBBTFQVGE!n@RPwWrmTnk;u&Bd^gb%vO*Rs@aL7wRGwt7P>0g!!2$%B-__$ zuEgSPzZbG>^wO82zWu#8wxA1(u8j4(WO0AAjCIn)t6r1O(@OdHBT#FEc}GhKX)Ti3 zmg>2u%d)GeJ&Nr@nF8iO3v7QQ<3vh{f+O&u1c??yY1<;7Z(d{W{*t9?j^ppfdC<}@ zpucMUV?GAPOIaBE+KkcjYQXV@Rm*%3w&mTRnF6JZ5s-E*L ztn&0^prM}^t5U1;eG|V_03kI095qiCmBIOQI$6&!wLfge#hikW-f6ql*>2a?$vfZu zJuR(&=*U7U?Bd3Hg?5s!0;p z(xw`1l{oJCRbLUWX19eMi9-(yR`kWjI|c%p5$}}5J$wW0x4-FFei0>vS^T&#^jMdm zRCeMM=mvi<=!>4_Q-=#CUE^_4t#SkUK?^P8A5@>=UOTGXY}8^}Ze{AUx{8?5ShOWL z{7U1Htddc5^A<|a;ExZmh}%$Y<=}U>RYI!@U1Kr$_%+qy&>p1E$5@%f?7#5I-Xqzg zVWv-Khm-nn+AP`$y{gcOy3xi41_AhyE`J300`DAuZ!fG~{??wb@{8?^KZ5s|-VEl) zSIS2|6D}YSVV7`^`gz=##yHfvI70NJ>chw1>Ds^m6O=)s)R|`+CSYQSGG9Hk%d_vd ze{m9KV8)6Z7+aiu~EuaMhMz{(?%dbJ)Qx|XJ%@@ z0KJMfa!9X(|gb;Ldv%{5~~ zpf{M?GdR{|`ABnr><@Tx1LQK&HdMAj@AcqTN-8LDeEPjB2xCggV2Xbhcak^F%Zezs z3NxbD$fWLPI5Iz|SXXk7@dl%kT3hnM1R#cPQxi(@hPFHPgqn=z2F6r#djp-M;IA2B# zE{cuxNAIFW$3B9(vo;DkI2qq`lD#9aTZs~_61T`N zYW2oguLkvVq z)$I!Z4iNr-w}!^$jBTaA19Dlj|Mk|8vz?=%nTd#rt@HoO#?QVlfKa~p)$Rn$f4Huxme`n)qovUxc)J?)2d&`<*0VA6i|HAQG6<=gCcer_m{@(;um-@|G zRmn%&?Vs1~?`sD@K6p7fd1DF^W+g+CXIO*XPciTX0+)A;nPW8iC?zh$*#|@3%zbx2yH}eDbJy~@?lA} zTEo4Uaz9CJHO$0o$!txAzC+E+x3Y~cGTtzM3x0f<`8>TIG9n3K7T@Ind4 zbovE*apv{PaH^YaONiA0&z7A4M2a~j^|QgB1U`*`%`K>UQ2hA3^WyvyW%g?M(rh2K zq+-V40Evf`Y+A8aOK{BJ8yYS_8Ggc><-)Sfmh3A6_t>z={<@mOXuxnQ6foJ}pnlHC z?&F0_=4Ga{TeM2Nw{!Lr%J-al)sYXCweG~)dc&3e)`V;0wYM1GT*4d4jPp8WKg?$S zB7bs|zQ;KoP&H4I1nH@4aX+dOvm=2iuK=Kpk?=gGRk$hKL zN6>j2v9QiK_><=c`KoF)WGIsIEIWuomYlbmu3`QAXyeFGzLWN(_u%Tv z3wKbPXfv0dOu)|}c)vvmrESUyUBPwKMzxwDhvDRA73`GpK0w$Kfm7_DLk%BO^Ym=~M51w|#`3ijdC%F@yXS6N2*iRabk z0%>%6*``Ysss6|L$g}1Cw04pXuOl$85t=R~=Oz6C^9`JY%w?@DTLwiAeN49xrI7sZ zg%FA-sjc0X-ih3!#@tb3b?lqA-262EC8t7J}rT3*SJ^RiP+{tmCVvSY*@ zK%TuMHoCwg;o1V|_8n-VsRoZCP|k+&sM9=nDZ70N&gy`~RH4{$cW1`Y_u(NxteHNZ zd-1qBZLX9upZ5dIC(;Hwva+mUs&iCE_6vjKbQ4}StwhTqkUin$M~6~mBXX2iTm+&A zeDs27Cr<+JsJBcM^eAD*7^^Mb`(VZXrG>1-iEd)mrs_g?k5ttVBJDQy|2R zZ}jh@kxViDlEgCH)>_Te5eUAb;x%N2cfcPv`g;i13oJN)k3lR_a1cH>Iea>V<6;2T z5L=c{sQ(y*&lDX!1aE9$(k8&i1RO1BRmyzkzRq28D_3l9rJWZG_h58hWwQ-QDt=2< zi-O7`jD7Hj^bd*a%!|Rh!}64&hc1`dM*<1iotWPpk$gEM|AdxLe~Rp1hk%~^bGpvzc<(2qf+ zfuOx1sw;yt*QFW`(5ZZVheu$PfSG0h;Upic6@7x3J|yaots&Y&LBA_7!b<@W`_Ec% z-2Jz!8WTjr_e%(K4}%j)&tO3Oz7H)>l2g}xCu0ShqME)9N^Mk$`1(O6IZ6)(Ste0- zJTO`o*K;TbxJ7-9y>{j~UH_R@+a2K)Icd`rn^ZarhppU&)cuVHnq({~GAUsZjc=1Q_8H4 z1FHloOHz>*$WQL9W@##tWL+Jh0A;2`CN@Fi0uY-h!JaocBA-H3J~5Z!dGCEuMe&mQ zc_a&b8iZZJA8JeN77*JwAZ09B$YR1cS$5>4d_TewL` zY0=ng!3sl1Klk?4q79O_6jOu9n{T6L(ETCc0#_iqpqW^SW2VKQd_Nt)!4N5c9rA!u zwkCv5A|t z2Ttf6gq4pcvXjdIeXsDd#CyCba`@Ll$M&s)6|DSXUsXf#K4UUjWz$JdUt7>Hq0IR- zKHDGN^JPC_XeuT5BNNC8rYwAs4g7u2fFHUe-9Ls_gaRnXS=#=(#=ch_s-38OiUW85 z5nbw1itSRKCXDndF}v8Jigl~}4M-YKIBM=IqyyOfUUxPzgVAc`)$EH|Y4^_NP3)B4 z)Y=IjQBraSFC;toA@4b5-=3BDM57*oX2YI>I#lA)sy(oBjHNy?GqfWramNsA=KN4| zGMGotFzd)rkDs(Y=LkaxsXuU7m{@WW{EA_S8In8Cr()-xFs~YvM@F=mzfVgMkK&6g zw!->J69+&=)lQV*;n-BMjQ^Nc{LD9gM~20} zd_SWDX(nHFZ|^I#KJuh2*+3IUIKr_aT}E0fgzZ2Xznm;VR?9|-dOj{i^@*epQ}BbZJ?r+sKT5L{C+!Buujy znu!7yZPwbet4)S{)wpgIiWE%*yOcaUV-uNAlibrEZyJl{KjDSe$+idL%w9Eh6In() z5;da2Y3~huy6mpM52%A|Y|+kSX**Tu^5n8|G~7y-Kf8>w;KlxC^)Ianvu*II+To;M zVEnG$`9sC&@~SQZTz*oS4A@|6zz|ynbWyJ?=Ko>)Qxz>Irx$CxQaI?*5k+q)tM(&E zD^q2?{zp~1%48;nV)3|sbww8L?64*GkK6lYw1`vOpg`xHHoR)5ONols%J~n$BMio?W7|j1vlKVynw#iL6hEPZWyx;wgAz%J zf!Hq;ndhsGp0NLEG&rQI41M}On;hx?uP<3WY>e!zEsSL?Y_0y2P3vget$kyvoy!Mz#>J5(nsUf3->(Tj=HaQ#8AkUns8NYFwCbZ zP{gvYV)-};etADleAisRe7wSS=IH3`pl_IDCoK|VGl#vW&R~)lX4IR z#pp*y(0w{D58`1RjBl=P*I~#yu%eVFTpx+zHNLx!!X0ELkDhv;ycxs1>N;_qLD$sV zgA8ob)$6m$Ly|!3MEE6|h286`{)CAVhsL^F@P_^hDqtk=IK4?KMcq?CdL(gleK|z< zh`cU~0R|r)hTtbGVYf-(`}KGY>CBOx`!h^pitpnS}8$+(HxrB1+1c40Z ze!I{7S>EN$cTjCT=7)lnAI{D68o}K?%(doA#Va6V>DT4G)8@#dGeX%Nxx2fHNDw3D zwbJZQB9Qyc4@T^7p*IkLwo!5uA3yJLbUT`vDDMv|&-f;^C-r3-_+3rT(kA}%V@v*( zb47(5LlD%1xEL*zNxu4;G*X9S3E8(}=mbCU=r%%?74y#0k)*qbFtD&fZSn|VG+^HN znrM)~;Urg3pQGAnT`nk*&X=(-Qpwy2SuuG}=Kx6>3U-r57$fMB4+5}K6!C&r zLK|jfaO7V28{CYcu|`p<_6fMLY4%hrIT_c2FMInwF?eSNK0xTl!N8e$Ln4xxJ4lLL zr7F*U0vS00C&~s=s3`fX2$fH@wU)8NRUZUt@JxII8Ym$IeI9afl~Q`IyQ0`DEXrdQFCsP0nm{Aa#eoC2@a!~ z;b`sX%FZM~;bEP>#3-CL7xC#H3GpFC_<&=KO+XvpsPe>xYAen=gj;Dgd3&yA>K@Wq zQ2%nWpO;W*Sq|!ORsjK7ns1&;fpsrgr#&o*G$Dz@gy%tqiegKG*JWTY{^W-gW1-So zb~4vF`+dEY?5^-2hD*am9{c;muEtnI{P5x-T;%?&Ka8mL$XE|#EF!o!S zgH54h?tYANb`1a<6sWng!gglGkW*yTO6@Bm=#%+99{$wC#Qs}h86z70a0{+)EY9Ef zB7CQvEwGvNN|e6qbTF08+vt?1< z)ya)Jh0i4Z695f)5CQeGQ-9Vyj&EZ-72uIp}qorTRN=TPtg1d}{F$pNxgbQ^`) z)YvGYs6yrF9c!v4@lc!INNf36qn^ZLb~p6$Eaug&+)0*J64IA#`rsY!%&zU)!6XIc z_<=~AL}mwoD&y?|Ys#3KC@2hHH+e9Y>Ar#JUIoR3LT|&d2b7nVDB3Za(3tJA4vwz9Ir5HR4woecy9^Fcwa#+Mls*XaTVJc#SLB@t+!(4i31mi^&iDqC z%9sGeOVrSUoTILk;-YVuUIU5egKdD;HYV}P(y+~34!Eh-q6i|s`4KJj6h@_xJ`9-@ zk=qj&M^p|+mB}7uh`2WnkgJxIFJ06$hIU&XPrWuOF*e$qhF{gRUrH`lWFlt+h!lMeQn2t{ru>weg8NOwls^GAZq7ftT$Htr9UUvLSM8+tbXfX94J0qpOT@(zGZ;%u*-|3PhrwBj;^m zYm`mXY^D)j)7`MA)_#}PpSZ_eGp2>t2?qNHIw^M zuYHEKx4pFw7=T*vzpYoF4xOo?L}$_ipu-w{jfo8hl96?fD3n{&O;_{RMS07Sd_oi} z{EXw2hFN#?kSPU4L76z7CtMzqI|4ocEjz%nJWy8(yZ70C^SC5y{}UM(Vo_j{xYi_H zrq(a>9_Qyhs(%q6P1WO=r_0w@8-qO=J71*+Hxa1Wtmh3;zbvVvUF1vu2u^i-JILb0 zF;>=)rn{OzUP_1Qv>>NFCXOk_FGfCXGk5WW%D)kwT8`N?f zo2}4kO_oGa1tl*Q%eSKb;-Uzxl(}enT$C3YLQ9GX>qc9ObDCtMR#V^Bf&ybP0cAcm zk*Pw`OA1CyLAlbT*LOA$CmzE})13I1(3lh)t2eC_yq1h58&*+MJ)W~}a=}cJPiQ}6 z6*<2wMt&6=R8^4>&S6ni2h_qXiK$0p4rSf~pA@h+@>wlCK+c@ps{T-|;)4x_y+kQ} ztEnmFXI^oKG%KkMxmGFjOnn^UTN>B7oq)CcRtg>`;zfSoXwxGK}gszpKYtk?{ z32Nx(_P!38q>;pF(*t*xqRhLdiTXn4-6HpQ6qkg`0#s2>O7M3IxTX-UeMEZE+$CGc+}4B4M6TfSHXL>ROU zk;z;JuXcADRh<=f7AZp+(^<`pDNl`vlN292As_S?D~5Dy=jJIxLjb2ZrHZR)j#-vk znx~j5Uc4PSn-X@kBzfuBTjhhi6QDqLuj&ZhrKG&3h9l28u8JRhhs28<&bGWw8H4Ow zSe69Sudd%%a%kNI;u*8uYQq4h?iA-%JyngYcOnNw^+kvSYu!LyjqMTJ)8UIPFMH&a zY3s62Mz!3S(eiD3h^*S{wYOPm6SF&Pg!!Y5Rm>twW}*p~Rt1;l8Q>f6Wf&`QScq9{ zi@}aK8cYyAD7Zj`ReQ*>*DJMtc^ICqkqGtu!E%2Vmp8RHtT^%dL70P6?s@aDJzWDC z<||F;%ERR>w{8GqU;jLaRs#Tz$jCxrjNT3V|A{>^+Q;_&zhMu&<2rKC!@HTyFd=6zdf471uDf6!*)vN5jf^R#ppN*VDVU9of)% z=MWcWKfK8?+h!N{N3oU|K1+M=6PQ|srRan(oWzq$n5gGu_%>788z)K}mJCXM@3&c) z&|w%<)q|`K=;nC%W2WlC?|lcTH$;HER1QS-4I01mOY!Yf=Kt}Z>%3hX%ic}ydSMTlWxc`TvRjG%Qhy5wGmH`U|N&!@i z)CRN=DPi#wtkC*{HBP9{V z%*fGY?JYjKS}rMb%O8flZ?!Pcx9!8z+25D5@zf54;&&meZEEyFjA#SC^{F?T^_TnG z;9X=8UqS6F_RYXmEI$WZrzROXRUrr>Ru2fCz|kBQyb(VtnXAGNcFnp`7DdH!O25)0 zPCK9ZPC?%%2$%FPE~`xnH+n^XNEj>(5bF_2{C6k{*-V0+A>imYrfd?N|4_dLSN)(_ zs;mhrlzm*ao`p}V(2~8PKz z1k`D21I~PdH|uK5Cv0u58ditEA1Eo%2n0QIGOC=WYzm1pH*iDreakcSzy(e7*F2jn z6#XoZJ7#G#GO#csWE26?xM~m-b#SXE$H~^t099t=7?otJD^1RLsMbV>~iE~?*+4m=wjBXudxiTjrz(_rmnaML5$6; zr%)Ad?6vftCVtO)Og8I()UT0?m<6jQY4jEJJbHo^gOMbB{&=Or&isyflIDpeGW;0= zSO5Vs>jc@P97h$)UF!IMpW*nAaa z(i;b>f3ijYU+{}RU3w8+3+zpKSNYa1zj*0L<||#bM1-~4g8QwcsP%0@e|v@oQ*0Gy zx~&e#Nv{?Iju_k07u6b;L@tWAL?33G#2;eFT-76DYEUZXmSYuEk|c(tXco;S$UTOo z)~NsbUI315V`Rz;F8=g7Y=;gr7zE(pL`lm2<9>U@$>D!qFs@&2|3n#%bmEM=)N5$7 zp{t8)w(4AE>YaerEQiU!Xi9VYrGG1_@08@ADJd&0gEJFi%Hv}y+~MwxcIFfP84OX) zoQ9Aa!0e=CsK%(KpYq&nH_t!`6Y%VJvIX*0wotYDr&O%b!x_@*P+7cU?c}A|jlSC} z!qaVOX<|)3S!FQcxkRd_)(GuVU!0Ny_H1MrgJl?q((`XMhsUp6K!(u~mwAuzu%Sx{ z#0q#58tOOrn?;(LYIW_JTeH*k4gSuTGZhx$k^E8ff1xVq;1cD6*%2Vg$+MS;xKQ15`?HrXavbi&P?uj?oquJWzCQMRev7+ey*HQG0wwQV@GUd4BJyDmM@>H96|q z2vdWi!kaC-rDIZKboJDS!p0-aU=HlvL02){PO;{)K+BzDvV%?I2F7gY(pcV$aF+4@ zjrW8IPhr3RN*KR@kVEt}OwIH+`YQkyDbE4rT)>o+*t+C?OP@f9nI(dlOSnOJNkBl| zGi4M=XpmEP$I%p?Vry`9@J+8vh3_YqS3R2r^IEr$>+U$Q3zZ7$V|xpSGvZ<2t#Cwp z@3Xy=$P%l|#{I=wHZc+3WY8BNi;^hPEZFZZW4BG4&Pj+D+j8wBJ4ZC;zqI=Onc#UU zccOzmG%6?^Ix|XVnUKp^b;kxiBHABO_J|<8C3xD_ejqUs_f@3J|7laH&;{1Y_6!97t>3>%P-Wcb&e${SGj65I(yN&3^U`DoUvm(*)sw59HVymHAFks=Avul z5L`RW$m*+`?FxL6u2<%D*m$q&|4{Z;L6N9omM!k??(Xh|J0$KznD=0w3SYqsNx) zl@)t^gU;7I{mwCp{<@bb{LZMAbO(Kdp4SEa9_8C4i2{eTrN4=8T~)hTOBKxJxRPz;C_XeFKa#ayBUS8 zVq6wZE6Xast*s+2Z^Z?6Wg^}}rsRAjK8}0x*UvU&*zW|bM(h=hHc(1c@89zL;?tOV z&K@?dn15)V6nT3GUlB1mbl90L5gZ@ix9+?CiR-!Ds?8(g9tJH73IjEdb6ILi;6x>R z+u?~G>etWNF#3D)>v>vSe$6{Pl$5%a*{ACDX=+Hb1@A0zh|rIsTqBv>8OxZ*!&Zwz z$%P8yee92aQox`V3UO@OiKf7a-$_9cZzONMRN2!Hci)%Iwh+&JO47;>DmbA~}C&H&t3?0OtmKk?(Iitkc2 zomaP^MVftgw5T|c9YxSATW!f7=_&c|7}tuTaj_)#p?oPt!{;5U zkC?EC9Lr1AME9=MYA1Q-<92Q(WyO#%vabLUb!K#BqjW`Cpg4cJEDhXs)*npYo4kylP5|T!92tm+-0TpBUj}nuL zV0TJr->z&c*tF=Xn2RhHr(m{%Q&;n$U~`r)do_iNp>LpUNVj7B5BRF92TMO?$zeHy zHdvFgXNZ{fw1I5P=nNFG)zG|iaax*#WE!fU2$-BuRICturzdfyi$BYah7kg5ySAJz zL+Z<+-Uk>yVA9u8r(-IZ!Iu%XUTlkRG)^}d<+~lvJk$msng$Mg@CSNa9L003PSA%5 zSMw--2fqBkNq|Or>ZVr4!GEXtrObeeNKy!}157DYtO-voFM>1*^o!7O2XJ^me2tjK z#TXoZ9K}Ixh`59NX4E?vqU^JM^Re5PVl9(LzEX7iSLNjI)qdi_vErvWbRs z!;)fe>TZ|Mfg0Ga88e!fK2hu6EE#H&>Ur{F30ez>9Sem}`pT&IM?+>c%mw>K-`q-KeL_5>%feM}wBI3r|0=u}nw;n(K}0g%5ysi;rEPxG zMs{^QyXpb*5y3Vole*u-l1yOGhLdKqEf+*hI(gQhrdxdle@=6`0o)AB%nUQHAf!(E zn_Rf*sSYMu9p!6h#(Nc9s41X_tNqNal0LbaYi!yemF+Tn*)V{Qu`LwO#s*iLDQT6? zfq*1ETXCq-1Pe)5Y;Ob15aLB9=Og; z5|)61)8#^T_kWl5u;X`l`Jh!%N&1S$F2|UYOMd%?t$uU~*QfplT<3Bz2O>{=%I9gk$e*dV zTB?6o>>aXSWWXa{`Z?@u2{mtie!~;^v(&Ub1E`P03X|rW2`< zi614qMf>A+v<(gvKvzPQbRwD@tWZ%}k%0OZdHdg0;Wo{y5x=sKlk}htt(xkACMHlM zdZ}S`3PPaLr|BmF-Goo7M2g1W;F5*SaXa-xO4|M+y;) z?7Eg~AmpjdImmG~?r;bs92Aty%i5Vdlq~(`)3zqK1T_ChP`EahrftwlLvgxmYw~Jf zg%CDNlO9ueT4fv+<|Y^iXFxxG7$RMD^&KcYCk_(WL4IfXi^4uY&F%~nHcXk~2(%|U z!nil7)vbX(?9w7sg0BY}_F*zqY7>D_2_Pq1_k@Qa&h$y%=E06%=n_~RK@Xy=;Hb!h zlU;Dsa2k#6c3uX(Q8(5H1cqCR00x8QrFM~eFGh0Wv1dE<4* z$Hw3N#=E9EWg2mw8lP0D?ez~kBK9v_=7*Eiy6cCoo`w521>ilyH-lmRZ<#00*nTx5 zmbY)_Gw0dgzS_9GxfT)CAr(}%)t2aG`t~RsoU6Exc1Ql(K=-RG{)!k#Wkmtz8(_-$ zAIMVGoXyMt4yI=R_BH>F=uc@?)`SdXvO=8z9CZITlNIzjBO?|->)rPC?(3Hb0alVb zEl-a*1+llf{eJq3db`=X=4NFA$%|M&r)UECdU{4@v#s6opuPb726i<-pg*U+x02Ku+igdq7zhC9R| z`|$|Apt`-0digrO{0sD-6GBuKW%7_$Y7rWyT%3vc+m(VI{HH7g`MHPO_a{98WU z4V{ct_9kSp8zBMVRWdoAhO+t!w%t%X1~!o>DVnxAF#G!1AsVxr9E$Tk(&ZBH8X*J zS(ATo{uESg-9|tjt95-`asF6`yv4!$H?_K=^Ea?&w9& z%ffH(>Xa}scwk~hZ<#k2KjaFDe{bC-lV1r|@&e%8s zR$Yoq=|?X(Z^g*%S;371t;FqGd>EHv1{2_bRk!zxXkJa)uoeMV&tei4&SttIK~7+k z63!+7*Nz@)xX;F(CUa#Fcw%(gule(s)5~2;73=pKCXFhAFNDK)Z8s~)=xAq-o&l?9 z7IzN`;c`aKF2q&{vBrQ@fE}4xXhDX&Dq6*kk_ibKe112xWq^rv>mharQ~0a)UoX(g#gkt@MElW&Ap9=LhJ|c|)+CQE`yC zFFBiNIQeAY+SK4GccYim_m zjb8~du$mj8ZzdWd*_6wZr~5mMBmQX%Tt^#R^OPmsR|B{KmpossBOh4;pS&$EfD|JF zz}98rlwS1si0}CyEY@SMjEM78l(x`KTV=*wvCug@pJZ0@4HdNNwd=I9e`)@fgpBuy zEPsr|KYZGFqO0(=Ru??Okg8mikn&c}fi!;;2_VhCMbI?;KWP4lBtm{1nP(1ephJn@ zSEvL?+e;{An2x_BrZQ*}xPSFTHjZplg0uQ&vqv(aqRda;d@cVpf0gE);7p+w-4oZ} z$iL*|8xPlU*E+XGFISaaMFL)pEt?%-+*_Bt(=vug=^Edqbdi~{e!_D>& ziuJ|%iJ2brPnNOU{AufiO|qF=QeGY=d(FLhZ~XdHedHN_6|OpM(xUDRZ$VVK{(hWv z2ZiU~^&vyXTLwJOiHrUE2N32zRb>FrF2B=>{nPAZD}hFCqwZFj^^hdHlysW# z)ECmM3Muov>4E?m(F1Po*A=1gV#rU+sQrw}%Q$iu*|Zx8#i`dfEQ!lYqUwKj12 zm;zp`LBW0*gfG|67U%`8DZw z>k9@)T`iRn|4rcV(ICmbN>qW>*BypIfS(k|rjJm-SsmFiydz>hZtaZ3v@gpRPT3B^ z)rw1^n}4FXFsI&+Ql8mevu~5w`)nO2A=loQQt=~Ih(o2qw$}GE#DUQs8e(+??kgEK zhTrt-zo~bI4mrYSm5Ir!020<^oJd>iZwTsY*lqp1e7HEYZNl=I3(&mCC}TLiEUq9M zTf_yEk+%%F$h(a=t1jQ_d2la15#P&qvTg2T05s35O$->(j7>IkzsQ`^sKCZpY11Gg zkc|@Hx*vm%Fyuw1P*u@rbt7Aj51;0*2|e@br~ThQs;s}O(oFqKvqQxZP9W1 zZfkuNb!x4;4kiK@A!3u04>Km=%QzNs3$YsSx*#pu6F-{AK1srbY*n}}=fOkPSo06x zKil)&GG^!(Gu_T?} zXnP&cu!Hju%^wVIVq1*mQU{x;GSmcRN!L^JpyV{GVInz|(h6@$6*dTm)C8*{B014g zLT^d5fB*C&n%Zzhe~h6ph1s$fa|bul#LWykMUrdGMxBvXi95KvoMQa$xC~uak~eY^ zbS=x@YC}K6tquC7MYIFAhM486!uN6cLo6=2U!~ok^^fE~_ z5VONH3JS!VxqU+&Y_@7Q43@?j1^j!als4W=Siz5+z&X!5cAxB|pOJr1f!j!xBS@am^s ztC9$9{OBPB1+~jR;~3N-GZ0zveGZHIgsb?{FiHt(mb#U~??I&$xk|9z3B7H}u?EI& z2@-u;>@EwGv{ZKY!PYt;)`O$w>W073UVckRhGSjunT(C-oxSYjM&V_@&?nHeoHQ;x^&@b(~%bK2!W{T!&4sQQRN!9yu*xh$tyO z?IDTvbu_V<`fd!};5Ed80LnPWs;ToJ&KGxW|MmVYsjx?@aliRW2Nae|w{U3WS@0U3 zn0V-?-vVLIYp?$EtnSwt+V@^>7f+|KoYLcNA;J5u+HFpuE@$NU1mb;ZB^l3<%;U#5 zBxfp>X$1j?2CZMwCg~$Te){hN4pO@BaE^n16(Hn3MGv2HPf?vE4{`R8m#?WYp3x3E zx~@1&7w2W75UgAHlcGifVL*6{bHp!1;R3?m&lFfJ0({Q?&d3h_Z%)L0u|m}4a$v46 z?0jBs&MyOFyYc1R4|5X(MZ`%B6sa-I;m4oOl29gjGbYX4IXf9Ss*<0ui{YF81t!m< z-^6pzqd!zwbH;c*nwvP8iHx-wM zNkmFwF`P&|5b*+9N3#Y^|2XTdOnjxgIX;Sc-K4RrO=Y!OB;wvWR`f`qEM!iqYNBLn zl+}Rv%n9E}jabItg3#x-Tid2fl6vCAJol6p!hT32bl8r0DD-Sg)nHi@T^4<1^_)3C zp-9X_UL32s8S!plNguZqJg!8C9pkEdgvq(#-d^w(Kih3?OG`q+Rs1H0f&!t_uMCuA zHGo0uEc@xDl{k*BB)QP&Z+Y^=-iL!n>T?J0k^jqYp}nD(iVBqD9~=+}N#5h_w;gj% z!rgb&IER97E#FgI@9VuL%WrjW1E;gv!&Rq5`2X<$;CU9?ih=kpc)G=Gu*QZ$>{dbr z&+s5oYGyptOplsyBvvpVbZY^_<+QJ zKXtRyiOzKv=;^z~HM%$n11Yzt^hCGAMNdL`+I1$Rrw0o)#Yz^2jGzLSMg!Xf9{jPb z6J}*Jg!~Te*lxTIsnH3Ln3P)IqH}v6%?Hi%0!?N0y#ZQB zS%KD3i^c4_1eV=E8?XpXN0ZgYQqjU!j5(P8l|{~v&E{VCkM9e_F=~^JDb8>}99`hB ziE}&}pmKXdSM-6W?beC~G*oZg05{f~y&TNK)iNs#*Pn+)_xsT7iXSC{!k(rZJ*e^0wKhW->Gz+7=JE)m_?xqXtI5}ei5cC~xDt6VFqWmS z{v`%YYtp=vjK#pvDZNESx?%O4LYzxErK5Q+ovYg4iepik%ZdM+=US4VL2e_oE2^=v z{(KPj@jg!xPtL!FMI+h$Q$P2;3Jr3jEF=5jZS!oBVhV6KV^J}=W@f=7z8SYIQq$5N zGmas1kzzq$AfaCNAX08#k#0n#91j-TX|h(L#yjHz8$=xw~i) zY$R(^N}~gVF!!c55E4m~I_Z?S zlbG0aOjiX+%da-BnGVMxCGsBE*drr~R9J*XpH2?ijczmVuoLYEM4+?4CSQh2@}_i( zB>?gN#Hr`R`SNBKK5$jYOK<9QObD@|HU-oT`Z=eH(!v`}uMu+~r=)aE$z;G`f0t$X zp%w<58hDesXc}V`-2&h!BEG&%bav6`eiM@q|ACa~$(O_Dhuc#7Ys*atY?vY*HR7=i z)yz2L+QBa#!~)Z^uwOr_s}RSnFAd!fQw8?(QR7KP+j7Jrit1&vc3FxmVVrHR`f$K} zk$b6aDOf$+cqn3L${&#*SdPpkP@rL?NdLx(x5^^aKRG3Hr5~v#(;wSmNuEj+ zEVQ~7_>C>jMF1xq81DUfmllg+a<(6|KHNgerip-2N#=OP3an z`SVHTaWA3kkDp6*X_d<*_oZj|ulFx|JXNq=yY3s4o3rcR$Ng&E3!-G+F_BL*lC;>1 zCkLs{LgUhZEzU%|o@)2((l)qi@kwi``%6Uc4&Ky^VQa0F`*0C=kJut1dTZAh!fY0G z`j+MXRlAv;cNu0&Nxq;K#lXHQrQ7NuO=y+`8-t}~Vn!tvBggD$j>p145dB7OPN9T_ zZv8cJxhTlX<$sv$(%bBnaHdIKoZGz7B3uF&#lg9uWFL~j&R$@XtJO_sHFjMz1(J!$!1(@+Lspt4sx zg_2S7gIiL750j$^%|goT-GhsNhIAqCJ!D8$y21)=p{^|ngCu!PoPYr8Gjc?}z!^sa z`vKql0w}lzJpxoT0rFN;S7R0d6N~ddz%yzlj!D3I&@jlDPCcx8`4J8b4C(Ikmi8RF z=r!@CK4VuUN}O62S1(_4qbFw6teW2yHZbv~YBNLERhs1h`Yvv_D^clYU42;r@tHA=jD%qBndM0n{C~EiBV0$7=<~E z2%u{V9*t}am0@zxsWWW-NCy`fwvS?NLwQ&&xrg-#-^Yo;;AdraF%4J7JGNOGgO|hQ zNXHfrT~4Qs@noZrpp<=5`N7m0M=f_v5&|MYg2^k*^aax7Y7@I*EKf=m3tBn^IV?415GDX<6Bdc z=Mu!{FPwA~r5Ql{>@cL3p^{?|rkhv16IkP5^5B~@0=~)#4eEJ+!-SDE%swqf{1UI1 z&QhW6gMMynytk=FTBpIIRONnjqcm0Fk^&$GShKEHgF%r6=8fPfH35p+EPkGunDyKI z_O}J`FPwJ5I_b4EEi`*_?!##xs7BvD9T4sg51@D-)o|=MTe4n&l<@H;nkafYj`{9V zxutEuO|~l8pUhW=ClZc0XPoUD6MHO97w4;%gFY4)*@gS^xl`%UTrf%S_;`?l6joW0w_d&9X%2W$)#f?+7+^ZSA$yw8mW7M3n(yxLb-G@DLZt@8Nv_N<{^diwuK~&YKVaRqq-|i}IvVNDe^0 zfp72d#43G+If98w+i^*@EJyg*@V z!G8!_136@={}Hyf{UdAz`&Zb?0Ti|dC!_R>`eOu*;PmG-B$#rEa0H@o-6BHx!}dYL z^aO&K)0OgQ&%=df>IF~pwu@+_pLyEIk!}L&V5!m%W^hsOz+41SCHgrjk;}TE1ML|P zHDsPOf?M$cN87E3vmtULctf<(A< zoL}s^W!t~QR)ZP%&iDM5U{#9143f$n;`6#@TGP9TO_N~T$t8oHq^py7h66Vm=4XOxl3^c|E?sz)kz3H^^B+I%kv~|97{BrbM6#f3;f+(jqLS zExZ7_T`De^NeTX?W9kOdqIOCRTW4IZ){H+N(Ae7YkFnKOzZRl$9ICBUtHRYg_l(a> zyW-&3B6R9j+nYr=*L_uTswFkHk^uHu<6f~`v}&b;ypTzTsMoDeORftivCE9mEI>m( z5bxv$tae^SD3?>pTy21(}5PjC7FO6@%nZ_}GCMVJ%so|AFLlu1A4KJ~8ak{^)LZJO@R94QMM;(l9u|1{uAWIGpF}xc zT>Z9s{6`xDk;J%&1XB6pk1 zu_8%SMP5A|>$X^QsO5dg2=o?u4FuF}XU_e}hn04XkuM#j<$u8*zBaCB>_H2!Fqop= zwq&bNxc*VLZnp@_m6IjT?={+MTWib7RCr;Vs;j!V!l*T2g9PVifWRs2xzWue^`(cn zIGORYqZ!0{z)2M9IH@x%UPnDz2QU2F=n@pdjG2K08{HDvdg9a4h>%kzGXH6o;EZpD zk=A)TyPS!Hj4%nsTff&OOc;ho>ism?8>N@arx`zJ9V~=gy zi8XSu`;W3!J5vw#uxAgacOrGeQPsB6PW+!nH@1$RrzqxS9EvwNi++Y!(YkihKT*YH z&>=-<8OxTQGZ~3nj>(2qKmUMjuZr80>p@r>yBW=ts0g}){?}?&H(#Zx*|5oLIKAfb z$xGGZl|wInV-81}?B^GjCQLN~7EX5|EC?|g2YN!fSrmy-RgnPaQf(Sg*(ynEa;isw z7r7!yEA=>kn*>9crcd<}x1F1{OWZ7^1tUY{#|P|e&#=dmyqfQO%qfx%O_x>h=TbLn zHAKTFuG9cA`^(^zVO-Mk*C?GIyJt$R1<78MtE~)o`blfYF+HN9p+t8I{vL+#+VD#m z!{Joyq*9FkJa6826MYkM^LjEA=WRJPt&)8y5dzZY~+o4D|zadRrSx>E_LDRN;s zh=YkM2np)>6VUQW^enS0MQ)=?LlnzHWLLM>#+M&y;R_9`Gde30F_T*#BoG-vIE_tJ zv2f}kKBrrR0aYcs)$ea>bUU2=z3`yL0+=dyH`|MB%WU4fW-)pu%SS739wN_NWbOu| ztO^r9Yw)Nov0KZWFl`)$S0!YZI_unU`nVVXX9Rj+@Lb|Cc3z3G4nOJjDKxu0r}YK= zPr{A9x?UQ+9;fbEQrU9Vh^pA*TZObOfQ_wVuJ)@}&()*P=J{*K%Dvl+Zx0jpv;GY# z|HRNaZRd)r`;6DPy%?sl`qeM%vPv(fL%E&L-=bfb@Opp$TY$v84ZyEK1OXxN1Oegu zAJw)021pe%CpR+}S0y87BRiLWR|4N{RQDyZKK^3?sc;EZSr5UUECm?01vN)=2UT6Y z&=6F%tLhscO(Gxj7`6X=-|~~$RB59K79fSPhGM87ZoB6F=}`115V==f016Y@B|xGGSN85mUjpcxE2C(8SwWRX>R|NQTnye@T= z!{%HGKft1opF5&3gh&6(?a83`?MA&VdV1^*Y#VLya-N?96VB0N<2)guBopmotXU{A zVUUNC2yeT{;Fj>I5O%$T+zD){=-aWk#q-L)W7{ujgz|&Uu_Q%u5)sGVo z9#IGP=N?SA5i^r{mm-{k3heb>kog!8koN~=utAW=M<;D!b!BG zR?sESE~A-AGZp+YNl0142c;`c1ezb|7LHnE8lH9R#ckSawQ6%bcUPy|rfBc?YK*yO zQQMans(>E9(4CQ95nU0EJ`92I<;#}>DM4iW)}GsBrUP=;fOWZj$X9dxN3ZhEw%E^! z`}sWHavFI;5F^$i;$l;Jo926R=7;!|I=%GZeP^fB5teZw@6S!aiJ9yZ>d||20i*yl zkT>7vh&i6PG}y>oWF~-ovG;kwSwfKLPgNnACa>uxItXl+H8{QKeCEwp(=`BA6K>o!;W{z@JGfJ} z%#rA)D6NaYD}?W_g!7>7C3adiqP>?0h`udK&=R7#4Ry0JR?@;9RG;QZ70U#vBi77W z(jxo-S#i*h3;O|Mt=^M85){as+4C^ZGK!2J1@RHpLIWjP3*R9w;z_Fd+e}%_eb|k4 zRZl6h+R=q#KW6Mj-!~B-__1eve_(l1Nb9Xh%}Ddb3NU3A!^2{;AB3}{O%dpaC8zER z<03JGM`TSpWyruUA~=9PX8a)yr1I_ARssMhiKfQ}dv6cROW>v{JbxV=v+QY8VzbmB zK$sw*-xC9L%VV<}LwR~AS!!rW_BLNLl6TIOHV znH@&1Vm27LyCg8bhGWShnC5Kxg89T{%3NzN3v6|QpopPE`~(=RV}b+oV>}{nxLhW!IMRGDseOKN1U>) zvdRm`(OE?c!MiAr$db_I7T=d>q=>Rv=f(U+?`o+{1P9i zYHA9eFo+Txl0CEt&UGqfvDYni7&@6iBWDd1x%QuUI&pQNrcdfbPb>`{Rz@(p(dCJYfn1|G-bQeCiYO8{8* z*$sfdD@HYdFzbS_{n_)22~UY?W;4>}l9FgOlPa0GHvg(i*P*8s!`Ok<cLK|=*N_t@82VU12!_CE5a|s!$_WN^|1-X#TX7u z_C^C>zLdQ>1;Gc_5k-gA);uwV0XsLar-2$})dorhcFyZMCeBV$zMr&85 zqb1Iukr=c_(Urw_78r%)%Q54lC^1#Kdfk%*WQHPcTdHv%`_ggce$FS11E3>kBYwTH z4UDR)fPV|+9a$qGW9~&DRwybf4lDTTtc3DuG;jY?Mny|}@I6tWVtGcyi3I3k*QSYH$!+>NA-P`X59|mo^C_m{c z>F|B!DlqLt*yjO<>h{pBClkgvttU1?0~sY-YJRCxLmihIG&SoU)fT8(CfZa2@Q6YJ3$c1pvIaOI75)!O{?FIL2znL&=`DJFBGmi7q(MO}qpKwsYelp-g^HtQq4<(|i!< zE6ksN4U!N_uvdj0M8;x~+BCvvi+w)~mz#tBxHg z{6nq~N&I|A1@>JRAfd=8A2p&RFqu3_x4yD^&$MT$u=mijXy*R;WZs4&24kzzs04Is zAgM42O2J)clKy>tj$ zr+P!1t;&dc2NY@zpeUU?dSjxNsvS5xVY&^W6A{^E1eUj<1TS=E%pB zTq5nI5xqW>z_=^nMH=BUHsn?IPIXjv(S@%>4WvqiubkbseC*Hljaj|#w%kR-*lJaX z6#Wg6F(#F33bVwE=8&G$bjQ@m>}d-1?oVE^R^qmZmmt#(ah3RMK?JHZ>(76i=QfUg z8)e>Y6So9#`(9=-B(hPxfgSxf3d<9c3Ldnn?!{vgR8|*4`V2<+*=k;o^3a!bNG#rp z4mQzSx^1;Pb8H!*#*CbPsJyIhO63n3Fa6+3h82bcr{s#2eyp>N@<;o<2q9EuyF_vs zQ8*oR1Xe@2O*B-5dTCOT1iGo|&i9E?M~84eQ|Df2K$iKhjBZ99$&yM!N;L$u)God= z7Udqhd!Oezdj-WxHUG7`j0^Z-y14;vuS* zh(zbr_W%4mucP&Ue@=Y8Y?Lw--W(CnbE=JrPb&M3>B*!Ni?zZwBrIHl;DezG37YX& ziv$Bke2)69l6d7v@j7R@gq}5iv5_jN#u{`57CCCrCY8WsmFTgTy0zT^QygGergT?=z)2GO$#@ED4KTk+XHv2>R4SXyJdw{INj?+{}b zT1@vVRQeT4kkvfBY`iTNN1w>pV?+A0F>#>Jl7nZ#KuN`KW0XgB!P49(7SG=ljKcpp z>J14q@e`C;b)VN@tL*7cuqFMuqPt7+vZ7lNfD8TAU#Es%*nTE`7!}#wUwXHZz8;XC z;=!}t7`>VJbFeci*o`VR%Yg|8?>}JtPEhP#3v?P7kAN3(iPxLE%Ze#2h6Itq6?Q~` zF~yDYP05;Wy9WbKjlc53;-GCJunP?@XfCbI;x)`sCwbS~ym2aVMXQ(w!7LwFbK&5; z`izNe2g+g4g2G@&9tdTqc;dS;iKCxq5z|3xX#oMs{GTG-pSy0vZi>pi-l0s$Uv91* zgxgCbpm?K?tR^I5j?R(9!T}BA;D3S7?~KjVmXcl>!4ljhGsJ7(a+}$5(J@8&6TI?& z$clqeAe>b74e{ECa~Km~S!5vymibN6#PF8IP~YoOsai6Wc45|I_3L}(n=TtK+~P>Z zx30!7i)eDoO%vc4U!JyebWBL1Nt=zY2_g}I<6lrhi9ZHE1`tep7RMW%fYPjwU8_kN8wvEA1XktZ~ z3B5_{jtlF$hLOZ|7nzxzLM1$s7G-TB!Znykmvt`sqp!9x=m$;icE`rdMhJ2!c4b=q z@ump!h@ZU5T~>v}FUK7v#bYTN#}&$$V=CS1f2UC~#0w6ZYZVgW)+D4tC`Y~I)S}Gz zmET10bwHH_!hucsMB(7YNQ?6#>7j{9;vncApu7LL;dk+ z56;al-a*DPArCF+rfy*R zaELi6*Y^3DJ8A`n9M)58kJy23Loc_4foA>Q9>m~My7$X_?c89S;JI_9{D+H^lgEed zoEn3K5UabSqS2(LOc#^K|hI+bXL>`l}LL*+1Q-z(BB}e+&R*LRQ9sBOsi+b?`Ks5QYz(H3K$E0 zf;h55YLZFbkay4q-vh{R=$@yN?<1T?UyE*+m)#GsFyDn;npzOi&@P5l_Vvvp;}&&1 zdk=gp@W1Cg^t$m=x(Z?L3`v*5ZO{p5302?UW1!ajs)09`sNyBai=qaWAqF8tCpk1Y z&!mmT}V8wnCTTz7aI>dYDaTfj?rlnr;z*cdtNd?{w3>OcI4IdUyuX|(RjCyw4nZ`IYio_rcf6t5R5jt}=S=#BqU6{{%Z7YS<_JkfFJJtV zi;?tMY#Z5v;XGWp=PKgYvnX*A8C-aTQ$&&Dft7MyAGBSPN9qVFb^JC9z7^;(z9v!~ z6JOpe3=B*~r6I^*!5@rMr0|#kSkHryp=Tp{C%E09n69v0HSt5eEu#eZgmTaPyzuN2 zXiwKPRna3BJ4i%fJxWTt8QtRCI0$v&?KqyDIB+CX+KAwbp;A+;YKN>4%qwRy4S-@= zgSZ{efDY*f&0(qGUlbJwaPbK?Pwi#1;0SH?xU|c%By-J&Y{>_S# zOk6$f1G;k^ihFGNEB#GD>AQB7o(eS+g&W!2R4G%4oGvD~_ows_N`FOkEaz!qU~#NKK}GOrOb6 zl`?0}_RQNAEv#BIW+bg!bCx$hLMClJ{CcB>p1#n~yhFKm#|hon<=u0y;46>_Um^=x za3Nt0-;<@TgQr?=j>2>M)3ffRKxrdnJOf?_n@Q}?uy&N&3v?EzWrOOmi$PfMBQ6s~ zN(r{L6$)qwT_|IpXB;sIe&@Yk79qL`m(X%Te?6sD_|q5%+ahaNSBCt@ZGf*do9aBP z*615UU?6Y57CJ*lNT}yH=kJh1BjcYxa_fzFS4UsVa^9XGe^P)xcCZX$gpF6E4y*3{ zqK~S;ci{nQlQHsCn5L(+>{gJ$8-qz=2LxYqUrFLVp>@R7WAYow#nwztI)j4}7Isbk z;@`y+O7k{rOR~#*J}od*wQC;A%Bw?8|I~}jWFET6c|e|-&aNAbv01KiO|4;8Q-5k; zGPX`#@{vq}ic^2#k)kV#S5FOeJoat<)GR0qDylSI=Pe1cYA_V}oJxUXLhE6&W1sk@ zxv8YN9DR^ek;F3bbjiA#6c5X8Eeo=GliW`bklf4YInKUUx-*E?CsUkuraOL(Kd9l0 z_7QVKhY7)H8Q6#%I#o|AM8tH%E`@dOEvnaoT$LBV{c8pbp0RC(&VxW zP}fVo7h+vS|0v>Q%;HHsp^}cz5=AMxI4L+eF;B&5fPJDuYj=~xl+6uF&X8&Vu<6@U zS{O{Hr@pMg0aG2?I6*owsoWl6azAKQzHPfGV?J|o6j1Lft+rRCjatHtT#$4dm$NUxZ)2mQKtwe$^8YPu}WsFsAVtS=+wL*0EkJtaA?48*wNP%eL{yUXNbyuDNowyL1^bXDG7DhFdcR18J|dJo%BFIBpG>hEtt zLgrou2RRCYC`TiNaFoW8#%N@}axLFw?cW~#{@2x$Ie8UYI}!lEXEgu-_5a?bmDB(2 znQ_{jME#eW@ddAS+uULXvp(S?V`~qN-6e6QA4k}>E-^fYxm~l{_dC5F?7EK+xhA3@b>|UHS^|WZ&$Z*XpjJBX9KB{L-HpsntHdtS4^_%%Y+@IL6XaV_yTvvaqZGIsT zgb*ffR+Fzq7T@>d0b^jqURFL%{rt(y`Q^K734b@|C%hI+=;`$78k|w}SeT9jU)v8( z!ao)a87JOqjMOi{7rdvhu&t(PmGW}ehue4WRHa}hSs25^U6KXqnFBnRxK z-Q%Uy;2}r$~7yh zZ|0&1pNH?=nk&j_HTUmv@VKiWx1+#C{wld2UcSOUy+Qx#CtHnlmm*g_|HU{y3x?}m z*!c??%O|VOsGDe^I>v&vw*PLB zezv+oIo1X2WPWAP!0qEorG;r5J4H?4rM;2q`=;??MvgWb zJiUd3#-0Ly__;d-ew4Tbqj8c3KaC|yCSAC&^L&&Pwd)X>AaYmj`95(^?YgVrwgxg; zi1`N~-Ad|B$J7r*J(WB38F6Tv_6` zC0HFPE(%>&{{!l@`8aer{F@>mwAhWrqv*KQd=$Tp3x0#{%!{11^~9~f5Yy8`a*RsG zK$Ayky=LE{K7NB@ORc%r@I@B09wq63T1;C6<$T!o0iRcJJCs>ph5dPQLiInoUwhL# zR$=WSf0A6FyV29(oTwjzzzsGBI@PB)ayjZCURLD&q+)H^33H>P)}Nh|tx%y31|dcm=$A%0Yy(etpR#|>Zpg^Qni zWq1Lr{Dq41y%M>^=&5LEk`Kadc$+ezkpXV;H16$_=gplGuQjkQQLOz+%k^Uyuhg8Y z&Nt-U-2A5jVwn<01ap^YS1VZ&@-t4Rwtn>8|Ghi9d&Pm}@%dct{^PMpRlDTVRd-Z7 z*~UFMu2H{GHzCOetsk=60EX+dNd=yW$tz#tC+72aDO_R)O@hm6#%#3-<8||xsuNg3 z>k9o0giwcU3?gKkge=UWFONex96}D}!T!D7Ld_dMdy)hpQruu+1=35UToqB$E zMBS*ko!ip_5Y11KNrZjnvc~fs$3eJ6L*= zKnKKSh{I-uX3lM@qiv^i@ps%ot6qwT>o6P62NNOtzBbuf>G^8uAN(Him6pz?XBb(V z*r@xhXfhP#UGcHU{3S>alrwOx=RPd={E3fbso*~%yE`+W=P? z$nh(?eyOh9uG-1Y_Aj(%I(1y>F9OMixyjawZ&;dzQZ$NIZmz^na6c;RC#JXZ=A&hB_O!3kgb-r+1ci}lPSujHKHE{&Q(Qw7%Yk1}Q>e(Rg{D|_L}JhNJg)>&@VZMR+$Zevd|dsMY|8qRdW5iUr#qj(+abRF*CogT zPSB6KA2`ea9l)M^KZ8O7Nh1k`KZrEXj@IP$6SWsfX}Q z@E{ykalyFF{YOfejCpD&j`^Wxv^sAF2*o0-=_|+@G7vSC&-$x#gaRtr-9E}5@E{Y! zi})tW6wV1qUw6Ufto|cZAi6fqrgW3I&Sp#q|huwB*4S zHni8#?4qCyFo|igUT`%8;KaM3hA&{2+<*26^h1JB#Yxy?iUc_2U4hoR0M5<*366j# zAc@IRl*O=cV4{-MVH-(Ds2yLChJr5#4M=N~AQZ=<5BmNyhQgJ&)Fmn%rHuM=dA16hd-Fl2lP$`+7b;ZIjb z3mHH91boG3c>e(y*BMFJ_Jg=cpb8(8)0HT{F?#p>jK#7K|j?p`*kwe zBy3V3+W#CPyOdqK$T{6-@_NJx#0Dd_ENLXR?NjO6{n44LEB`2GIdz4Gm!UQnz0MEf zL^*0Zca0061wfZ6yt~>XpJ7$Jx33cwb^?6_)W}xIh>+52yb%;OG!pDDxC$#4Jq_rE zR^GxqWdzgf((+0?9Sb?GIqfN(%%m87vXdp!wA@}=t){=9t3V-OLv68syI3U;K zJwG!)bkQJvE2DJwU?jNr>JHC7{FeL|N4%*n<;JMLAZe_lwgj5BQM<4<-zYH#lvQ-#yFcq6nDQo4!x%wO_CL~|}o4Vgz|bm4p9@{*A% zYMDf`W#){x!|jp+mI@f?WlSHTeh;vS%LFUSWD2iD;@qpD;;Y2^L`R9Dz?B83)v$>- z0GXce`<m}Kz@oF*24W%C; zVWne*#k{offs^H5Zl%V-RnDcuBju_}1;UC+XKJoBm8)oGhU84A5MvYg_zdS_vY{#k z5sBuf$W?}dvFg0W@EfcaqeBrTSwfkNar-3G+ZJPN)=N>JtiD25<;>|1$~fwB1tHT| z7TlEi6yyQ@MI|yug_ugok?<7rD^igtlMvHU#gzO`EJPKFd#v(kklQxdMMQ71<+4Zn zwQ!FcX{#NtZce$j(h_~J2hA~WD`6MV1A_sC0$b4IH&8jxPmlXUk5XC-kZvgKX# zz301@@}=IY2|Q^$nZy@D86{9FtyGsn*(ys@@wUnk=M&QQ^3H%LCr>*Abn;l|+Kv?D zWR<-+)Lf>W!P45~mhBuJUYB<R+Q0GB$;Ariyx|Wr65(%HQ&f zn)KpGNL*=2=@O}0g``ah=B4YU+3b=DCaYQJ`x?;`6@95CeM$=tvukNArN8H^<+aEB z^O31czdv+YqmTsa<@j(^X}(}4Q&?VfCS)^AmkX5`&y3P*tK;Wc>|$dDKr*bH`3fXi z)3pmXW$|5;;?s~mnRV5Mh82jbBY+Wh`R*zqq70rXL!F;{sVGJkNsR$}sXO0E9nK=- zEkom8hRPWpaSq>Q2A(6I7+D4Pfyz3Vie!(|i-%*0``G?O5^q zMY6IQtMgciRtOH4uQCJ+U({|T92Jh7QkMTXti0=sNTIjru-tt^{+P+(q%7EklqsFk z=)3UdR|3F)L#70D{{uF|#vGFdBYCbtVcmqk3I2e#Ut^I-H`~e-d$r0AKn1Cm;ZHgI zPUy}h?Z>!3Tf={&VOsJ&qTWVxS|;(VLV(vu6e%C=P^xs|L1+xm|2L#Bf-$ZvVw#ug zNA6J5OEdG`8DrMxa#j-aUUzs`lbP10`dX)6NZAHozD&$Ktjeye_Pv!?$>ghaFmCoRzB0R}QmmQnP5pIP0YxtPcMf2x?}Ko+$`^h|w`eNs zR^Q)q#{j)#E{p1UL4UmmfAIsoZRp^JeEIIjbD>8})90l6VLXn=Z*vU#grG7EofwDv zUdsb3l6=qY0NreL`DzN2)n9A=;P=c~1?7l)2Q7`iz-v|vjy8nxCPhqivA_8Saa)Mu`6Ei00f>k>@s%? zDgK&>miCMbDqNj#CiJE*EE!3d1+YmIIamr!goyiexEQ&^p8HEEY@l`&%<(H;L*0@M z=d#-DCC&8pmufM2;CQv?HSC{SsWF&`a`ip^SjU?VZ*hS5_h}#6lWv)c2HT7u4~nE& z@;XNyS+xm8YG{YC0gNP~@4D)nmMi6(=N$tzF?Z}Uc00}VtPLw7K=RE1t(Fih){D?Nr zKS3_XQ86j`n7(Uge%Y~ezGj9UKkDdQ0QOeoS?w>7qKD^}0nfLXAE1_mN*kU%V#y^} zEp^9Pqe+7Ej{{SIkS+hL9k;(R##_j^Mx4955l;9pw4HWt zUOsYwCXPE#D0PH2Jsy)}bzgvu)>y!j*7cX5?<52n$jP$VRvw)Fbf6NTOzRBWuYHrz_yAc6pW zecPmd9Y~$)y@u^9)~B0S5LZ+sCQ8Dg?wXKl&BJN_dbcZaj~F(yi7%xj5P4riGR}de`|HNI0UI$zh1`=Oni5{W*X)0_MW!Ho@|$U7lK9 z-kK0boWA8KNPf9l);Ea1o-@qw8g%}Nadgv-WGr*EM2js38R~C(LIx3XMvpCwM^naD z)C&tFcB`MX&4Modi-nFs<0^;AmG=+SKzz5zm+pSF#4K;yrDxnn6Na77-4fb-VnTu~ z(}P6sUyzo~GUuk)zl7#5GeD}x3`lXBvoE3HjiF`BFCwv@?`P_%L(})qSzXglH_Cc0neCF(z+tKs;I5A*r<$LdE zVY4#MY8lYc0oL$JP?s=hKHl(}(e|$o-ymT|=5aSzluXcnZIPD$JSBCRmvD};3v$7@ z-0ecD5ZY3rjHV60bByLIP4ctv7~gwch(rU;lt^iC%kkw3Vj2%>&F%xKtGv=_w46Kg zjvZ_sQ!laOmYWV_fIf97psoLaRB?#8&}uaaQ{wUM*GqBVorn4>c6I-!KoC0pAJ`H!w{p2LU`n0?FZ`q6z3q?Ed+)Xit`PcWG-rY9>y`P zCig6y2(M?MZDmT_=-Y14LGRF`om|;MUCjqLk0jUL8kU3{L2B2I> zglYNGA2C-F&)svEds0DL7}&Np^x;?+N%vg0D0U0@_nGA|X2YICn$(B}d)FhjFLt5& zp;d3#SVpn+Ty4E(`R*kmm78EoxrNa%FUS|c zIFfzezVp5zb-ogr5_k*tpN#+dLA%ZA9H#6_w=zRG>u=E5pamP9JPi0niNfi910ZnD z0Ff8;Ag!gWswFpoKcrouig^1Y#9~|uFbNlz5DAxye0uPr&4a=r%CM<&T)jReNa9o# zf07r-yf!l96zZBS3*0QOhmIwXutajrhj*zRHIG(}(#-9O!fB{;QMrkT;;2qwUVaEw zf3_MIDJT4q2gK+_B5uH4%S)IyS#Ogt=H7Nm=RRNnPudHgQAAiv;PuAFeqtDM>pRSdy94B3m_SOG6@KI-EP{(W$M+RBBsoquq%qH=b+ z*8RC|`Lzyc=>~5j$jqgRr{OGWsRYbtPxI)W`z(Si;t_RelrMo0$Y+Hewr@%>rmjEc z@cuB^&<)mX;{f}LioD+tnMBAq1$fv2{3J$sdI31t3;Yl99Vn|k?^uluO_UaRrWwM) zI)hC%{b1THdda*_VZn?AB277+J&W{q7Ms7`zZ{n)Sn#Mu>T!1Ck~HdS*pRtEnN=1e zCWyyALziHO)X8xuFLzx(w!cc9dq((fMEyzT{k!M;5_Kvq#L(6bA7!*7CV4zNc{mlI zq1~Hl%L-d3Cx#c!6V%ABy5}q?he;_7arm}|n@euDpR_G&vlXX`qlx#797kiQ7YfJi z63JqP7~+T6X%<2E5GV)b?}L@VW3j3b(l7P!_?yebHDSO60#wd#o+|LT6nk1=#H!aa zv5HnzqA-d<-RG#&eVN1H$0S8T9O zoYu@~e3xD8fafJym&s;sSsNtpm(W(1S0Qw;RI-ey!>e@F9_pcn;7MU4oHn=27CNje zNY(Q*mMFg~U_rX~C2d1m7aA+4MnbcY(ETobV}3l_Bp|hTFKu(?x{NDbmMjbvQRiks z_!@BKP0N`tp`I58$s#B<_~orufv)9hv+CZt}~|m`h5#Q|vdJ>K<cAZMsF5ygIUM-$2wiDMI2Mo6eKDMUBLpN?RI_CMQVfg6z;f?5%WA(3vLD|s%b%)6uJ$-b3eSj^wZx6N5w`5^5Ra)Gr7A&bck2x(F9-ke zUnH+zlamg<*KJ=x2;at;5l%j4X%pQO55I5!_66t1)cpx5%fl4rl~cUbgvXAyV9W7Wd+dSc-fB)$@v6i|^}b=cth-6*NH@u#yqkt(Mq zO?hyM47##Xw|wD5nOwn^G3BwOLb`H@QcHcEK=z`{TI(?Rv;wc}^2`VJP?=rpRK6LBH0=B%!;+=iUFMMx^o|u&y=rqBr;dnT&vl)??UU&5b`@=86W;wk+PLDEGA)dw#QTPy+EyhvTAs8?Cn`jRz zd6WaX+pl-SsC7)3o|NDc^bvDf%FLkDqu*Tn7iXCN*U7`Q*dvAcfk zUq3?!@aKm6g>Jw0U~G+FL4+)L+H1D(SpZ+b!gcHyTNz>oqF#Q_0E*agBGV&$Jj?kH zGVYex3*qIq?oA$hCPw>oc>nkq^I|Kv{EXmHKRW+jYjOGNLf7hnoFzf@N1nW}`qrW0 z1VkPZ5e-Qyp*+;12D{NLElbRJvCT$n(svrtdSw#QZYx-$#)GRNbqtUlrQcr%VWET* zx|tHK8YPSAHamo`dB{zp0Su{s8;Y$mK5^c+axc9_-Js4SKz*$uEaZDPMXuN_u`dgL ztTkVd1H!%a1Mp53EL^MCl%g%ZtKNQopQ8@VQ8+aXUzgw)ZgIT1RGvJNlL=xRc#HsG z?Y@}P#4M44pym2`?2S#vDJBF1%dvj*{Wsek<$e*{KeU%FKQ5~sQFmD70PrlP=}ru$ z2ru`<>kKcQark2FSb|=G7RKW^G+h>HzEgY)^(hzG?ueTKE5ttXy8KAwIB!;mh0%oS z$KckCNoU!@pERg(%>MPG_ueKB3)DRY<7hnST$z%!@KxF&2k&8;Ml-4rV`@9 z99-I8TcE$Q1B5Q70b&?#j!Vh{M*P9~Kfr62qw@-ih|h$rGuAWnvKX8F^Q$m`E!@Mt zg`E4#egF`{$B39~lb>Z)o7Ozfbzc(oDlT3KFH|e6v776tP+XF~y5Qp!>HBE#h$3*H z3lXvGDF`5tI;L~cYEMAT6IBjf;ht7dCjnMuUYg(mET!WA1Z(jKQ$=TtC0BZt0qK}$ zChT#B>{^pen<5gS0e|{*rooNJ$*n4k!QM#`=f*aGG0-SiY^=kw2rJV2eCQ#$;0blYh4w2#| z4{5PlYqXdfULa3rKx3bM@Amg}@wt7vncMq0Ep>dBV6d?r=7IDsRx5NSXW(UtS9204 zO%s6ORIPMr-;D$wqDEa96(}GG;8jkxq{YMW$N}yN+B_ufs zm{+BK7dY7Gzpow>+wy9wN7V&1(bF~vNuG_-G6@a_U#pkc$I>I2O^L)R0q9CC z%8h&|kPz^}3z*Ck8=G$xYiv1NWN{c(L|MHH)8S1K=rr<$O75Yq<>W>I#O76Ga&BlC zBT>)WRNP))u1+hn5q`(>J`5?#%xro0OhzurpQ_}tbOo&oGa;W1dpZH{P6@g+c9s0K zR-rpbT=ZoSHZ?b$<*VJT;O9~uRS98FGW!dVq*!xw$)AkzPQh#LA+qp)-<$Zaj86qL zX<-1ae}V#ZVA^pC7B8Zv@ztlDI~#@I5y;79Y7K%i5;uvV(EMz@rbkd}D|VNHQF9w4 z3*IGKH!!Hp1o|Of^r9VV-OH%ga!A;uHt$XPA0J^Hu|bJ3A;EL9u6pNE6A2h)H)iOA zveDV9w3(po1RjANV;f{!EzGV$wv=zSt^Xxp4<$jGO1bd5Pjd?!A%^j{4HdR@tslv;)(Crb{k7X7=T)JLiix&USw@%DuCfseG0%_pn00izWp;d=|To2W}F{dzQd^ z=00k-`X=~rdOwO^DG-R#Q+g*$?P~t9WnKIWM&D#Px#F^^yKC<0U3&SD-IDStqeX`Q zH(b|}q0rsC@$zB1h3?f<&;G)vwrJDMoK#>2!>9U~$-GZ{ z*?9=`hhI3ZnfLiPy~q>=d>DKDCnK^9ho^^dU-LD?98Pg41@4&N@`cL@PDezIQa@q) z4%_bM2Z)P`d2w;OS~+Z<&GXs?xtnu{4B)SggCQellJ`Rfb9OW z;WJtx20NTQmP|g06`o5!LBa=3up{cYdP>4=es5NANm*W}DT8VLrFd!0Pz%iqKga+| za)|?4BZ^Q`JL<fp#3n}`2ciwb>V50Mw!d5X+^p&1xIf6dEB`*Z@*+rdet_jd}?tM1ON3K1(x~8yl83 zk(YhcM~+{P+ihVN7F<6t2c9X+Hv07E8)7%w$i`Tl5l*Z=_bBb6F&f&EGQwViob#@@ zOzaWZQU7HEuXrDE01Vg{s)O#RxuDSKKs%Gcz1M+AB+v}233uvJoQOF9S?37=T7RWS zvGIm})CNo#wNf>A5zqXPA~W>4llJNQJ4h9)m`j!DZ{vzP=dezi>*g)iU!lX;9q|Vq zav|F0tz9-HTYxSjY#4E(;2=PXB}kWBGbu(J2KL$`b0DR?R)ULkw;K>zD9JZ?ilwCG z{um#26=iqbkmf-ZYYVDCmZ1q}Qs`sD&~Qgae@DYzwnk$gDNe)Ez!eyupS6p)kKSDT zcrZm$v_FCAHyx(UNRP}$Z)Eh(DqjOMS;u~>JMdTh0|0=SAYKeWecfW^QI+%9=Ov7H z!5MU|bir@j(X4T4&c%U;B&ayuyV4+cG&M$p!-rT#Ofjbu8i%&dA*T-i1f*K5Yk^c~ zGXXe1VK6At?%mS26Afe(o>No1 z9l%0{Gg&A|3L*s|S8vs1z*uXhaZ*ClMV6e|9->Ati7rt0RW!Mhdw>QKyIlMTkW(xs zMWs)HX-rU{B!q1*knF(keIB#^ae_kf86@bdIQWNltE+fe)03f0cW$7sL4$)AOq{b# zs4^vh*lP(kk17NFr=Ta{KlZTZ2Jjlx=SVVJgJ5b68xtYn&edQFONEQswC_ed!orDG zQuJ?K4<)2F(u;Qq^rfC#n6UD-2Cnj!))+)uBFGrSh6a%jmQ7R*W>pVQBvS1N*W_Y6 z;@fnTu`eHUCArmQ?j05(_x_DuRptS(=Q5IF9HGUyenQ0{$``Ox{V!|>cdB5O;;pqj z0eGkCV;e0mDzbD;!VYIW6Lr=*5)=&xyLL&D2~sLG5nPkP=;^467A;<0*b_XFpHSIq z9=&Lu%kqx$W{NV_RFU@^>;}pQo%DZ+3N#Uk4CUvOjW4oi!?ZZ*8b3P%e&%~SZZ`wC zSi5`M&bPiZ^#8~o;*ixXUg&qcq~%;hQ<4(sBvl8a@eiOcN& zm;{gpDQd%IIIao)L4O$&r~}wNJN&cfT^&?gdHyM8qbiG6FS*sJuF~xaz9i+)9uImc zv%d&Q3RS|!a)iju9K6=fUpDQ{+nOSawIh*(4;1_j4%-D`k11HOl&cDAO~?6{BbgdA z<8vN4s)*q&m^IOz2qx8!QO-FC)8A?(?4)!j9&2L~oOPkT2exg$Ln`o{X!~cIU`k}; z-H=hdsxU}?`L;@|kbwhq=-e?6<14TlUywNfUmU$vmPFc7(bqjs-5sX#MtdY_X$jTgS@DqoWRoRp&`p54D*IvenZnC%5*iofp^7 z!bEyR>M18_Jg^S((IJ6i%*$he0=(;fK`rb_5R>wC>9kStmcG;+M?xt@GRfx1iOtu# zIBqnYD>Hb&nuJnRj?=wrlO-~w)P#Ug$O83jC?>GCIf%OD#>dnvN9_jJI@(TX9VgUV z#eZ~RPd4-Yua>`hq_DYb^AIub0!@tQ;Y6Zs!t#GatR0%eDP8{&v0e|_FW!`hz7WcX z1(S6}yX)g0qBZD5@vILSVkDQf^9%$^s3%8l152x;k)1fcLSm-|#3c9aFEiWSYo~30 z8-!EBNEGlMoPO`5BzA;TrPelCBr#~Kt4B! z{R1XG)E2#G7gU-q)k*gX{_i1|fa6^PQhB`q$6X`G z?S}09=Dly=xN`@)oHN`@Ko^v#aIKfG?qs=$%*v6ir~7N4QyM%vX1N6v*~P{+p2SUi zqP*;hv+b@dUrf_;98QzeO-uhcXS=Z>~QG0rOeOm=J?mj(7&(E>{wytooHA5SB$t-OqHB-vf8Vc3iPq-HU zKP4atz7BB@;;$Aq>wi}b`=3B3?`UFb;%H)PWb%K3(XO1f*pUAF!?{Jv!gRdGVvx#rt)qEexVJIu*m^ z0R-1CPFA;%EI*`BCL%t_YmO|8K)rVU>feB%A^8qZIT^j`ZP zF;v5vt?qLicwPXY3@=pbq2@SXar3TMIU>4bDiNp%Z_P=5zqjl#qQ6a`=(pDL)tCJ$ zCW#yedp;b?!!-pEEm&0UH^8LS^vxE$5m$H6Bg#m4k_MYc%*Lb0(}E65NSe}L0S@Ko z{avMJVxV}4OS9p3w%bx$j1hwDYR0#YCnV8;)6JN}<{aHkkge+C_NmG9O)OjwXLzwW+~e@8I67qE3?%4WfWCW-jirTsNlv{ADLaZB;iM!)a=~ z0Wnl+jsTo)h=<_z$Wm~s161cF#UV@cJoC-mG3s`rJy;8~buE?xKl{bkdzIqmRJ`wz z0jhmk%~;Ca;?@-wPRP^M;TWOUB-8}oKOw$m8~?p%e<6x`o}>1|VrWGwpI42)3PR3m zQwObS4n$L)H$(-HEDE_Ps|KR`_G0h|$4B@>>fviyPR#5I9uU@aZRp3bm%WA8{)e<} zn=XY_u0XKkD=b4fFiASNX~+xa2>dTi8XiScyUdy~zfFH)C2t=53y+avz zoPOng!%pa+v-p(iZsCzFbZB~rSzUg`D8}eyoOSz0&KCf);eW2$8~CX(FF?rSTVR|( ziM~RoS9;&O_+ruQK#ia5L40FS|EaorUKq-~+w&L>pn!2sI3j@`;JRJz7g`W9=Jf)l zqs#!A$#@C%r4`mu7@?c0)~ca602AV9u81;`6iXr^Rgnt0`nIRdz#?T{J0BOWrO1gc zUWC8>c)mFL?qI?xv@u`iw>o|ZnufDmqkv~1K9s~L#lZi1E_$T9=|#Ax-19{_4GdAK zb%Qvrq(;Wa%;xoJ1#v{8s?jySALQJTputuWYE$GxE0JOoy|SoX^OAVK9EaI%A!uz zoyf0sNO0Roqn8do-YIP{G$72Xb0OZ2SrL6?adLk^lYtXl|%P z(?nTBA;>9(!U##L{U&?Ff+_aK%~TOAE}4Kkw>mp>H6#omlB6$ynh7Tr?KY_Dwo|sN z@eoawvW86dypG2%POm@9=<2wV*P8`^6QH(fmdpMyD@U(~5(y7ivXiKv=VWgWp-D(X zni+{JKog}|xh}?ZWQ4t=9liV71uD#ky8ONo2{mU8RqsP#wlz_d?qCI_ud3#=-b2!b zpz*W|63gYn7<3C^`YVt94S=ozu@Udi{mi-S$7@OfO#o=ot#b}(1av|Y8Jo6x0V)$6 zH}LksM_T4Di1+-SQN`_oei~M!FnIsEHQxa}Cuc0fjexGrYf`P>MLjE`QwhiS_x?Rt z26O=T!VGrcI{8#X^TPA@;)qmpzxtxV-+=FfXT!*%Ci>lbAUuvdWz%gb6U5osqinoZ zm_ot7OqXfD8CQ1)tD51X>FSf$w#xUKg&RC3B_-M3pQED?^R7z`BY=tnG|}x!b#I3b za1%H+QWT}QJm?yR;294_&V-%#h|(Vh%>|`V^Nqf;e<`vs0|_NG4bIDqT^e z!v$5!wW47EV^fOah-)Faw=2>w5gVo=NzF&6N*Sjhk{oH@loU>#OG4dQb8D`#VCV7m zi8Oxt+x|AFbGxdVD>%W`$P<++D+#s~D|bPNOdz^cAg!3KmS`HUiC}Kr3M#PAtx`2G zAxsSEj1|~F=~VKsXt-AZp;Ip05-~VQ>Q)LqH+WPaQK}(}wsx^k<5Zxpt`uUem|cT1 zDa0_wgJxT!FO+lnsqr^026O|J*$S)qAl4n3>57eCt&7Z0%HF16t>TUe0Er@E z)VKhEEj4mB@7MVw7WpHFmO(6III-Ru&aKR@SIw-td6njlT9&J*MDNH`U!uFasWFm* zI8mfBnJnN&ibxkW`zKyA4F;FP6F;L4@kcAOySX`u{lOwpacg*#FK#1!-M^2nAu0|7u5hcFXkJ$)lI_66P4rR;oUng63Gp7LZHw^kbFPtct`ogzcE#lzb1qRko=Pjiqg(xDau`j*W^r0$@seb_aYHvk)U?h- zqdotrBV8-5Ky)yINkGW85K!Ah$El-x|g zAdF?8+@fDYCvXyY?Km(I6?*TA(NGEZK(!KB?&M zV=7%aG%5pIMOwKDwW&4;{Li23%n7PeT3Gw-NC%fjs_81zW|Cq>GsEYQb*!0cPP0l& zOVlP$CpC8Ts)gf~O$YKWYsZp5yW zvQW;hG-LJhg~v&Xh{{&A#;P{ol>S((8$E?57@%m4)sdw1LjKG+V`%pHVM3co5Xh-h zbq47CO(3jjRDzKpz^#vQT3j;Y3kR!U!G}px6%Z86W$fK^L5r9dwiG5KQ=X(r=xQ)g zTGQ8>waRy^V(fI*xxxe;*xQa(D|Kdpzo{z?6}{?JO*KS(S~06BU}0)4b;&Y4Au>km zR?QBe4$P`-hAlMKx@H!PIifMAI$^Ho)>OG@W^W5y4K&@wqFWcn6ByDHN`%oOW|$tX z*H|_rU2HlFnoM}luFPHQIz^x}q%-S_{&R`HRCOM^oIw-lZ+b|y#SK>EzeEPJ-OQ;V zj5Y;wsZ-=P8B}1Xgi0&Z>Bl)6nUos)i%ZiJ>D88sCiW|<)0$*f5f&%WsliSbJPj<^ zemS}7iJk?Q+Tx?d0n}_#@Cs%0Y^khQQLq@a65<8S4I~nZF)y?rvnn{I(AyWVRtO7f zMGCN>)9T7&1yug?=D?DPbnT*ElXj@8E|ZR;ux{DXw|uMS`&3BiuNlqLsk2IJbb?)`gQ9+qP}nw(VrbPG)S|wr$(CZQItL zZ>{xLoxRV^I+x?(tr|C@-qw2W?P&@O<@hP7!aZbVUtCx$>slGOh3~pW!Cnbo6X$8N z7J);-lw((>s>lRu8;c~G3>w8X4`eHy+;Z0+*0n2Xx5mwwYCGJOZV0-x3I=yoyHXA# z3Z^CdIecYvs&7`5C|5}*GPX=!(J7c$e@S(Q|6zWwdIUu>zGq#yay=t86sT^OMN_R- zam!gou`Wm@Zp5kHCtV7U9RG{|X=+#}lUaMT%?L95o5q~QY_7Dp#B0tNr^0AXX{wyb zd=$TbW_0)HGgl-UaN$^~95cHBp^sSEA~2kanO9e)>OkPB5+t7g)`(#_`6>KtE3$k| zGRU2g@dp0;J;CLT{js1d8tcN5$Uxy1#wf`588yabX}u)s=}G#W*6nRSbyoO6%+hlS z7FxWDf}aoAHLf27h}VScSb= zB}!wNuZlpM6LXoH?9RCqh2BF@e*N`cgG4h=e4?|E1u2bAY$R-t1G@@P0Qd!@vgzkV zRd&qeH@^fG_Bft9697Sf zf#iNB&LafFo%;x$%60KbqkyLdw-l@9?zxD%0&FxamBUXspJnDAxHY@sp1#7T-8uLNF&dSQ&{70v;_Urcszy?qncOPs}Mj|^0^L#XN z3-C1wrsc74^ZB+!eaw0fwmR>aLYX|}XO;Q^1l%-)-m?+Q#lF@oQ#W`QiZF?A>iiU> zR6R;j@Q{;uFI+6b-bu~LmE^wWEZv))B+6meg*%2qYaArRhZ$l^Byu$9GE0O`O5Xz~RB#`8bEXl>KY6@}Vpot_~vircFRL z>|9MDy`B$MxEcVNw?9->okF94ijcOGzFyp!W zdb$VRiAD8Yb^AC!lzqSF{)kxfySU!ob%{D_Zf*YKoxxgUvhr7oK|L`}r=BLf)enBG zX&c5^Ts(=8SXGM5aVSrZRV8-HJf0%TDm;Etq0)Z0@)T^oV|U>HE;r?PFv!n^2LPCf z`2VuuQ?#`*`L7M%l8%S%!S5u9kG~tJ;?D|jXqBeRIZ507cI z$1E8PDEp0r?4_+8u8;C1L7>iV$G_-Jn)$+;L8S*XoT$%7JdT&Hb6tD}cwn$2xan52 zH`56R3}`sqd-#FJa}pmP&vyeaJ2-^w7&Y|gMrb%czOvg{xIP~4pE&K_FVzqw{{pMLzdo8{I=PCu{TZzok-gt|bEVehj*uGMkr zjR;cSus=GDAoi;g*s2cjh%XXfW5|0Oje;M1bN~t^tEzo%ec<}|7)8Jm+oEUHwHmib zyF+q976NR=SN+}D0c8HU*7omU=gWdM$->Uzl~=#E0Ec>RgC43u*~8nb!iipV63OXk=#7a89>&e4$;W!aBYg=K z+`WCF!_>^Wx`u$B@abjlh^aMk0Kgn7l0gIVHe<8P`DzxL?zpA1_W>o2{EKj6*+6Ka zAo0fGjW?lkcC2J02UCp*-1eO^wGt#Mjm^y6wnED3Cu14&=5mg=foy zq2Hr1)rWSULh8FvZPldC)L%g5nK_4bt~;Cze&?W+8u1F;POoq-k!(m(ufKzgJ zhyh&8Cf^p#07JLzH)5|eBq56pNdf#9#xAqcsHXfqH=JJIV#gBqtXjT-6V+~I&=ClBxCSfIlOfpCkVR65HaWoDs4~(S z0ENz39U(NNW6V&`Ana*p7}1=+5PjC@C#y9FXatiIjpqn`d^W@X0O&2KS+MWkLaO}K zifiD40^e<(cm(*`Dw*6Aty>9V&Kf_3cM(R)Z9<%kG)W(cJKm)YvJ2BsiSD9|ORrq1 zM}b7BJMu>M+zG@CuSj6#|1ZH#mq3WM{Vl!MGN}h;8#o*oHR}GnraF1fD zc)}chHXOiseo(0_D}NjIVMXk3=-|h~%&yO3B@;U;QcA(cXX2$%kZ`<_i2ij;|fIF8Aw`Gmiw4&r) zt%Irpei}Uyj#2qUa*9Vde#$}LlVMpWOW^g&EtWJ6xR7igx^nIfMHBoou3siB$q$0T zH-cp1k`YwuztDL)S(EINOHD{_xWh>4Z^6wqoodp=R&iE&%!opYadl%KxyfEnI$^!m zGRV8|XJyp&^SfQ7O7a8zqKHq|2=@WN*X};_DBkVu?46(ZHX)8~v?ipE>u|q%Cs0=48+~U5OuA~^$z$(!w5hWV0m>^PW0Nc&F=swH-Mzb?lTm(7p?Q%zYV72T4=c(Z5 zmbYVgH69UZ*W6&nM)AN~aE@-UAEHm_ys#W;C>^n9D->L`VObQUk}4Fyt=vjwm{Wy^=0j5dFpna{zRvHOcyhaw zLkJI|%U%Uy`Qlro!?z1&CjoMj{;1-a$oWwbfG>O!e_j?zD4vlNpFXg?+!ja zB$}0Gt;l&bTUa2*ZbRhHm#l`c!HMMbBA&4ioJcqf17Sanbc1dWBpW3F`%5Q)=Q@Z{jApuE zn?k$7=8J)MY?#~q&|h;4=Ey;Gn5p?;i!h)tS7Lr`{X|f2Qdh4S9qDB5`ckJj1x|#> zpG%OFZXveJR&%%cAf1`2yisHs@ZqCHMG@*eL=qjt zSXJdq=MD@5TG4+b(%rN8Q{>Ac_L|6UHnFOr^lL6{^`vt%MdWXS0gZn^?iQ&XEn;PJ z`Q>7WFdoYo+;f2=z$VXY7)GT=An8kT)RK`g3qZ!&>3<~Bq=TUTo}JyVB^kLZ)b67+ zFh3(1F+rXa$dU9X=`u?>0!}D)!hmV12o6N4som}R6fP7BDz~^(6wlA^aJPHVj=0y;} z)HEk{oNb^*crV#?HJn1x&Ui-3i~QA4?i1wVb7kjSu_^>CF214Q zS%5~y-^0$ocWpGr3}+uIhKL!h#xRP7Y7XI?=TGGGAkX|#SO*(F5D}aZ65w#P?!RK- zKORT&w^K^{5kU`j_Q7s?e*ndwftQGwUHaYN&haD!qJeGppNR(3&b`FQuM5{>DZ5wQ zKw1~su%`e}z2M^gp?7D=Un3LFNZ&nV1-_evT;E%?KdVfKP;SmM@@m6SZr(_4z9#P8 zo~Ed(Tw}VO%N2$HeKo%;Qu%Y{qw^$E72PS)AK&bUc-Xb(ycG(1=$k)tX1_9KGK8zs ze(@9bQ>3vn2Prdt(Suh6o>iHd6jRCoCa2w_2WkZ0RMi&!6_@c#PB+H@)(F3-@=fYo zww{bb(SySR)`xiM@TKk!vxXnv$I@x&rM~Zhntr@!2lbQgd1iv@XFhqdQs@z}-GqMH zaBbL~sO?^$_`4Fqe1_C;AwAhoKjIlhi(P|h)(kaL0XNxCH}wnK36~Pb46JQM9-_vN z__Pgiyug|tw%d9yULy8wfm8%KyKnKF+SmSWo@Gy*7;;4z9&(AQ339s2D(Z7Z3o7$- zU(0y=J4fp=V2eF&BDl!kV)dlZaGG3Y$OyZ|NMMnhp%t(~UE9{=Ic$)A&;y!DA_b5U z)M!kRXJ4BjuT^(E!yZa?=-Q{R+MIjs4BAv5+fcqej;CK(cp&P5mkTF`+fSUA)9%d>Z*jZre(Ao_|ndwb$ zGLVI+-$pyajR7;LDOK?DZgELr&x zC03;eWEgdTs+9Yi{|ZQvcr(FvAm4NlEVhkeipZTXGr_P={fi%%2^=YSz%k+%D;J} zO8gcn`&ijQ=0bq1bNK051BSNKP3bhv3Dkr7YOrJMe%@1Ir@*$JE`ZJ3z#{1fJ; z@I0I^-5i3ttI#*z#wBK27?FdMvM`k<)1L2$0QaFyvJ>X+yUeS-HPK8RCDH<&b-H_> z1{NK&Mk##3@rV@{4t@y(?@ww6FR8WufFVY2s|7!ucZ0KBf5#8L8W%tHHpBt@X)AaP_h9sZl*+FKgKqXY@ zuS3e=gelquuvpwK@lJurU--j@cWzWIoJ#T}Jow$*a*)b7nJ)C`k%5iN?2aKAC$dPPOaeCZn5?wzV>KO0NBz2hH_k4a+HSskOrlm` z;G9wE;zhw{r| z?~)a=ly9lgl%Cu3^j}lrdoGYq0DVqUY0w@Dm6!duozTP8_I()aG%C9qtQizXQ|)Ul zxcAL7{E|%5uSJu%Eu|jb6Pnwyj$pS30dB|qV!Ljrs4cXi*jw`X30!5&~MFo;YX^V zFlLOXW0F38jazxtBVhqqjaftyn&&__EH`|2Z0!HL8jz-&AI#?&S7Aoq+$3I*9E5u7hZx`%mx5> z*-n$@DJGrGBv_;-&AQ-?VD%YKBg{P;TUH%4jY4+${58LUZwj=z9-}-?WWk zKuZ&W^nzBy7K;+)K-(SsS9?;knJ1cr{NjZ==aGiHls@Ad zkB~-R*bv{pT#zTPA6|<#1U<2RQ;ii)V9NIEcW{`|oGnDm zt^5UjFzwf$7nP1!dMFlvUicF%5P%5peNAuR@ey^;lOuH)+d>}sJ>sz#q+L-!Z_%Fr z{8i77fw{~=s&TWxNIis`0{DM2+4+XQ1|cMX6B1xRdroX7$!E1Wi6w{IWP{-)TlZ;7 zjCm`w#lYw^jd?TD_7qE~Oel;npS+ zjQd~X`#aVr5frx5Gy#X=9t*=IFVnrza>ub2WJT8Fe^jvKYS0W=X__PV&*r1e6qjtk zh9!NTmz=0QXc9Qi*_OwZJKcF6NHd`6wqeD?R1=wQ*SB3`Vf+0T+9x&(*(V ziTu5-U$Vq=ODBhV#m``_M3H(<9O@g8n`n}@mwocn;)bNBT_qa1wA3gKP~kRJ{K(z0QGCl(-?^)2f# z8l+0bxcJ2-v4er;L4gRgj+LMN zk1^{dJ&rb}2m7>*#NbOu%F_utnW3CK)8$qirxRwKjz3P~4$k#G>*U+jw-}8h3uvn0 zR)70TV9)1$>^i53`w4VN>YrJb$0Z5#dR~>J4x!~f;iZK8>8ywooErm0LcPFg@yG#o zl&R5bvwB%GJXdl&;@~B_--b#d4k{05))tKn3OBl=9Wvj#BV=y0pa$S*Jb{2{d()gs zdeuA4h}D{_31`IVy$CCVX%6cwTqWM;$Wq`J3j=$5y3vgULPpoZofei=_Bh4}ju;g4 z#hbiwKInmuyFyM#V!ora3BNMXiU<_N6gzM8D@STvHzE8#%O#q+v0(sL?7vCu1f>ln zDm8T#tq^L0EuppED}{|yx@9}>s3$3{FLyQ#Pq*q$lX;S*?)sq|SR3Pt6M~iaA{GBg ztT&et#B>|^OuQj!loMI5@DtW|)GLm~+pUFi;-CKhV2xc|*Z;)tVM8)GC^>BnM9 z&r<3XJTHvh*xRR?DMAiy^(2i94V%dq<|^@66ONF+lANbyj4~QBD{e7n+~6@uC^UqO zi-^@yu_@*!0~SB~BVfwVp0&`fye~??qe3c1z#KAol+9J*An{L(ftJ4uP zX$){|GL@5vxWTaZ{Tj2*Gh3X5)?`_nq%N^#QvzgyG~pf#zHIk?tcW{K*;TeSfs^bZ z1F@;%F%5BQ!`>%tMxji&WKzBCu(|ga2la1pvPe-w(XR|qOVL1~Wz2S)<0`(m9eGaF z`C1CWZIEiQAn-!s{x=jFznHoyrCc=bH;V;JDhK7V8L;VGRb7Z#zC>25K(cSy6T?UM_Fs*v(*?^{fo_HS<+=YH7}vsF4s_@pTmH0r9b4EMJxPX7C?B&TI9HSgaaSX^;lz=iv1{NPhDF_Tk zW%p1r8gq~=VUNO(Jmq5SK^aEDyu3^x)Iyp(AU>T=L$w02)UZf9LI3C>)l>&pjTz8%s1Vi>8xOgvJ;Zb z027#6ZM_cFkfXbtprVx79KJzwVcb`BIHR+&2$Iz;&NyIojB!*&L7bE9_w*BU#GT_B zbgzkTul$OXF{C)nR?%yFHF^!f)x> zAJxQOo5+e?TOM_kr8X_WCZ}*oc@ysP2|p^Y(oX=BgluKi%a-e6`SHInBbp7QbrNt| zKJ6NOS|LmIjH8r=DkZF#ftugIo;sCBk*WbY9~xc(W;IL)(3?-GG*xh=4Ozcy)MORn zs;(vtABB~&6bsjkhCcV|-&YW8i zB&*3SZJ>4(i^I}QNZVg*LNg9-aj&RrG;H20Qa5r4axOiVQ_1Zh4gLIleAX{4s<*5b zh6u3?pr|?A!p%K5PZpruQ`F(q#(OL zl-9_?Z;e+tT5G_Jkw1bPklLZ4bW>aqk-vvuWzq@ z1DgAysNOl{Z*Vv=By|;$fmdTiq`}Cbod=bGDRC|dWaV*~3u&T;OHmAKQ$9NjXb=+M zfeglsD*vYR%g!8s-ZK|y-u5e0YtFv^ZHVG+O~bTz^>nt`5LWE7|M1#!%1&6H(QR)m zDIJQk?<&vI_fFcc>p*E35fuMIJa}_99vrzM{{!*Bh=BNoc+ejXJ_p$@?R2-jmMaSA zF!l_=0jp3t2u}+_gTb*x09#C_>hooPz#+zhL+uyr{rQTCX1k8eMZJ@M5_5Y07JBM{Te?x`xXEugKXVaH&h?LT|2fZ2IL(&AiGDZ2j-whM zrR(k7c_-s+k-MU_*wn?-V|V9;mksSD??qB<@SGhM)I|qJ3{59#QIu09(_#Fp3#EqVj5<>q;X+MHT?Qj2$XX@@Xi~);5X;t%7Y%>i=GJ*ZZ zGmBS0fElJ0w$A6M6(mQbuvs9CN?d?5*AoXaTq8o^2Ude7oXZcP@5h)4v!&rsKxrAE zHOEeqtrjgx^@pJYEZurYu2O5wK~#eYzQ9||B~6DH>41LInXgu*x2otHhF0|gwp^|*AdQDU{5GP4HF4lte{Y1>)9{w4~Lol*J ziNOJv2TxO~ArJ$0Py3lHZoyYEs#~Judr$odtuW{ZYrAaj+a*yT0T)xu?{g1exY`m# zf!=SaP{1FsYmWnI435_X0&T&FOG$~a{4tAy7%3l|otwk%N1C=|L6??PPj0I^uY?IQ z8NdA_tRYkymE#omuH?;sI@;VQfF6r%F5o3a^JQi1^haE%x(4Yo#MYl6=R2`qIK^)C zuluVH)sC)0|FU;mrP6GDZ-1&AVI(MNl8~Wl0Hfy-bS?yD$aj2m!8KdH?b0x+lVW03 zdTRhew_#HP48xfw(thbs5U1W@1m~}5*$8axsM<#*HW!?KNa2xsD4x41P#v(&U0*L2 z`4{-h?U0I~dMHt$8_NhAKWJb-plmEqzOIW0m1xjT1MoUqOUE>AHwK4q<)RO#of8OP z@cR=46f<}mJJy%n0ocLzndM4|GRQc;MI~1g1hRbpuPTWI=`u1_dzg-?GSh_;RRh_! zRVrwVj8kWb=1>tU2~%mJ#nltLOegF;aJhmv3kKuqQCnF(jft{i{_{C%GX$6y-gBBA zbx=aH@q8jbc=~V%hdWgQa7wr3W_ycmYa8c$$AvShW9Ob?SK~8*SXCVm(go|lF+pX? z*ccM2^3ky=Dp{*uUB0u7-jSLanrKvlr2;Yyh!sHT@4|t%9m*9=+A?U-=u{<`yb6F=Z#x2UCWT(dXRgbaP_cV z?X`Hgtr{F|lNQ!3K^4bMe1*DWNI}%91|cG1iDtR&vk4>MQ}ElnD4f>E6MI$8i~xG5 zAC{*`xZ=ikXhgI^Wr>`Nzc_GQ)|P=KMVb} zB9rqBa}BM!-Yv<*(?5)Lb%iebS%W@V3#vs#xCP#+WmG-3OmVg7COf%7W60T1TRW;B z*1}qz!Sq28y2Fm~A~=<#t3dRrs%${CmAPF=&YF;NhvTK!V%~=nRba;;5ASPW^)>N| z*sMUu5Fek_OlwjmJiTf5n$JoZUf5Rl0P9+_2L6&DMx{`H^b@+V z1*;Dyryn~~IBf;y5298}j_L-GdP^-GeuRt2$_<1?;zLT_z~x#Vga6Iy$7 zQ{5yTP*T`j&4I9^)i-9^nzERE{H%`No1Oe=8jN9OBF5Ys`3*>95dq9CJB$8c zk93@!i;wKo80y3J+r2}`Y>qL-fO0ltsAt`&#q)1L?Co=C#AeO0MRmhkd*||JmB#zF zcB(AHTN!bL@Hm-kkiu9wx8(YQ6=%PD1{b`~>zG}Qh=j;%Ywa}HG4E(hetO`81C7$L zhGT^M`SQHjR_i30gSE$v`uQsTnYCsavxZEreB9&GD=q0}DPk&~3)V}eSW|(kXKpzk zC<173(rWWxRJwxoM{CuN3@*L{Ruom_7UolUOSQ?}1Wv~lgL|4#_{lJBfvVf#__XwM zTG7J^otCgofxCzpv)19$et+j3hHD?umA~okgxGEh&&ri^eaw_vjvt&5LBGUahsS%x zmEI21gNti`oKko9;LAJW&V`g`4c*<>5ZztT{3hBbZcg3)lS=oB+S_-%+8Zk~xJZ`t z<|r}?slDm`pifrb_csXbH{AcJkmxsb5C?t<7Q(;sh~|H%kkn;tjsHg;VSd=Ii@&=R ze#15Bnx}~O$);ZmN$d*yX*;IyBX4e3saBZPf^l#3{pAq?cWL?g@Orohf+jFu|63$X zvwP=x)524-;{=BDlTv}}exj$FTk&E`H_bI_?z-I*&6&OO)bT!y^|A~9MiI?{!W_o% z(5bs4AWJ-Wx%z+_5!Au%kl?icwxUa1d>J(oABe<;oVVbv!u3@=$M03&+K=Rq3DZXC zLJ)i)u|QC_j)Z`{-sMBaAW?@;fJyV)`HLDN;d|afe8i87)6Ulh#>V&68nWA;gS1Ej z$oYza)6K#Ay7#&(wutq9`qZ}v7yKV-w0wK{)kBvMoBK}RPr*?T`3Xc1*YP7PcAe+p zyRLTPQIfq4Ew4mKAAXm}oCU9LFCRPTKbU_ez8E#I5*3hxau7L;ry!}mu=k5JivdS~ zMV!Fkhjbw8^mPOip}=6nS$PWoaR5-WRvgTjmZzoK%w8HNhe)~40HeqXBm7r}+jZVp zc(1zz|2fA{-ay;NR|fG z$m_qr1uXR$PgD$gxC!g^z@7UTr)6@h=}OQG-}7YI#O1h0DA-q)Tgs>m2AMX1z4Fk$ zlS~a!z+-=hxVbY^;>eGq&Z<_mKM0OeWBGk23ly>`)sdVfEc6rMOmMquwUc(Y2!zfc z=aMzaevsVVL*^m$|6FDG%W&E{VOqo?7(%^X+rpAi`~(@LB=C`h0{kSQ{cW1ti7-(h zVJ1@r>}YFT0;9k)Sn#Q#Pq|vD1>GHsyCWM=Kci;E#&;;KJ>cf>)7$}3D7qe6BRd!d zvqDT4GX$v_uLaZvBRfxWHKtOYP((oI(BoGYm(Vw%fA8D0qX0J(XY4ZXAfqwldXFjE zM23^^y)DH^wq|a?vL?*ADVU`9-yZKip9$)$4_8u;`^MF_^IJbRVE@UV&5Z{xK=}FR zIgV>UQux}=@2bvv`!DCQjR%;mI`wueG48QZg;__Ga>x_O4#(%)Kd>5U)+AA*o9T8G38GGuj$1&3ZyE`Idv?7o4A!Fyuu@f_PefBhU zxS_=RIRMc>ps}N}k*aW2Wk=>jYp6D_2cAbFHUr_91>_S?LTHy?RC%}3TBEsBj4uam z5zCf7`|z4me@FGJORcweX+Bh70z)ZXOSpg8IE%$U5f6R2K`peI!G)A=Ja3e?)rG`u z5lCb`NghmCoi|>O<;I$+y@73@ghLk@4?DA&K>Ad%(Bi%3zt`k_#$LARa>XL9ogd)RewoY$w= zv{9xK5p#;HMKhR+6b%UGs@8;H=E@g!WhXh~m$iu6|=Qayjd7hDazQ5NV{ za#vMkz9f?0&B?O@lLIqVAQ7~kUkfoi-%N#|U$WYO`Db4H!}Sp`6I#^p%gD5v=ScXX zPdl2|Y3*SLrd486Ve=YO19N2|Xfe(6TnU!4mJdfMo-)`I zJ=+RD34rbvGZXb;p+Nq@m>W}2i@(SNRAijJ)A-~eYCU76%FS)9oofwV@sF%hr?M@${%)Lx=sI=9ews|u-$H{I0X~*C zu_CrM4+wT}NQhW*iPo`RxBQ<(CXR_?4<=<|7|iv{w@=^l_IKh8+hec{==dG7)C<`~q}@O{&!SFM_5 zF7GeTKt7R?p7nbd5ATo9eJ1D6=eB7Zm>zFR6BTQQzg0#g@gWvO?g=fqw;kNF>6aDQ zJ5C6CdGI4G;+ z`>~^thT}o_mNl!R5|Eb~Ql0@hr*U`MRfoIMlQAl}wH*YCZ5Yw6p)Jbw?Ri$Y%FJmF zo&B2*2YSax^hK#g)|iRef(GzGO93$s_(PMnuGETrgu5;dqSxwAVw&@wv&sfxyq zbbEXbcNHIw((^-#9cg$o?ok|?Oe7!nCw z&%3zd_EU)+qfrqCBRnMmxb_2YYf9JUWP;9YxMh zU=-20h?d3fefN(fMk3RZCF#midMzbLYP|=Q4-Y@HsCb22D|36m>tsEI;QfI8pK1`( z`hs!qR}I!O0st`luhgKbiG!oLt<7(-#DA~<{(lQG3L8pjyi5`_;un z1k)jl|E}JMslY4**KwcJ&n|uX)k6+>Ndm6k8a6J4Ypv}3e!C!TX81s<`v-jNVgq?U*bmU`ss z9$<)(|B5dBGg?6OL-up~T!Qz4uo>v+&q*v8!dFm`LKec8iTxeg9su9P&i&puAFs?f zkD1xSbjyrU@UHK#5XCYtaaSYsx^A04<2^&mHWtv z0PTuHwp)!m$#(CEO_5q)Ulsgdsz0Uqg(98>T%IU7@3C*F#BNgsT+DQ7!lSDI2TM7p z-F|WwyU@Vcs)~Yym-PyPf&x(L-n)edQ|N)mznA!>SIVOxkQbP@!(j$qWxzkpD6IB~ zc0G5jTw%Q|rUUQtBMb=o0=!j*-0<7TE7WJFvBcHCB#jtn^2RH!!# zeRB$5D5~k4v3$C!J*EbDMWJTG?gER^@oQ%-Fvi7)b$m^kQ}0vh5um4czCR#oVU(uj#Tj!5)A?`H z-$B=Ba=m7ukRll|0=ktPLMm~W9+sp3xTmhTuw_ob=dUW&Zv?b9$LUlg ziB0HWg&*JBa#2%7MBC`F;~Dew;%wky9igw-npL0vQE)9TUD?Y{?;TwVYRi9Lak zhtj3XpieTYW3<&QRKl5?4BsM(y9tR$-N=N$D|z|dk5<=0$cY0s5_X_q_f%pWe2Wxd zrQW*V>o6iWsDTumA^_G+LjTxanP-P44r~gV5E9ECRz)rAR#beRPQqI1SPMGKLTvcK zDhnauo&Z-reyMV4>sf}}l#ANYAJrFbTqvWF zXlN*A=BP24rd;&_IIkOEv9KjGl#3IWwPaffqNsE&1I;lTx!v~<8PMDra^Kg-kL7A- z02G}^z-Y{%PUrH&yBK0jT?LXN#Vg8N3uoq)`tDW0_T9kwki}7x+q=jQ?Yl^KzlRbx zp+@7S6^;M-(||Lf7Nb4^^!mm4UVmiMMpa5mN@~?6$Y?4SGV1@J8Z!c#x0tqP$jM}n zCHVsNDl5iLxDPDdkNjSz0DJTepc?+G2q_=ng~D-+*F?p6Am0O1zDYiHo2CuV8$(Q7*?FtIB+rVkqMm^ zxB}TBVdkMn7*sy+MvieK34Wn0oAm}px0D>jQ8T5>Vo$r8B{mTI0DHv2KcSmKZSjXN zhJj5n8TD>7Iq8~hW)1vB8H2hLNAg-ST+9|->$gY5aQBsPK?sNlYR-6@)rZzonq)C- zC4QM^cbd{=1A!QYki#rM zuo!9%uvwp`dz;rO02j~aK(0U1iZ`Um&K`A4Cw~6|pL~_0@lVUKy3bs)xg9E#2QmbM z%c%LhD#;f#U=V{hbP59co}3K!w5=VIfCf-v&O+mrnF{{_YSWVg>h80!H%!LF5C@Z4 zF2QFL8(-6r?`aOWkm?!gNF61-9pL%&KJ{{WyNM-NOV`b(^cie&jiWd+Q~iRiPJ{`1r_Q|Y1L zQjTgOb5ke>j>0Z;r`SX7_g78?uc)U|aO|;yq%hGFz@fa1gY&X%O{!NwUfNe!a$jbA z8mV_A(9YiSgBEcoS`qdr*T0n}3o@nbaHWm;6 zegvB-bb%|GyeP&_5>G9Xn(72^ zQfqzsD;1L3@QbSbk@ZCNJ>%I8Aku_pZjH1V$H5X7jaGYR=Zppvh1}c`H?pLaiY|`O zeg1w~XFm!V*5k*J`SZ#Sw3IAjn*Yx_BV^uh?@QKydJ}@2LYEUFu^?Gd3ShU^h4)k?P9v{6q(m`qj+76mO1QBE&$^Ea)BGqC zon_h8;W&&kRaQdfjWW_f>yzKSpjKhgi~E+Wt@G>pJOz&l_k?6y&Cn*)ur5KCqR(qC zo~OQtI@D5X@vmGY=vy~o7AR>Hxwa=>yJya&IWlG@4P)j)m`17u>0QuFt7k=*!pJP! z?nkZc$F@PVN9M96L?WH%eG z@2e#Lnk7_oo>6|1~{)>Kq=j zh6Dg;;Qrt4S5*~lZJm_e?Ee4z)&Gvi?(}+tse-HnhZY$(c;RDx>_%m6Xd`ijHfbS? zAk6;8W2GW^n+Lll&vWIHXPoC=DO=dm1>0UnJwCh7oJ2yz$Uc)5F>=u5ffli z&*r?shH&$HxDccE;^MUNwS~0&juB&i$A}1vq=1~C7&u)V9G`oKw_=NDAE!@yb8yKi zh4FEJe?AXjPUiKbA=WQq?4_qEh<^U;e?8NkuJSm*DO|i8{wy**80-a#M-p-qz>oo( zV+$BVOKi*$KEwtK%eBxlW?B85X(vJ29pBNz!51`yX;u*Yvo(ZTl%9Hc^HMPInT z{nUe0XBVciWp-mOH+BK10>Yu4*MJ*xCb^wM5-^=Jqj=X?fPc>stQ&FnjvH6+U(J&f zzjWF<@jn%KJ*H?>e9Hjli?;)OS><;V$6JRMJS@k)f2d47 zL=tcl6~1HMU3!S$q`P-1L_#7f`hh`D!h!1EYD9uEIlw_w@iXTCcrVg5PI7&5_a5yFIm7*}Bkn8A<&4q{1B9!->EGcn+yPpCRH zz>A$e#|l_6!#jyDDwG#5W`Iz3EoJf@L^LZYz>1&i$cx5k0H$4h3bq^xl)0#7x}1Np zOVc}>O8qv@n+*FpfPaOXpB}VlgGqedUC!c#e3dQ0kzo^lxL2o~W z1zPjQppWFO79Z+_I#7|ch`KjoH13#D{M7l0#H**31|1;y0UQ3Abc4R*uk?S&ThfV6 zhNxVGoU7gQZMiTYw2|_&iRxd=cOMK1FL3@qH3Hp|M5uhQO|JG0DRL@vFb66!2SdK5 z&+qQm(hl^XQeItI3x<6;*2m?wW!9&k`YW~sKUv-` z9G-y7NV9*%dWt#A&?@UOz@X8a7z^(lzf-K_`C`HkKibVuc8UoZvJQRgb!MB9x9Hgy z0_bKE_bXxcaTTpkU75*6AZ1VRnWy+<8eEIB< zFKIIr849m%T~JkYxQQ&|*oE`fYTA@$@rl`4>8z$nb-+v>eP1XJtqqPEQ_`B&3}0_l zrTjynW>ys6&s;I1SWgB#ZmTy_settl>krv7uIMXeMx$&0EZz!bq~kz#?xO}+Gx zS$S2Ji=Fu^oCZyZG(Mf6Zef!?W|85l#3!PLMs4;k467`ZFIqlZM4e=2>R7{_6Z0EU zc0KV9{-u1d^IC|O^Pff+JhnaN;o~qDsD0EKNfm&l$SxE&&E5_un(z0b4~g%v@RCit zE0q&!8u`*I3F8srh29F1yeO84tz$Fyd;4T7dr?Pcy>s2v_m`rE%Ck=7vVo(2r1~a^49>k-`sbK$PHCPigN- zpejc3zMC*00@3}vSD48Is0?}LSp~#H(gXW+-{@egsZ&$v$cDm553k z(pjsE7^_7b5v{fH%8+4DZ7R*~sQuv+fvikoN5BySJYW zU062XuwB;*#Y>8Ya_*IKGtZ-g8oxmqHaiK`YNi~rC@P!IiJtH8>Qn`g-mynez z*dkxbW_($kDJETS;`q4n_thJU?irpbvOI~6fffcCW7a>*7hqNsq_;dQEstGl$00P^ z2NkL;J2?v|H)jlh5GDr3V20Mv;(`4%KVThPTM0(>S6O5P>#i?X~+`>a%Ul9UI>SW;)GNBu_sQ(h8 zbuMsJSwu`YG6y9naLw0N(4IH(18J9?wc`yS|Lnpu1q%N`e2|2IIkAfY`gxl1`>#dI zyG>mhFKXE&ZR>m{RU5?yexIAun^<$>8G(Y6WW4`CDt!xXCplhG{A2raZ7lk{`YA@ytN$ zE$s_|J4}D$EiTs{U?pUGVx5|;T1_*$(u&U(7O-ZrMm-fXj{B;&L9zL3sPwuuSEQEg zL;IBgK8KsB7Se&!NC$DP(_M1~NvBGvZ63j=;=cJh`yz>zH`w0BhRk9eebmp~{PPo$ zR53`@dguEl6PMV4o(bazDvv5L;|NwYl>|f;f9JQ1U6ME` zmxq~be^RJh!mGc(d>*ZSUR1P{6}L`vrRBYQ3@y9F=?BUcM!)V6yiQRVPivTD5oS$= zfGMO8VC61Qbc_X>MytegEJG9%N0wNrQ+D-l5dK+-%4zA+oT*QI<^gPaAn&sVo|vrh zR=FV(Kq3LdqQG9uwM59Uk>7<#Lw`8k^~3>LRN61*}L4khQ`~~u<(IVS2Wx#+%N;;)|Cn*TL(SaE8DNLl4 zllIblQCJw^z;MX2`X{ErMt*rwx|%D`aA!NcCx!N~N#aK8Z4^FSPM2LB{1`?Z8Zy*6R~p~&HA4B9cR z2cmS_dZDJqwkDeKXK$ZR6zclPzt2IR10p-Y_BoNp67%YA>g8t~rG$ao``A7srrsk5 zpP(q_%}!1(0cjmFm>?k@q%h@G24vme9zV1)E@V~ZJVOky?Y!{rhLpu2qKw(oufP4L z=Wa;)5GLG4bs(c1L_g_F>Yj?+AJvKjy-j}x)3eGd+BKNJ7se%6Ch78A!~{>T0NZFVNDX})Abt<+mV{5pqR#Y$jQ z%5Sj$Y=x4%`Bm{nj}EUXp*&};QpS3JjR3faoA^V1TCG&gqKTzQ5;iksSHMcFfBv}W z;ZXecR)Pg7&g-A6W=PC3nNhLsb20n5)W>=n%&;KBh*&7acVmc?NVxm~Y!}YS8~iYnpS0^g z_UG9u!2aY&qp;u!aRPD^t!qI@XhZ?Nojy>*(;&@)fu2ew4!*&52^q{{r7;aFPcN(= z%~)(Tw#Dl{4@>eAouVk{53S={_{aV%qYHSVRV?H3M%3?aycmqZz@(plg(x2jY50@@ z5#d)K$~K%#L4xH9nWRxx$BLR@BTt0EfrlVz0ODCcOEYXXVPi7E=&$VDb^a$T2%0m@ z;0N0_NgIs4D7d1TekC^*wy`7a<^#D9p%4`DJ7ot#X#ltqr|Q>OrKz{;3MZ8uTtiBu%j;Sn)pOi zP^Vh1Ae6U81kok0RHuHy=xRlkI}!Y2UP&j*gW=>YM--c}=A0x#g``&04Ou`Saam8} z^@Gjc+wj3VBceLhu}v86tw?-O0;ZV#i^D|xq?Ak(bB)0t7yr7$sJ6_7@=`;nL`FSnW)++Z}xGbxgCvZhK@zL}Ph0SMauTY`sW(&0D z{lY?0NE;e#R2DO`(K-?&#R0+3WVn&XrzEe(h=5!3uhF61Ri9hH1`(oS5n;1JOKZIXCaGk{`wLpF;z`>>Y%S*K zP6jilWq6V_Iel3L;x(*NakIBZGOl$2qBIBwMaI{jmkm2PC8(41AVvZl*?=AMr~fN& zKAd zGPwsMVLZH0rOU**sWl1z(s%i7Zk(goFfmrlIfijD&+kv*+ZgOm(I=QLDvdMdd?CVO z@%$L=!?o8CjA5?j+WfDuqE>c5-Y_;nTwVJ`Rd|(sE;`Hl1I2PRuVR80xn|Q?%g*j$ z4wSAQDZ|b3r$=1e2Y*DzKNe_iejB4d^%N8Ei@s-Lic(^Mj86ZZF!M684uKFJ|C|rO z?-_iS)ysb^&_7^8TMQI@A(uR9;>1+}MUb9o`szo=iRjnJe_;uNyc+6|T(2uG&A)>vC ze&4;6W3I&Q9?A`EyaA&wG=)bpL-@jIs{|jrj>r=Khhd#i?Q;j>nKupp=_La8K6Y|d z`Z8vjt0NR>>@KwUXenQb?^mW*y$)x8NRKxVX1*Tk_ArYPW9td=oP8s~uc$llT#uo) z&za(})a9UVnu3gt=R=7klDuUkt74h2XvY`BRY$;j7<3%&E`gTqpR2B>SvJq z-KB#;j9Ek{E0|JqaBVZZ5kxt){@IJrTw2w5X><0nK<0DHQVR4{(3Q1y973k`Gl(G) z8mdrYQu}YT`=dMJeFNQf`-EYQ;uO)sN_AcI=cp`?Trduu$mo79J5>O{iYBJr0`N2;S+V1F+jNivM&d;1XwJ%cU;WB*U z`OO;%u(+GR^M+Kw|0isOAdLPp|;eCbo@r8 zQ5mbTYq5;w(RlK~n$a)Z2&O}`VyFiSD;?~t5U+4*bNJO=p#*N$<4r-_&g$+yZCHu; zdA)7)Fk4PV0{{DIm`3n~O%1dp=xv1X6i#rJ4;woJf^VSap|;vP+2 zPL-%xXw$Q3K(N-lBEnvFS2!Unc?*LbJCAIasDmff$^~O7!%Z41MKb*-@&U^R{kBHb^>6(d2_yXZ;IY9TFWa zhW&waxy^V1W4WRbyg)q0RvjFIPMA-!MMw^{JiG1VeVbO0eq7Y-8l@ZZex8vJ@KrgIUt3Wq!^J24Hg^2@m0G%<#_X%uc3jDg^| zB;y=${Ib_5S+4?0sK(e&eM_$qS+YfZg*c)b(FTJaRVLd<9g2 zdXiO(>t7 ze2#bi|NU$(^D6{M6VRKFumA$0{U2#bZ3p}RazOR|TVGzUf`kL^-@ZIxC>B&Cv0lf= zfNDfN0&{Fe3jzDt{`;e4=P%8e{6Rk)Yzu5Fom*QcVT-o&q|2>bn+Maq>=fMD^iw7dS$dwAGGbo`?8lbUHWP7)~F>R{Ijc7*jL{|w!Zk{3$T4W zjO;Xbiwvll)T6FhUIvDstrhb>NVvQ_j}f*aZ^4;^xkbjh`-}Jx3jF!`?eqfaxY z=_rH*x*kY~ENG1z<7ji^XY)eI(0cm*LPe&(SukHLah8!VE;N6LrY(NtV!ED!V~Llf zw8M|-9HL| z!XDan_KFI;i0kZjG=pDDLaEzI?8o@F#ctRwZET8vquZ^|qNyH9P+0nL7-32`TBG9# z!qWKn`k82ne5NJD>%9v*U$-NMclVqn%OoBu^F8*T8Lo^OViXx+O;JNngGQ^Fmn?u` zDQ;XqK0)SQ0$=173E#lzx&P$8(5)^+Cn!Tx#gt{d1GSW0UmHUd#oH0_iqRm; z*2+*rh47WQ*|wrp<8H-H0j-35iMzyOR#hxu#5wiairY#MpX0`7edT{hDVRIiDpi^~ zWiclnNFPrF)c`6!9w2|f$OSl|zHI9etO!1h88YU=A9$(Mtv5y~C)#?E3%126F%n#S z6nSkPfK26BjVJOo6`2?cLBClhRR;pMDGo|DcW4?UO(IyQla(BcFHv*-sT7FCRj>Ib z^IaJ|7Fy#uWxHHkvpK;x=|I*XZZ16cPIGImp*1AxqzplA91EXbbM~LQhP}8 z+MkOCg&)M4mw8;33jZszRSWL7j=2*b#f#`CL1=DbdE_MT- zMDGJi)Ycz{vM#F9aypU)KuhGZ&|XpabSwK8q-8b(LBnOLUvC6ZU)&?#A^R!GR7m{;LW3StwI+z?%e?c=OZh1 z;qYly;+q!=SKu3Dh$ooMsZCa z8t+V*l|=f1`%F#6MBS+~c)F~NrYF@DK*)1kj!CVUe}59cNBLceU>$ppF#MW>4o}vu zM69y1!c19SQq9djabpg&PKFniXXtt-B0~^ecuKA~e(heoDYmzm6TV)k4-E|_V~a|j z4DgaWtRK`FC5hjq6`Y)p3)y5oIFnSA5e!y*^qbhC05xHPrCLuvAkT38WQN{``ruG1 zFk~1oZRlIa{gS_;GV81=t5#s|VTh~WOV73DYSMO*`vJ~6LX~+< zHE%F2ucC&vH5)U&?m~mYC(*5ki9u~>?^5U>^Lyhunxy-}1^GR6ZhO|zS`ppM9F~+j zhUu_d&z^cCw0+uSG9X_=`UCxlgML9n}H&jehfjgzx>7cZSz~ycUp-i{%PL{^h!q_cY*wyfd$uCtYN>$f-$h;lc zko5Q*ytg4x+3O1NJnRO@_zYTZ2%`ohXcdBHLso5K1}NsJuKz{5CQk_7I6r;s4i zvVCrbX4Gw6!dVfD(6iLUt%hsElR7+?VKA^ip-dvi4+_oX~&-uLP5MX3ol+ zs^ul#4s9nE_x3x`9ho0UJcNAl5W{8HN0peOb!V?ah<}I2ov8>5qkvr24MW!x6k8`$y-x%Q#>@fyHi8RUDn=vgihalOl*Oz}R95Q&p= zV15W>>CE;_3^V3&lmWQj2#~Rw=6UIwn->0N%N*q0;&eRSFwrMNCK`v-T{B=HTYa0+CXAwS>U2 z&27hE7#4Y07akav1QwBMp^m>pYM*g=Orx-wyr?zSLTwh2!6-BsCDF?Old;0ZZ=SWJ zoK|i}0)<^vt&N494zVAtSx3tHQMDdD;OV`stN9zIG?k$Q_9>J@m&d&v>l^sV0B*Rk z`cnBvDnpx$8oLoa$2wXkaXI%{%X8f3sDD&^qmjJOuyWr z9*I`}V4W#3pdJ~(O|f1cYRgEowjC0wYW7zA+@{s?t`jSW`jMwv^*91I?0Mcpw}O&^ zo_b2F+WCx+km8ovGA}JGE&i;k#`6|C#iz5#44x5miH`uf0;iwU&@l%C#$h4 zB+y1-(1i>*;9ldq=TtLgBr$o@6&Rj6+;}`d-vz{|Cc6=9Awm8fzqU*1Hb&yiHgq|u zpu@I6JzAcbmpeOl7A!DDg)5cXdUexNu7`GSYBy+te+(aGn)4}x9|&^RJkzoVqF{qX z<=>SX3^O-OzUtK7tK7QX#0#tFN3wt!Xz_CKqwtjG<6jR+esR2RErLME{sgGI{ zJ`!ZTn#X5z_Pgrv7lMW(`B`8E8Ow}MD7uY*1ewU|t?JL4*A`qP)Cu4O*{6Kft}YLD z9Vo#%p~U|3TO#pUDe_@C%gN>RUlPg9rfpJt2MXjmFSjkMAYcE`#=$`zx&Il6GfH@n z4CMI6;ioULCwfQ63)HknC*+JnRK8$71EPAaa`Nj^Epx)Dx_X*MuFU!P@%NGgTbU{K zyt8kT^E}2+m7W5%9z!4LiyuOnd>xqJus*3Wi>kN16jc!CJUagH zgYCcnViS$A^aUBe(T`T$gi=!511JwArRvfr2E3Iz72o>v3T$nsiRZL;VV(cp!ZV3&#x^+CFQ zrpT!CGLWSIWP$J*r3GCc)MGXeMv{^e`#5df#L}{3Zn|=__9V6=Bg*yUlHY}-d@QHU zyGJ2xUsmNCRM|;&=7a=mymzqh4arC0^nnIzxG)+x>h(+S2opWL%6lw3L zy03kypqT$>u2%zUdqNWy2&hOF2nZ1E1u}84V>GdHb++1t2)uOvskdS1c0!Dw zOZZ46N~#|(&-0jfNnlNN{(0avdAy)U&=sT5y`RgO%KAQ990Pq7#^SnBhg1HaIlJ_> zFR)^Bm6i(qi1+!D<2}ijOk=^AkFOBYDZfZjHtoXQPe?&i;0>RC-Tue3@y`MN?(h8% zKQMzZ*qBZ(Appv&n3FPmHy7_`JOhO2QsuRyygd8YB z@)sE#6^OiUEvOjTLME`o=b~~ZN;NBhC0qS(FvQTzHqsO0e7%3Pcdmb)+n9aeVyS%CF%9+TE0(?pSgvc-g>O&-< zUAUQ9CqW8bNu*!4EU!HU%*9M6Sx}i%i!x>P9PKCc7A9B1Re50E#(h1D2H!03?W- z3}Jf$F6MlH27T;da?3lLkLoZgA{%PqyI7Bw9hnE52o;{Y?p z)F~>QO;{vVIvz;C8rZ?&p${Colx+%JV*PPI;H5d;AD4z&k+Y`)^Wjlzahr2|Y52iX zI!&Kl``93Ex>B2#fL6uEm4JRswCZ?^>S{-aV5kr8K;pw5@`?z09ePXIw0b%xjk+cV zI$D>DIzt)@Fq=c4Cb7@TpMmeUttO<3%GQ<>7irFaYs_Ol%BSrO2QMc$=Ow3h%W8_k z!G~EE|Mm?oKZ%s+o)9Rb5`RkWY+7D7Gp11HZkpFt%at%dm+4G_p3kL(UP9YHzDV=Z zNpFVcM9me|XAeWWeaBPE$@&*FHBcOu^7dV&A4A<`*lIh^U#3x#OKB(l>6 zzHkr2U)snRt)N48DQ{ncQ`2?ZP#9heIX=JSLa`ZU1)h*{rVwpf18rPh#a-dg<_(4c zz8!DuY(+znW2P+F0vanT5(%qzhqm{BbVr#6CBlqiV-ihUS;P|?bnCj`?kv%(m5B}`~{qKp1VE+MF z&7kQ=;XI-d!>z2Z^p|4C7qGU?bF*nd<%KBNT9V*xAaVrS88dOdy8kFlG$K6LV@6J!NX5P5)+3A2*LkM9Zx(m z8Qp0;kOle;v1oVFW)oOol9^&UMfi`s&k1MR^J#T|Hu~YQ8RHqdO>&0>!042A5Qd56 zhT>)47$O9IA*|Bla^Reni!N}*ZGa6xnK(5-9RR&4L470t3>hZZc0dO;;O&$ugr%*X z$X+yuZPFDhT#VCD$<`V(P3hivK6b^wvLaL_BLgX85qizi8DO{BcAMjVI#M07p}xyV zQZSk*n4-gEnUb3mfbW+L)VbCqY{!=Rm{`pf#K1!&JFJ&c!z8|&Zpla$$Xj2G8HSpu zSH)U8@kcS5StA7^9KfkMk@xorM9P;Y)tfmfjv;zW!?8L#V9pQ;8Kbs>kz-$o6=) zG$1ztiQ3P$Ta`3-m?b4bO=4DwvLK-+vv}^Py&EG-vdc{xw{)6)A>zb;Mp6}tW>b?> zZky)M2Qv8VEUdbFr96%dRlx*P z!0$CPsx{|h;`v7Uhxd274+G_}TZA{Y3b_zW0$EqQc0SaHC80k@xl;14bf_C4h010Y zdWW0`NCS`1EaIt=a79UxJ2gYnz-&dHkX`VoilJLz%YJ{&B5dXN+yi=QD%A#8BO4f6 zW)7vwP*?(|U(&k-hsly7M5TjAL^Mhbqmt)uKnd0r0z9vkJG2FXN)bjdaYJ(N`i!82 zDB~kN{HA03pBYW-Jp@kq{2qQZzpJx4$%D|4S!?gY=t@2D=OiJ}*c=OL#I_AsO(CJa zE%sF+R!mSTiyhm!1{$jafymtO?}6m}nEAu+Ahi=fL$fb_29UAZdj_C5w6r!ClD#1B zu^eY^17W0lD<=TsVT49VvFMNZ^P(LYyo;6jr$-yS)p}amMFkmShOfM-T>crUcX9hn zM5sM9K5@5LDMP~*#aChDy--I`jE&tYV}r*mpPAyW z;b^9OxKWt4-;2@>U#`U4)OoK`y8+xO9B17{w~2Q%B{0dc-V)rR3Lr2=FBj+$YuC^$ zBg_;*Dd1YZDUHcbH~$?kaX(WZSB7?JJ!zvgZE6|X2+TC=L+LZ_aMHlSm`rOKYM>G! zPa{VU)C<&7)~dkIB4<$@)Y325LN7WFo!JP~W)LU;MgHSWFHl=~s}8>i@b7G^{jz}E zOw0X~pp8H+G^1)LZDp1nH!^x^{#Ar+7_Gb+xoGgk+>_FgL7VHnZ6XQsW+`kx9j564 z5B35nsa|&^ik$RaNgbsl-E?kPi^wi2X92e`%V_80@bF9P!C$%*zocyyZ!Ib|4E$MT zM>NT3zHDfzpx~E*iq+Ua4@hG$K*A+i#7ce+b{1C6cVzkoj>agrqESNJjAl4Br~6%T z3Q?{@3T|m`e1;_wunB5HM_MrGNP5f|eM=Yj7=GIg?KKFvm)kvU37z}hW8^27Jl61p z8GVF$7Q%Et(tqB;e;y;(6e)L3W~41SU6|Zc2Qv;(su2HNz|_|yvWHX4&O@BW5D6NY zG>np$!WDcEEU8wBZ%!>vM3Pw8ibL`VZUJuJ7@w(;8=ZkeXz{qC>L4^~MY7}uCsgLN z2v`P|WCA}C(NQHeMww>LN2VS?d}(WZ)G^>UuCzpp*+v^kNoZ{i&B6g%Hm;ulg&+y6 zbAhj@EWNt@Jc_uUD)`3>&C$3)uK{kS(NgV_7;$JatSK}nEq?5>Yt>FfPP zFk_v-Ye}6zg(UWG=WMPPY8kZy-I3^B$I@LA2*Ur9#y~_p+(iz^Q}1#7PuGV2(dqvy zPW}HKL?IFS)j@#-ev`XV6$RlFaE`#i$r|G5@wt1G9iERR(ztF<0)8FDpZB&idv|nH z{iopY+j&`3@GTwl>|*GA#0!!ee)eNkY3!l%=PIA)DFGfy{-LCz)FBk>?Bx^wk!)!W zq0f$Uhikfo{S;-M|Fzt4OwWTR9_#@?oohQ-QyQ@2R4Alrc#8bL-8(ib9?qpaoR`7-Vr0bf_M6Tkhx;f7s!{rlkl4tq^(!jpiVL&NWr2Zk1@zyd_v!N zZ&AV?ey+bW2mk5b<$dBv3>!>CS0R>XB(we=7X*5)|6t{DM%)Hn>gCzxy_<5?EosIzw=h2yn|U1bEnDRaaUHI({}4qWb%8U72*R6I8gWj7lq2ob-SCmOVd?Sy8F zAy&kh6Kl1vvMX@OoC*0?(&%E}1N?0t>Rro$Svs034Q!Zx42lRZF zlYN%e`W7zsf+ecyGGV9n(R&CJovH*R9*c@_sVfQ-FV?dgEu@PQkfRnl2Br$Oq9FWl zKnDN3*1F{K6+9pa7%U8sVa(Z&SB#RhGw#7Q(kTZ+z7`$RbT3UgR_VXmz9kRh_RdwD zSdfZsu0_XjDP~Xs4jAc9TQSs_C>hlv5WBExNH8`G6$#XNKcfb548?UO`i*b1bfnYZ z8#1Pu3_5;4Ghy|WY#S)HY1I3C+(Foi>De5V9qAj!# zSR!3ekSo@l#%lkDm^bUdX?E0(l@Es)u zl`&fmOIAe-xxM!?`H%nN^VYbvKrdmF+d}dw zV#pmbi8@x^v~BG3wCPpUQt4Q@qw*H!eZRF!?KzlI%$p{SOri^^btKeKt5fy-Z0i(| zqD}exx2E7+w>eyN$?n5$X-jjy!aC8>g8$}~ri7=~hr~+y{?QI4q-D6t@~EUG8CcUB z?&)F^eqvS~urGwm z(4~HmNdfW5m;GD;? zesOs{F#&|A;YJN1% z@^$~d(eG2nC=A*caWFaT4}4@}BX~9ex(Y(070$s{;*O4DYZj4=H$Cr|aB+qxn>`OC z5_=(I)*(}g_2l9BRxmNxJ3*cfi)}Z3vFL(l)P<*ED06cNctgA++MvJKp8~eX#$KlW zjV3v-?lfLGxtuoj{)K3f^3)?49d=4Xw7!j_V>Z|eTc96ED8e{fSbWuseNb>g+m1} z(jjSrg4FLzul9pSbvuQYs}a((FOtT#qcl}T_V+=yJKFubS*31MvK&)u>X=?E{PS)I zzO&uj%4gShZ3WyBu6PEYFNNSg$zw0h!Hv}Q+1lR^5|1Q#&QzRBe{hE2Ysz7FEUY0L zv3eN~6XK}%vxrn+GZOSPJp)%)usH}d)k1mSySRf05oZ{9$_t2PguZ}2YOJ9kr zG;eWD@qQ5&XJ?lP=VA8&X95r$3iimhN>1p`{H510I9p*U_NOz(6f3IHIY%hYdozA< z#L^>`1Yk9fLPsSeRn(DVGa-HVHX=UVPsYC>zrBF4MogRFRJx-R$VXgR|5MUC*%Qbz zX1?wRIH2RbN!eMw@us%j4uqxh*6>zC0_zq?>FeBHIDzC{Ox%fqTs3G#nhSR{Z+5JE z{*jea{u)hvPxd{tY`ks<)bCTy#p~B^*ALONOBNKoFKmsI|#04TL%t6vh_;b~j z@JT2XbaPzhbox;yq~{x4Clz_TTo?t1TePB_`!03nuMl>K8X`%VxQr#d;V{~b6$Dp3 zb=Xp-YQ#2`8Vae5x;3V8i+)J#%y2sKDQFuc)SvcLUaYG4E3J<=3fP+q9Eao?UNhsg zWGZV7?W3B`sr znH}ddXvwYTBJlJ;?8c@l7+CdSU(3?sty}>1c6W(og~jJz z;=@Cv0NYX*Y{a&gELOQ$ygEHETUFO$dt6JO;T28U1^o-fzu}cC_8@Q_k`V^I+m#10 z^f6JInPk&3DS60V!FDEi9#iH)~-E*cy4-n=wFe)}U_h*Z!L01HgOgW#&4gx4FB_lcL%QnVP)Xa#9Mt{ynAgyTjbx!S{cUuAEFO z6Pf@Bsd)hS7x(|z8U7C;Rm9oM$i@_qg#MTOpndLgz=iR>qxLCixz)m2LbFD8&RxY@ z|AT0KMjoVc?`mZVQ+kcWk_2#pnwy&Wd-LJCwl<2#y_UHnSA|<&<8jur%S-n0Snb|+ z{O#%zC-Anaadz_O>Y_0;r|R_cq2$=huFuZC+rvg;Jl=_{qJ(d7>S2Z#!C72cUcht5 zSHR@%Hft@c)1EksR?Ol-fx>YF^`pm zOZMa|R*Y;kDa5i~sBaG&!7G4<6$KV4K5pw~Tl@Rt1_4R;RV8SHOsIu$ZvF$Y#X)eX zSM-#h5PvnUx1|w~gJ$!_6nu!-f}Y!_qj)7gdVo^%CdEsJ{XM=bEM50W%HtHjg=4*= zOOOM=U2w%j4pR-9D0_$~P6`9ZlSP_tD;ZZwj4f{s^w3?M{L(>b_fEpl_wcsXe0WBIh4*Y%+$D)P7c=jmRmoH;FNAvo z1X%=m#L!1UYkW^>)&Vl~zJs^MSM&$^nIxP*?WCu4FSpPWPZa@vfj_SH6DKh0j|Ff- z*|7_WqIDDa3tu)qfB%oshZq~a;@WrYyW^XL8Jw)0nuLG*d_ceq2DeuKTc1zU44VpR zIazS&A-hfBLZ7J5Czxm2KZo5RxeJ4&9~2x87C7uE86hw56D3~4lcV2>a8!kkROZBp zeY*W2*Rvqm+T8g<7ztVAEsZHnd2&>} zqV9!y08Y4MmJ&-{)VXKOVQ6*Hyp`*9{mK;RJ4iY-0zv;ecohJ9PWk)HGwcw<=;|yj zKuO2i6V(A5)foHZ)&&4*0S`4rNfsiHp#e?Sgt&HfmEho^tIA-W+*8)Ok>n+@RSrdJ zD9PVrkvW&k{Ax6u-jkDs#BnI?-6mn%Ghr-XDa+?CJg|pyI^BnU8s#IC^`sErl4b|j6o1*f%a}@dD(T#%%BTRP20!Mr)A&An zvI@6c{_fmVepsi{VvDDqgKzgSt}L*H+e3-T*o7=!cX^_gZ%Vh>x8YoLboqO>CRI#HDKhc zUpHi^Eqp(vr+1<&d5Ri_N%R|A$jY0kbl>9%c!sQNL42Rqh=S0?6C*)%>ehkQgOSR}#(|+4)D;d%a8c;K-2s)VM3lc`t1TD!k%*Ll!K&`* zN&K<)R|9-3oLRMu?;wfD^o5j-q~t0C@tw9ZL3C+L4FVCP?G9*6h=0j#0+UXa5CT+Y0O_2i`#$pFj2;1blMUHdMw>GHH}Fb4ceOPb75A~ zpzY-)3$bi<*4%f@s z>=;+|G~U`Ameh%10`KD=Z6i;Y7Sv<4SFG2!-oR8&7R0JI&)?cS==*%4y**Y}r#JJX ztPYg^E{bVrlS{t<7o%o-J(-$DV-9~s?%Y>RE0a)Jyh~n5hz$Sz5x2V@C#-?bF?%&D(>d*7=0O8_d7uIws8;F>bfVNrPLXV6?w9AjZe4#A zWsa|x|B>H$jczH3xjlkmj$bclQ135$dW^Pj+q{iF5w zfpU8SRd)-Mt99~_=-}G8wwgPjs(hkDxR`P-5J(51#H{H33(jAJbad9WbFqD5@Hz5^J#4}nA^+|ph20pNADfCl6VG*qpcoy~Lp~GRXZ^D241bD1gZLqvCDu);2?ZbR zoahq}IX+aP`$xct)VZFT+S6w^feC9tgp_2vYg2}F@qpS6Y9)uVS95^cy!{lwK1HpP zT|vM?TN4%gVjqFyc_WTxD()ME0!tJS<`pBQ6Q|Gci6CJ(cTDu<#O4)C+H8&iWSXxm zI%+xeYY8MXf)($sKqLP~ihXQ3=>?V9uo;kK0bO?1?0tENBJEUG`3=EV2x zF=!GE!|h;Y3eI)*TfwKYTVrN?nF2rTn~L+wKE6h%+d3o1jn%vEnO>pAO><`bW^}!v zRo4wpdQ2QitDTk+`DvD|`Uj%rl(mn8<|UM;qCRzlIAn71Vf0jzJU&!9kCdK}G}q0q z&nMUavH2a(s=xH;aG_0ps&?Ceui+v8_D^J?uixj<(^K;5s=}9ozTgB|I^!!mT36I+ zx}v^;$Xi`cNMj*g`V*qmhvEtX*=Im{_e%9{K^WoxUf?QmjF13`6(Ep*{s4Xm0l)v( zo3@*)72u=|3iQ8(&p%&3g0-3c1_lBW0sH?!UH$uYM7Cn!ll&HDcNonO-yzLjB0Z#;?nuk%9Wff;HP3wKPzvnX$fnx>cEZx6RT3;Q2?= z-NRx&9;sg0g_{Rz-O_vqqu#%cKK#HaOwYA~Ms!li&qD!W$R$~{q%{?2=`nIQPzi$@ z(+LgR_7Wa`+UM*teT{=@&i$rp*d-m)6R+3V^HNCt_z? zd9Nf?D>_E-)FEFd+W6{NxVDQp;s{8*g@*_+Z)W;?O4vn$utU<3;KTOc=D-(!!1OTj z_#ZV6O5<6mNwFHWtf{Ct#=eM<9ODYx(3S)){z%U0IEp>gA9NN%=SA2%O}ASMogxkfaBM~!A|287D(tK zGOG0Y;;E((|9JA4>3oTw!-`i+)qU^_Ly)YqiE-mWR*b~oHrINQE?hGpAlM}qosScJT>O2u@ToAOzT+*W>z5@7lxs?@!Yb`+27bI1rE# z+W*gT+JAqVT-@vcg~I<@PE)^j*bvA1*01~?Qc=)Gt$Y?<{H2D=N-nfvOI@&MzfpeH zFVTKnU)u#5RQ7e_^JiofNpewsS+$ZX@Zs?E^VnndE?K@W_b>a|;K$JrIGjM9eoh-P z6!hCeg`6bic{?U!kvJ-f6zd4UYNUZWe+Gdn)5dgw(qc%Tzo+_r%r3<+p*lMZOLDK< zK(%Z&=l%EWRSHWao*wcsOBf3$Y9B5|JZ^Ei_wE3NxRbChhEE_5E|s|+^l#Dq(e zsdA2wtyn|p@M4)UJOFVbM>ssT@D3-7afeO6cRgTX9TH^bzHc_MO ziYFc%{Q3oj*)MUgPL@7vIt8cFW8ZfuCTn`>0$OC>fzPjbO$9*WJXL~W#O8X)HDonXc+{VWaSx9&+>&A2!(Er z;un)A?`s`!mw-)#QwLK{e#A2{C7WHdc48@cg+5mG4MZbbujv~3D|2>3*-WX?C&pD_ z{M}dqk!_<|x(R8s)0Jyi#R=XtgX=pjaz!&^XkSRp)i)dDJl<%lEt_=e#K@r+WzV0k z(EVX960E+PTx$V#T$`5Fp+d7M8*xHD^cU{z6~e-Idd(Vlbi>80*RiHBEyha+nt=2A z>WRZF)YK#xsj%O(CrJK>UjfeMCo%dUEf?o3VoENHQV18c{v*G@3i*WY8sTnai@EYc zqFq^T=tqoF4%-1mtZK5j5 zW%-YgZTq0I`z+$5&IX=jE^uoDW`d%^^dUWRpJ33uQQ+1fa#pt%_Jfz<9t@Z!Ut_xW z?tCa zvwuyeYV_W#Fu95%^;4x|so=3O0f8L{l~Hrjt|a=Xk2~bw^$_N8)h~nAfz-TP7z&|t z4|puF7W_YqonvrqZYW<{RgZ+}*)%G82e*RB`tdZTiNx$TxCUfMsElQr{ou&+C4GYd`{RkoKVgGLM;jz} zl>yK1YIG(_K2~TJRD22j^>WW3uT||w1+QP@r+i!pZ+ErgtZ;+=zPy*4M&`L4+68j& z67%1+VI3|4E{PUdGtO7@S4#scW;5TY*i8u^bxPl=$Id2RITB4kj--oBm77%3&22u6Y^Bifz5iL=#yl!69 zgs^(x(BpX$dcdCbmG=FU@Q(gfLXEMRsjZdmckuh|y$`bpwSgJcTrC0s-u15r%+ z_xdI0u5?ryzCyct)#zW}L36=R3oce>H*q5z3t2&AuFI{g1NLfY-fpZ~Nbr>=@??e1?o_?tc*+tV9>bo^W= z*F{g4K=!RX`1h&h4(Sv`(K}~^8F7M0q-SBdw0#3YPCW+!G*NL_lXx>&bfCv_-S*(& zS)?rDIr>tc)mKzF@d%bZL)$hNX~j4Sk73w=(5cpwpXv#)01hS|=1d(}Yn4~aE1{iS z_$eGpN_N4Nx;^jFCWr2_!y(JZ_UtbU@M6=H69mDD99Uq9P^6=5=EjjQ%k&Xzln{&e z3SiRXVwx>5Mqa0Nw!sc=-xLfXp<%!VHPS!qhzg_E?+3#gd0K}DPz{%uO}jSFz4yIV zmwh^vHC@LT`J)Jv)B46XOcUCSi_>yt&Ga4IiN$AyW%y5Q;q1?Os?Eq>i!OPDDCtoo zXo$&UT-p>EWv)eSL?eqx8VW{$%{QGN{&_z3mqOn-A723OWQ{i|4{a0bl6b7j4ws3MV7JF;a)Vpui5EiihPA9 zazbC#o>OZEJT&$vE)E^H8QxPWnrMzMvyKqFhu?E4qXr1^sqoYi>`OXwE^JcDwy0?$ zCa?rf6i$L@uAiXa$+l&7tm0svgYqSFo(Yoit1%}3m7o`u;9WYt!Yo?#WU=B?XTcvj zE@47cF$wf#G0`ait~6*t`D#HUWFcpn@^tCM=QiVktcqwRb`u+sQD#`a=9R z_m_@iD|K5Jua-`56fNBaX(-ij6zVa#wi_NETJD!ThXfhC08W-vv#9bkM9Gj=_?XTG zIvR=(r45Q$=b$?9i5vMLgo?-r7sZqtUcO7qO4-O2*F*C{LWLuw8EULGAd*LO>hF^} zf0<Gr*Ah)}%v+>HPcx#OwkIKhL2DWKDcMh}b(lT3G|quR&%1F?3*uvOKFcqx8Rj ztHA8)n~o;SQ55i^K0RfXM4K0?adIc#%YZSROGI!WP**9|xyYP1h(G5{@KP@m<;0Rb zSx<{zm<$cJqtKWmdRv8$G2*PK!>Ebe$tqU;oFJ=0r|n-6%D%AiXSg|*Yb8x4JIez| z+rD#L*dgz!+no}e{}TJ$p_N&sB8^(24K8$FKlAerri~CVhew5(G->F+{XL5KVFSTC z4<+8ex4(F4eRR`(ZJg_uRrKsdG2Z{Awqxb|T5j)R)WJSS;0ANr*MRJQB}WzYjEzLBovg%-ENy>yzW-UzJ$Kk2Mf~noe&>HUqw-ia zBKc_DOtKQ!V^AY!YmHbZ*Z zeARN9wexA~368niqTTdqZ|^$uRd&hj$#KRhId`54V(zemu@?61BZ2np$31Dc@ncP3 z;&I75vNxlbyCg{Gx(Z-UaPU69AwXDsDl}=@?&*eEM zdxn8UlC3DwOYX4V$g?==Z?`M;ccQq6WHCnWZ&XgxSLUl6g2HxVpr##_aiS#jA(gPC z1izFCO(1APsBC(&758gSWbblD<4rNE(vK}Zfx`sFmHJU7k{E5A$K{B$!MrIEey0c6 zvkr36m4S@PvN_(0d8Z%;JYgMPdND3q6l1zL673-b*pw~L+Y_J%Q~eQYPNchW?lYq8 zE!Ol2NJkw#cq`@k8fOG#kTJYG#yi&QY1Kh$0s9~oAO@0YKNSq)RJk@(7X?&GfcSl0 zAp^C72RMmq>JU_@<#V?`7yN1$@9nZjs|i28!cLz69>akMo2RZedm|GJekE>+Im7%UKoZ{X1J+J$_#jY3FyBtO|Hi8iStRZ_ z88U7Btb}NvX3~+`NX_^0e)6=Q4(*;Z>`!yKKm}`PN|Q0%d`fGe;YXm8Mt(bcg-Cv8 zvkPhl7|eoaRWo2+|W)6(oSn)_Ofbn%k^6Rw==;Iakwxi>o2Ra{k7Q{gtcw zgU?7Zr=Vq{oZ2(jTZK5M{$-Y;CPE-dLp+yAB$)B{Qbg5KU-8%T-YmRs)|lwQ&+r}e zf&{(dt*T%=t+R=+6Mrg2n4NYLC%bI565(|9r#sMiDCbsr@KPYk#@y}?CTFB#DN1ES zx8E<=fvt>|QL?XoZE&d32qkT!y=Dz!pOBmy#VD#4oi{D`Mx;xD?zFqndv^iHOoVaQ{zNg=k3cz!a=kiAgV-)=~mx;>re zj-^XJtC!c$HP6{LEBKIEs}3tuYaE0{5K&?a++i)yf4stb5E`)iPr47(xD%Q*E^*fEYuXF# z7*9-rr2ahSR9tDMOsFjGhfJOBUT9|mYCQ)evry>7)5FH}N>8<{B2L5}-?C97-Q>Dk zBH=a)76F#DE~0v2uB0X$UHdmQsr*4k2)vL^EV@di5`Xr|3Zlnd5il5>rWGbQHugD; zOYYfWfLR9)E})?U#~GlCp^@Cmwa(pA0|~K8MtX=-6UYy1Ln%f9LQl-16MXM=%NBbf zQH~BsHK#!eX&9ZzETO1EPp<3FAIT+!h#1EUf`s1)Gv0*rW2ZFWHoEb}s}}XlR4ku| zCk0e?5fh-^ZxFl#2B2T=1i|im2a4l~W6nYh@$B2j_F~m7trTE43=6CJH?K$~9NMIk z^lF3zne;Qql<|jJDlcy8JtQNsd#V5C`Z{F^_?+^2{%s8a$MA0Nu;BmrJ=~6dD>v6( zzod+(XIx_UKAS;!)f;M5@)lV=?G~1MScr68r;8#C(JfQq_YztXj*yU1rU71Z%)NZB z>N9d)hZI_K-v3LA6Ua$j9yLx;8wc=~_XG3|lN^qpTOlfJn27o7_@|t(%~PBkXtC3v zE@2R9vLEV-9=UDT_0MBzaT{nrklB}{04oiv7G%FeQ%nyX$gLvm*h^6mB zdPh4h6H`!$a;xDJQG%J+NkOv!M-44^ccy7~_PvsCC!veip2iakG40}j%Ib!6S-Bb! zaG_1=Vau3sSSc1}8<@P#84%$-dSG3@%4iE-X^~pbZZ}Yn-stExKo*smZg+)~h;RDk zDz$tXnWmF-CR)O=5@arLp!pmfQ&xeB$>zm zHXvcpu)^FfQ@tY1G$8{KU7t~OR>7s-53vdV*$vh+Xuwmccx~tZhu1uOl9R=5Q69@6A{5cQ!E5@a$o)yei6akp@ktm4on z&An!%sef+5a55e3jM7}=CESYN;)B%2C!@J%V#zL}{OOL)a%bhJ zV^iw_(MTtt@5(;Txqf`B{KQ?OEK*_Ym^QQnENF-0m8#aGLP~peVbgzxZKF+2arJh6 zj`^uH$$WRiy`pk|T4kuJ{z7(bsn-eIWvIjAyk%U}FR`!l&Mv*J@f*3x^_v>69CN(o z#N1|PX*;{(Q-@z=LSX#+rl4sxyrsm#MsDTHKyIa(<)FNb5EH9B*w+xsHr_{m{u?Y9 z{|oltr4DE&m;=L))DflnUp?k2iVFW=yhLq&KwggjsdFwJ_Svw$yP4nlORqLr(*UvK zAJ*5vtRZ4I9*{;sPORU;5StbKSM>oBd%J23Sz#gaQyjS;=#`h0@cIQXvl&g#I*0+wxfhbp)3r`8ch{?f*2)j=Q z?#@nsf`>u;Bwm>|3iBUu!W{r)O+um*;4N)kZ?4~T^kfmW-kN|oiTj%G6ub?EtheBs zqnC2u%&Ap}R9P=E7$5+h_Aqm_D33No|CW@T%%9477^PX33vk$v z<$##CmC@^+0_}4hl`8Oe7FfvLpA@Sg0N`N>_?bTIXN&M*esvizTfE2qicmmHbMX7$nAX8?bm|qhv#i}$^mC;nxlihCkMhEKuNTKd!=v2w4ryS7ZriiNC`4swI%5MaY_zo z8g10=vnsHLk4WlcozM_z#Rmy8l6dL=|g;U&tAPuu%O$*$g*O+`Y3Tfl+^EVfRvcv1vP^=nK6WjeNa zYsTY=1ne!4$c*zUxpoOQo&&(`RZT=)$IzRVmZhxy!R;c+#CQFdRcPk zswcEuQ-lgx7-0Fq{aAlV&GQ4Hkl@R!!e6ct_m0L<;iV054pQeu^=(Fen1zfHGEft> zxxeq3LWSm0kYEr~#g#ewaA(c>#o0<9c@PlLILvSrMN`O#wP7;vThGtkcx%EJXrj|3 zt&Om?ssbX1%Zzw%QHBmTN{=tSZFc#2nm@mU2=%m+Xp5q}HKrR^5_&w36Cox}%+y$F)|zSNXjs#sapiUJc~;Q{=K_IA1Fn*YVOBf>(0t zuL~zW{G-T`V|-LQ{BW-e2tLvkeXT9a@UWw#qbZqGUjlE25G^0*{CyNd9_E3-P+R;*>6s^Ug(J-ZF+Wj737Q|GtNh7SrPmo+{Qt2c&VMyy zR1jcdXDH7CDW-jDw|S35n_WK*T(k@^Hsd>g&z-$hWo!`J@LzcNZFRukdk?Jd*i#Io z6nRRbuy8h75W6XaE9<#Bn4}rkJo%7WN^)~i9jJEaZEk0>6If4^iwU*9Z^jQ<9Zhqh z(4)SMoY`fidf3D}@~(_w!u%2MFd(S)`jSBuYO`o*4i)-ro-r}2Sc|tv zqnUU-wjZk3DqDni)|vr87>S(4)ivw^g*xYPM8q~d_PwFG=HTAxP41MZbp!732J~2Z z{`}fHmfG0IUR9tm;-TfWW{ZL2x05~T*_~aJ@6O`x`M<|E{7e=z>DBkkDW}%Z#@YSP zk@NlF23}4Pz>oHsn1=~%!t-tt`bN*Yx8L*c>cg^V)@SEuU?W)w0D$s;ZbB>n(~AB- zvP1LSVS^3nJ3H+Io`O4Nof*w+%xq;_@020a3FufWDV0Qo(pg3sMX=O66T!F>brKiH?|0py9lYrK!U zQEfiH7ZC4}_E;~g4V7O-evyzTdm0n%Jw5E#@KXfs4Hp&`{UzJj6VO1S(kUIHCr1$l zHtMvF5?BACJ|(vjs}sV%yI2Lh)K3NKvRl71-%12>+Rd5zeGNKXfWfV&C4~0foc8`8 zY|0 zB7+v#k@P(MWP!H8w;~X{oNl|x1F3#wh?p&~3yt;P^KiwMB;YpKLUtPS&H71^KrV#d z%;fomGr!T>6ue&H+a(HuALP+ zqSV1VPJ7C0UIKH8ax!us)|50&r~k5=b}9;gxxMz+C*IKxWw$;AJggVpM_<$k=fkum z?!|$VffvyEs|AWG*v^O>;;H4=5hRfk=*~y;o0_`RSg~-3JnjDAo_x5kv`6GvA$-B? zc_uMT=^*HDaZu1QR!8m;qpkP6{r?npsHw6jKD{S<_{el)ESNpXWXg_oNQ23%OS${g`v;(#spPPG$asM=8m;(-y?}YP zh13M?fnFZ6?jF#yarRttYszK(#x=44dEX6u1tig($hszfidc|E51Xz+l@j7Go`EPD z0+JS9DIfA7z5{kloZnP$W&vb+@HyCvd=Oe=7rFi1<0bvlY>MYqDu6YBoef)}Giklq zSe`sp9qtIxt2XtfgYhLRNXUFDkXe0T0Z-fqOIWee3CTbNE}#@X&cd7u%2==u1gf|Y zfWnCI3Hc9T$`@`b50OKm3}vR$0<)n%nz z;8u$wh`ObH$XX7!8%dx|3tDIvX@{_GSgvWMg^d{;Az&L}rQB}CL z=FkFB6Q>txj_l58;2IF_c!3ddCO8r5dx-ds71V_wS=K(XTs@upWFY@HWF&=XuaLn| zgxg+}u|`gePYImtIt{IrrTw(@l}^0~0V=XdRCXu3rL}R&Wd3v4D!DSar^*47pjM4R1 ziuB8zOS=QQabIz>Eyw_#CjtmL$MKLbu^YuOkJs?}yP>}k-F(w}t%r9jF$NvH+m z!wusAh#$OE4Tk}x$f+3-3CjkNa|*AHV0DKDCLsmOW=Xy%w?Q?!P{wL0GR2F`xfG=)dW#GsQK+m& z0Sq{fxv~$6yd@_`4AgE5=O#Hy`^N@X2nkkt7EUAVQqJksHrkngNp3jdAl*6a>Vs8C z4u#srgo{~lNSC9j7SvRr<=EaIzg?&)%@Z5&+`mjczRJ!Cdwjch?Hp$R)|I5FY1X$W z;u}rc)P*V=*H#yZ&$&BJ@U=t4PH(~k$9s8EqiKR zrWx?FvAq(ei{N1id7|rxP?b@bluMx!toE{Jqk}m7jkVJKwcrK=vMl(^%|PWY4rq76 zUJc`!1*(|KGf9JJr8tZg;A|k41D3TJuUkxD7xBW!(?|hKB3({6{K)}jvY*Kab%R9# z%_#>&ZKky3i{%iSw93`oxd4J*Se=ZOBqy1IY)9z~h@7{Ffx<{hNmxF~JJ|p)CYz3o z*TNZfKQwL!ZpNMHB5{f&w^TnP*zQci_o2*OT8?I_u?V}SqU^Euas1%=LdE4HE1wI# z^!+wz=q5GuSM+jBJ^|94h~?9j5?X%gj0DRtoZj);O(XWaMLz*2DvIdpD*;pLc=w?| zC5Z0Pz~tUp?XwjBS9iUN_n?jmiMlVW)Y>$*z13DBv6@l+k&9#eFtv-*?|9LY$YPqi zV?BnbBFf^!TNA6c-(4DRT{RtINk~jwZjxqo=@0>yQIDMxg|{ubU=k(5kCre|eWE^n z4sRrVw+Z&Idoanzk-Xz;myz`5?mB_!?n$zy6<~fe#_W}kyv6Dx){mlqb~YmndRyao zEkpJ0T8wh8&13-}n5?z?9&N%kP~N{;MxZ_GLq>IK<4rtFrM)iZdiLOGf)CNg@zQnK zIQ^PEM&UVd>GyZEW;TR)W+OBlV<>07q+@&Zg$kS#eqDOjiP<0>x;f6Dl~ z=2Va2`K_x(S|KV*QOy*QNOCAK8ZL>>WVD9Es{&c-=BKI8>Fr9Wytj+Sg?>(J zcXaAjPimUAB&H9gP$6-dQDZQoR5BI&DuX_ zE3-yEM4ic`lj9`20Va9uTW2fdi?c#BTL^TaQCsc^2&1-Y7|Kx=*q0{W#`nd_v zP>w?AAnke-8D9@&vP>$~k_-+imf|dEAQsY3H+3%3onafqL4e)sx%ZJvjE>$1btjpq zTV|Wke(4oc1^w(#cy$GCe%(?C&1R6j!~huu40Dbi@Ma`>?VU7u20 z5?hg@A8)9F;=X@|CB6ddzDZsaAeK~z5`f|GP3#(_M7n zeyIGAKPSe&U8(<$!;VkW zo?pvBNZ;+3wxh6tyMT_9lvVH__aq(-J6=tD9t~SQEeBprJ8m^AL47v?Jr{m$M?Nik z9yMzob!%=_OHor_5o2!=6K`Q7Pay+$L4DU>I!^rB4!jyRJZe^=ramIZUcyEmLI!Sv zdM-cRZC-V2S%*j|n-EE>API{AadSUmLw6awFln1mY1>dK>tG2Be?_+h1?O0Kr)W8c zNLjmZS^ID)tDxV`vAYb|Yo30g*t>K%Y;g_NAlcp7rr59SD8=R*Tl&cezqaBc~9hj}O_i}Ywhp5bEoAutXkrX?;lp}?mE2I7( zE)4OXNe+L5;V@i{Y#y}+19Wi7(Bs{FkPu)T$yVFA_D0i%BDofCnRUn0l>&nTx;nqW z>+LQHOAI*8R-1#qFmm>3Pq({0Or}T-Lf&>K*tt5BS%$9m$IJOL#g^@^kLOE6hEf%u z;7AAeJf(D5iM~10bF! ziozJdWr#v3#$JGcZzxH+GN1%W!L`CfImx!eM0w*d(gcpq*nt!+_t*YZ&fQ&LI8$#m zvNQwtGUHUv*0SSt{pcU&vdyON3AWwtT1mDINH}?}=NlwNo);9?X?EC?nGmkiCgC71 zn>-g~Asa+q8A6<_x>>QyuXW0zWM{6wB`J5c!0?qF~CyqdPSf|nqO6GnP@dI#3Kohr0)Tx_PptF z;~-?jbLH?8`yNEp@f<`%k<+{#k~O@j8$y)hVH!oG)(b?GX2}a27j4}HL6&5gyBnwN z>8ziWuD$pH?z~(yOfyo?1>(7@<~5?aU+4ubh+o%tP>OF5-NYxGPC`#`=?`YaGf}(rl!?o`E z*eJZ9M8I!z9BP2jx$Wr+--4p+7~%yT>-zSI9A^a7xt-($(7l~yTX=Jwm$|@+qUV_i zykBS;?tx-xyUvMRHSK(LTy+NMd7KVl%e~*WBGV6}YHK16KWOv#1Ys=c*m+^h$<1^< zuDZy5e&26Je0M#~2<3sITp0KTp{aMye4$>}{N(1|*4Xf)Tn*TKe|=8myn~7N0%6_w zLP+NVp^x^0aozYKMCO8!i}yjP-}qxp=7O=0_QAQ|1Q5XFL5PX>Bc1d>w*=zTL`&-X!27?TvJkcE@+edle>{E>dje^eG23u+#A)Rs1g<9FTI%sSRg0<9dMOnu*lI-k*Nk|h- zeOu^Gq%W3&Nmd(GC92-9uSl1HryjwWiWa0z`LnU8PFMbfB&}1s7&peNT^L{xuMKlO zNyP_E>XY9a4TXm>k&{^JKntlN0kPG33f$|>@L&u)9WnTP?rPi-p?A&}(K*LSWu8Et zbS#?H5K%y@t(Gry7qC`Yt3hXP=ASf|ihyI4ma9}_q19Lp0qcS~sx$$e*7zq;``zs- zl+-Jg{*5h@5kXPPk4GtEGNOvgr&4kmM=pR7Ddh=ck&oh96i0QM7ep zW0ITa@h|hwWDiY{o&bxt0l5FGCi#!r zVyy?GJp8!{6aUHj019G)E;YNZX0V+~rz0f2sP;ywIJ4+DY~&(JjZ zGVB{F1x+oY7Ai@{&Gu2uR_^cTjV>x?m!$yqtn^Npnb))Y3&lS5BG9b@C5AObaJud=9I4MDfwoy0eb#uSwsRFi+ykFn6%_9Ucgtv)@;0&(wMH zP3+$jVdwtzq5#7A)i5wISTG!a;l$=(tm42)(=o&%)#|4?Qobxiy4|5K3UT~aBk`C> zv_ZYd=$k%9IVK|Vv=3Vt5B1pMheIQw5Pxu|=6`U#>uT;Ut}ZWIj_bqvZ^J&?my;BK ze(JMRKPTG1FNv9>rIEg#{Xgq6<#?om9DTrgt6*k{g&F{sAS$1TM?rxLMg{Bd=)#;{ zS7?B(1&y(_wQ+iNwR!*fi9X}ybj|rZ#rvFHkzY(h`pNs=4zPr@^zA2@cTp&1Ls(dx zuybKJYFQ#RQzUs|JZ?>7I9fLYxh>eFE!eaz=qe|WS)!X%@hd5#m*WPM^9dC5C7)Zk zl3S^gSG;jdr*K=Pby}=-S|xRtHu4#zzZFt{6SQIz1e`brUX=G58vPm$^%~+UN3D`q zwUSl7k@Qz1seI#{T;ZG!$T?l09XeK|`yBeMCn5=B4i#h8gE7$;E98qg$?=hF`y`f< zIVe#RNW7+Gf+mQ>bdk6;StsF07uir3UYJ)?24P16T?b^!n(suVP|=FsyoLOkQSG94 z@up#Yzv15wv(UfxZ5xtBCuhf#uiNY2M2er^eqtrx3W^G6@?jr2FFmrQ*76@^{1(7h zObnZlUD%jtc$m0oeF&%-7%t?Tlq`6ushMagnX!p@*~sZh@YKF0N4as7H=U_SrXs8u z3BKY$%6ZtjMN_mvGOLm0lTXpj_4Vyf!+v?EdYUTe-KgX`!(;bd=d2bH z6G^;~6;d37&U4bdf9+dL;rPPzfw9;)n(^bbo6Ki)H=`LFu3_KEj|A6LNrN4n5ulF6 zn0wk+by9o63vpkDNM`RFm>wDBjHi0~E|z2M5xa~7aO)1*rQ z$|~Aj+oyAq<5Z9pnKn?o#a1h^6}fiMo>hUX!)P@wfV%3_{thS8KNnGp+ydF6RtUYe zQ#9ad9=)lK%~YFYpiu!HT-!`b_eE}%;xBD-wOKz+d6~dni?zX@@Y!WvKcvG2P3T{) ztS5ZmjL1sjT0RyA7opv@;#;$^6xKhc&9&h=E@L)WziYZ#(}?~0La09UteM72F8P{c zxs!X}bz3$0I4;|g0RpqQFYX)#ms=g z7~m5>up=SeC_Fw{H~aHa(^A`h*5gKhxIn?oA$D^q%q;nRqag=yn;%96@lR&lV~g1} z-$O}q=X(^CGLLePu?m-@Xuc%Jr^0DGRiTXDB>_gzu#H-Qq`C*@Y-#kyOVnL4HCRSH z-Xk4KdhP|OreG%XdL`BkYqQ8o=LJcVbweadcqCY03K$}B%CJ?i)iOBmGDjGbxrS08IP;g+mO+}h;oA;Vv}bJIB7 zSU4z|DY=eH0Btj&IKZzFzR%Fw;Wp%$JCsWK$awIvj*px&?m14%Qa$CUo#%&bnYH7N z54O;=D_+ZNjQ&8&cQaWGErFyx*0Z6lJ(io%&Qz6mQ*N4r()K%4Abu}{`)?~eyf+0yAUFAHC6FYBrx;!ZbvWn>$doDXO{QlA}c3;T&d-K zV3NtDM!KWF%gW|$FOOJ=E+kEk8y%>7^P3lo| z?%$0DjfXjVG&xy;OLMW7{m(o!If`Ul04!Wdo(p}y>w?Dicv->UmO}|*IlNpf6PfW2 zBK9wia@>3%+p@p#4f%iX%d=iCNrcsXlHPqbN(G6s1HS7iEDjV*JgB*uHxFH(Fb1cm z(;V529tWjB{BHSt9CYm;inn#c`n4mCjuWh%_*V^7HI=kKm@0X&1Eix0JBzSLdV;?3 z4A3VzQ*YuMQrw^j@H!J|ek0y~CtLmT6*&{J4F5%Bg|l&MhuqI4;Z6rum*2}l#y`f8 zp8B^ezsO1VIEJZrIh*!uj*?Q`n0`xsyYx4uLIu%;%Rvkc_<%gl0KcgtGyg791@z$O zgbAOf@*DAD27+7c%&py#P<^a*yF2M-jQxuGihLJ7#~W6ef*Ec8{4J-?rBiTRXKnlI zy11Y&>D^Fa6WfhjZ$eNA`{H`g)D!n3q(;(E_X^u&&D!Y-ep@0)WN!CP7!liDbTZg` zE-hX`D6XiOQLf-djtdJ6H|Z6+5MMs+nqe4lX7!QXT?W5v{^)?LdlF`bDYjme9g{$Q z=iim!Cc1(--4bEt$0j0+PYQdhBs{RM#!gA6sv@$Jb%z;y zy@8^Q+&k#rry6yGd#`%Kr7K>sa1T~P_bkQoW%$~IAv?wfLooA7o=rGUbpv}!J3&?N z`~G)%gSX>)Lj$Y^gNLY7wPf(z@($+f)J-WJjO@{}5!&RoO{4RQTMKwWo4mFe z$M_OS3)Uy)pN%5LJHLnUyso@rc`=wd}i}D>2{P z;Etr*2&%}cf+$4?pQ~)fO(~t(dhlaM#%q3vAcs~}tA^keqFUpidd@jY1Or0Ks7r{> z$@qp*7bY)3w$AzCZjx#M_C-zay!rXjhfa1TEC4cpu6#P zPPz(*oY|1T_yhT?wR}dd1u9t_f`MgJ_+>rdmJ#8gi}Nz*@217AXhKv`W`e^4Rt8x< zTAyOhg7Nvg1JpNyels36yj84Pyam5VWRvJEWh+;QBst;N=r_ai@MTQ+^>@|k_@c!^m!a}SYc%S3v{l<;?D?HIlE?wVxMA!6$JEo`I@-^N_| zdy8>>BV4Jb8+0=z-)I6}cLsi!4|10Sa(4*CwhsIb5!h7#aAp-aNC_Cf0xUce}5E2Cz-hCa9gaGv+m`)rBxo{P4a2W4nn<>?XRGf=nb&B8x*&~#UOg?~4 zT$xoB2t_{^3&<2+fdDMsPjI^dylXIUv^9hZF@Uv5&@wEqI9Glo0pUGq*M>ar8m8ZJ zRftB`zi?Bi8w=z$Cs3^e+-)AT9V;-{zuy}Q#Ox$QwK>F-G`Pc{KMPdQ8##cbkm$>= zKS60gk30{dee{=~xT-hEDie_ufpiFOe+nH<03A^>uk<7n5*2E4I)0dGOk{3^q-jhk zL<|IRut{dG1SLZ$Z(D2+Q+$sHG)7~}oWGASm*;Z5UQ)YZfHwdjJpBOl8-6BNzo`0J z7f^SVxo&jSA;dNtqFwtIUP>x%YhaOsi1x1?Np9xIy9dem&cu}lhaq#wW+BP!tI52T zq?GC<52M9%b)vp|<6bz4B-R+z8D5_6+u*y3epk))eX#ot78 za?6rwTGQ`{iROrC*FIRTVjT0U^ujyT{R_m(n{?w91^xoZD2e^9$EV!00XfAKt4HT0 zog=3ujm1MbiSyLrS^~}3pNKQ=1(al!E@%w!{Ub4lL)nLGX8E9-(kOfYank`*tF4X& zlK~_t)%G6tC+=?#J9ndvBta_+1R!)7weO;z*}i{*C0#e0yXcdmZTx)jy`ZUJ-jx; zpxF+0E58A<89-)uM-hHPV$5B~^#xD1Zlt}kAPxI~`RFCujZjEkMEWCePH-SidInA! z-UV)xnJ|bM^IlE12T%S+9Cx)ytTN5&n~Hsu<$Z_b&=TN1funnmb6@tbPev4i>xHOx zNw)5d9fO^IrAvGzXA){)2Cq$~bW1j}$P$s6W(70(;+pU#P8`67L{1uOP@g~yon!+& zaf3F}U_NXoYUp7)>}j0#rcI!($Uc#n9+FV(c^8GQFZMc7jRm9gbwulp1x2tIKqF^b zfJn3Z6KfGTsUl_^7nf!+iX@AY38+>VTp1~hs#;LXVaQ2d4i`44K}?MyA1bTFilK!U zMl+bV(RVt|>{utSSHs0ckF;eFg%w6aP?eX?ImZl>*dHeANQ}g4qooufjJyP0!Wm&~ zE0U2dqIf7MXfpStzBi^m$5m|`quE)m-3dfTbwIm zhbdXM5&_;z8X{N(Q~H}M7jpvCXB!PwDM>e6_Oz8xJ9Cr2kKb%&$cz5)HS|?oq{`_cv*%nu|I(pDQPl>`YvdM zqfo>ZIhs9fPdp3-8Z{1kK2BBuHCOHLGE+8WGk=q$#JiqXr&sB`oBv9#d0BqT|N9cM z%sIKr`Ka8PzvfA+21>K$4sAG)QD2Y%MVbZgz&P@DzyB@f`27@^#LcL zKQu}}kEzX8Ks!|lTQgh5sTr0GO(%;xS}4n)0mF^}RvHQ+>O2sCHE6Rx7MH zF62@#h?S?e0{ei7nf^{GdJx-YRJBi`_~#4f)O}X*33~>rbUNx$dXh|f5=+L83p@1+ zi$z|Ba^6(CJ*`fD#v@sJlSTScXGRpg`h$pi_gIs9XrrfS3&whLx}ZiBn|fr225j5L z*J?AzQsdW}>C&?`^RE_8_m(p0Mm2_}jj^WhS}W!*Q|Jn_h*?YKJ!{xGOL!);h@^Ad zQZpC!GjS%fmMv2W-{zu4$HCObbw;P|3{&Vu%bAQ*fN;m)jb@XHrdRF8pD5uJF_%Ar z+yGlvWv728MJ<|L#Ime3n#5g@+nK!!IBPnX5Ausvo4cO#p~n{IEjCyUH=<1b_G&x2 zPB;b3X%$E(8lyB~FKs<~Scbc^g5z1o@r1$N4TObAg$qN6lU#=l3xyl&3r2Ab z-T?+PG6>dAgBu49#!G{vW`-{tf(h#jzM6vZO2vt1!Sx2iU~I+t0>WU5!kq8Ki9^AC z)nmWQaCC?$4_VEmc^%Avo7rlTQ!O;(#mn=Xy<&<`SRiCPBrNRa#4|Y$JQTEDO^|_C^MNLNhA>F3qct z+e6VJI?L!Qdabi|EmQj9!ys90x(YL>tWD+VUSGt4O7T8iT3e8as4L~H~?#Au2N`&-XEnr(j>b)q3MoRt30q%y>VaF|G`xT$Yfv$TZ zUVoxo{Xa^(5^$*c?>}hqrnFL|h@!G2LP%sQMfRl<4aSl&gBg2~(ke?7sVqgM&|(Qm zT9GB*>_t+EN+Kz{|GC859W&$l{qOVi^!7aOoX`E9{haUlelJJt^@wE$?XsIFvF`%k zJ}kx?ruj7$|FRX`O*TF7PoON>bYWYhPS`k zmPE+8Qk9s()p8}Hu$Id(O{O9xgWB)552Uz zELkEi?+@Gigs9<7?~uRGw;B$960@x#M(pd*;J1VKKIcZh?*DzLe{RX#XJ)?_ec_Bb z!M{oTZH29p-pu8zMcZ1HYqOg@1TG(ZblrLNI$!&tciYOEIz-=>TlML^{$74Mb@-r=zCXdK9D@ybIZIumHz0fT(SL8{6mHt zzezRnJ8#@^&3xZA-HWSz+AFT_oy+;iH!|^lvFf)#+3K`i)g1aos~)!B9C&nF!*Tuz0%3+t zQRQt}t=f{aEcC+m#2A|xhg$Bs5FM)@y+cJ-c9qpv(W0eA3R~P3@d;m-?w2x0E`20!O4 z?oK>;e2=Toy-vlH(jxEXB+F%=2YeUk{mRSp{_vd3TW8zt(qr>23D-a7N3V$(Tz%Y) zHKx_3=F7Lm+_OHc&E!kTt)Q-yvS>E{*Gp3=bF?`sda&z! zjEhClcYItL$H^EzzZ`y1+72d5dzewvwL##ZTh&L{d(%*di9Gt?<=ba?8a+uFih3x!k+lFGP#^AP z-7d6Gw~ITY^StHk%O^iiX3F+fX&F}wuBrH?zvsN{;TgOd&N4&(OJ-0mceZ36eV%5! zNl|uIsOtPT=cQLZmAZFwhPX*~zrkJqU$@=_D~l&RR#y>yqx&;ZmfNGXap?ih@&;}e zW%6}*-xHrKuG^RAHwO2s{kzV4V}7<}_o+8=#fr`T+PC|>UVpUseJ~;DhJ6d0cjVj$ zl&sa?hm&>c>X!~Yo9q0!vNlA5e?esig~xY~c*|?Y)*0afelSYO8}1~UEFiB@bw7CN z%Ib%g?pUWNwYfiz7quH`iQ0SZVdH1F=nl^N1B&F!&)%#5QhBk1v$f;mGB`myuRhXX z&7q1HXFIhrV~CmJFX{qJAGQ~}oKSs{p%+kBcj98u_pfsJ@3S;qDg=Syt& zM3O(dDwy8wCpG@8`d7ioFUL0i?v5_2`yF?CKf9NUPXBzQ*J1sW4LQHq$_9f>Rbo@F zb!JKpzUMU!Son7Rx7WRay=FzmjRTec*1MM8x*{&IaUq|7aBsc|4QzZI5L0tcPzx ze|fMvuG(T-&hH^Q{jA2ln3)HiVhB%n%XTat47&FzCb#k3P-mUK-{~|BZt_~qT@uY+ zS?lHa3+(jbXFu3bgtw0Q9oil*n6=?`*o*f=LLu%auQt>szDrgNY+L(%H~FZ)oD|Qo z+N#RfIV)%Qc?mj`yW?NKN)h<^wXNX(tD8l;30ho>>ozGXRZ@EvELg$sIxStkQs&gJ zu!;*6bqA;AxXJ$x+bt6FaKmP&nJ2zoGw?3wIN*`M^2@vbMu~9tlf!(`er?5uBFY_U zL!I`SxwjW8c$^Xay6-Cf@t&BCRnc9VTh8=d8&y zx4v1|kjyS)3Ram{V=xSU~yt&_1Kn6_0ZVkH0#( zOKywvmliqUc)uc!ufsM=ZZ;^2bv7*O+eb*KDKb5`a9UiP@7szc_QviS$11OszO`Rc z{kdVCOG>(op-RxN&wK>`X1NlZvXe(PMy8hRa8&c2@gX!azWK6*?7c-RtP06Bvwq5) zjg~0N@+-^e+sav_nOCto#qdh`wet3)v`(`}^((50hP9ivReLT!z^`b#-!X38rmU`# zlzMCZwnjlO*DnPw>q`rwmi8b1^759;w2Y&xH239Plg6)h$o^E;wf7b|Ipse4!ZXTO zcz!n6W#8|9;ToJ8$$Ls%eraVO)h(o83ygZ-!dqe8}Bq_Fg9}dorS>}Fj?JMqkJR#k;ye^!&;aOnC ze~_d-&oecA)AxrZOPb9@@_j->XAO4OhQwD0R!5zAVf4Xi{k^xkMCI^=zOs{ZYi5=| zQF0bqR^N2Rok^ zltuE%6Ko3p?9n9@p7PzPU#n)P-$&DnB!_xWCHK-Mvm=Y&F1@@iyz+9!E3Gq)vwIGn z$!c@d_xH?TbG~Xp{i^gbHnwd}&o_+=4g2}F<-RsHPK@T**V&;|u_`0ywYBonH#&Ox z8;_IfSMSgHUA_L4lhyjmt{GfRt&oYTjIkR|+GLi6r_Iq*Iy>1Ax<1NrR%UdGFEm7E;A6#J}e7JjKs zAMn^wciXGde|y#M&UMG@WWUcD% z(fMOPyJ`Ps$GPTK{R7U=?bHPCXeg^xO0`b!{GKMM?7t~5_d}l53|}?560(8((*oZk zse3t&LKDH8ThvG1^V1Pi-#zT@ z8T}f;luj4t8@}h)3D;Y0mkw_Ikv&*rSzbnNzx+?}W#1(sKaC;-20FS#VmdABqdz}T zVYOiQ(AB-yxFXIYbRkarQT9gueSIQ5KAz4t?j5^=4QA(yS1J{)+5m%B@vmNSwJwjb z<+*m2m&b7)Y=GDb^C%?p2DyefSA@(in_D_NB$Z9WuKehkX;-|(;+>|einVX;Tw4&Z zJHK^pf$-gep@r-o?3^5qK}%fbzAX!JeU#ODb$4<(OM&T?zyzxsv#lLoRhBXYDoB;#BvviRkfVHf0W+tCbwoYb3-y=}weB;uj-e_d~02)%sHlIH&RL zl4$A8yvNJVv+~~CjtKYP%C|YsE@1y8(pMZSOiDce;}GlH6f?_(9VYEP96PkG+#Bfc z+>jWh>~&c|>rg|i`8VAc(slbecy-+FYb+ih$wZk{;Z(>%lm+T#%ZY22J&58p>l8cJ z5 zes4KR>GM}i89H;=!Q$r&kM1LJhqb;-u34LOQmp1tPTv~N)m3tH}lEbHq)j| zh*YM8FJ(JJ?1-siYZdBnI`p9>bn6E9=|ew#6^;g&ecM*!qT|uCP@$yhzQD4~1a6rq z?);-1d)BMpLH2Li)(vxp?bg|0T#Y}+`uWCm9<%97Zmi0tOnaG_Krq+!sX1d*5pmdj zy0S~z*)6^Yg%(k-%6ri3sJuSmuNhmDL)G)2m_3bNy@*a-D6@;1l zDmI*1^JCwg{WjGEGtQuu&sW?OIKFOEPL@D_xVFj1{qE_;?qX|XDvXDPmfBBfodt1W`|Sje!NO*ogdBj zZ$4LOgW(eG>5qv=_kB9uwC8BXtEY8KtlBk?EpmQxQe>OO*VW$UZF~p&j&0o}q;{!9Siwq3c+S zHWb*-I&HIGYjG{b=HiQw4`tVSe%`sJT(S6A=(j62hxvH6SACw7{UCK$0cAOR%aLSO z>oX1#s+&VPuB|_FRmC~DY!^5CrNPZo!#oegQiQtsd%lX^Hh0<9&T-(D^1TOm`5i6~ zex4+{2H5e;{wlJW)nHM{k#JlHb*Drk-uNz zwcIXNt$!kY4Ug=rJww@FIB283T;%5NYpWwUb!39~FIr2KPkbAq(j6}K@{RtAy;TdN zT|WF&CgcANtZsESQjHbaKz*>=SpL8{&I;2*ZvU>^Bv4?%>!lZ8ZojiWM&Z+yxFv-r z9Oa+hIK7JMY}I(L>C;9It)%m7_+k!du35Xw^ob<*f@Hr>g__fcll+_3Z>$RwiLv1Q z8cfaaoqgKGKViWhqvvi*C2^M5?85sWXBBOG`Z_D!u2U{ z4>(-qyQ%Ub$!dl{zvrcQ&O5ULZ{>LDYZdH$@j$=ezWz;z*$+c?@c1hhX%0P?AuH>x zJ2~I$Bdg1RVNmD|7B~EY>ZI_XrZXQlCd?aZn2}l`%;{*p@R+IwRm0=9oE-bGnhTyi zwKlc;nv|=KpQl^k%xa^wRWrECv`_JcU*16Bm0`QG$2+?tgSTBx{Y1NFlDy%?RSgAP zU!Sa9M+m>LUpm_=!8B>lH4~JpStQ%O0D+jH+Z8E{B>PgD|3fG2Zc9 zU07jbwC*vZA61p>PRn^;lHHt(Q!3x!H9z`#aTRW*heW&rIj~3hl(5Q2UTT>_R>4v! zk+nJ9t~E~V?!0@=-be^%=R4ku&Ur#On<%lr^yRykw=C>G9CEHs(2P#4sfjEl+ULZkN6^?)V(%3!Ha!IXfih*1zNN zOs^YWBI$h5t0VX`u93jMM|U{9`0>mVwZlqmRvAZ1HmP0NeB}N5BOZM-EsN*gJ;~W2 zHJ8H8nR{cIxADfrXVM9er3dt>+a8n5lx$mX4V+lAFF=htZJ$D-m7M((X)7zagiq2o zGnQ7K;xYNbb1s};axLHbZXTBtJk4wQ4*s)5`p#0979Jlz`93z;pB$3=J>*OFDf|fX zdR9!TTxVN*J+$ZC@g)+v8y@hv%$WD|fToPb$s6uMcMs{y8D1G)x#mpNN}SN=$}nGx zU=@~+mPc(q><~O0^)u61tRt+AWr;-H%DVi}g;x1tUICif=L>Fn7xHAp>z91IP}~`+ z<;qRmBz&yWMuEFYIwD8jL`mL4s&26gv^0llCNZu$>%lCQak4&i!-+A<-;Xq)&p^maxx_92AAOBL*LIRT;UuNE~vb%Fz(~+D}{gyYS z!T3VX%?+979EhSdSq)^*q_Pf^yrw9VT$p7Qx!^Weu9Yvb;;m&;Zr)BG%b;KFYg3jr zUr<~Nzi_npB9&F? zFai5%T6ogIeE!9|{mk|ay2n&q^fI~KV)ih`v3GxPbJs5J*u{1A(fj>8?td7pTV5s? znOD2JyX)JL##jrM+!D!+hu-UQYtA?(Fk{)gnTtebw+$~<56IrFo~8c!!tR5EY&^Nb z+Lt!e)fI^xI(P2K)01xP527fxsk{5{-Ywl=wDCT%lEt}~?+SQmtDK6K1R$W*fG1wevT4t$~ z#w9gGgxjvWGWi>K1!%WvFF9W~bY9oqG3%S}axr!{k$I{foNGDhQ= z$nIy|(F&d$gUmOHi1zkqNlN&>Uf&?_L+>bIJ%?y!VnLud=kfCcEoPBBXKgd1CK#G! zIGU(LXxWNn-Y=Rpb8Cgkt*WNt#ZI-Wyw7TA3tmyHeofSw7IM$OENJ?vmrf6+e_c+# z*)S*>85C$*B!GX)TF^6iPC2%DxifXYT}$}gyIB?XJ*}(r3_3z)hHz#E>eT31)O1k{ z6|cvIsj(diGyK$iH0B%ew3dc$S&5A9aQ?!K=BnoA%V}K)gp^zA>+SOnG+KyOJn;EC zCnPUC#ic0kZkf~`F>{R%#p4w`iIB_GuF`zj0M5bv zdFJ81Z9)E1N5g1~xYkb1b+kWA^tn3baJ7|4#DT4x{VonY1gJ&WC*HfkdI=NmOxnJkgCXdYuL>g@CP9 z(q3>M{|aCPniu}!IGhc^*_B`o_kh`m6CEg{_kht-c>HLAjvsJeQ~-yA^^89W{$kQN zoITu>DsDrz9=Xed_NU9wCJ?UMv)~NZbKzjo<4=Nr^(Gw7fn-DQ6bEL~{jKc2XJR67 zYqc#04u>3-9D5S{Z(L;={q2O`#e?VyBXO@>z^`h`riXcOZB$ z5!@~Q#FLwWV}qbRXxU##{)@ohUo4>cf%x7m4v3w*US; zvWAvOl~OAFjuqB18})m)0v6oZ7dQ}!{ryWsagS_%fY+FT!+C+Gqs6_jkOfB}xH{m8 z4&EScTe$db0{;*S#DwI6LAXY4FQ^AvW~W{P1*#X3K(Qwfs1nu`%HQb7ZM(>;!YhwF zAi6&fVy|g6EF<3~VfG6U^k2WI`SS~F2db-sC(6cYq5hK+0>xT83iaoQ6nnfY!PbFD zK#@SWjDU^3E#fLhAB2P)BNBLLhY4hK77QG}2Xu-M8yTYle<%1mGb1x5Mf%2%ykFTP z=gmuJ;&6T|a5xag_>eioDiKKILmVxnB-m--0Cr!@OOfL z77Oc$UQG}-!if>G`fh|j-xc{=_YkTd-IvI&0HGCa9K9QQj4(KP{>i8s5GZa$sv0;i z-gGmKzaqR zWBu5Rk8p%dYBJI!f;B={2Ty|U__)%2bAO+X_+y}YkwUckVW7aAyeq*5qzGPyE?qYL zSIL(rzpWyqB3h|(E?nJ{?WtnELdH$s3?g)oTLjAeV75;h=gaiiLUeozUX z^lfEN_VA?*Kzh3-9DGA*Mw}f}(uOvUbXhCrvZ|d6;$auW6B!giE?4FR)pw{9Z1G?x zTdd)V1B#(F*?IJf613XPxjg3WTnKcR%#aiF|2+x*2R)cV7?B+bByFJ0+<*AY%GbUC za%6*q1AKw~%kRb9nhzV&t#fxN(3MB}! zeS3XHJK?Zm1Js0QtHuRSN^H#U(+?;J`Fod2XK{igKR{jtoEU!+{8d6RlV=uIo;dDR zYk|OD1*#%BP9E{ovF9)YFbpnjmbO0*g3s#)5u&+Md0|rO5DO5Nk6!FQL6V5KwwoIf zn+(3GeZN*x!B(hnXUk_1}8-309*I zNXW-{$DRa#mh`D3(bXsb{IoVUBoF%jX0wTs)gV<-f2;} z0O{>R55O8*3;dnnzxwHvaSV|P#(JV7MSvteAJgar6X63BQ9%JMEt@jX$a)M2B!UM9 z-}hgrL9}^)Efch{vXwGHk>6x<;O2lLzX8#sLrn@cf@8YH*arrGk-n%0I?M&9pXE>- zn)3$JJC8vyQ{Or7yH=OL8kU0kZa{&gzMB#VUCl+D)lmJx&nlp~bAV0gh*{o@3BgcP zlT3uXM@xNz#v=4nv;Vz?8#QM*=$ABU73^!=JAp4yN3)z^p>cjOunocRyRqX6I|2na zk5QR{kS@-m8iAH=q2O?vQR`_SV+27mHC^}s(}->{!@8t-bk!axcG|%Qq62Ht0c==m zcxSwo198M4nQ*Qwg=gacG-BV~rd`yQ;~0U+B&6^ryKaTM+nkv#%9^)9YcsfkI*3nb z-xw8z4Qpf};9*qpl!Cpe(Cmg=2O z6IL<{ut8{12~Nxw;q?0XbQUn6Qv})+WfA8zOjfExpyF-tR6G-fZdBZS={ZPcwJmKf zzn>QyhylTgOeGjQ6UlfRX3GhClp;5K9u8M~n$}65T!j_Mne58c=bY9yjW7eb%UaN~ z?6V9u3`1xlKyAfrA>u9-8In-eHabtEvC9ZGj37uani<5dp4tejUFHM#|C8#JrQP$`S8U5@;uo7h|i;q|Hjv`A?zlT z7_y5t0TUh%HAn)Mnavcz&1o#Sppr0z<^qB3PJ)oN$Uw}8w%_=Z;6I3&=H!{nL-_-T z2!QZ(F>U4P_5kafkD)NjULLKS`+5oB!09TQh%fbIsyGZYm|Lee?llBok_-Go*Hp0u zSV0Umw^6Ci;JEC`HguEMygJ2?9#Am^t)q4ATVG)Z8T-H^U5E_@TccAT@YX^ahHeMU zhl-R*di0k%8ETF}XcF;u^edCx+C3NB!OC5&X>qulvE!IXYm8>#MqYH;46-)>X6(v{FH=SbtR95K3bLbF{vYqufP+Rsd+qD03QEJ4H0a2`~p!&9d@C z1hy9hhSoeGX{=z|DU&g9&SNFLL~zq*p&~=~7=#qDqUVH!&SPMuiAkk1m$;wk3E7C}x_`kL)b3lt#k6*L_paKA* zd*FACFayHA!6cqFHHvTPE)bZXD6MDxX^s`fP<;pUwK%x^90}&1J6`YLfS*Ziep4pCqr$6OeZm69rO6Q#e*ptl|ULPHYOyW z9UGRsYh{6?oQ*aD9mPm-EGc9hffQyH-t3)*!wEpo3GD|S!=M-wS&YB+7zVQlByPTb zRxzNEVJi^b#F*zdH57&sNSEBXs1AgE8DcfsdrAaggFqq>ZTpALEC;Qumyc@}l1teH zF#)p!hdDvYmFDhAFu{Y<11Y1oNv}*wYmE1d<;(YL^RP0+{v#k?^wvOe$YgIiMxB{t zSKf&Kb_OIX1En40;^R+(|L${G=`)mR&$;M+cSygYv}lQMyf7JYL(Q$gZ3a8Mv@(Ps z_~$`n*nf30;&?YId4eE2V*R#pLBc2k>_#j3=4+S;j`5qZGH6;*+a`im^BSsxct6tc+M@P@0G)xF!s%{i2*$Gu$ zF__ChI-D77aWXpqFaS&doixVh{!f5Ru)3lKm!1blq_c*$3%$JnBi5fm8AO4Z0G(bO zfAS6h*{-IQlVUkWAOyjH>;?rF-4Y0~2~g;f2R+WBRL2Ct9%^@VwTReTlciFvEl@iR zSqyq$_I|$$OdjC65fh9al-<^IGiqe z@eK6D>rH7@=_LCM#!1VlUXJ#bD9E%X9koZu2ff+VDmNDf^|fgY%Yh36`Ozjg(*-mx zEc);Pq+PuVM)Oco__1>82q1oYH00 ziY>vF>B_E(Ml7kGfx~48(0W=y`Kcpl!9b=RG|4A+&S)d}%5g3t5!^_H36=xW47bH2 z-&y)wd677wGW)Fw(pdTmrXfB~5wVW*7%6ILlkFxL9zyz(uS;tNFvb!XgYJ-6Zo~Gn zTK^S{W244&kq9%V6Vzc5`B3(ti*Azc)RFA*Bs;=3JjsThwIB-%N$y@b1NxVS9<*uC zd{c~YBcs_&CcbwPPQ31c6@376L2vBtx0worh9|)qf*s=_@RGptuFU|H2cjhpb^jKoDCUFohEH5zWf4as1YB*Xeba_(1q7qo>8C} z?0ZBTJH_KMqcFChTE`Qq9Kf%4BD8&~@1S@L`w4&fWSA=&ooi?2bfiwk9085ebm!d~gAu$DA%I_MV6`NFAT zFiT(4LmRjBK>9iiDCp`mu54;3baPnRcnpU5=RxA}*D59uM6%t4Kpau2S{V7Fpg!!OMOsP&T#_jfzs|TjxaJRs? z(DjXa6Gq}pVt$=6h%As>m;-d z;Vd1AN-yc5)d+!c!iYw6{A5DdiEKk4qO&uEnt+}H&u&nPZThsmEXnT4sZB1ywz)AK zyl~1e zH@t4jSn6aayaQ=s9f2&$iPLodRseblkp$g3J}*CIAWb}2gbmDE(K+;ifTe7FlUo5` zWN1a9BiAOise_Figrm#727DB8E{tJ>K?#7~FtXE`GS0}pJYAUbP)oUMu$&S|!_d4d zHJvgH1<{BREc${v)Hn2e3q<_%AQl=QSdPaChRmzdUC6_gloT%rjJ0rF9L=x2N2fqr z4~`cTTnVs~O@9d`lv?Rl;MWeQFwtRHJZB0phHh4L2R#rCQ%`g^eFRQs6O28gTmJUX zrvQNrbkXHhZKIzzVlMZ9P3R)RvtkPLk#R0#3QVWb1^Faj_T3ghHUkJc!(Y^Z3B<-7 z87HtYB;Z}G?MJ-~eTkT42}{SpL}GFvtwbt6VM0R9C(~WbmuBG#L9j(>@MLJ4FZexm zh>=kOx;QU`|JAPt99<1so8Q99K52LX|BqS81T zqOZL&%bd5~2klLVEitr-_^ihSF>?BSl67bt z+i77$_D&rJab$F1){0r~y8|$+ILR+1{ z@YtY++UepRP+kELf(lCL*>K>NVU_eJNj20QCB0?jS^+H*oTWh8Q3hlNz5GRc>jyMo zAwAFpLkGmUFuQ>j4GIv(Dc6g_EZcbi5e{06P9(2~O&wx%VRVJUeLuD4Cz#6#SP1y8 z@h8E5UNm+f#J{`Ik5#>2*pGXI$>aQKJ)`k8>;McSyRxRvfgyN*UU+}BES9HFjl8J? zohekr`SO=u|N0Ri5`aG1Gm>+$Lm=c02*^1Ax^hVEd!zCUK(<5rgWjr3%*O=cKyfsL zYKy*EyEn2G`~v&g=^|ZFUZ(RDkUAh9 zqT6U|+p!>N*nk^>@nGm|)4i$)(X7aSKcx?V&`UtA&`H*op8o-ZVRlj_5z1BzYxxPO z2|7ldWBCUI*EC3!Q4gu%4q{@MWL+Uj-4Fn$)d2iL`;uoI7-5(LB;%+)mjIv@nm$k? zjz0LR3Hp z?@ZTlA|9B3*$1ii%{{aZ|F#k)1VaZq5`+_1`mT&R`&r>4(1EpJGwABwLThT|)&IC1 zCZ26&ib>9O2wvx$X`MisAttb~`A-7^9_Ci)@=Me34sS0kXtn`u1S`U0!9X8mqzgeB zsMcM-0EfGJnzmWW?Su&e`a^UH-+j?&5&&u&2JRUAQ zw1LjsUps|NbL|A;#vr}9I9%I7+8p~5w7f6~WaOkOU0KgI)M!rz zJynAyD%!it-NQ~=cf=La1rTgc5K{#nSpkpGsoaLg*a5~)+0uouHH{T$0&y<@eL@Gq z7jXL>R`!fRAm?D|!X%qTyh%sQLWS1JvQ%P$*$Q`-xH?#mMku-nar!L}8USG)l(=H! zW`|U{Gv8uDK+bT}rCis;9To#DN`NdB9Uvs22{<{6v`AKD&$08nbP=rFhzp?F$BDtd z4ccie@5F{+1Cx{tdezr-nuL)y#(a2vw4q(=#YUV;up2$M&+uk7#5rZ1bbOe`1)Yov zT9=vy_rGFb6C>TBYWCKyfRJ;VL>oTSd9V^@Qt!pBwz(Ps%#Q&6Krt}>B>1ls!Af48 z=*%$HjP-QOy9<2L>!cO#EJ>{N84?fw&304*d3n$rbS1{FiIq4=l}ffI6SW;k^utb+ z#Ki?|kiUG;qm^vnPAnh{39rl0Uxf70j{)D&djDuQCc+RX>E_@4V0Sp@eKrdhy2@}SjQ~eXX0z$lRE{BIX zusv=!ZL&Sf6BBVV+=4+cglQ?b)xpbg?ef2&sK>2T{mGI*uSfJo|*Ti%P zS;MMBzT0J>O}iR;9q16bG6W-G#ziRt;9{3=oCF3y0_#Q3UEGYu4B$0#?wvuhf}mtA z{Usj^H9|4e2+^9qtv_@R2s}udJju2LL$+8IsgCIgd3Q+Bi zKMDR?jsF|WXriY|Cey!2^|u`E?FGb@10cFhzp?fI1E@u3uM}BePU~06IKaCCc(Bzp z{v`NIb^d?w;Eq&!y($EvE}07;o?NB% zHgVH9FsL82rbwEEkxHAspY-jMWBmaLF0H#0$Slql-5ksxb4v?S13 zbJ~U};4r9E5d?`O!z-U)C3C24gtBj!83A~9@ywqA8Ob|++6ClMu>cqlY#iV_2n=uAeixQb z`2eh!ggIUG0=N!gqyOJkNpwSD-ujEbhUdea+cnz0gH|9m0J=LPh~n4(ZvIGxcTa^L z6FTV+kH$_KQW64#-U9+s-YWGK$<5CIchDf_iP%9ViRI^#qaQ2*DHB1;XemUcVh1rG zSi`N9bfvIyr(YO5u&Nw9D!RSF3d0YRCnTf$Q*c;D(-rAeldLCBBOuITkNUTt6<}N@ zIBtC5lwg>+yW{}(JSZw~!{D{S>c*c0|4bNc#<~=Sv9r7B5Z)XtIt!X7pjYEhf}$JAEb#cu~N%8yV8_gvtgTLx0SijX~th=cW)* z%ux;a77t2gvy*nZA#gr6gpoVe=-S?z=6csA#JEjpJ)k!qCfb@vrbL(YR^gD1FL_}0 z<2!BOytWz>Y2?;6x|AbkDI53#Lx!|yt?Z#HX3ATL4tV+zKm4fw4;PRqH{>j6uNtU> znLN^E-3DKZp?4)YB2?UT|8L)64Mbg9r>Ad<8RXC29FwAW?|uF?xv&;n$nemmccj%6 zU?}iSG$tsD4k0$ukcS2ArOm@`5;3C~GRN3|qUalpLgA`KY3*#i*Ay_AG+2C`aNnAM zSHHjyp#xosKXwEL^P-5%UF6JeHv)h+0HBlMp+L+441>d6jpGYSL8B73(|S_T2u#!+ zkh_H$ds5CW;`|Tr_AkLxqg83!W$g4P^Viu?v5wyXWfMpM?N0rZFrh%cs?Id4jC#26 z`7z*=)r6AdNd{H~O$P#zelpXne(HT0n1VNSZ_vq1#3M}94Rv994;h|j*vLmzY1ffD zrB7fDF_6qijOPK!PRfH)j4%wV!joGG(VjrN9SEcCpuKtuwCRtDAunH|V@=u)JkqwK zm2qYxCV;;$+oT&IK8YnC`wa*!mb6PSY{P`$L9-7mAnPX|GtH=>q$=t_?6;r|i!Ox%;q#9e#15_aN&UPCAUZGrQLC9XDHSbVQti+ieg+T-(--W+|9K0wCq+P(}Q&=(Rjuj)s#UH9H zJ_Ks}%%0Z%f-hnvKDPfwm;Gls2L>y_0h)t#qq8PU*e1ayY5K=skk^-dvv&b9FsTlt z#m5~V5=i~;Vxn%w(DCs)eU(D;$vcqlp&egH4i?fTaL+T`oXM#B*8L#=xf3|;vZZ`S0y~E7S(~w&X6RR2J8lKw z5Vv;%k^xBV$DaiM{MT53=pG6{R$$8B@WKq-(G_jleAuo9D`95m`vulK%UK2de>Wj$ z&h5fVpJ6ipsnmeq8k9Z;bP}CL`VV3yKBDxh@G(3`8@TIdf^E?r8|EKpJ#uVVaRw)2 z+j65i&^a~yk;Accm<2Y*;P5nB-@PX%Hg@Ee@#+0ana}rCr^9B&B3egN$Uf=2j*(|} zW;jast==toca4R#j%E)hW&nmqhPRqnZ$Y*Wt%Ye{-*n-m)W@!08@*+3q9Gx(J<~7E zphyCM=33gA1S`BNJsPy%qaP!a;NNLYkH*;7>GgI@pMm_p+gY}=r2D`(m+d&=U;hVp CCi>F= diff --git a/SDKSample/AndroidStudioProject/app/libs/sharefile-api-3.1.0-sources.jar b/SDKSample/AndroidStudioProject/app/libs/sharefile-api-3.1.0-sources.jar deleted file mode 100644 index 142aaee8349bd5b966d4188e793f2253fd6ca1b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264699 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

Fst_!x~KJE~ip%-P-LONWQ>$gY$A2+41lJ-OJd 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 z zAW0o+2R}uiG2b)n4cLWOkYNK|3^NQm#Bn%7XP9LGzMemYe zfR>UVRMYqRcRt<1+FoIzuOE9dS^x;0U2W_e~r&6s<~iZUxKmRNyEz z6F#r0mc(82cyx-@Xi}fBYv{R#BWncp!jC zcl*;7eGK#$408P38rw~nLi>jPA##a@;3C&6u!}kqwWct4#Iy;%oNadTJ0dNxMOVSN z=39yl6-_Jgf>=+6~Mto~xG){XDEvA0A*+PEvAGmh4A~1UH;9lTT z3Ad0_QqwdFImevWf*NV5!&0_@HT@jNTEt^ z5Dr-(Ca9oK&?cbnr6ur zg4?^I!N?o!EzkjhUHs{~^ZmC7DGg`?u53ll6S=HnA=yf;^6ngg?cc}muVowbGsk)UvoCQ%4UO z{ei1EWPmVeGbU@lB2=4EC-?geX_XCjh+V3e{whBT(s3+&9`ZrP}J6|<8QP(Dj`xl;j2z|W3ON6zlJJ8Ve96=24 zw*KTIm=5mnsMYK(H+$38NU7E^IVeZ{1nBX6nx$ErzQS5Y90xO)W(NDTg6roW#~9OL zLEkc+Dz1j@MNFI({UH}^O8w9NJkySv{@NCxUN{|Tuy20(9rk8eKu6%fqUkrJDj?G58FNupc{?_k7jOTseR2sp98qo1}HSluotVYZ#`Jh zKOAqo?(&VVbEq4M&=k&hMArK1Nkl3R6a;FIo|jI4QRW+|Tkq*^v5ME#l{(_J|%jZZ#Td*@n#tMwlIV%!A zuYgQB^YE2UdaFLae%kni&Fmz%1lm*3Ce#s@J4ZHYrJ9u^hG;5n>F4b|ZM4FfCq-mD z$BtRx=i0LvVOY-%uR4k6=0>g81%#vL!!`YD2Z?yaYrI);RTrr9<%`r_2$8U9sbqwT zKF%P$g8K()00a4GeD>S4vhN5O*pI}Ez>Nr{r6{klcZBE{3N5OP4Gc$S_SW(Q+0`zi z0LeqpvH(kK1h28lxV@6$hq<2@yVs~u-bo3%vdEmu*mn&}F`lQa1@IPWQfq^T&W=VO z8!hMg(Ib&pgI=K^V~DI0i4}7b%{nTFCl#to-Eyy-5=zYXS9f!!4~BU&%98BmC8OJP z(;YXmzrdV2ZQ%mv)!>NE;cPb?;PM7HlcD?(J|abCsE7%MfP^f!?zC9D+hR4ZGgR|{ zm+Nl$-$Z9d*3HCkBwO>)7R)c9^d)YfR(>@oLcW85-@!>MU2&vz7sT-i9G)!d^OmOwTq1f!HupR423@c(g096xzCq!p z$q*{wgfzGM3aR%Hi^}U<&2YKetj>DNhdp_u-MDqd% zNRG*&wgoTy{Ag5{ORCPX{(xq6DH~2{D7|^j5!);rCOim%ZJrc}j$G^l{vxDz_lx-} z=}2&*TTV3Mwl6hSlw5wnc62^d-OfS_e!H<=I@E{tPQNgF8!+=RmkS&ww)5QX91QS7 zki-iZa4S!_%^Ak{NycYxQ&X3%di$Vd5xD%`!N&Rv9>$JvZ!1 z2qr*P5ed+A^S8L`|GhmDbhfhmN51_J%T%d6YqLg=>ir%0!)}p`zigHC0xD!^Wrota zT)7FMg`F)-YdG2pB3_bCk;Mq3Qbvtb5EUkfB)Ub7B+jk!Wm8A?MB6vM-a2#S%~-^c(eXm1U3556gJ zPxdQl$>$XqiZ^I+YrJnQ296Yq^E?T8rref5yGDpZryb0nCGa92F}FJ1U+`7?u&%)} zP~j>&p~0p23PCTw?LszkpcCFoNab;J)_#bO8=rotqs2aDj z!sFY8N`G}J|J7%mNi<=4VYnM)EM-*lN?LJ-ipFt&_TE%|Sns;l{Em0iby)p%zHI?D zFiQArAVRJ}6*g%OK5J&I4i3v-@%8%&gz3k`Q}x{_7N(*Ix=TsAovcun*{8c77+MtU zc413>rkw|w6*}gJk;ysGPi}HevG6COap53)Q({4`>!EhqA7CN9!%da5ci&6YyU58h z2|ao4b2q+aO{1stq`8LBVVD61 zZk_cX|JZ6;!oW~WM)Sh{zWkI`lN5W#juR#15a>^&hN+?hRWbZ}Q#5eV@Y64aQT7|} z3?2j?*aJl{g3eEY7xTl~?t}Z%9dqZbAFp-+L{<04=Wbe_X9+g8wt6#k@I4$H-Le-9 zSJA0A(hG^+z0E(oF0H>B9X`?h(=-09j)nBU;DrI|xC(IV{ajrt+j! z*r_}zyUvfu3lZjuX&)eNwI<1fBu`9Esi;LFNT6Sry&|;SzI4eMtJ>jdb}{f}1r1l; zTY}MdJI1W8n=P&9I)nGc`~darB-*j=fI-n^32fd`%MR#*F~Adc2Cc^s4sw>GU~R5y zw}U@JDHeBNq1{+Weh-^@$=|QiWh)`NCKp8QoI7`NCp#(*5)ikx_+ofn z=TASz$$Q%@E;#5u

f{=9q>V?RE50zUfW(T0i+Z3;4nT4dn=YQbgBi8c4J#Cvt6 zQsQfvO_C(ZcB?FY8!rJ(rCRirWtU{pL4$)}7hbJorIbo*(H@`2z`ZV`f*6P827g(P zW57&8O5v@g72Bc}u}J9JRvj+5Tc3PQIYpY$;n;yF2f_?Z^X#*z3u_67yJ&wm`AhU6 zN~W(QL3e(LmCkpz1;UQ+d3W^`Xb)$>25@Woko4V|<}yT?TsWOf7*)bez$ZlUlZwxp zuf1o3I%|vDrQWyZYV*6jQ$g#_A`oJVs_wdBjf{rTQqRWH%D3b(Evx; zKOiTrPq170n$Ykwxx|+=*mPAe7O$XqxFvGqMS*qRH$4^02ikDI+wxEiV+9e7(NPVO zmaOY1W=D+~xZADSu88}5c3T?#3Kf`CbW(eH71+|H5k^$~VIwuYy9{h&y=Hg|W%cT9 z(R)84+dK;Yas8(bjNi(+**AwQ08q|NfO7sViRXW>oT3H*C)rp8;K%)=08ptsZnI90 z$j#;VVGx&KP3WYRTTCJX$|efR42RfEQ1hJ?St$%ve5_XMV0(O#D!HP8R~RGiC3Q6| ziHA3BdiPu=he1eJe|J(tI-S}hoHt3p$A@IhpBbqah4U+nekUlHtu$rXT$4duZuDp{ zuG^)zJcU3ASFAcaNKsL3a$zXTmllN~kW*>WKEA*^q&R; z4W!!|Xk_@L4$uT!oga`ehm~u6lmb%Y^ud1R{EFxdsl@H(v9w1*&)aLq*AmgcFovip zPynOg?D#P<$f;CupDIhajy01GhdkT{;Gj(gqNZTFeTxys^l_agm!TD)9Zm-9Ni!y&NkVZ|AGPe`NJaOB93IkbDCzI#!(WX@F;r8!o$Pb3p2*9h z6p&hYeSCqaZR^?=4?-*KR%t4VS2Fw`v{z2$4*8u9U1r8Y5G1V7XVvcM7DV;JG?eT% zyCA26R}W!cyR0WkiON;oS}Jy{?1b7+BM>AD02@{7}SNI!?L@|MT@v zAb7vE^R&?Y8y6rV-Un#t-zF9Q2kkVs`cH`RN`=Yabqrpm(yJX}acWQ!*^JolQTVNi z7(W&18pZc1CD_3CHYGR}{2Nfx<-%^>9v#OFc|%u4$|vHbaPuc%IeuZ5x?^Xw>T1E~ z77?-Q`#}M%6B7y}mCMeA)!58pLH~d=Ji1&#c5(v)%rfW~4|>iaH7)FA4}!LV!&_OO z`XwRyyC!H_{W!=@?a>Jf%UIgQY6e18c6eYZ#&TxR?0ZN|vu-3kN>=x7FjM*VHV>%ZR; z09%NG^*PKDeYIvj zM*;^c^Hoc4ZROY}(~)m(Giw$SUhl3RM;rg9FQXrfMf1}BodQ2(`azi!(KOm_8gBt8 zwbCz;O|%wS6GvLH3dP9@f_H_sP;lfC8jKD%V4+VvqOTuTsVi{^WZAJLMRFF3e4l$n z_Md*0>tR+|yK%=(J7M^oz7?nECe8m+6=2Zo8CZwL6pCILrk3Utvt?_LWh` zy4V*hsFeqj?>$dy*(`h965fv>u&1A4(87^)4dqX<@(O(zlob8sH#kzWqk{R5Nku&^ z7uamv!5?=Nruz@kO8cu#oAZ=>!S{QQSqt7eli#+01steSNGz7w8nUCGy}Vg;X;s-4 z5@^K8nDs|ktg3Qqy9zNEv@fK^QL^}9X3qAoMGUgE4Q*eaSx?z9BSZRsvRE-09pl&2 zmns$?@K%HcvuNNP$U-|~EV|hL60u6Bf1wp4!icXJ!7lhv7%8gIRGSC$KGXjoTrj7v zIe{tPzckQl<9n~aO%a{yb#}ar-@BGbl(Q6Em)3prY!O~N7!ZI4E7%{JoHd=}NM{tMUd~R^oyGuOCZzP%swz%A4OeJH zTeO>B_5Nh_;N9%;!7*NT02hvCj~8>|{WU{m3#haYXT-&wEcj+273s5xc4%x;|69mb z_Cjj8+ELvWv2*WI`N5BL78jXjD__1BmoH@-%bAjS%TQJ+Mp0E%@r~c!s&IxAU=Xhf z6c(c!DBQBk`G-}tR4TL6Vm%)2!#1@i=rUsXCQIh*5@eH%tQSzLL*ndQs78nN{(7vY z=4Y#W09Gyx>i^R{?D#uq`QvQ;!%^G>lx+cyB2O{$2mPMnxA1w@Q>bugffDggW#7Ge zjCpDy&UGwZ@$9JHJL{W__VmFZlvO6bj9yM;xL;jNEM<&>-Rs`fqY)z1+?vu6$)NKL zhTa)GzDlq9GcxqjaGrqZ>jDR`kw&D?&>E!Y%Z`lVJ;t{0L=p}|qb5iDH8L*6|DrEO zO|hcRjowYJmzE`DngXTcWX@4k(ut*ZJ}jUme8mi|`(8p#RvL=e2t%;#`v|6VpM0gC zoL{8$<8uHpg(Ac!dNG$)LC#dzYhUZE<}K6`8+xe3U*d}wBD4({!r?VLj<@( z7(*T{LtjL#@|koJeU4}hy0*KidCX?x8r8jxj@f8go=#4OSLMgT=LRf|@*hEN8ad?@3AzbGoYEjdPoe1~zTQ>{iM%;v z*McPFIns0SD28WdU|&>@ZrG=7dWl7}g0|fh?jt%-VDBEja&|0l0~_8JO2>f_lnvT23usDZ>AXKU-O{+q)SCh51NwB7-5o+%0MG=AJ74!3MR@HXYA-A z%N;n7f3E=Q(G)vMPy$~|RJ`qB_laV6OO**^pGu!V71+`|upeJjJt6Ql58N5~8yjmi zuJ{OFYE3_fddv5o%wXl)?cj=KX10(;qj&G zMd`!clu&PcbHUfOoReilV$s$r@9Fro3QJ^hS<)-101{-+gRU_3xl3mpFOu|xBjx0#JCnLYPA!OYjgYF`wyNoHmQLvJz&=PHeg0j;pS zA;8aEtQ`*K`1VV{#iI-sm5kgT2yzl)JkhV}UaPJ@!9wv(iHggn=8;qN+G6JHQ?WVK zc-hsR6Ga)0{~Y3eg=|>_v6Eio7jG>+kjDyVzxQ_CX@f8E7MeQI7EmDJKj}R@pVt=V z@qk)SNIP-hK*Vb>uhOrV8+BjMB9KVbVVQo4sctXL?KfB9)a#BlSwRss`>8dB$7=QL z(+D$$u8lhL5POugj@R(t0+pvAb)rI(38m^YwJc?Ukx^y|pcVPeR~2NO{5kIUDx76Gv%Hc8$AiziKQcADfn> z0LFac#CP7AiX%!*Yk7~M?9sd<7g_RJpkMaQtwTtNA!#P)ep`H285~ycxkA1C}lvm$7E-pCOIZWM2EJI}Z{W0}wj!+RYShT5$p(?0}2NJhlo zf)&98KsF3Nnz~YSicae{+3zw4z&lwj;2e4li_+5M!m=N%E5WCZr8sXrt_GIoyHxC2 zmvX*Wo1GXf58wa~{(wKVeWAG>#+-&Is*)yJ{UO0q;A`4eVXZQG66%ruuC2ugEHP95@r>N6lhSfkBPZm$eS$>d zgv1jH;amV-l!1jL&JPLl`6&bV>`aHHQ;E%CSr!v<5&AZx$=X%t0cX|e;PMEdHL+ss zm>w5qBB&(xytm6TqsmE3BI0GlLrgmYf%kcxb8netEXrNaxng#-9UJ zNHfwgl8T!KEtzU1_)h$uigox#_Hf>@6!DSqA2m)A=T_V zyLsC$YRcftxH}cMf#VM?X-0ti{>+Vp*lPC!RZ8xSo1RB+9LGd9KsQumX0#LOXEToo zkHc`ulx4GpBs@<}H$6nLm{?%Ci;$Tukm`x_?E~sTm#qbZAS8tLq(~O6LoTLF=66AO zu9=J&XcitfR7r-3X>Eyk$dN`no)lF_b4j!@%O-hL6!`Z6v*z){<56EAbGV~5f9>>i zG9LxAg^ct&R^Ef65hb%Rk|)@SMy4l+zB6^PgyB8F;3~?g&&frtBJ5rh%C0BpEisG?dC)gg*|z-gpk70%_Fr>nnUjyR;ne0gFpT-C)VA@dTNKp zXPAyR2;Z=}U_UD|9brV4__%%4+L&nFPA~KKo4HI_w#8Z~Zd<3Hh6uPG-6VcCLc=BFb`)(%*ql z>J+1A6ZO%_)1sQh$G1llOEoa1r?q3^QKOtBl?GYkw=zHp4L;`@;T4~3I5B-(ynogy~TWD6uQ8$h=RrNyx zw!Q6(t*~van8AgN?fEa3Ckb4?91!5?3C&9>CbD33xjg+#LdQ;GQP25=I<5t#U6*e+ zur0iO+3r^RrBa6DrBW6;7QnSqd%;T-s1rJd)$H|Mnsz}ddzpx|GPR)amXs`>He@XB zW|B3nOh3(0M+c737<#`EZlgOT&oG!z~dI>B*$=0b2GQC4x zZs=h0H86C%Ge;%t@;?-+U$vgwTyrXM_q$@vK*W)IG1SlQdd{!tukNe6+T$A~#&xphGbZ;@ft;zoEieY5-1QNd|3A%pdG+a+tOrQYmqamzn z1?l~~`WO^L1fz%TV2qL)Q~_P|%?dSVlyYOFZ%7~A;zp5jMH>=zM@sBh4YMbV`^Ztl z1QBk%Ab7OqIbjEzfV<-yv@n9>Ec;y`)Rj!1vJ>4E>0@$&gVOuj4I&%fP=7mgt=(-t zz6)C7a#cY7D_(@B$JhYXt_G!d`(D!9V)#qc9*h>N7#an>)KMY-k#X1r)MrP*SdK7b zS#`#vG-~&&%k1enj7!nc?S`}NUbOai>&vAApRE#abE!t`?49_@DGPYh%$b#%# z-lMUGNX$L`2JtfY4XLD`{JGh*G=C_1#ef{bDG_=A?LLJ$q&avEb?~qGn>27~$)e;q z1Kk0jWrXoNLuj=GxU+QWA^Oc+N(pNiKpOlZKdFZU;hWUCfA=mKe3y9W1=so+(CMku zZCur>U$H61`^BjL<+?6wC+#U942iM+a!A=kF5N*!UrC;`2lvCT(@N%f!n-#WD0Ovi zES^FaL48j}UFclOgK_Uh?)-ebI~tZ!X{s;vcNc*^9+uJP_c6nX_FoCPUsyt_yVBlFtA|^$V~d9lKSU8pyoqL zP1p}`DRugBIsGExeytFV|H!R=AVOTsJZ9HKvWo^voRk1TGfGa-j z(R_1cYtTYQS} zlG{WI5WDg=saFriA+qLb0Z+Hv_ff_PU8p+w79GX_^@Fjboli_jnXUtbLv%?JyznAO zMQ5?FN{}%dk!)=Mur7*0VPz)iAW1NxJ_H%W15gGqVqp^XCq{AlZ<+yUAk%G_Ur^#U zrAcsSb)tHYE@dU_X~nR=ugAHu28Icf-c)vWk#sj4qmn&yX_d#??XLvVUEUQvZQ;K} zLdU_I?A1ReM9%5=q2iT)K{RGse`Nc%ha5MrOkNO;QcZ0uFYGuySC9FQNNH=!^-;BH z`xOk8XRz-{VYfJMb;N)!dwtpu!|?Wp*7Qu6wgdaV$cRCLY25BjPaqBqC=K%=g0mMe zrfJs832!q^i7$Bc+=Wg(;wVZPq3?r@;a$*(eiKIV=?mfw6>}quhw8PsV-py!Np$ z6PRuxik7H_m8D16`NtXy932I~@Gej}b>dHjnLFZ~MKeJC7Vn7a4lpt0Z+$|9!z3xG z!pUE}zsisrF^a8l6x!Nnp1oV2HXW7WWs4)1-8XP485aB?*-SW>Oofwt&;i-?6Dolq zJ{6v8`9GY!1DB><(lwYiD{WNTwr$(CQE67%wpD4{th8-gm3HRbPj`RQ@6$8uT|M&; zu60G6IB|CD*qa~brUirzE$QAt;#+Yx7xgRe;3r5<1L9yxro{lg)}}QWIznz-+ZLR+R}v5{S?Ro0CGE|EvYmpsatA< zarQ?0k#Cn^-yus4e!voX_J&(zOlb3=4O#ZUk{1GTaN|9^rN8*q6v;~{`#4BtloNwS zjt-FpAg9EyMtZ<7SyF^hvDsF)XKKV@N14dte@C5aZer=-JSw6|6D1c)Wl~WRSSjTm zF@YOfG=7vCtrW^|ogi`%4QA<2i=3>~LMmOUhP8A(88yM;8cnk}5fMJ``T8F~d7^5l z_?;9=!#XCwZZYfs11kI13t7R*6reX@Y6sxs{Bzo^yKc83k>GO${7L|Gx4_$5>gL5D zzqziVSw90}B7L54In=Fak}~LsHcF(Kz#94T6yC{@o{AE0YVdBsWlTtS&?KF7rk4tIf~qm+U4x;6jkaL0sYKv@4(7czR=o zeE`9bSA8laqgtQP`mubqc%;x}cXq~6CcD1)!BOtH#Z&t0tnG4Gc9AtR^+(SyeYQ8> z4ED>ZhDrIcB{`YG+r?ZD|IcB!_BCI3y!GK<9(TeY`$xxL&(l42bO1}{9=m4w#nNht z$c9NyRU?568>Rib{`+(JkxxH2ZojY4{PG@^*tMboP1^eY`+VjrlJZ5HZ)` zpT0sRA))i+rpo%cy^z+o+ z{iOUyY$gLZw9NWtm4INe!lN=bKKU(!Ew7tZL~`qu*=_eeS)T;g#Z;!+oKPz4?RDwu zx?#;{&94Zs94N?_4dw;^FmtbBzcsL-K(5>cj#&sj=9w$BZIpjiu)liP|^FVWypvh%01L1vAbQcBuaH>z`es3F7@@r*!ZXJ5Jrcq%t zid$@#8?i!=bwEdTGhp66FV(NFkLNRMqp$UzL-4%;H!e%KYge9Y_>int00GPt|CMUz z#cLc^B_sj(>R+VIPelSF?yQfYEs(e4Di7Zrgv7vtqKe*Ma*keNidwF(t_ihajH~0N9!QgzfOz1WI)=akgUP3WCKM9{+s>-tt;XFdoYQ-k`3-2VQ%qGX}eD0<~(_@na5=NOWp zl`{j=55f%i_a&Fz62jzyd!hWgx;T*Nt^YB<0)VAi>$3zd7UIRA1kiv zdUbK44muA#*RNzgC>v_r56#^8zMFchx7%!w_GT`u;@JK*7?iVIm1_Pgxs6^PDi;$O z10v1alw6mtRl|1ZFG7SSMK`PXF`+n%ykyyi`4LFphJPrqe)tL!A-rH`Jd(7-(J=Nb zM+Vr^-f%+oaFt+d^0Sw4Rf~QyZwo1&ga`2kgoz4uXV7A6H&xn{2e}nd4s8b zK}NzBN+D>bN*upnN_6pSE)^-<;N^`wsG60Qa{ASK2J>#Rz$~;~_q3_)LyX?&?_>n^K z>_fdCCQ+*>{_VcohXdd2_VIv$9!hI5J`h^_2W0WnZ;5z$KV&W+|AY_)_1GFvEaMbc zi=++wW1nrmwsitdA9>^?ebsBR2boWeTQ6X#455@(@fyqd5zI#`wdHJEF-x`h1Cq_f zd($h(4hheMb3>9=KI7Dg?F6BZ3gTTnQSQ}qi5W)@o`z0y!=rHMO`P4dCuC2t&=k$u zhvGR<7Fd(1T?}lMBqZ)|z2nyF!$WNd>fwL|?RS$0vkQGPkHg@2By*DwZ~EW98Q6D( zBht-HjlmNVVbgil?Y8RSpk{p%eH5(fSK*0qE`1W$6Pp_umlCJ89(}0yv(`+v%+Lx- zIIH63PcTJ4U>xU;ZjWIt)nD#{39XNs>z=Q0`_oc&5nFNIj+-U*6|emI+G1}#WaEobW{Ad;?bCL|DkZM8{=!JKWjeR5>d(tP@h zDXOexGkEz;U+UNlfl=oAm-cML2LFTwmcouQtGU#hT~I2nh#2*ciVp_%<$U}((rn;B zfJN0|?)Fur&h%#T)o*WR#z0x{YSn!CD7NEWnY(7b3Tg76v}SA$hyF=;PA6th3e^wbKbtAuOpt#R=+YaTC1x zx4Z-+RloE*Sc!j0e(3C!(H|V(;$4xwGhJ4=;Ho*G$4E|^vzQFJT5;B%=$OFIKZSg% zubXa#8L`IZa#FcNP*sck!qvy!wrt8`jVk#Q)1Ii0_YH-Rota-!dDX;frVcAf%Q>9s zRG5J$#+iEPBHK4dz}WVbggepbQ@z9uu;OOb^KU@V(&^*=zyrme z5zntOcgKdBBDbLU|+A6nM6_3YhRbrdur zhco1qb1NhmYH)zR6{jFYB}v5;eP8S?b1gNHYFfCh^viv}&aV%LD$DYZtOD#r!d|xF zCZ=jFD3I8;S7e|!mWNbdmJ5=C7lJ-^7OZl53+|>dslD%veddolff6g)OOPaC9>lyP z^7cvknTR_f1Dz2laTpypxGd(k11BuN2^2r-(IZ0%8oA60z@VttlPKJS6RO;sTGytj zooFw2!=AMEZR`8@3AuCti$hTd7-vt=Gk<&w2EqSz?1xB+z~ZTm@;kkQlL($!HZF?k z6&jA|)fLZ}x~_E1b5lr-sXIkcft_#?ZCM>Zwgf4&7DoJcrBQITfnL!{b#2xwQhOj# zSi6vT&w;MszPI{`+Llh;vl_G#U5^_GnoO7uy!`#SiLWeL^i7csTyo*fNeUE3xVf9o z3I$II?01Kc43@=elIZU5j2Ir`AT|}|PiArOf1KbOiGDe&impwlAY}m5WTDf62uvB+ zT_aMmkX#)Wq%Y%BIA9DZlu+cur4G1-`@Mo3#w9%Scc`ScXslr8e;x)Kye8L>V!96* zKrOq$hm;=_U2gGQXDw4J1}gs`sbf|<8s31`u666CsswUTyrM&U#C-3f{_V(c5D9X$ z<+_erUNZ)Y4Kip4mWXK|I20V5aZrGvlMS5O_a{L{>S)=}MUY#zUEnFn;)WD?j+zcy z=f}nAB-2z&A&y0**R+H%Vh?k0GUb9aSy`fdaCWZzkbA?-1DgptfTEiLE}1Ijrc&xc z#QNs+#Lof?ov0}h#ZKL29x5Z`c9X}6wW@^tkY+`hhH!_J5f2j&O{sHbGdjsvT@wK7 zZ=)_vIgrEFTHnlEmGz@hWZ|JfBrKYuemr=Fwh$+5h27kxnyPT9Km}XTL}^X=7s${I zfxZdq7VvXs?A$nzvh1yzK&eIYGe^;Q67lA1j(>P}8)FgpTHr_vn?$q8xJKZT9c+?! zLz22PEo(dJSPQhf09E4$eavAdTXYUL%3D=$=86uPII)=(eO?r zPb}`QxfX1@y}JEz>701QOl!&1{PRB6d*Ah0M=3kuAIQVnm|cpxCealF+|A*tPIk(m?RK% zsq`m@ee2YKE{ORJFKkJ*!zTG{^N!^+V9pE_3@XK}^`e=RzpF3uw0|Q-c^E}|etEjY z+u`t~GDY#3k`{#yE8?m<*CB_vjnZ!{AfguJNF>-Q1q#fjiLl^ZMpQtNiMKtM-o~e7 z`MG#=I*e%*$mi6pq_Tji77{z6dOa^6=~_#{7sv!TRU9Y-3=sZFgqIkYQGJza1{N6T zL{*6ku!cYq@B&RqCeYQ&I2LAWdsuR+AT#j(e9ZvNbKZS#=#d;sAsMYi9th3gBS#ES-xxu zA~z}dsmQY=)&U-J$zc*(P8zj-`*QKiLRQ$@C@1nkw6msM-n0%%o&o=<2uAadwWdu> zS2oC5z8Ulstrs-}cRP6~7dt`!`TgD_HW&*}q!AOC3^1zBKt9vRyu9Ktw0G_gwL=)} zQuP^sIVB_$cgmBAgCNTE04k7_)2EDPD_g zxTj}Ta=Dmh0-5kF7Y0$KllqeGK1S&*>`-VmkOWq#I{u|_E25P_QtBvm=IP4sZ7&>O zF(*5q{l)D=oaadIipAC@Z3a8j>hblIhDrpZX)G_X7IGpP*!L!|lap2^N)))5Xc0GN zqR=66yqXZi77{WIe+VvWyzZ<^J;BJczZ)p7((uRSu}_eaq{k(aFUg=QcmXlceAl#{ z7>qn>zmN)y7yKk0Z49PhEN$QiWzOm?_r_37f^^dXA%B#EOuPv1nF$!t{Ya+8$VD8k z)7b~w8!9GCB$Cq5xrHt*IwX-!pdl;^E%Ahq7K7-d`-X-2CNl@8CZU{k2xFBQ-{x6~ zkodyOo18ipw@2Bz@LTGvB z4k#hnVv-1Xb`S>KWr91BF}KRbk#i5=fI%Z6Sp94RymN7DIQX z%T|*;*y~8n?IR*SfUG^d-Ya7tOPHLO`m+?98GLKMxg<34N5KxPAhQea%eRWY{q3KM z7c$iXE<8BBCe6mhAsbqD_NVh=C^dZLb4Khf3cvW*8o0tm31M0GjAS~hyAp;d8VTNl z(0%c@?UXz(kb)*>5ST5OBsWC-0`uFu-NO4Ym$Lh^jPk3+iWFTKq5fAFUL&(G-coJ)0z)$r3KSAh5uKPpCvM4AGI~%%V=0YNb=T zVrL~Y8C)VqKdVHnwWY{Vai9;YOfo{G9YP0RegOry1OpEBbAp0Q`bq z4Lyjcf-lpcrC9pim5h+m)dDv$!c_Ns$I}erqKKdRfI;(fBFZ2C-khJ11;sCX65eCe zkCH!B466}O_tJfJq;kFzrtbpMat}cRjAn>S)X@skjI`7!E90qU_i-WF#P=yZPifs5 z43M6~4g^U^W>Yd~C2**7m|^dBTg|kh=JIs>pE~{#?Wk+S-S^)UXv6|% z_Q2 zBILJdILS*g25HmJ$?YtGV!7k(Tt(ALFPah;W)prvXqJdxXDR){*G!$}?Iasj0Lx)V z<}-YPHmyT%DQsvIuAnYr3JEQ5zG`k6qP~XBMjeYZ_#5q6sX0I)DxZ@2-xE&lD>?Nh? zY+i!X$BU!+<&$l`X0K%kcSM(}dck#+HjV``5T1j}=86k_a;P{L#CtLq)OR?xiRTX?mX$NX=g^Swu#8Mps%E6`X$(^N=d)c;llH_&^-`Lg? znb#o17 z%I|lGdhb;JGqBI)dvrGjj$|72xX`AQKIVp_&mo+L&R{xIp~`&5K$#~+QUjGpKZ=4sCap+r8|_R-B~!=T0@Is`>Fy2n%O0g)2x!&? z9=dDBx3iEWUW-DlLf;}vLk-Xu%Q}5a+mP*MA+QR6&Il(&r;&5_`nrK(+_!lShP4EN zJE_lVcu4ga)YJy8V>rJcR){Lzqc?-PQTeolr!0}ONNgQTnv$jrt1`M_?T!GKhen-* z|cy}h6;U9>NFtE=;dA-n4F)>T@pp4+L zB`f`~B2(Ik^4F(8W+Pgm&ydJOY)vqk?+b|fTm%8hgpae?H1TKgW-iKA5iBX3t`=}+ zt}iZFL!aTcHii*uP$FU?4Te2q-nI`ggWC4&J90SKqVa@W_E!U4L!eV~Bw3RY>s+w> zX+Qplm-PiGdWKiHy;c4!DtD<281h@#%N7O{>M{8rS{%ayqi*l-lNzOgCTC1>kdU*m zcPJ~@A|mG|5EN1+HMtweQ(|Jdhw(AO)h46R68b<0ysz~SS;ksK__oh?d=n1)J>Y}U z>>+%Z4!_w~E>;@^O&~8cu(=Ny1RcL$iE-py@hOqm)@~Ms&S&y+WXjdLCfexhYzS{N zf4j0_(&zuS5Q0X+&ILcHW3T$&%}A_u?FABH&$#Jhd&)BYQ=U27;#p{Vy^2PNZGBdt zLbV7Ls&kKCXg8_(l)W&|1A10z$imOpqQP6E&L2Q<6AIR-doH8QvV2QIRN2+2*U68i zh1T*qxyWk>zG7vGV2vCkOLhxSxSo5&(VD0;d2*$_BCJP;i@`^fpCw17>BXlnDcCET z@Ntt)OD~ppm7HhRR%H^$+34E~Y}h_AO)S(gw~nE)Od}isc{jrBtQhmvhHC~9?mSSd zEtVUCq{1tIULsFfR#(fnaBM;JX_Z+y-|u!NyS(qCO7P)}yva-^V}a=K4zt?a7bY2k z2;-|I)5!4&lV##0leJ+DuA&AL6YH;Vjn`nbgYLc~17o;Z-Wil2Basop)^({BC2WQU zTP7q&xRFQ<6`}gzCDeE@^Qgp-&gUX|kKvReaUe?`Z?Cde@u z?z`bmqUEC6Lx*XeH31=Il)t(!Y}C{p|Jrt&Y5;5%uu&@gx^K+6wd`^M=v7tFnX&q2 zn=@j%b+s}W;>42?W7DhUH+^HM)u@qjiVEQ`-7*$G*UzeWH3_8??W~Rb7JL6q+|L{x zBD2wcf=wlal>|3wNX;6{h9dNg;Sns?qj@E=xZ}CI0QP38j5kgc=l0?p=kMfa8tMu~ zX~0f_G&~Rx)BhKKr>gV6T&Szm6y?_i;C%mDCKyDKA+||;1j}4XVWg_F)E?f-K9H~@ zaa-Lio{@cjdPyMb(!tva;A?t3p3cQvKmFVqh3591o$fB=`MFlUA0=JgcY7~v?2?%n%Ze%agrwMJHB4Epb!lbBmH&~x`T>DLm zIgYXeMKl0ijlwv+^>o!{YW-rQ$Rn5U4ESn%uvm3bE0U(=f`QY>Ucbj<_^98?aXN+5 z!Z(15m~Dszek2~NS{-kG6K9B)3^fHTONFPp-JFCGT5 zp(OC{+QT6hNfp{lRs@j!r)je*_1ewleCi3=txh1VS@!DMu58eKtm#Oy+-qz)Y#lz>Pp1QnW_0Hp-$RcLu2O&oBUZS zsoyszo(AknvfEyV+)$pP8$RaXjf9Bqne?P_RO*qvmqnO=RmLZDv=v_L{?Ewdn@K@i zRg+Ei4-uK0pVQ4s#HMDc<>SO~&yTVY5gA>GeVHafe;i0D4j0zq=G;cwMW9ED95)&f z^t~~I&V-)}Z(Axj3Vd2CjQe@9P=6o1isWq7 zGcKF84C@J0to)3TMwo)-UFOEHFsTkzS#Q&8dMv6#JoZGIn|J`ig}O!ng1N52CiQT* zm8e_)6T>VT>4>gxfGBLqYoMdzM@OmnQ(G!xEyOL$(fmgAfdLf_vM7jR?^WqmEQW@$i?2<-A^xKOxu<0$DWgll-Cy`Q3_L;?lErkntM9 z(rSSEa0&-A*4SjE7QovSK&QK4%b=)q1Vf^~$8j+)DIFQgkyt6 zX|d|ht?^Q5T3w1t@9^_Bvp$TC72Gq7Ozqqa%j+8ucO}a+P|wb>6d^Gnki`!g#auX5 zxG>60er;f>=|QGgLTzKN>4%TN(hRQShHHvx-r{T6qTS7# z>i$6TSf?Gjqc8IXbbH=!W9_Y(e|qPhPNw`>YZBzq=WsMT2VBqgkm&-gI+|`Lj#*05 zF|g}sHHm0Py?%EIlb@A}oO>4xWNJ;S1p}Y^vzHGVS0HkT7>b zurUQis3}P8<`C`gDOrts+pY~rNmIaj|Nkmj`R|l8`C$lPIG8A#8af$U{ByVeUvvi* zeZUeLk{{i-?cG7;vY@|~(4wLP%86`^3obx)62CJ#UrcnPat*p|bIR7E&%v;~&W$~F zynWoXb#U)9;&z^yv&ZoCM{Ej;rSLEn4?h^b>l|_k>?s9m!_5F2Gy{SCm?|Z0wB`V8 zD4`ZX;Cj_G5m7h*L#qV{tPgs~Lk~nbWmz8s+rqT0VR8cRgZ%8iDshyP{*iuAR;Z3g z_=zc^rB2s54W$yqpSO;WlRoPflyy~+(I4)OOyxCjt1+mT#IoIEBWt++ z6c&)G@zYPgX-y3R_RrX90Q+YKBdNvJn6@TUro?=(Q&f#hjP-z(YD$l2v9J7lZggrM zoT}KI03vO)n-HszV-}jb%KQXhR%Wh%LBL9Nc2<#dBXqH{Q0_r0D%JN$K{pw;=m%J6 zD0(w?N6l;Fubuh!vfVAjdm2dD>#c4BshZ<&G~OvKf)<8&PAlxiHC-Lkg{LN}JB&7& zF2%4?^i)@>bLi(Z5I=7$Pm_E`Gdbl>%!*fwGr z;URKbZ<~ET&dT0Gzl?LavxVG+HY2RoGOxrGV!u8Afm)N$M*eXY6DdouGlUCMRfI}#q3&pS4@iuAd;M` zs4v&qyVCSlm$HEcWr#}=S<6rHSy*SgKO2}iKFa+NM-P~nv|QVd60FTUTz4T(uP4PY zDO87cd70zDcFZ8*DwSM!MHBlMLq=KIIUrM9)C-PkO}QyFtvR4Hsj56IcSGz~suZx( zDtEd{t#JdiuwadnD_7y4wq_HKMt$PJPKJ@&R43&kAAa}m-$K7Xe<1SrCD&?s`yYl_ zeu5NI?0n1SAYw9W?T${#$v*t!XPZO7XQA^)g_3_l9zNvtYuF0$;wSQ%{=%CsC%`;xvBSyk`zeXbw=QBDz zI#((Y%(!X+`=>q*DJ)rW{R9lDY~6tt;42OmuWi=vm|;H-@R@X)wY7+jclls)U?Lucs;_qoa>RiIXNcE7>-R?D75L7M5Q>_@xO@0a(o&yxV1$(@9>9QO30aO=m|!GAf)g!y%w z@8Ybv$Sza!;$Doa?Mqg158H5PcH>97bmQGkdo58Jid@1n4+h0O}WpOnE%x zxJ+A^C6r)jF6T%W2`hy6uh=lojB9VEuM5yfHYCZ8wN|1C_A0nxO(W=1-T5}3qsKOF*IHT&s zVv+GLr~+ML0`+YkTnX}Uc-#h*9dr|@gh7E+yoY^tbj1Wd=!hU~Hbf`Px4N!~D+9PO zgjK#*@r`to1YSm7g4&kWqIJtNI$Tu#Ia}F`j7dEVQMZ-77E&u9ncqh_g@YUb{3olm|Smhu~y*p3)6sy-6q|c>0E8n)46iBukhQj&QFnMue zK~bDYiOX}!{hx)a2PZI>j~C2$!*1f89m>|`t13iR4PHcL<*;hrV9{XkthB``_C)7H zE|a5rJL-+q_2%Y+G9N)E2dS|wny=nwjvG9NnNFLgzJkl{glBtNI!;4qh@Y3h4<^2M z1*SUI;Z3Fa5<$%VdoC4Xg7z61P(O{$q7xzHCLM3cQazr$#t?#(J6lEaq5-QN16yoMHI?M zx1};C6C_ks048h*gXnx?_>zd%9kNQ`lis#bU(+jI5#h8fprK_OU{3+vl zwHBo*&r^E}XZJ=8n-DE*n0VmFH33+yL0bzL!%%^puY^O8vy=c$g$6of@oulaM^?$S zR{Lm*FZ+0=Pa`>ZZL;?dFd%L=)ZAH`Z)~`dDVd$Mc=Q>*GbGQ!_+(~GQ|^wd=CNlY zW(8O*5jbIIlz?E%dKefy&-4HNCTQlK;SmP_53hh0=D*Z5_}fjO>|*Hhf6#}2XfyLF zmwo+P(;xzWSHZVex@(YFwwz>>BFvBcRE)GJd&b)->nUg3S(7HUw$&n8(#ITxu61d138UfP)qW1?_&`B1u_=!v@isg3!`IE1SwY)K3Y6&LIky4!%Igxcmj-gNf>JOaB&>ALKzTUH$?3y?DP+7 zVJy`NE`@}j+>*l)WIu$)Ny9(38ua&A(q#<1=aR)nv6^#+NwMlr%33dfI?_@f3OEVY zib8?{so@d2o6-K538*cdNjeZh@II(cCM&H24X^sHAXeW*!dqF|A8iC{0kc9?B@D*G zjcCPN`V#SD@n=GDekUf-4MT)!+i4{gHKO?~ZZ&<4ok4!5>UEsD1tqL5R9Yx8FGU1r zeP-93jnl+e8KCFIPO{e!lWvOh@#-IX-1`n~lT`Xs{j$XJTU1%Q;klR1s1Ah4=?WA} z2(RbR@9?Zjp(?&o_rZ)3$gILwlQk}_jk*ThWfuaWFLN{O@fG_&OVy1DNRDyl&dXRY z3-1gmy25|b$qJukF%127;D>zJX=`j=wdts-v}8kPF%p1ny|(ZyZ|}W4$+QcJ_PrP< zZR-q-``zm{Q@Nsk3v%ROX}$i8O=o#|h4_0EwZ{^uasUy`Li%qJB_T^28%sNLNjo$9 ze-fe9rR6sOek}CgzWVmSlA%bI z26I-@U-Y(C5Z=7V$uFK|`QIcwrj&ohe$Nlul?%$fCHA#bpQ{%L4ditkKLc)_z%-XT zU!fMW?)4s0C84=b6Taw*0@uEa0_SN8lti;I7TH-*s(co+8fb-CO^h-wt<}&TKJb}5 zQY%n^B>QgVQG?&hZ$?p(I5A>zxMJuq`2O^ZU`2=Pd+w^yP;@I827U)nyf@TnB|~P! z>3h)F*V1`sPwJnYcyUb2OYk<{=>lFIl34ONZQ-SroZU(t@->dfUiOW|wGJi8GxRB_ zZa!;vWpd-|e#{(Q>2oew(k!>9^N2w2;3Aa|NcqxRH#>FF3Ol1HiF2q4aW(2#>S8=M zCF*n9pm?4XdgAxdW%%su*=^Z0WGdZ#`Xp)@VAS*U*#5I$;~Ee&VQoz|jxXRjoMi>n zt~KfIKL9{X~Ba>a2iA8l9?N2W{C~`OoRmUWGXO` zrPzr7$y~Lst6xpH7Yk#ADca^^ovbL1ax2#OF+{$2eD`rTj%!X)@xpa6*R>? z)BYEhUvCt@+3)ML8))XwrKp~HxE%GQ_%qz^vIltypmq_Jlrg+W2+hyk7QP3HpO(E=#b=C9$qDLWzrUCozH7ydPxkvkrno!2*zVV9%6~NP?XSm zCUZ%_2ol{38pN(&f5_DR`Swp22`MU)N40?)uj-2P7PX4`zNuFtW+44)=M9->xlW5` zU^S$N?L2`KDRZbIK{F9T>g);;R(V>N@XsnW-x5q_i@Bqnx2s^bz@#5T9$wVtGUNPp z=Jop)VSdG`!_ESJ^-5=W0646}i$p558$)UV)EYN$-&I3PkQ?j^4Qm^vgsggtk_>Wc z6!O+=h9EK$mwV1kn_t*4)1H1nk^7p{SWtVgE3NrruV>k1gsdB_4!X*x^Aq&%r~Ny# z=i)w~X5#@KSpTbv{{M{#2pc*W8d=%^e6#*}*p+4N=K*pV9ZH`ArN1D`a0K=i6coX! zsDP899CBAsyv972*YG-6OTV&p*BK=lRS_QyO{Y6O2#mdcG-~voHt01-v<+%qSjvUq z!k8ZGGU{!^JjSg>?V$5U0j)Ip6E0aT3J(XU29S{xcoI7P7|+NXL|3Zh1KEtdq!9S z=K@%9q3VFeBcP7*w3!Vz>c|}WUGYxGP|5fi;eSu2y1bwyxEvy-tkg&*s(3U<9yc}3 z?uBP7T`8wlUaUtK*T}(Rvo@@v%Nlq@@$#5qAvt?nt|*ItB05$1U{+H;j6I3$W@R&u z+F0XBo9<$TiLMLmUvh6E8!mmpFx9W!n18Xq$B^%hD;s|f;R^l*cmH;gXZZFY<_uFN zc5Ud>)(^v8si~F6O_Vsa=eh!;XK%NM@yd-rdX12ng*$xbj?b06Pjc`5VsRhIqv!KZ1=3Ca)0 zJ7&|*SsUZ>r^TVCgqo5Y?X?Pb{V+>sRT9}G(`kxvS(%``6IMkO0!SoWH{amGnZNp;7?d>?`+f;B^FQ1U45@eiMa+G#f-QigcxcunpLWkc}i| zEY#2vv=;oVPB3Lhtcim}E_{#yZgAsl^ZU&_1|yOAiQoYmCO~^Ro#RQ8 zm=dhPg3YI>A#wT4@0>4I9Dal~DZhv-QBlwAXXi{29QK%%entJS{doGQvykY>jfA%Q zsJZ$n0qY+-VNH`xEMO6z29BVtIed2j`?<4b1X8kVO$6%qqx`R@EJ})>divTODkP#i z;ofWk5Gh3?u7c^$-1vC3<;{9lgr@w@^GSzQeek<%Sx#WzD-5zRaAv+ml9Ry2xnR+= zo>w0&T^XtyY*rcacU)CdzTcO8VlXSLG*H?%8ByfKb(HYSQze~C^QQ4@VO-SGJXuuI zyQUh))F;BwQ#hGd!mz+r;v6auSzV2~D}LMiC?0r?xNmQ<=YWQJM6F_32x1fKNjk#D zf0XZFsWlYt0CTpXr9lh9OjY#0dJhFHkvN<%eEXJFS7sXs|H_E#^wby7QOcu(>yY~s z)D54nBufgunzimXfZtV}v44&JVbR+w2UfFzHolT_t!HfigwlSJP~flIXvHfUT;_Pw z$Ue;CpDGc<)%3gPsqnJd^p^$VDIUU;Rjh~mVn+~v)}QVpSt^~c0x}!9Gk?5T{ICC^ zGyj(o8bn=}J3XMpjRKPPzr*4G>5%yEwEbtHQ<#(*{L5u7|C&LZH%+x~o-PnI67oh# z-ymbEd7vacp{PUcW>dCZ1L={3`xnEDFZuM6b!*$nfuvKUaa?8!4JX_J&(t`}HJ;bZ z91`yA0EoXQND!gX0(3i41cI$J->0C&UoQrH@)-_KkY=r{?|6A72#7QYGi(kf#(NM^ z&p@5p3qs=LPo)PIb?UH$ylSIrA)}7#;H`7Z4t`!wK;V$W1PZPvrBRfqJfewMNrOCX z12uC$e5${Sud~cS&v={5lxpsA_VPiTGf?0SN{@!ENi^)c~ywL^MmMA*zMwE;$>Y@KpvQq z+UpZ|sjB{)-iUmi{LfJ4xVYN`MMC1oiot>ND@Bmd>Ez3_=`r=PcRfwh>)P-~ZW?0} zO=DgjW05?Jl7<82F%4FJ6dKhy=OFL>2x!`_h8b)!f!`|;mlJIbs^qc8wT~;08Iz?{{9K26pqtF+)>Sx*FhH|Q&xAf_xR=J3hT*-r%9-HB=7g!jNmHHsdL~oi8V7$i?MV&d zg|Z?#i^b-^{|2i{osrTk_|6pY3zy(mfk;qte?>^~@9u3nNXOl{60X2~rwD1cN;k1b)|fws_AgtF8H zF8Fko(e?@%%7=~KA@FeVX51h1WmOxwJqTC)43-|_38Jve8AD%-)X5hda;FDt`~SnE z;IC3LoyD1t3P@u}z(`N%znZrH%P8w#Y5e~bZ?94o{6DInwIiblNbR&UiSq^3k&VC^ zC8hI_m1WU`NyOkzhl8}YPjLy85&=2~NZF;E>8t5ztb7@hJNK%&j!8TN8JB6dyp{p^#PBLnm3v5x}y{{yth;0>VD_ zSO1hf$E6~mJ)LKlfQ_*rhbR>@=N|vpi`Uq;$(4#86QKF|j~R;eklf}#xq$d_U$DO@ z=A3^)8hOhqb@pV)ZO>!QusGTnf7-A_aa=U-Zedp|NkH;9(~XxrX7$I{j^ ztzk<(uFcixN(oQ-zo)G7yvPzo7gRM+^s4OllRq$2#d2R~$%grLTNlfPe0bn5$I4_^ zZ1PIDisrq;dPJPV$u=VKznq`jpx}$Hh_0A6p!r5@J7hm+?SOU7IUPOIWsLi0N067N zSbAzsIQ>q_Z7Rol-A;8kt^C$3ABT1ZPz=aBQ#Z8{e=FS*8Fw|oVS5!^vyx`im$}H2 zYA_@NeX%Z9-}{#}UjHolaUVmus*;m#WmrYIis9o9_V*6G0L3s)5O96%0P^m?LskBs zbJCV}CjY#^6#ri^FCk8uJtet~&LwHuzZ}V;1D@RyhZ)7r1uC2N^r3By9+TYt(NRR?l4*a>V>GVzXQFp zw1>M0%(k!>GX%T_@n|Dc>5oj{-;$_hak}ys>1M40Iu0MBtm+Q@?L>@{$)7 z7uQc zr9j6>dBQkKP{NYy2-TX{ac-EnJmxwPrmeu;7#$2%+h>WRXtE&8{~Rrzw=f{9MdBVI zTk#ds0Ib0z@(;4Gs+W_0jVtPZgdTZ&CmH=g5mr~~4 z-Wcqq^BpB((j;TGZ4oyyvV@_5*vz=f(U~^N7Mir>;_Ane`E3BzC3jC>UQ0IOyKAmPWw5s{~2b@dCEc{#nd6yJ|bXq9+#5__1 z3~A5;ZsHdTDJgux96{6A9D$V6PTQf=X^?&xg0JRAhvdg$6y$X#T6PXcWFm7ykyd3m zsV17-#kW419?sl;#k!+h)V0pf2B{PpkIWz^#7&un)6e4W`Hjj~UK(5e!dr_U^w z=AOghaqEAu*9NQeSAHVgeFY)hna?Dzm;Jm#f_}&=bZI|f*bYFrBWvecu9CU7t1%SC zYE{pD1rYbJR4){paT4_#eEgf)9B?M}AuAbFcD+FYKh3zd=r*ktX7yTobXu-Ie&jvj zO54YijLexjYCe^8tXKnm2Fyb4OgEU&`}@h{3n`KAC==I6!iFyslIUre-{1cS?`;Vr z-Dn6<5o-aWpZ}e%;a`?10Kd(DmO_<2y9EX$Ui;#|KnwITI>3n&ObU)j)(X;i1)d+w z#QerxpKXgV*u(t8Xx|2JLD+dk)@;k`?gH!W&&~y$TO9IAYszlkRQFbwu4A#&AU*v3T?P8e36dHjlBkTZ_sv z9wMG!gH9UbrQDK7G!*{*$MewJDRE4!oux&L9L2n4UGe4j7}$U}&S~W8AhxA0In4tV zHKat%GuA0)VLEA@@@C<-@tfZ&DUW5Mvm1Yu?rmc-ijGguGuj!)A6IESOiQtF^0oEk zRtQc4cPWTQr)kpqOfsq8ktZo@ZY4o5{y#=i<<6L2u%P$i;8P}{=&HKh$RoMPrA z$FU<06k`#VzjFf%+X;CtO>h)&(vRMoRe_yRsKMoy#Ul&yMT9RIUzELLbRAl^Kb$nSZQE{~G`4NqP8z#08{0`^v$1Wn zv5n^4Ip^GapXa<^`XBkalQFW_nsZJ35Ls-qu|^o{$wGfUlr{)vMm`N!ww)1Qw^wpd zahADP(WFdF38NIGZpq*u-vwH4#;6VPwfj(XC}z=KWehGQA1w2yj|@fRr>|9tas2=3 zrq=4@FE+XBuhI($2suDN(EU+q`o-jbtx7BZ6U*}t22|LHk+sN1oX&c3aZh~wBOaXB z0a%`8huQ)cQv5^Vq_y>nn2U+!O>Qp#U5vLg?h%%X%Fh!L@uE`8EeNff>ynt_Dx%e* zAU?pf9De#q)bWk=5ZYDp2gaNb3kC#V1m$z<;)CDyT|ox%Yvi8thh4Kjg1+?<@S@Ha92kjSV3;%)co#zPb zIOHiiDP|{st#il?dV+P=-!6X3p;uJ!2Ez6*xBI)a48rq(|M)^Fd-YQP>*zDn7g zW;p5!&1lUKU`bLMXd|1nFgZ~t6=vt>GKAF5GX<_3dd@9TzK^NsFUc26@s?i+1a`!XH%Sc>*@mlR8`rsR4L z)%iR3p%Mr!?Uf3`qWd^v;`Qqj%HXWvOP0U}T8OUUIW?`E+IhOZGP0VfIlH zP&D5FB0}K*AsPgYJ`h6^wieD79~S9~cGmyQE8}}4dj$|fCgJw*4odW!sNF4*gc`O) zdX7P)IcCSVOes!nHOn8*&l@q3Jmb%)xSxLe9%L8LlA~Z|-zF|QhWI4b5Q*WF%s0Il z@-e_cOevyRGj#)XTS7o8^p$~phCG1#EKJl9nA%{~2ugP@U_=19WO0?{9E8T!Y;fgQ z6+)+#POVS&W$SJW9p|&NoNQLey(Q3fFJ)7b?XP84q={QDZ9U!f?hJqqzB>D%MO=}* zd?C3PWjfe(IzjRBp89X4ix%3?b9UyA1*%7H?$mo%*YT*X6)TDJAr=}1`fIK`yIE|+ zuX5-9Tvv(a7(Z1GI~zDj&M86Uitp;oYpC?;qCLUVKS|` zbW$tejJyC@>(Aywe`hU#wcLL=XQ=#_9R3FqQ3(q>FGs{sSaTam z&$pmx0=E)juYb7XVa@40bagj>8Fpgxj;oQ1p?Y?wy&yw!uD;n>^o2)RT96(Zda{HN zwA&H}QZp>=aSEupDmFzKi@-cmr!Gw>P;0102^DiPIFWU+IuFe@HP)})&rEf3;8TM< z_R?qLS+u)T@`M8atRSEl=9>DvbxBoKY}p%@$J^~)vu0DxS`2knO2Dv2aBC#CnJ`^i zp=H^mHMQ{A_kxdrpdt1B=S=ck?AkEN$ViVq9eup2+JPLqGvbPq2!r_G|Y$=#prjk#+Lvlpf47xlVBac_FVrqT`Q zFB3y~>cgpEr?dZDhYEzQBE6)Z6d80$W8_Sj5(D@Ua9&_-*X4%`HUaJw4oh>S!KlwI z*&|D4HD#)cVdhnXxGIuJGnX8B-O(Jr(xUPfdD2UUMzdZ3zK&uC&f?K`ynAEf(sNQb zeqCeV#2=wW8<47gD^hDt%Z2qi5IgbCQ`3JEoP3&J>>rApkgUxb9dP3J*iy`PCKZ6@ZJwZd1){6a^}JrD~3f?XLU&FQ6mvhD(7oAZh&u1jL`Y9sPGO z{GGi1>Gj7YL6{Kv+zd7iqM_MUdXysNEf*t8syn+`xyRv66Uc@eb^6^nmX8Cb5?G7J z_Flf*#hcY(Nl$tL=r!H+OQpoZ@E|G=!Yr9hX}kc)=jn7Wq@N4|WRE6Y^i*7R*)-+# z6`atHtp*C~QefW%N_E@o<}jStX9v}JBlzL&Bi>q;b2EPaBp z)#^q~8Ho0fRC7mXOCTD=AOxkAvvMC5C~f{QkfdSO+PRtq6L-@4n%6`f`aX9VYAKQ< zrraZ|u4a69vIt6@CI2MAi8_6ul~F&bfton+V>ZODuW!{(Im~4FJLeb+C++>C)t_af z0<`*x&4n)3Z`m5=$`%``m8<5-vG(%l2=zu1a;lXw_HT;h_}&N0dxc~-srO^o$Hm$N zpSS{_o4&flNxvw=XRB#qDIF~T+r*=p?k*Vxa6l-45g^O|!^`r4J#zUU{$MTDN z>z#4W7^l`2hIg3_4ywq%-k+N2R}E_%dz@?kxn#7~^=4b0V~{lsdGH}I(~arIpd@yd zbg}(??qaOkM2+J!Etv>79$BRP-U)jGx?v__#k3HN-#j>C#zKpE&RMre2sPP>*OvRe z-~lL@E#bfjvN)QR5v6N&9;{UYhA?$8*1fFVEIMB#JKZNt+`W;M29V`N2CbG*LO*-gVF(jmt#IiZWXRXMWeWVoa4K z_fEGy$}#*>BJE*j^dheB_R zSqZaJc4%%c@Y}BL-UIihogm+BQ=)eA&2|dnJchYzr1fQZ18-A`*k>fMCEZK<|~$bol*78TZyFy zm93%`@G5#~+sjC5FxBR!1p!^xlOap6^bW<_N=T@sA<;{g zqSC;57{at3C?Zi)*KW&zpwEcgK>EU4oA$Jxb{D9N>wUb8brvRVD($+Mj@ntVZoXY_ zq1pgbP!482`F>kL5y2|LaF|--v{IKz=dTe_?{bqj)8)y@4E2q|n&^cIYUVVPvWkLQ zy0iurQG9hZ-pi6ELu#!>U@85X=4z(4sQIIHHBKh(O4?K+O%K}XeN?Gbo!*_jgdB{D zW52^2Q=jz8FfwU4&loMKtPu6AsGzBXSm*4ioSDobWL8DasN(}eua(;LgK_Q~n!i~#zOlstAqycGhvZ59D1uHYHSEJ;DI z9ie}n8h&=l`fQPtO1iQ{;#3Uk_b)o(I!!Ur;|^Lq^`z+)E|wvj1;&J6Plkw&5Tium zGY7&A|A6yS_J`U7Lui;PT6<;|;FL`46Zb?0X?-cA42{Fgtq>&=6?ptl_e$O&5;Csa z8GLmy_PCQTa2_fvMqB~f@lY^)g4HA3`_X`pyf&^ujYcayHQTt6e&6K#DcepeZ0&00 ztt?q4CvDY?HPu7GRFypL&4dFjH~!6+m#?PKid|`}BGG=)9tqHOFny)-5V-}ydo+Kz z)n zuK~JfzO4H4MbA|rkfAy?tmHnA+S7b;prL-V2A1H{=XRFNDBDTD=w@{z!x_V9YV0`o zb2B>>{m8=pnj8lB(aB^w#MIVK>bx@C5{l(+G1}hGL~o{q0vM%j8kZ{AwwYth9+%a! zQ7qpu%3vI6=KF$5aDBD5J@d+GNlHQyBFZM1llOWviY&jZD79Kap*}?-&Z4Zxm89Vx zmyDc~ByYbF=HW6GBL6Im2*+G+F8Kz04w-wz67}}2FbES7<&*2s@Y%v6{$zy1Ru0*E zqfd}pfc56KdFUv=o1>6fEH5A4n$n8#0QQX2Uf!z#GZFjZIGY-ql8` zBz-M%;b?&TAl_h?1F}ITBX?N7r+Q6o(BhV7TIp+@1O!(Hq*<_f_ zMG|Z|yK=l%-F)-5>D}&4y&n>bjcz>Li&m0<{npG~+EfvWUnRzZVhG=$YtoZ$@dcOL zEq64~_%s`r=_)aRWg5&kWbHOrTJJQTG*Qqto-&1`(Y4w=QQ@<^Je!AYJyeeyUQ}b%q@oQMY{~9U*kqV<0Uv7y}S3SNvK;*p6)D@{Y17n5L zy$>49%Aqo1hAxw63`4luIV0T3$o?j?aupbj%i;aTQ`+$;A$s1f8k5FXIGtS{A_Oyh zA)J7(=I@uWA_+~38Q{88^aydlo82*O24OFr~10y3YWmvweGr+HScAX<(`8?)+_xrYFu9Q3n2 z6S+>ZVtj+qPju`gA2!i+oS5eqmZGy=mleviNz-jJRfIi$aejq2K7?aaj7m9?K&9^+qECKCY1#iI5VqD3Fze?W2ul3Sxa{MJuWO5gdpQoR- zvwz5)yz1%x3+F+g!Ve4sxPd1CVA7xAJpO()KW?9*iM^fUKeOQk!H;!J@MKjYU>!ph zKF3DrAQ@JoNllGL&8D0|aX+{57tBBwB2<%!vW4}egbDmomz*e zHP_%sdfm4Vz9oH{aA)WKjG&=n0Ndw7(CQVS01nY`)fG1Fy%HA3T<|O}f&yYndk`qq zXo2HCb*b=Bw0(6cBVZS3t5Ri7V3Q1pr>T~wjFsChaWs*Wo4p(eXdgl?8!-X8BUKr0p>7}a7SfZ6mz7wvs34F zaUo}FG-N2^sGlK5%caUpgf>ki+~%665-2hqkJwMa?bKpkvwrU^9PaW>KHd%(pF1N{ z7bdwZkvhxich}l{td;Y2^5z4XrIMJ0`3oO1j6U1Af1haLLq#=rWgU!}KmbHK9uh+z0D; z^6MvMI}u^)7o1m!EBQk-$ z{#oU3;bf&`Z(#I4n71CwzsmktUrfhZ7>%ajtc>IkP$l76flTjib!@2w@is%Zy(PM* zhx4K2<3u{ZroZ5W#>+u-bZh)M_=clHR^|GWmcuVFjcdw8-=hf6^(0(EC$1h8a7=9d z1`tq(D(063e|wcYI?6AwUs|lHAT8GfLu?53)449FP}CK|aa{4I4lest&}iga2)j=N zWh7VH#K`0VJFu{CO$!>UmObbt{T%l-Ooe6x~4Zf@Q3&&@5B_NA={75y(r#e$h zaz}jS8%vN*jj6NR^$ALAU2x>SI=$XT>{w*sYI{kw$GnXX-TmKCThT0QWIVRA zY_EgkB6x4v5cnovHH%bj35;9q1N3z4iCN@XwH#QF)`QP04YYLYhgdOh7$h6y5+xcJ z(w)TXduX9WhE- z*{pJ_y7-}ZK&Sk|P^&)Jdc+&S#zUJ9_DgRz1_Fp?*goXfYvPXho&rQO(D!lvYU-;g zylYeNCGBt4B1^kVdpfrZ90BtJ!oD0RSdn`8z*2I)DuEal%m= zs)I2Gne7pM^zTVp*0Mbg(-ZbIvJcUWO54%H+MCPoW_1|5Cbu&48rCCMkM8f~9(jw8 z6eS~dKkWWHme)`3Xn6r=u@5*4-am_FJ0lkx6I*9h3lldJM|npJTW0|0;qPIKyqr`o zBP#!osf){KXnLid*$~1LPt@F34;1;G*E8cLBsPY z^hqk6NI~Z2wzB|}7C2n>lje^}i!DIOWP127C6j(w@m}KPmF+`y7vQQrwzbU--tOeU zU4)X)&dLL*pR)3XK|dxfztt@2J}0THT~F0&>3+>2FjS1GVF~H2zYLfvg2zPP4n=Z$4%2hAC)`^^qUQz$ohdsPzHO zx}c!IGTMr7?kF3n@O!$r>D{6|YFTv9mJV~<uI-XTCq7zNz-9xt7 zUtR=Mi&Y*(zX1ZYJW-#l9=};ee!y58p(0zyNicQ?UuX;tI3;%`O$dfY(!MtdJQ2yd z1+nUr5EhKLPTg|Q$XT?6Qb*Q2(7VarVwv?1j|}zHAf>-R#?AYxH+Y~>maT5om}|{s zU_%L5GwC3+cNL@WUcY!chZw#4m$W1`)Q5})MsJ9i#yF)i)eH{sM`xuiU>KSO2hg;J zXq)`!gO1wQ$LKIlMXlEO?Tup6;%T+`=vqb3GiIxv<;Ge^_@_us%56PyY7}cw2yn=- zBui;Es|pN&EusV73lA}hqIk_JeKGxrz8C)%>JK3TG06g(E6n}@ia>;F4h#C=W=RwL zlX8f1&k7&CUVvMQ`T9)^1Cg&v_tog_*DtZn)gtl~hzPSg$!o`B!tVz-DKyPe4p_o4 zj2C&2l~hgxlz7f;n3F8g4zYUfo2JB?=qIQr{jnX3c$|4ppXpWU+A6LLtxn&C* z8RiS`Zj&<&W5UYdG&I%=1KKQ=Y;i7b8*{}1-oUVXS^@MZt2LSC zm-;tO`kVF!TmdN=`)(i?kLhMefB0d~K9$Q^@bhZWBb~1Lwxk^iaKX_yp2O=UJu*4JJ2i3~Ev%@b$g? zwwm)JseG6&bEjzoOqahE3q_~Id;qlytJrBriO~Q+EdsF$Bqk_>0M6hEiN2wofR%W& z`d5iN7}xsOUaoRE+e62Gl(rQ^;gfm*P^;G5abwPANn;__p}KN`P0aOR-q5!fGhmbxE=dA`nj|cth0np=<0`evL9Y4A0bdC!nLj(kJ6i&}YGfXlw z^>E&ip;+PE+XC?28*Vd%a2crcX<=c%eQ?A+&C13((`{O@gg6A2*yc7v8Tl=6*fmkgFXb{`pZzY>R*QWZHY zdt-HMp{zt{?q{QJw6qj* zCm8K%k0I_8PJo|s>V4^CaD&NUmY~E~!ig^chUxUi0DxgyDRdbnQL{KZ<1a8?M#w{0yu7 zQWjRy{y#8G>fsL<<{LQ92MlwbVwJ6QCtN4dJ;wzXu$#fGP~2FmT*X@W*v(j-=#`ks zoMc%q!P5Z>1|6He8Jl*!(l`OTHN`BS_kWF?fLnLo_yNap07$fdwu%89$G;BZA8-2~ zikm%RvFhOB8SFAbM!e@US3tVQg-90KWJjWc?c5SDNwFV9`)g}Jo>h_itEA4N zsoi6gZ@^DGI<-0zbQG}{ML+@Q77~J*l87FDS(-CPdwK*Xa)?<${CiDiPO}VHlff(R zO4NbWqh&NO)qsTf0QqFh3CaAmCR>h#ijB~y-EVZ$oCmhuqvP4&=jjoJDBjGim{ve4 zM!dw80hdR<*^}*(EblLTUEFZWYM|VdFBFf8?REcI3^)qVMom_x@~csv$R6j}S{M*j zrt&cPtV#hZF8wL%4$5H**5|-7Ja#~$Z7Gp!v{LK?tjXL9Y(Caxn18LwxH0L7wsUA3 z7wqJWdpqr*_-?EljilVJHaH`2Waq84-jo@P%`0{g_WysYv3kCNZbASemIa_iC-`R% zpRE%>6VS=X(ZbNg5dhFLwJ>w}57CxNm1)~qfY1GT!CPQMF`NY!;Z?mqrU^>YQiv+} zWYe(C@it(w?@VX@KH-vvO5qYuTzM>PmF;!TMX@-s-Ls6v?K3@@o8RvDvuqZX%(6Pw zn-XLF*Gm8ndO7Ga3T7i%_40={UAQ^OI{G&ZLM7Jv!HV)sCx6;Nw#Zz@q2_N%3z%B$ zye+DrpUp*y{)7#Hxrn1_uifQ@1Fge<&bT07dsJr53SASrWjErpA z^lFYivFav7gy|?IAny&q9-E9iJD^{`&u|go?;*Yi%xR3|H78eg!sxq-W2QM^SQEX1thR`Xbpv$`&6lVxGqTX zxnKG+wg1yMgV_@ri=zIqzO+gCn52xG`Xzf7ZH>fmkaYz~dk!yWl$XJ{Z+z^Tcmy)A zOga*&P}0$|ka1R>1=hcoWn~c1^5%wU=g*b;=mRIU8 z^D5e7arN(|BL{5FHhiO)QDiZvE+szvfobVjPMdwxJod={*(C{V^=WHB7_VGtMU-MN zAtlEtv^_v4isWm}p&Iq_fzf8xd zmL7)YBe4%{_^m-Eak&%P%rCr_och*!VlCU>&jHk+78>l$mPNw#SXS$#%&!|WOmt+gWyQ;0kSl*<-0P51x?j6 zd~W+QLzldA@1hA~p}%MY>89XmuOY-u?-50T_H$_~3Do*>E@A8Wea;)9#k#X>dI)>D z;ARarHF;oet*w?1!?)NDe+=m*Q@aFBY4Gy<96luTL01B-<%|4fXz$-J|J^&8s%kZa z0#YF=pm+MSo)(Y}{|P_)57?8UiGz!Y)Bhr5WdR(1UI2$5z_m(Zv?(QnvaT_4%Hd(+3#Jvn zA_x3-({Tj(J_2<JRwnsu7QQsQP8c&{cb(2nezOR6I3=Ov{KW;b>u`uB0_It3~^zmb{W$Oy{ z2v4KWfCewFk^u5x7WSNH!Xqd=@U_WybF&=#YOpO!T3+(w8gB;h_4)bRWavu!)qY)nZoWZ&3B8>TTtZLJEivzJfU4AKKcC{ z{=#!(Fbs)6+GbG}9`seVS>Y8T9I?8vb_ttGU4G z*Hv)$Ph5yd&r>L#Br**%W)vA&{szYjg^JU<7kNar>+UeoNHQ&+IsEVqd$GK z5JX%sDN3Yb`oEmO4?IN`)1BCEW7P>6NQ)C;zU-0oSI{!?%x>~)dZZU*~0UP5kX$06`j~zP)S`gIG{@+w%CU{*?%H}swkk$T>P2kUO`J^gK6s! zC1hD6uQD#h9<(o!TA_iyvxaF+U%0QJh!n}+g;5i4H(^2h8>C$Qk$c5E;W%MKw8-V4 z&rFrZU(!M}SyQ8il%yusm+CEiKWEanvdarBL|Nw zq6s3gtRX2z1R2NGH9ZD{cEZj{5iw5kM2fpGhOOewCl;?2?6VrPOKo%$osxnQrDv0R zFPt>Lr*f}#D72th%26^+Tbyy{N>2Tjxe4`DyC#<9Dl;oy68KOz_q|2N@0dF)CHK3; zu7fX}1)5gh1J;RFT&n|1q?=BWG#_~aY+p{H&lk`VK5LsO8|$_2=imEMR`ha8=y=i| z1fO{&y#ar50sn=h_AGs=$bB7in(H5x)s1sRL_)LP!Zp0z-*0@eVXXWdR$@iOv2BTh zF9`>ev4;3Ler=<17AMP1`eFhGagm$Y@@f57WE;}|61p3lWZSwB*xLgg{`|ox1o}!29>3Cn z3wl_%CAp?!N~W+ce_{>e`w;J`h zmCPc6CbglK*K*E*D^80nicc9^1*CBfMJ5^MtblO_JHf%K$1>&d1#1;e4r}-@tFInZ z)Eys&N~2;Z-sUhGM#4NR79y)ilc*F(xcIpEmlcSLadysP7==4WJ0!v5W||qCwU!z;qb4Ip$i=9BU(`}s zb}W6n7*gp4ezTE{;n9$89lp>q6%!y1j%-7=JfN|ljx zbe}Al))Tq-taqz?koQc`$ z4x;Rv4rS+x@AMCXYHWT55Wk*2?qsO`PSnyIiT+wJT<}kvtwv$YYQ7N}KEQ9EY`jJV z`gREcqJ{vyoOLEjCAPC!A6>?^t3J@#A0_yq$ZthSFI4Lzu!G#~Vpl)VM(JnryjCh% zp+C7xqM2Zh#^5HJpKqxH{zR->CPV+jr1W$UwPw?dYAhinkxn?P!F85N@Ykq?$y@oK zdHSNsEz9s3al*0m7;mX6YGJ9&yRq|JnqW}S#Ork#nhaCira$MP567TDdvW(BE~S}U zW%`756^b1pkpsS)A}(GGqopk4y|nGco3ttiyO;&%8L+$Z>$_2b0#ygWz^{r=wpn7d z0w}raLhBS4saX$=J<1GQjELP_vn)1m+HOWgNuq*4a;3WhvkjP(H0Z8}f>T%}DM)(1 zl;xmKqUR`>AO%?Xlv+%Vl_!@TJgc;wM6t2a#aU=*O^O-L?Fb?i3QaoF z2xRvWUVfw3y~G)RNd-dDQ11!)L6u{DmlIp3E|x=3Kp6?mlnB7D#+iU?Lre@2iKj#o zjrGtD_2BPKDu$PX4QW z|BeP8MX`#_EWy8O{z`$3VJwP<;WETCGsOs*FOyAfJn72AX9} zsfh_x<3zT_Fn<5a9&9}Rjrfgz;DH4sNN3kltsL+r5c(P3GuT4cUCi-G2}4B&5H4`h z9mW@HR*6N@hYMV~PJI!ezm5En*`dPkBSX~PctYTV9O#FIsprunib-OiV3fjGA%3(R z30DS&OP*nrrr%FugcK8~;hx>ss;5aHsg4>{(j0PzVhKP9yWeEOx8)`|4bJkZ4(l)cs{9Z*uH=@y zh=se5)q3TQFJsZY3@6O4)onoN=cH7o9Cqd|V@@4PxDCN*SJu5F&1xkwiI!TNR*cPL z#(Q@(Y(`TSIi@my6O~q8bz)j`^8HnV+M|?SBZaQ1B0 zq)-77GFQ16Slhpvn+6rmskWz*u`0U}%GXI? zWwVI2%W&blsMe*Ek$0+o!BfwQOGfk@G$m}4_BDjd;M6O8_?_5zRwGW)?~BO(!QQ}Z z{1@Z5lgIgTQBM)sgrKQD?-lYfirl-wk~_EdZ7t37dAGZ52c+J$hByeewS-f^+GCdMgVUb?^a39e;+<6j8D; zvjsqa9sdCXe5md-B7Ugu_v}ECBQ;8R1>_P*Hb`1aJHG+jI?DXTxDw*H+H`Zx*b0KV z6d+i+J@35eY|CKypj;UYUOX?mC7QK29&TLyTTw$81 zP!yR7a`hX9OX0!<$nIBLDFD$tMHjZScLzx)EyQXz2Ec7X7h^z&NlP`_zYz0+V)JPSSnS?W#7vPX5U|?v(2B2X-L$l#jaWun70+FM=RxLNMWV| zFm@P>`8}}qvFP4%;6rc6*6W(NzcrO8bk7 z+9H2dP@huAYX2$R9~V@m5F3?({2~#cr)eVs-inY#_lR9}nVdyu3aI<-&aH90Cst_U zox&kflV{xzCGB~vSm<{x$cw1^H4+*HGwKdfNL?U~kP*n~qw#O*-=HTHF4;I-HB5Fv z6@X-r`{-Q+*+?B<0vVwwh?A?7DFuC?_(41%kciFgMO@7N@Js8Rr)u27-|7xPaWo9Cq+Jl|5si#^08tsU_l*^~75~(9)%dFyaWHR*)0*;no-F8j zl|S*`T`aDZ`|_l;%pNUe#hh?e zWqCOm1tN0(Odf#{{Uv>=WeMRIB8|4+gi95?V{yP@CX8;^h`=83rAQ1(A_OwPlqw^$ z#)`!$uBb|OzrOx!0Y_rC!SzA@0tN&q|DTo7{~MfN{#oQ9yq0D-T{bT{=$jhKZsv!F(j#z zt@}Wl*a5uYsgTuNKtiZB$Ksiwqv)Bru^WV@XUTMep%7C5tx#9Zb_zTLVY+j5o*XOv z$pv!IiXh1L%r!%)!L#Av*?L`>ARg_#h8Y4L0JWyDGoUSf)l1#+_7&bGGOH|6s7FbY zIlfkdu1z|A9Y6B<2}TrfQCgcR-0~a5Vd$T^vuM2=#yt17EZ@i6L??r~`Cn zLRefsm`Va*7biFl<9d53<}{PNHnkri=AyEjtP1tqRr}8_PJJQPLtd>sEvlE(-4i`C zk$!>d7ICYNmj2jTXS6&8k7MtLZ>;1iDRzx>F1ei4k*8GL$j*OSmwa?PD`Oi!wE^8c zA7DH8hkH_YBa?q7RR&J~2zyro^ygLqTA>^QzXPLjrdn71GBshvXN@Ui(QIyNSV&md z6*O*1mrFTLyJF%|^4C4Fj{^28<@&f&yQc%B5mXZEo z{Z(?mH4h}eD(eqDMt+hDVxSp7Hzg$-JhUDss3KU*%8HMsF+PzCZy8Be-zV!oKA-h1 zE{yp!FmGL+E^)~%MG`*reim}z=JjXs>ivW_Lw@!>SQ9|Hi)b>n5-$%^ z8htvIFv9CWfXvf;!;X<%SXeBv5KGM-VLCVNZwFG-=h@`gp}A(f09K3T---eE2`kou zPY^v1ge%yM&gx(4N9yZNJd;%>{mBNp6fpSR=~S_M4#zNohZGnx*TG!|zwsa^d_DOZ z_pGLsshz-cyrt&IOXV~CcK3IchHZEULF`Jg_qCsMv5>zP9_@pbLKPnR2%wOv4Sau9 zldTQf(#3{r%Dz~zxvW7Qe3I-vK2DSf>AZJKvUb=a5cAx{s33T`#|dXB$s^R7G9hR? z=wO3=+Pn%!^6}u9_FpM+>W_KDw6&&jquuONOIuf_KdS5VCkppx_9`3Rw)zf+VceC1 zIu(n+un?!HCi*qbSMfyi^DeT>E~WFsm87_-`l;X$o_m*B%Gyx&^a$SqdNd1O%-4VG zh<)mIzas*qlp=uO$DbjbMGai-94(wpMD47N|I=;f?|1)y+;)^xLsH9B42?7g5$sVo zn50gJTw&Jxd^a<9n0Zi-kwe^Q}w_i6sSJVAq8C^%eQYjghSITZOq^iE}FPoVa zOkM~9xYh&PaafSR)oY(X%9X#f<^tO*F@ARnxDwsNV4IaU@GmGJjzNQafJhH( zc5Vb{6;n72F>~)-kx6TN*!=r~4T2!h6 zG8S<3I;>SnI@;_~=3VT^gned`K|I%xbvgob$#*3C>q5QpqhVgz$zd!{OFH%?u`h8@ zhgR4itPziNHa8li#v8yTZZ%=Jt|zj^ zr}#?vcDlDVb8&(brd;#QtP?K z)K}KcMNzzR%rsk?Y#n`Ts@kmxbMTCm5y`p8^EeI^@VMPaEvE8r1!N(GMTqp5k`C&H z)YibT>|~nxA)aUD-FJ#mzDd7iI>zPdRP^$aPeyH)w7TjdggJro+91=t%uv!(CU9@~ z7&s3a#jmsxpzR7|3!nTEhhiA z!Hc-F00(_!n~|EjEgAuR9LISur^W1j1brf!*KE6Vcm?~gTr$=(fs?XAcH=QK&`JDa zpB0j->Q3=Wc6El#o6}Keh9HTc?6dz!@H6!iy=HbDJXCw~-!a$X#uqsVU_vP)0|C+e z(NivJ@egJDOnuUBl^vB2z<~-4&58$#YXasaqe>=cGR@HmY+cXg(9E-8N2ZERRI)pK z?|cwfC?frAlY;vzlB{!+;E9j#<*?rw+HCTfi#P?NqUP9ooNRIIdZ$6FU~({uF}6IQ z7ldVss@w6y@4@6ig*)&BF2TxH9z5AvEpJc025+x|2{&jgX@RGydJm@&O%fylj3=zN z4~_CeTPKsFZJY12=S(|HwhQzvV{UcXhDFVWI_HGkR+HXWAFxG0m5qjuQ}hH|H?##E z$VujC+PncShcT=CHW_s@9htWOU@b$YqH#Vm3R@^fXi|Z$5!{e`kl`$%LSwTHvsx=% zVoiTCKwoiC@%aJgx*Scc#B1uJ*5pv(tSYE~A|2nUV7q2puiT!*fLX+Sk2%q>S`tsu6*E9ghVPiIoYp zrALr*a8C9nnfqt zYp&TnICm5al$XQIGea&;T{oS%H2<-6kLoM>blatiSi}z^PYKTss*@J&Qh%|Z&B5A=%XyL__f*%D7addEiKWpDi$3*xma)@9PwqU@A#1T-p$= z!U-+E<~#Bf&%h%u(R8aXW=;(odwNRh6<_)<_9-B@M2KI$UBkp3{G^rvWoD2kR{gZC zP89sP=nnT`I)R=6W>5M8+5@D^`T ze#dS{sN$MabJisKMu7Jk6%idObS#R1qqM)Lj8q8jn3}fJ_gyx@Wtx-}w-(y@8BU5y zlgi^F(pPIW^#kSNpvsHG#?png5K|t$T-7XTRlmtZ}c0Ul_uO4uSzto`DJlHy=IcU zlMa;d;**=47DqK9W2ihA=d7?dQ30+(RxR}MFW zGlN^nd4d>|nCU4waD;xh+*RxLWk(DUL}$bxLVS?z$Cy6&5{Jt5)TL+?14SNI#lD2S z>hnRPehdo?GD*KJ!rg7Y!RNDn>^b-9MOla)cs z1~1ZIDPdclxjXpOHNo}qhYQXu^#sO1zGJ1@&HQBept9IiQK0uj?pFE0xK{X+Tcy_t z3D3>L*(5!F>clm==j|{G_1BmaHEhJ(>_=sf_YD8N0rL-3FHr*2%mjcf0mC2XLuorB ztG|)TN&uw<0Yqbx&epfd9X{Q5==_W?d;>y;oD{k|8OT|0zY zJHY(Q9Ncwvb-#A=Z=5*27JqSy>*`Y-&=Sd@2k(p?GxD4y;(Z|}cNc=t0k(GaBOEX; zqd$XOq&g1D7!>&Qki`;!>xO7>1gS1Ipcw(mp16}71vbaTGV~2)>qS;Zv8>ID zOiIUV9xW(E!rUq%bDtEAGpgwFX}6fce%$a0OO;A9%?ks%$~&QqGK{NsRrP4c+x+*# z#M5I*_aRaOqheLwNS0%dE~JD(5A{QxsV%xC7sEF+_ij3BcFWvIMO8znn`I((XtU!H z&9(K~1hpJ;1>dg>A(WeM1;PNi3|PE(fs_RRzlsUj2-%L$L6l~01ri$PY%YS-6daGnLN`Y)}6caI&_LF)OrLLm#~6KO+?R-b?#!P8CTu4K_UvCEoLR z)?&ztxrVfGem?uhy+`|Psa7vjbMz9W$?wQr(L%A%A8>Pr&fp=vR`?0H<{OICn+l+Hlue2D_ZR!%VW2^jO@>60{Qf0>{HA|jmwrUXvbNMp1 z@M@IN+EKdoOcswG-z;;{-8T#gihlvJh2`e@U-<1WN)Lk{xcU!{!=LqZAMdrQg`vn#NAr*tTukwr$%^8ryc`q_K_0XJ)On&%5`!&WB#- z5160EGsk#v-@hAxTJZ%@Pbd38t*jTIsdHEY)UQQ%X282cG}Vc3hszC!Rkwdj>eKQM z;7inR6-d#cvu5KE69#}EU#n-$Y`*|tyBcWR$IeXbfN)R~=|BrQd{N!0GI3Q)l_Wvv zzb0-Kz{K7AzZ19U1URSK+lM}m)qx$Lk6UQYKVbSx{aUw~V7a6QP`}D3KWglVx2UW0DWmtbM4qlR;tBaut;UqvO8qMv~ zso6IhHE~;?dyt=)WeF7*zA*IJT2A z^(_%_tK9LqUVwx7FGIA&<2;rOBRI4xq>WCm8@Q@vOs@b6etzs~zV1ZrSs&n3Qh7&- zi?!e$Shc%21w7*D5Iq z7+{dT=k7x6`*XiHex!rS8REUk)c;}!3Fg8EPz%;XqX?5sXa&+?%Sou5LnmVwXtBm= zr}K#u1I`zR{8!ic*~+~8ZclfXX18A^@d@`f^Ty5DwB1B>o3Bg#-lZ$#Fn|{2QGRHR zYNZ>PwVp`Ad5yr7n&(x<-2sALy5a+%gM0>GD;hWJig$&s(Z+P_Sr~W4^3&R=rEYm) zL#Za9mh{t-IxWIkP}Bj^c^6*rCV+I_NmZg0XP=3(2H)y2?B1QCyw62&Af;OW#P7~5 zXjzJqW7JD+A*6t~xT(a`mcknH9x1rStLNV-JxVu)?4p2@(*k^>{(qF*-x-7dVEXNs>1oXL@4p;#o`c^3j=AC~ zaXEu&*{ee8paW-88XHXnuAIQ7PbahlY?Y)Z>VWH3F4YLY4!pGiB`ULn#@3YdjiM@& z@LWd{)hd9+r_2X}u&~-^e$lr%+^j0kt5ul+WvG4$K}$%t!m3FqA<>_a=Wokgpp6h$ zZy6uI_=R838vIe3UkYixt5R#q{=N4}#t=E|HLprgqS+v)`#88eAxTiAPUEKHis~V% zV}7K+`x*gqnr3N{BegN)$uiFp2jTJ>#@ZXgV#g;`b|-iH#C(k>N&CC(rQOlZ86|F% zo*JQ2$D@g4CF&qC(_kqR!{xAuZ0AlQRn+ra1-mVB}-6_Mqv5<;JJm)kYMY zW&v~EMh$4iiWSFPbClyC3u;_I(J6x7t_=DAJbAWJdwC8CDprb33tbb-M)BAcggB5BH~s786D&tCc&mW@jsE=d z6}M$f?qw|8g$!>xQe@xEm4e;QLlljLR)+0lFhuF-6Fd@T@~M=5*0n< zO=p1zWn+?qo4x3qtos$q-gu!ht+gfK7iac_ji_zyl;BLl`YT$GDz z(%?ui){|ad8!eUf8SYp8cVAvK93_0b$Ov&Ne{85*2@Og{KHWqzzpaO%IqnbCP8er0#<0;>T|+{x%9JQ%Jd_d4Y`sD-}Y-7@Pmf7Vfc zE{i>~(P8!6Qin7X#qWRPZd%cuU5<7@l%+^9CH1saEEV482HpUF6UAEBCw$yMxSQCyyHB!=Q^l_xcHKdO=~I@p~l{X;Y@r0!vmkk8QR+(Bv14eyxg@ z*7XU}hSOP=-U(6)5)9ZvT%OlY%Aj3NwdezED?>?T5k=p#du2m-jsvQiROcoG0ndp* zzS3#fMmw*bfhH9UhfLWGXBMggX>EvA*)d>?&onuE=DU$nB0~tecLg?n*uHzSMkTpO z@+R&YjNfj`zc+yKQZ8sTbAF|iHkc2^D5mka;Wn}%t3k(d#G9AR^J^cK( zOqg3ZBf5;4Anf5s`zlh1SZZRX#t9S|S%t`Fho&a*~aS0Jel$T!A%YN_2fkOWTcgC!|&OJM4{gpt@ZoXld|HycX z+!ZfE!1zwLzQXVTNNUatd3EWF!$*89S&HcaN2%oZLIWutu*Szi=Hp9wiT zt`V}W*kW=n7FiF*$Y%>zwR=x{CY-^r@=&uJTb*CpLrk_vmGS`*5Rajeq71d+?~uP^ z(VDdTMFlw$WDA)3Uv63dcX}$ljZgCdbfdY5t*$9RjeM zhS0Dqu@5P8W#TaGh9O);r}Ryg@QBPKNQ{5dzFs7@N3QZok#dMiU+8BkD5t|_bRLz3 z?}15)O3}JPrwn_jcGop=3s37o-ec&Jeq#mUL$W;<(F9B8b`z)H{7$uk%jpMXJk2Hu ze6PkwkeQQ@m#qq%!&+l}zyK_z2fR^fRa&g?<^vX4h z%4US}5@-bvgxM7uOxu2#kIE>v_a=O9V88Lr`gPKgInRqvoeEZrZl_dbkUF}+#(;UZ z>Pyy7#V><>6oj-I)Ow74LRZio$pN7Q!V7Xb4lkMGxNr_{(ff+t*K;ydcngx@oUN17 z@6_1AP2=fpl9~Fjfe@B+A&e;JL%qTHj*hb;(*`RUSGwGm&!&f5b>U!b_e<=p+iV;e z*6sSz-aUEvsrM)V`9c3iQn}xnJFEAYHyZe7X>|^od)BL1zVR7@HEn zFNyzGml399m@a4+0v9x%nVOkdI7mK63E0Rp!o@LKWb)97#(ozbFy#6?W%+lPkr#;f zpDrVZTUQIvWjtXucXy!2y>XQ61Mi z;&MB=PXL`Q%F3~kxqvD=+Ya*IQcxJ5v89dbwbLNWn$uekv&=( zYqzWBGx0)%@c(rg*@`RSK7Vx?5FcFzt>Rp3B4fbafLE;}Umdl+&9kJ6vy8&-()yHP zl-(KmM5gx;nez*(+QaHIVyi)13!5~orR!K4oX+)Z{ItB7F5{#0s3=k z6C8FJt``5{b%ac|S6h-FNU{lS1sV)348sov)>(3(+g%aVT$`Qvp7cBZ=0a~^+gn5L zwEDSAcaE#X!4OHE=LtwfzO=g(8_6W>8PEgvjhu|asn?B6mgo6_%&xu|G1Zk>S<45J zSMF3?aDR|Yf=kx!w62AlgrxFVz8z=>#NeVy0AmS1#M(M+M5pY5EoQ<7~C?uoz?b$r%jIk)t zm)JbjVgNJN^^MBsDajEuhD>BYzpML+Mg3#Onu&z-8ADS1zWC4$c8V+R2mK>PS075n za0O!&$D*V^sS!wlovY@b8H=^1C9d@>Yh=1c>odr&uTbWW9n2aDa8h-c9v<(%kTvQU zUm#DAU}-y`fzZ7~ai9&7B--@V#^v8OIS!6wBbVuD{0hYkWdE75Ci1Se3b|qGH5OLb znupN9%xmQwcNQlRl#HJz25V8!2e(DO{#5;is*8orVGygX@AL8Ok5uI2j^0_{_OyBt)=6UT)-AU)>e2=g^Q z=Tk&7)A$}#8K2`|RFRk(+(Khp8UZ%XzE)mF1WL8TRWgvXFTSiuPD&kottYY-43*40 zF)Ym0G*b4GBL*yT(`V z7{S3?9l5|oQOv3|7SJPw6K?%54Vy;&bwD3Ua{|mVV?4|VEVL_rc7(30i!4=tWZKWx$dAcUa%>_JHY4m#>KULB~7OEw0L}JO|%H&6=5o# zZ)d|@`ZMPpYxM?#$OF!13O~%rspQZIwsdv}kbWQl++l`>ASq&D6fc~_La9Eu_>7xz z73R#Tj^E8V>DR5+RDJ^KW)_JIVQxj-o&?)wtUYr_l4+@_yrNEnlu(a1ax^xqkuY+f z*MJMY^DKe6*11{G6DuN9nSCY72d-3cMgNS}DJqZBpHb6R z!jxUK?|qapgpPX6n-Ux=Hi+#$4)(DINHi$SR%}r%Ni;O1>9JlTj1Q`GRGbT{=(cl$ zUL-+PR|yZMo1MWd0jq7xK0(>b&t__TLoJ`bHg*t%xzoWQW+i*rw>M_uuY@HO&BtAZ zq?R4&B6<$`@M;Kq-$h{Mo-mxs%>7~yV3{hKFV?nB-0eo?fJk2;H$R5%2Z72Ae8*qJ zmr~93^UigVo}D+%L(HMB^Nx!Lh7afiQ~0P|%xGI;QjqE0G~i zB+|VGLUykSUTHf&XCtZn{cz3^Drkni*PT`2Y7O8wwc%xcU|Xw8)<0+7OIS!&tm7{x(+Kp!*xJPh_d6kDXm3A6%PpOzF@eAISe z5cn7+tA)Y?40;FjcdcT4M$@_0h@5$~8sF~_zsgdUqR zpi!}ze=5?}s`T19K`!ZJ%v>!hUz1x5WJ7@-Bo8d&6E}hrsKArs>^FtPac7WSX zZ_!G-qlGG>fNVgUH7(hE9N1dFrsSIK%B6d9!!Yt_oqofcU1FtSS|KrhkCP(LQdQM@ zZ0ywt_pU^H3aQr}aDUQ_kIxt2TqDzOfN41}BJpI5ASYBqQH@(U-j`P7ukUPM)WnqP zfeksAJOOvWt5CNwW;+B$@33qG0@rtJ`kGN;t!o{4B8IhQL$pc}!soNha*egzb2P#NF)h}il+jf^|VsS=C*2z2=Mu(ejAR-_u<=HmKmS2 z96)TKgTnjT``O159&)=wk=TJuL+SAIz&yyv8sM_Qe4kSr33}Q9@7vIwM0L6Z@lClG zaM_^J@kH5bQr&Z&02-Iyt$ZMpv=8f+fp<=4T{4@WWEBUiD&? zsUfj%4Ug-xMPOwsB+zp;&Yt32Y)LlnVjG3F+^puE_0lPowtmIn;@UWU!~+?ub)GYH z=8a$PhG1iEx5*=G;%2Sa{>|oLuyuEg`H2U=f1f(!4iALMidS1>#dq}xL>6UpWYbxjBd#lBA`iS##`mLt9b9$3qLwfKp8G7|+x2J5Y*8x* zL*u_q>@s%NPNx5_^6P){BQ2D`q^bRA(Aq;(v~^fAB_ZY{L}xXX0r`&FW3_M0sYxj6(ZWSJaB4-`bh$ywoy395sAZL%E+cn9^=!DPfcEf?dARwks`O1*$PLS-gz4t z&g{0AuGTbG5boquWoeKw_Gq`Cwh+Q=8`io^98@o}Mfexj{eJr|_{PU8Jhm)~XBKc$ z;3WT3DbWATRjT6AfSoOmwa*I#QE|byjHYkWqG;>F5g6-d;EuEW)(rxy5+t$+N9&GZ zFAs2(a@+bM#oz9?8uzcRu+2o^hNQFG-2}DXrn`!e!LQ5)dZzm@;vy?i*I=p*ZpyE|ORy8g50X++rdwtC0G-sRUUpq%T@9 zAkWOMyVJo*3J~QGJ2R)}vm*0BX1j}ip~w5a*%bw&zS?fJbr4OJqwoIA_I`}iuw}j! zuG^UNrS%=~)95A`6!8~jS>r5Vt*-g)eapq`IXia@vwjq_B4~I>TToO?Zu;H5(}ZwQ zsB^KY{cIp-*w{@PU4uqR(_6-z`Rht2Tq49k`oO@~=^fZ)DmfUlfs>#sK2LqR3OS7G3rCAey)OWaY)xW1xvQ0)m!<*lo!0d%bSEZk2_GB z*Ve;VchC)p3#Wde6pq7&F?M#`V;8Us)lkA)buYgRQl-FFPoE`DRM%8CVc25_Sw)Fa z>Y38-Obj+zb;lEKm?@d@(=cFf!Va>#;Y1s&`Dh5*;ljL-Dm_Ea%*t$h z20r#CY!V5W;R~2VwW2_WO7k9LVFlmi?az}oQ25eWhL8)a9ygM!Tv65>kwcsFrrvl z2RXf2T44xVBSH)|Fjb|jeXn=##==ux$7eI$B&aW2z;icM(^}z9@`$1O@!HQqnuG0z zG?bb#zL_sTPRK+lwYw)S52xhcbU z1OIsZ9Cc}zA5ZNIX+W+q4}Pt6px%*0|G|a{15c}4e{uhj*s710$^{`k^mDgCe7f%{ zf4<9RP1kY`NJ0yH$e9$$Odyxjf~Gf7a0P1CqQnfASoi6yE%-sdC!^wCDlPRH*J;W! zM0VG-;O_Er_q^`mxT49g`yuPj)s8LZ*u@b&hs*UR>8RaGMD=$E8D%Lwkmo`&j^Dc$ zR}QZ@@ir{q`b+g0b_k&jEEse&+OJUyw>4;0n0cNAD!?vFfGbjiN?m*hRc`fY_U$l8 zb#ZCstg}3z^YJild7}6!6(+t>(PYrunVLq%MfgDH%iXA`iu1-GfB-{F#-}phaf0T) z>(6VNMkBFEq3uw6{1%9~tV9&{PlNusmq2S1-ATGRqq=0W%Lj@N)qD@~{@Ukx54S+;1{}DH^Bs9%EKt?Bb=6a@mY=`_p`K zPA7`lhiYlpw=2?egm0e?1*g^6@%%2B2e#S_{2=M9RX!cv!I9zvVS2EP=*yYaU)zPgz@oCeCzCSEt$ z^3>iyjM=6RgWCgsjH!`TaAh|e4(s7NG_(0MH6>~_V+!sNTA4a+^vUs(ag{mwjr^|W zO=0)?#Z*Fxv<%@*kWnaSbm|Yr$pihRGj_*)+#6;a(A}WRsk;1eTz6qiT=${oE#^p4 z>(`VGIa46XiQ;W&EZxt|>KNFxy=XDDcS_TP*t#1|QVrD-j>n>xD@3 z#pqg9bHP2`6xd0|7ZCM=;8L`pE7Lk`2v%nB#}B)A8G z!u9bqNvlSk^P&*KzDUcPNBqXRmNn|7u%NUT9K*qfQ7V3aI?Ad$6IQxZHxOR(@+k={ zlcs5qPZb7_L=#UqSxYrUt^@xz?5d8}l-#)N9l@*%B97$;cIIp86r#T?cPa2p>gc|fjD0WN69Hm>97o+X&>A23 zP3|YbqSr;Tdrj|q%TU+Y>Rujh$KZrp&*1cwmAU>VCcClJkg1aEVp zQoW{BJ(%wo{kursl=8DrR>h4qMJnS0`_5(MD_TaGQqj~L#@nj*|DFLH?5W*u08LsU zpgI3DH{M5U@ZWJM@_(awhjP4A^kG8R(A>l*QkH^zPQc5pa?lyIA`45EIrW?^7ieD} z&czxn;xoh?X2w@pZ}uY_Ms(N$(v>~qmagHPwXC2S3})otO2Kw+8Vw-C?EJuSZ$VY? zKlOwkHss%fJ&>mPX|RFdo3mCxQE~b7W)kb<_p8a_Eh=nh4FIR%V14l223)r!Hz$(k zOM|77+#Vaq`?sh@#XM^?67V)ke*BFcpW3*V9u{k0f|W1$3Qa^y$zpHtFeK&Nm;3^V z;f?*sz*tTkb5MiqrenrFhLiaOG!cB=k$r zlMu}QPeQH5p+jtW^9i*2wXIC?2`~ z#^`S^uts@JLoNXHCp~8%3ooBNedVBYl{B%ib~(N2agh0(=wzof+HSi;pJ$TibCx_K zYG(XvGEQco&0x{OXgg^|-nA!W>khKhET`@mhxed5C|)ZX&J><g5BIyMs=F8*1maM!tkkm7P3MvLv5W^p> zr#>o3z{2Lg2!S&nbY~Bx?)RGA5tiLGv?ml+CK6`m23Ua!hzeP(PpqxQm6AKU^^|N+z+L~NwP5|5)&1Pt@9~uK4)P=K5RM6jD z;hJfsJT?YSwa#&3(q0ux;_fp~yZbxh7Zt8eey!YM#SFe4SEeITQJR>GH%eOc=j*P! zEOJ1zrL9sV(l`qU3M=@)yRlRprz`}__3yRXYHgu$DxA)*uvG4DL!HbW=ulhCw>&gI z4}RD3NfKDssD5bF7%X@Oh@+O3-@!zmiC8BRqYGH@!LzuJLng^GXcal2$uaX|A!r&4ZF*Z8flW6yEZqxW%BN3R? zAh|b`(M7FNE@RY08E}g0nbeb9;}%!ngyr)U?=Q2RGIxM`OFV}?O}reu^q{iwa%Y}@ z{c8@Sdg7@(156)#02jg^&i{Y{`M>H={aZC6<@*LNki7!r_yfq@42?z-YrcCH)bRum z$f94KDCnDa=EDE}fJ-XNA?Mt{$~5dh@O-}GEF8)kHI?1rO04xh-E|OktzlK^)ghP2 zFkAMLXX)Ub{Zo*bA(Of`ITGX3_Ai2h8nxtlI1VPqL+E9|&J7%Jl5mpF&Q0xRXM4P!aZKP~gX@yUD!Xj6KaBSN;(K`Wq z9v=Hinp{VralIMQ%$;o@cgz?j@YEWAln7asGF^zqYG286e<2_3c%+QVS<*QM+4bRa zp(Fd9ExDezmrbj)d8PM6eR+&VUedmh+T7uB8Au&;9U8jSW1e^T4(>}4YXlV@aPm_0=$cA zC{@GoP*ieQZQ-}w+&NDvnwfZ`*{w0+%7I<3oj6+N#o}O3ht2nytGD^f=vvR=vVXU& z$B#O{fk(Wce3Lcx2_z{WoSo-%5l{yE)u-)VFhwHChaOl`7H)V<6jAlJ+7oUM{ ztYF?3kHhBq`9&9}gi2R`&uOgD?B=_{!`wY?4-$U~co#&vtA`Zmm5)q;p?{M)ZY_WA z06u-b%}VWKvx#%f{Xr&wlYteE(HB9!bPaZ@X$7sg@3923%O}7i>~bN&btL6d4f6vr zIELQ&MA&X~w3z4WS2|ZU&FOgLH>X+rBC@3pMYIX&5yavvbU!QdHXJhL#OI^NUz`Qg z=zeCToc_`1dR?roN#*yF&~8{PhX>!Y`2MP0g6SpXcllzK4GonII{X#fSh_iBVv<=W6%TZ_JvG@s z8a|=mx6AiYXb~>F{1K5=~rlFsT`{z49p z=fCb2r88vE`UFZht4xQ4r0yr9112f&3da^wE~KZHwu;Np>R}pyywFM{$mtTb%O+B6 z$Qn1p_tKe$=ub_Yk>d*-I{Mrsk`nB+eI1j5#zr~&Rcu5Lj@(r&tl^>~7D{h>O_0%+ zGtOCqMz0=UIpH@wbRmtD!$nlTl{wKSZUyp> z%4nlS)LsnHPN6|4GtJlx@GN3_xLHwCAqJz69X%}8QH7aE+(RfzypzSHY-i}NgMGN1 z55#zFnMjK=v*N<23U5)M%yLrtb}ZzTx%^lf{vqJS2H)c2h>#Ig-FErX;_^~hDr@l~ zWo3{LzLbTkGgQV)z^t+%rA1yh7{dH~bsj8YZyP_@Uk z(hEwjIckjYBYLbrLJ=W`Ownsr6&73vYRWP5pSD?bb3uA6^>#7t=$HV9ggZqF`+Onh z?|<_RLsU*3DFHVQ+U%{CY-qeziaDR4tZkNowHp!^vr!o#BP9lI%3i<3hQUW9@I-$Q zXqV8S9d=f7x zSS(}$7SQ=I*!&zB6~bFqP(&ypkErs-k9)T(Ati6L&l@nKFtguV1V`A;$Y8GNTgLO^zHhk1rl!nh776^|J)VIt*5!j{PhqPO zhji@{s=8Sd#Oc_LZ}9waF1VnBBQ)wquX0am{R1QiM_OAaPJHZ2aPPMr-xm@WsK@MZ z;pyJcA=YS*PsEaC(#4Dq(Y9Yfs^BTI9bR6w|93bUk;!ha2eg*NfY$QQVrf2FOTg;b z!CK$iLc-MQKh~X|zkrMorT_x9DLRz3dMUYyqCj9P60PEoS07bl5pW#NI&xpjfv%tN zl7F2LcvLSY+^vl=#^I90*}N7Q<;UbtNpO^RDf46=Z9m<;RIvNPlJ?+|r9kV{gMmWz zq-q|KuvO0}Con+dt(ZH3!dms{B||Q)A`q+k!Y(Y?hxl{`a5{Y<-r_^rIvJ5PTPZXy z7LjjHg}#+Du`u}&Tdt;Kh5mOW%_Pzz-XgP5>#!yU+ZZ8#Y#M3UD{t}KUgx8>`&7L@ z+8M19hn)WDbe8B!)|U~Tv7(XsR)@UCwFW}yHJ#`nf7QpP_(p-={awmsC{BAcVkpJYoiB zEZkufdJW8ZXN<~@q(H?3Kj5&wfJ5*A)Za0x`Ro>bir z{2@jk9dc<;E5I%gcVVd>{hM+(u{t)jj;G9)o!(rU(A_Wz(?~j03|<|{$!dp58?i<$G;dFlQ0~cLZ?_=|=C@Fqm|Hpt^m6{k=#GPB(eOtQB}zH{>z*vA5kRVE zPm&~Z{fbRi&02#N%6YAD-$sSz>XA@j4ZHXHX+mWSO3y1S#B1@9$i%&qr^&9lgj>lQ z?kfMDHO6r*GqZfe=rdJXwVyM1=1th>23S3zZo^A_82-{rA>ev6#;P;yDEY+a->VKj z=m|I7{Ay*)9=xUpS<}*~`|#b(?gI%B?V6k@-xqQf^xXt;GGB(b)4o)Ugx7N(JbzuA#1diq&=#V|-5Wu> zctgIGP;Bstl2mSdZ9wMWH;lmeV5#5HZ{c4(#0Es)9{(jt9q!}%3n{(|xG(+LT=8M% z`!A6Agc-mo#lsroJZ3~a0%5DCM|2C7B%!LNShf|a*a2k@&UZ3N&MKRFS9@T;Y!Q)L=H_|*`Ew%C@C z95~;%x1bslPjN;*ahhG_ECa1zMXjW;0rm0tSQ#}=&;GyRBNIf+cDx*wE1y`e(eN(t zvvQ_;j-*S}0O2FFpzQ+jPzn89Eq$t{^{ol-D}eA3ygfX{uz4uk^W$1<^5b%k`@URS_{H~I>?kGU`2>RU!oMzZZ_z24_mhiiA z61d_Ds}Z)7khln2$*6PE^Vt%z$H8*mHd#TB=IQ42!a*k>3zeng`t;ymGSZgj^LJ9f z13&=`cz@`VuYLsdi`E^c+n9JoW$UnLoRIkP zP}5=d1sH2gS;Q6;EGSR~i;qqsk_9y^$PKWe)ZktB)3W;)NU^nVVU2`a42o*M z>IGpLZq|cQU2rmG)@AoxuAoJ?C}OsSIY%vn8ir z{7V(36`sK61Sq_IK;iw_zyE&}DGLgc*7M&!b6Xd_L6jFe6;1*p6{87ImZ^lw^~6*O&{k#RN#EFvbV%(K_1QTUaR;_UI>8|YN=ner z2jmb@RyfGkfI**t9F`NR50@GqNJN3VF@p|I37A+mI&qAFoRULa9uJKDv?=qSW33sU znZZ=f-3k!Ziy^t$P2-unvXFSUe{gj!?%gFfA}Uo7rIB`}luj$CnJqJ@4CIYd(NtOl zYaRqo1Y}c`anSe?(?mCAI!*_2*uwqHZh(i+2=Z%v;lTIz&?(fvx33r+$DcWO?{jKv0+e7-@uwB9L78)}4jKnwQQwWe z?b8h4A`FB>vKY|;haT>p@V&;2DNbLB4a<|I&G?56Aa|-_>~n%kiH4CJ`A3XP+;BG( zMBMzCmUkrab-s>+F(H#2XCcw}5etsQsRU~(UtP8(>drLLGk@A#9Hz9bMS2@D_Ejl| zKm!z_3ty8g37o){R2O%}>f^V~5v+3gOI*bv8cL2uU$_kc`=KYF`q-@3#NMSd`p`a% zL8doKZMr(clO_E)$<&!Kj&#^#*lm3Fs||bGN6WbptkV=1TPJeA5E^O7ReicibsXGBIfCrXVuamB7=~N|Mg_t2sRXVd9t@@d()ge zeT*!sUa%rSfXjF?m9chcd7YhuDEQ)OwK0J_#@rTzSQrW`e@<`a4G&EMk&1|9Dn|sC zpdJ+{FHpn}NsT;%)@P_hBElq{(-M!6V2@zl}qA42DacI$i z*?*ACP%AEmUIPa1nzh2JKw%Ltb6@Y1c79MFAj^j=6Bdxns%NA_ zIIF?X0WE7js4sXaNE}VGwdeq8WgPAF&; z3)5EdQ@x0|Tiu~AO)zlvpw^7L=tYntoEDoCw)|TK@He#+2T(gM;10e#O=#nNEX+f@ zYW)%JC1w%v2Y89D(h8d)ArqKF2h9d3iSgE-PIf!=U(}|HgB6=h8QVYWMxh(+WCSGB zPE(q4|HiQ1GAv^*N>w^{UiE)mI?Wz-Y=j*@M>eW|3|YtIi8ND|DCMT$C6Rf7@3^wa zb^`LOzjtx6jUhjY*DxF^c_z1b@5Wmh5y+b)rTdcK?Fpy7njzjpl$Q~ZsG$_VfUI{i zt!DPk-@~z>B9MC7Yz&+Fb?2;Z8xL5D8m?CiEJU-(%T+fK!lltoF6QeWwKndMYp|HV~;Ng*BXG+9LN=kwlAO2;#1m*z`f!efT5 z)E`pB{PT&e8bfoATvR)j`XDHSTi@)44liAP@aMWZN%>E}baR8Nq4cR??u5Ed@9XNL zFkx_lV95*#xJTVtAxrONat;~iNUBWL*5#mR>EPO-Y>HWMHOL87Heb+1m;Zv9GPe0v zw8Km(yMUlXI;y)W`O~3Wl4&L4YHVRH<;==RJH9FAf~g|yO2(j{MZev3he48f2uvuQ z<85Kf^jIkyXQRl9aMP4($J*q$Sz>P9)^}z8g!g|ZSkKh3Tus2_Vg~q||JmdsW&Iy- zjqKm-JoQ7~aoNBkDwjIQLOB`}cqLw)w9NA;qj=I(%eJt0tGWTfLO%Ejt-6~HfarYo z0yg+7+wl?k2;$;4IQvK1<$BYALlz9+9wJoJ^9dIy36>zlUg)euv#;P=x_k(R$gyTE zAw?}vq$7b&dFDd_Sdzk4S|&sTro~c<3eb+~x?~ zcbFQQ8d`k;12<@BU~XxHlqeDTqT*tDzAsPerc7(e?@R9I4^;EkDa9g%vuFRDLzF5; z0q2nP{=GUotu54_B}=8Lm1e3TjLEetr1_x7;d0H_w4HTeE5`9=Teb z9K>wmPuQ);;mr3>R%U%ahM#XH^6K;h4!cBHo#N*S7M&Zj1>Tx z@8wHU9=U5ge83G;9`RJ9dMs) z2`2J%JsMMHW!;@{er;olb9R{CmYm=qD>Z8S;WYiijo(a^xI}*)NQLytz?~?;gfLAn z0G!V?M{@$DKZIqC+Zx04C{)2g=0hYUS0@%v%Q;Pq9ye_z+<95#i#Q8e2(<~p?5U&g zBojwdKnL9I(frj^&^xZ3$HY!iGd|n<jr~{ z4oQFieMwt7QtsED#4Iq*qHtc`O8QZdaTILtJZ_d3PQ_q)6h9-ZMg-=R>cm6n6-Pe# z3Blqp*!T>V7yKr7=~W78r(@psPkpVq%+v;q?EzmqrC|bp@LFJN#g^rY#ZK(F=RRgB zD@E2+r#W&mz5s2&yw<#0+#hxYIbEr9B$xlBzj>Um|M}DBn3T5{o3uu#y?g}6J{+op zvreiS|7#~qZUd}}A=1GkhS*C#)y9p*Bt^t5exb<(dBlmn>ULYwHQ7)@PsCm)J2%W) z6>Kh3Ml4V=Dfkz0l=j}4^3NWOOO*j%7BKisr6nj!P%tI}WmblQuFo-9ZZO|){Gn5~ zKdDpRy>7jyLh`8peu9V2tcc7hXjEIRrq3)?@44zV5zccl3ZKTc&>VEnz#ou(>sV~y zX!u$jt$;80kXyA8dE+8(Wa7~Uqe|aaJh2Z)j&S_Nf8rEcmGS24T|%n6eNwvtvyM+6 z$bpZTL0L9nEj2IR^^PY)^^sgYM_GYB10Tc!w#!Cv?W`>A$Thd4mBsLRn~#Bec#?$> zOevykz)rZwS%6UQi!^$qIfgU4jP3Oa@cA|EL>pDKYZTn4`LbdTdLz8YFD&~ATSH*= zEHAmfk0J0V^CASC+=kim)Oa9T9&F}h9D!eX>-nJ@QN-DFkAmg&5s}&jb1JyKr*${B z`4O1WhNZ0Gr*OH3lDNQMeqX9GHaYFC1^6?Y8y5(BrC_FD*HIjV2&OGvFUw!PS4FVu6Ia0Me z)Gd^>ok4jmdZ3Aj!X^BhtG{f0Sn_m1@%to$cwf%gc8EgTrP)tlR29SeIr=mw8={b+=sO(Bi(`--c?RyGlW3%7OMC>lM zQ1+j9c9Sbs9GJV!%{**}6BY<+B&O4HOjQ-sjJXGr)Zj-}?tZ{qJGc87yh=U9x9gJE zj_aP`SUTvslDJL{vB5qq+$Cp9Y+`8!+F6#Pr*!@>8onK`uUY^aDq8qHnb>iJ7x=Sd zH!G3aBX(Hf@zmNvoiQb;6UxGT6BGuj^A+NMKYG)*n~oov5^;cIfbEYI0e`(tT|e^d z?f(axG668JeC8?sw&8n7i78` z;#MLB{&@AAyL&XE2V`vRR^)3JSjcD$WmqSD9fPuaT1p4;V(t^)c#E1gS z8N?!hxYQ32I4pA;gR(Co=u(1K5bM(l!Z{`AeV7I?@Yu#Yz!-?(TmaOR1U1JggVJPW zZUPSpzY0pTG0|fkw25Ck&+yqg6O-4(7V-@aN17DPmqf4>F;L6L-3@9Hd)_D9($dfo zUb;v`dsJqplu-A*aVTgNcG=AFhTV2r7$;kJ)Cv~!LgWBD8-v`f(m7)aBN$Quua24TxM*)aIur0t>wWna9p!-I#_GlHQr`v- ze46EJmKoF|NmFdUNkgOTl|H@MJGzN-vWvqpZx^Af8OHdC8v2`+e#^92_mc^c zMC)g|KqR}&MGHI{X|f~@Q^yYEgwdTx9-J!A8RF1ZQjR z!v3H1JG01foLLKw4)cprehlclgEX+Rf4aw#{`cOuaoHj01W-T{fH|M*j|xdz0AM*0 z{159^($L;s*Z6O%vS&<(6hHmvzz6De=MauWQo89tU#D&3kp3`TOHdrI_TJT(y`OAZFOwhww>HxueJ6*`@haTWAwcz@A57q-U!6)kCc+q)&-^qF7vDb z_ul7!VciCHwCUzMkeF?0-(M(2hg~nT8Mlyj0u#-#u&@=5mkdm%^qv;00*AcKjhq_2 z%LjFu@|x_>U4Xm(K2d+}v{C+5kZ$NhcHOHpNToyu>m}X))%I%j9!FDad{XB41>!$X zz^oUY;5#jyF348ub&15p(qKZ{ug__%%%TaJXG`gVl9zY zgo^4nd;P})pcrlCtmv&F>FMuccJf||hCVf|{tc(MvG@@iw z%T)?bH~i2f!8OIqZ^V){8r0X0 ze9_3x@sve^eBft!PDK6{b4I^-d?;~oy1AG9+>h@^OqL^*k4dahF0yZ47 zx&`3aOtRs5I6Dd96I^np8$W&S?mquoFvo5~7Gaaj#M;r=WDkq`^b=i9Ao!vq6b(6| z?o9S#?_Y(p_V<0T1wd?F0TyikO#Ag$Y{?l|7#scrOZ)mi)@u`ltIVnI5`3_H0h?ip zEOr1XXP-`$Yx$ZpLHXmw8sbWIujrl+eYNZU@8KK{KE4c@-F?nNH8n?GVyr18jPfi& z>t*nH%Scm@Fk^seNsf%q92x}%r6ZD}W|y(3NZ9hPF80&Z11Rt{K|$)sE)k-{p1v*^ zrj{*5U{ttFx6Bpf!2;H<1#6ageZ9s+l!n`U89O#mG3t@>ZF3X7l!(odq6yutIP891 zy&npJ3o78g&7@Zn6)B?i=2T;3Uq0~H0A_!2WOB^TNicEW+=RK@DkK7u(oyCuD~jln z(F>Fz@Q#9z=!OIn64kK+>r(Fh6Sp{iP>VG3HL-dK_y(HwOAV-726p|Jt@*5&Rn>9Z~zOks}K>&Z0a#xq_Jd7L^J<)pl;BV!Fm!8Z1aSXKNM zQD7RUOXc;^7L19e0o>c=CXvFXUq28mnoNcA`bYyT&>XNxX9A4^W>gDgb$ljx+)U~z zh)Z!thJUvaw+o+PQ+w*hnC8trsjk%5$1lLzL&J{`ixWM+>T-w#5YyRzF(fW4gcZ*8 zZVg5nFvy!xk-p-?ELmQi3`i}BkMlnS&R(Z3t=P;@-?MbPu@$R40v6PrM>lMs{pxuX zSgIPoXj5+Wl^o6;u~L*h`sFZqjw#?~_WAXL1p&Cu4lklJo ztHCd_mVfU#GiQo}A1gHxf$-$Hov`yl$Q`z}^vf!aW~J1AC!^maeg@+edb2k>ojVW8 zlW&-BizdAfXT6ndCowSUf)@ie)vx?FZ53?qK$R0v5dAsU`hOgg|244s-+`-yIn{Ve zIUc}lcZx!($`UQ*1nU|3$iIQBHS7JCv7f#0hfMS^f3O0ov@OSF6O z^2`51-}18n30A3uGXbpqu$jX=+W_cWk9ja!1cK@ZFspp$C?lUREbc02pTZzwOI-5o za>T9|30h_+muSf-GLJ97)A~tP)@^6hmJu-t(W~H38m!TC?Ocjg;Fzv=f?&WPY=6&6LeIQpzit0Rt!if&=f3a@|yqKkx0k3@pj6e09kaKpjvbDARElG5+ z*8k0W{QG810r=;$e+rtQi}~QcO`wr4(9AA!3NJJdgAh*@NxzpJF$|3qwvdplcAfg@ z$Tu1y;c4Jq#_{7%cQef-?8n^O?SJBMyVLZREd!V!SzJ*8Bg9##byVUnXALA!B88L2 zn3jl}@}pr3hN2OLW6g|jQ5A3l8_$O{bWkS&4;=;d)hY91L~iFe2U|) zrD2j2Crco+nkzm+Nj(&m5JcxahC9V)!d5}S9*R?rpLvXEb9+0`bm*@$vSgGi4wxVd z579~`sEyK)Bwl^sTGxf=okL}v)FKid z3l*EPi%j}Wm;*i4f~+ZQp8#`gv9sz`(vf^z;Fb?!5s2QgRmeGj5J85=Qc3B}A+|cD z5A$o-DBnghC-U}DP-VcVr3{EAyr(*S>ha`DKca`?N9}kmBJb4Eh}`xMQ$M=$E?VW7 zc5WtC~o$pA`c<_@X zOd=gu!u=PAE$|f(k{fn1T5QS>NmoTD&fTfCtQE%{^i&@}9|_sFc^tMob+}^6-)y2T zzRk_UCcc`jTg2$%UDynSp1)rDmuFXFI1+J^D_>8qZmIgI5(Hl_6po~w% z{Vk+nE#&jaSqt}mja>V=K^j3U%vo?N30D}$6^{7eYcTMAR`)ReR!%s5H5lM#mDarn zvXB_s>^#|4nS)m`9NLW@Ia)NTJ^alk$m=5BG~G@2kmw0CpN=ClFg*@WwfS|22%Za( z2{N9bh~a*bqf8_o!c$@!T1RLzi1o^Ih$6=pxB&>= zpZY$%e)$||2j;#*Yq6qyupZc{#6ZCnKgFiY=A8?0SdzWMn{R#yph9IZ+e-MBCM_fNNBk{rY*&I}0 zY9h_p;m`I`Yy^dr2S8K0bXQmR-lwpZ{9gtlz<6nRac~qjO6LN6bH2|ZcyHaIQ#|6~ zC=${0%en9xa!pEJl5g}rdl);Aws?BKBmQUYUbZfDwE?&|ZUE^@=+7QN|68j1+ks2a z*4FBua(=^h20&35&wocO;;9#R1P(1i=)*|;$^28;_o38Lrj66ZNVf*H?&EvIOaL0V zIpU2F%1i6TfOh)Ok|zQ>eG8ewH4=6MIyk1oV1l=Ju>BiFBBZ&apT{i&N|y;DlvO#J z_7Q&*-4x0$ChfM_vlGl&7x|qy&WG$> zvnq5U0nee_^702+RMKAM@y)Xnwu?=TY9+)fx~VA{al%cil>A(Z{h|8y={?V~kL1jo z-7?YUUZMtN=pWnA_&faobZ6pE!OCTNgYpuK6O8jJk(@HM)Rrw4t{w|}7}m17CI^Iv z#^D>jY(g}?PWl0gETJO91Knyou6MtV(`?`fYm|93LeH)8&t?(EM#hoomJTrW&oWPJ zWl^5*E6=5-voYo+kAZQ$j!{t2Jczr*KQI(L_p z)rua5aW{tYBZhV7CQlhJe+>G3s#hK;jfbGBUc;#XbgM;JDFzY4Zr3J}?57UUlD@%UP-J%sQ@MN*?Ma?c3#V3I18T$px? z&XD?&l5)eQUbMg(1HfXIT)shfk2&>uU#2o+m;^)R}j`yVVQq zbB#X)LxX~vX250O?*b+%HjzcAY>0C9m~C&Piu3x(_M|dXL8!2J8($J(g3#$kx={NCWzUnQH>azTgMQLxS0n+bzNWj3dtfQyjhLcMk6V6GtNdS8=4|s**F7uE`MjD8-Z}Yy5J|mu(#HY0qyOhB?DkUCMpDEB1>C3hiSm# z*gYZcue&@w$Y~?6heJIIpEKZ3ZC@noeuol&Mm#LWZLN_oa>e4S4;zz|gcFeURTHV`xJmr`k9yA`?gO-=TD$gs-QRU62+d z*!7h`LPTLS*4n*bq+jiWp6B35J7-OvbnpR`0hWGT^c&9q?lTbVP3YIkZ;M1~O;WWdWd#ReA@*$3u&3wJ; zuTxcbQ>!1$3tv5h2y4fE@wks@P=h44+&$1gmiZLSuCMA^m!8UFJ%+~*fJ1ybHchN3y`0 z{C6bb&O+ZYYB$6X^kc(L9^gILnrBEOvkmM+!>^Bp{@OwQ&kL;}e%Mz z4CKvi{!_N6*!^3!$HNxm{ok@ZNp;ygxasdc$3LTf8bbb-?Y+I627m)(d(Q?EUKbK_ z>=S6PDY|#NfOnAgKkuN-U<1z9R3357&*@XWU_Rdwp}I9_MGu7+XU$Na9w7+r5zC;l zP6Z4OpclnY0Kz?wlB>RX;8d9LGUqa%23{b1vU>TMMII`S)a7vK7(aCj%a!%&642E_ z&2Meq-~8Yq2k_KsvivGcVH?SBXw}s<|4kvzaQ0PV4h{RCcM!|a_8^@k_oNif z-|wLH!}1l&q!>GSG+Qg3a_;lzq)qAx6HUuQy7deDGt#3+;GdFDti?6bTN;g57ZGlm z-~atS?U~9q`0Xxrh5x7XPkAeS8&TuGn2i6(Pt;{>S6M&taPhx`#wsZiNCKWh`6AZj zqVS9LTlJ0ylDBlop~?~#?JGnd?Lwhh%Q@*no;9ZHZEiSMhT@%`SLe8HFGAir8pDWA z4A*Bt(1kzs$MEx}-dAm#$?B~z+;UUFfYkA!NJWPmQnLv+J*E1C%r8G18sfW+h>IcS z7y6q7glkasTL{ftNx5oK35p11ep~SitW(79!3RxSs-fg!phTNi1=jQCs5UqDmiMe> z*>!#kdVRj3?~HY{LD`6(OQLcCrlN9ykr0g`osmA{o(XnceDrq8(Cs)he@nDEjcF;t z+xxmaTq{yyHc^W3Yx(#AZKPF)N~mKJx4fy0PJ}NdQ6a+R!tp@wn`Q=;2%@T1+7BfL zC7xAn144ZL{FJxU`;;g8lE!#y_A>@nMH~KCQ7Hul!u*^dshm<&rSyhZ-T7CURuVb; zL%#2jL7_Rdx@M!7JitmkVid~WYK?7V&QkScrQs_{VX&fOK#smu?fSXZ``ABW+tt0R z9dG%tU9L@elNKticHeSLE7yG*RXrgSNiMCM7C&8hM1yCp>zI5ot@6P@1v{m9H(@AG z(4E3K5Zd7dN$MUr7Wj;n4k90PL#;)*sPNkVMjHm{0o_RjUN#vrCopRk;Ji797UaEe zG5Kw*9X+z$@B>b(n!0&wThuc_E;q4GAk>ax*j?tqg}jA#B!n)|w_GN6Q^fGBPXn_U zrh7^|g4aL8h0xsr-J%ly6*TNW^gK6@5(2 z^a>(?p}~P7x5L~Q&k6BYQh3+NoD@y=lFa-biG2dkEv^IH70=~7NEH~0(B?vr=cJR~ zFicQ^ewYdS$J8X;G+v-Wa`&lCIll@`7nrkUp$&eF5+ei+y_V!R)RpRcCQ~_BElMjZ zGFdIQEoIwHrl$ChJM0y<^mGb{@<5E%O{z1Pj)E<&A?)0Ey@7?^4TyIaEllVqo+jKZ z)0pv)H25VsfmCIV+1;2a5 z{#-1Ord>ytaI*HY)pj_2Krks(QbxTI>{Rcm!>vyZMH^c`N>ZzuvW@RzkxG1Py$vN6 z;I-(7-1YNva_Q6e4HzLfZ6?-|vI0>^q+T9Vv4{Kj#d4))Um$7Ui{rd$_Fb5#H~PboXOoR|47`uW_LzGEg`tKuJ4iH1y0Xc; z1?Y<+vA$Mh&J6X{F49%e5=I`6wc7(+S8>;N<~j*HQ=`n4<)4wcbCK&$NFW&Q4ueL6&>b zGqElU@rdEIc~S2Ul{Y=p)74j^!B#wgkQ&&_9@7;tJO=02K}FxCx_%meIH>E*8v>JEzr%zW zRw_&99Fm9=5Lz%crp>1!Rs)oNKtnK}(iQ#YCQY_-`G3UUG1=)q_`>=jsm2%> zLpMn$eo5dI|Jenu3L$S&wJZ3D{ArkT6A?a*`lrf+bP$%?JW$UF!5~#TBR4%x#Pk=> z_s1hxEj!akrcqdCr#)?k6t`F?fYt1%L9Y|%(eTGQ4`MWPpg|_A^zr_hFld?UdmKdt;WqeWUf@M;v!oSrBz6 zwxK>lY}9@6RpT;x@f~L8=lh0h+&UYu*z30NQ_WjPGt~K9!?yg} z0j(YJ{lBq3h~zh)c>xvgE+F9kY(YZa!Pv#z*cDJ>IsNW8|NT}1hynWm-syjd0lUXa zHqFuX)lX&Ae{Q;^%FgJeQcAR(P`$TGgrn-q)i@3rU9YFP#dB-Y>D$i_#_wVUcfpDz z0h<5#zYM~XRXk#}kZ~q^;e3vvpnR7?pgEBnXf;H5I|Rg6MX~)5q6zFT!ImXmemDO$ zRxMq88iM>;$yB;~AY?A$JCs{py30#fMH`omn+9aT59$fF8V zbkQ;cmCrfcn!fW6UD-?S3UM=Lw~%uai&Mvl2l>29IZ|lkE(!)h(bc!!Ci?OPZh4J4 zj2ePH0_vwYXDqlb5JJ5b{uA7--wKZ1IawRLwy7kGUTo1m$R|2F{^f=S-|$gH0{9wx zfaCvXzI6ZkBLB;pKv~;14PabB7WdIhCD%}pz9RX(2AM??drom#&G`j%zA8v2ip$A$ z(Z2NcVcjdYKAxqR*AsE z1FLZTHl0>bN(%~y`zkrV&=t7OBJ~>zW@rwr*1wDqhFeC_3;!3`rzQapxVRiths}a6 z&m90+nT8l9Xha3$PaMJyH<7>!%PNid1; zcmtSDcPsc_(H80#X!RxX==-;SitF+dId@HT!D>oJ2bfNG!^6xQRD?~_W)O}RMTZv{ zQjSM-*{yTg)?<4hc868W1m1v3c@mP@xwJ!j&5>;PgAQ7Z+ zZ7bPf_^vk|UmC63P55C zJD{Oc-C{k|I5G)Ql9*@4h!?zqu}`(N_^^DOx6I{ZV4Jfo-4no>fAChctFdT@q8LUb zRKZ;Gd@C}M^zdP9k;ehNlJVBIlna57>yh^zVXIDN-NS3z{s6^O>21S^}wtEJ@B8Iss0mt zN=|^s)<3t;Kf+*F{SW;pnADO@iO=~hhXp7L_$ekuOWjt5WJ~kEb3tjiq?`fWko3C8 zjgBJP&KI1I69D6j^j;wfp5q#$xOtiN#@&j;Cn-oT5*Pw#l+EXpNZGOgWKX_`DMdb4 z$d6V%smUz}=6heC473Xgu@t3nYBa<{EVbJDVo()9FdaCH>Vh@ECZIV+B?Lcj#I>5b z&2Ox>FK<9?{ETCY-R&#LZ>;vNV7D_?4Y+YNzt>%X6UTb;M<>7$G3jU4Dk^H)D|oB=to7;O2|1+{y5(gYF1fhv^IPdFgm?Bq z<_w>g@UWip|pg4L`}%n2rA7&;-QI{pS8Z6cU+vV zY^2HRUzbeq3T5i;jO7!^pz-YC?~w6zN*)m~adhKy9^&eCfPmRXAPvweWR2oK9#xb25zLX;lmJk%;hg6y>O&^j>D(f`n)aE? zwAa*7@Zgw;UA~{SBHGclCq6JxPfZ*D6zozLN6Nq$jn#G$C!ZmFuPncL*NI%RrAbjF ztx?Og)4~fUsY=R)(Msep(N&-O<=)g!3S-`vSb@!VlT^j&WntB(ygjO+^*wQ%kICYC zd;efgeo#b@v+e`_BJ5UL-2+{{-4J6Z?ptS_QWnDj&b9k;ZeTeCRY z^^$N+c{L|RKiMbW)CvBW&5@L85QP)6b_AalM^rrzq~#&salI8Gck}Kw3Gq-j3iG?W zp@nCs7vA#)g!G*7>dzg3G2Jm{+q7Q}Kip;h&pcA~XH1}aT{ zR4v5h>G-(e(N(VK*g0XBG%dWi4bg+R8j~-w!e1G*UxL{KXoCf=GX5eM-?(QPMx^t2 zq_-_XO9-KEzCt!F?GZ07;#LMdq zndMBkG}N7}D0LL?xbtV5z5PhmUFgZwmTEFzIEg&{k$%5F=8{=|di|}qVdMwhT1?8D z^J>hs@oAJ~_-dhK#|d*BPt0Hznfo`e|7^xFF^R4s111CcD1Tm>*cv$-Itd$_=sR0E z{gaMV|L*+Q0)0Rdk#q6y0vtkR{juyLFvJasPnbnNd*0 z{cag|lV7%E0@Wq*qX>;1TuNJWGbT-l`aBsM4qx9>n5k1bW$I@0dA+>J-3Cz!bmmwGf;Z1mF*=optHlt; z3!lnKSJDxFbh>9vWY)8Pgh?3|4>?fN$BSkz<-;{HTh=XT=wQ-VYtW%Q`#rGdakm;; z7d1$JTGe{$mYw2kMFYX#P%8E#Af|e`y+V*|o|4VE^R|Pf?d+{N7BZY%q~M^he^hix z(*M=e6XrlxOZypR;g(O)vnx``bpAOU6{Dx+mnWg7zKmdJ7FvmGr$>o-)HRk=XhS2S zAG&sh%^-qnJulL38c`WTtVcV`= zGawRK1_U-Qq=m^4(=qUGdwvk-YC5ZL1c`RhVErHgLiM@PI99?xLa2GhXArg%)QP=D z0;Kz7P?YEDt^J@bq(DKtV4P z4}ECuPNzU|-p=F`xftxq1MudiwE9f*52Pd-=?RS4%YDCVp^_Y^ogSJKZ(89+dp|f@ZlKCo>$D5M^J)Ql=!+qPy}q&u@kWjg zm+jf`en=tEeB2aj{v$#_j=CS2%!I_$a0SvK_HdcV;V_YCYCMQaF`MYc(e-ej*ij(1 zSM^__bXM0E{AkeN;lc*4D2-=ZQzhT?#`rR`$jMaHY+XPo#cf$KJyrK59x=6)4A&Aa zN@$BSc^$5K`dHau-qyn}UnW{Q`-XKgslhu{JK3|9={$EU7R7Ejcrm?S$!0V1e)RFeA$2tw%KiKFZXXv%brOIWhxr;~EI}=Aal)?yZd=jC%IU_4(L)a0MGuQmdJ-AywzWyX6L27x z^#)utjp+toDv04JMT7KBM1VUaL!J3#eP+mk?nC>e?cpcd5g*Y(LJ7&;Ez-!XTE6fs zV==|TG#-u`8Cip z;Kj=9?p9v0vzf*i#+jEWN@*$SW8yeV^`(O|Gi}LyD9j>hVVp+5j66`^(MQE2aPaLpQt?8a9z)&BJ*g#Gd9Vd`c7tE* z0aUn1g$@off6nHoEVJ_ZQ8UXvBgq6I_6BE?;M2{1+H6CtE2|R}3USGSX-q;?7PWHs zmRXCm=_QZixrNtswJSFa%R7FAc4orU1m!as#_+(St$Zol%;D*bwzWf~sH=1a0Hac6 zKZn`f+=f^#w4mIYLUxh=7_3VcNwGU7&mR5gyKv*=z3qBFA zOY68%Om_&#&nKQ_w&qnTr(y0T*g-RX>_PdCQ?*K~nWlVsx9!wQl6T)y&l!aKjb=<% z93F-&cQ*F!e9A+gJU*;>ZE9hR_EDd48Zc%ga@jF%4VZd$3-NKC#2j9T#|#m}+b=ko z6lg+VPdvK-ITE$@WHYsiN-LywQZn&;DI9TIGIDB79^PncWfENTKX)EVvFFohC0vkO z0HA48JCNU8hN&}MeU;^sh$%E?>)11$d77|Yd1yX$JpGH*BoL=TkO(M+Q~p@$``0O! z*EjvId2jvK|Isz0)_`|StE1M#q7o#qt|~tTmYtdDivbkFbw+@$8Gez(OdLpR%X%G$ z_eS*h>Gy6kumO*^Ten?GG+F$C{K4$JrGrnq6WTrG#-O7u3wlse1{YEr_!xZ<|55uzA2QhFhNu$XYZm(j{bV{By z#D%3l-rcm6?)6Zgg?ab3QF{im7Awlc8TV-nWO`ct&1lM3QIQ@Lm)^5YUDKQIS)%;@ z7=)!L0+397TA!AG!jx=(>1R&-EKI2Z8$W^%{^OeKmtsF)ontm4uW=o%Eo1!#^{rRC zojy%53gJ8A8p=|_=vLQ(BQg5AWRuGHhCJxW?NG&esQ2p9$k6zBHC@7q73`1k%pw0# zE=~5&T1R)Hy@cNITYe6msck?PKFNuV(I*6Koa8%_>lP!xrA#2G!hV@Itf**qq`R*zi&t;r63g^vG?EbzpSm}UnAIX9p+^kAvcSe%bKU!maZA|*#HdtVs#n{ z@z>m*V9!wxrknk-iXyR6R2;q&ro=dMHAs*2Si)f6=|*e$Oxx!Bn8k!m2p%}F5Nv*^ zd9;!|1ZY!^)Cg|FPb3eL=wPI*F?wgvbrNNc31A_V1LX|}llgXe;eN#OYWV!R@N}x&`$N_*lH{e; zPgyGf6j|Vq+^A8$B567Io=9fOZ(oUBb=Xd{3Oec&5Um}w#D?P@W#$v`n!pkKTGs^5kCAuNyh1+!XBYD}c9{kAzTxK6eQ4{N5+f25Rf`I9EcKH<*QBn0| zC&gRDo=#S06u`zUSXz5HXc<9H;_%g~_|yv*ozpj;|ALV7LowcxNOpk?v<2Qs5n8u~ z{u`$52<98DdAw_I?Wk#-)AA@<#8+9{C9%yh@gE54(WKU%J-8`OF|Na^A(LG`4U**X za}JccQjf8QKEq34T4uW{ZkTH4f#gmSbmYx+kHQ0yej$GHCQMJe+Hkuyv<-2;GN8HI zF#~0tD~jx3=%Lj9;gXu`sabXDf6N{V2jguKD~eT^H1NAXnrhEv)jt* z`KoOpKK(_~P?A}fGmj~!{;G#MPn$JfB~*iFWV_J}DdPk0ZHCJt-v;|R*ssR}NSjZH z(xo$FfhxESZM@scofcLkKE#M1t8Ersq_T>3+rmqZ_&HfV9{)saX{|Y-gRy@cZy!yC zwmQ4y-4lXb)a0g5TGcSO>O4`rZFhgw&&dBC(~%sY;D5crx#eNdM=a71;z zk|Fj0uz{b*Sia+;0Rmg0+HRy<3=JLG`ZQOm(R)=8cfU1hU{IZpF*{3t*h?wJIEZYL z;GBVul#1K?(_898>J;WoAHkI1`VFVL_YrP_`lW zjX)x;;ax*fssX6yzC22w*A=hmqOV1Uk=4yi6mZFt;?E&}%#lLnXqGB+z~!lM0kH*a zf8U**ZXK3H&?9QiONPHv^Fc63ZTzBRJ3jclXIf4ICVbSg0MBLk84FA5o0PqyUC?xS z&oXA0@cxl;uOtmW@t1ae;`4xNE`9j+sVse&_PLxWlDG$%LCQfVDwOE>7apD++fwCx71*k z`F!eAj_Ck+f^t=i$Tv)nx$-wVuKmp6lOZ9N0oK;JPW|T5jP7(HLWR z0QLLWC3vVQ1Y#T0WYcZx%&}zgTc<yB^tlopJro=q*?h=75g)*MjY2~S)F<|WGZDhQZv$YDXv6K2hEIHNF#iKSw(XBUD zHsizhZ1&3bu;d$ymLx{O7gDa@$8L7{+wHJfGVKsm*<7b`TfYh9L3~b@moMB=#pfW9 zo@9zXPY8u^uf~$E2yT(%-PgxKSUX1zVd<>n(cK!S+RtkeD!*r3)8xbuF`Tet6M=rB z9Q2#iq7ln{&QIC}y$!AUlBRy0F(<$$_4Iye&5sQ@Xgt!d&En2#`RHfQn{3w-VUK@)^_cfXr`;CgJy%v&^UWzgd#Q~y1hABl8_LeYn(kN{?r zPJkG7-<-r#d|?Ci%hEff*Tz!R+6qMlnIT}70PlR*qq4P-D-%xY0^+d8@xfsr`eGKA z5}L?Dw*S(aPJ!`~CK$R8q1lQOp`79udr1hcU+)n6W0R^grx>5HH~!^j#l}I`vB7_> z7^g_vD`v^|j%1IPNbZ?5@z4bs?Tc<-cy}@4$G;|m+ZTc>8-VrLZtOp$+AA8{0cyU# z3ch+Z8Cz_&PdwBqe5`_r*GRQHDxZ_}V_2*j{X&CjA>D*3JT@%tC%GNcx6Vv|fs6d;oZ z(F}^|50U<&!7nT()I|00lsm2YJObElVzhW90txk6P}5X(1eR@iS_Gq>)w#YneYsg>0PO69o%uI`^< z8I9sXwDnq={kFZ&zVmw2_Mfq}F%nv*&JSDW$C|PhcWW+NIhD1yv8uH!Ipj>Lw)MjA zjYU{PvZ(rPjyap-pq!;~5njF%Ct4U83A5gz6;=!> zr#zp<%jlmfpiV~n{MSFfRy|r|j(bP;?mjSv-88ydk3bfhtgXOWufw#=q=np8%Qpy4 zeS>f2RhUB_9K+&AFS<1E#C?)E_$I-7*xm%KfH6udX&5sec#qT)&?aK;8Gy1LqX&vR zw)0TMBIYJ3Beyih7O4fDr2qj$xewDy3j6R7)tkmYfLP|g)&}hK98%zp zgK?UIDRA(^ljMv*S}*Vh|5=ADC1+IUDyz|Q8lLBf>U|2~rM3Z|lMx?HY28&=JjFP| zuMziR5ZM(fh73{}vrx;b$`658J(?Zc=22n%j2ucd`bIidW*>obyuBR7T( z*U=wU%y7?Q%B_hSk!C;Uai1fhS&gQJ&aVs6uEw`QN#Gq1%JQMe2Ivh*_>?xRceuUA zTkTzBu+h)yR{|YASlE2a1^M`F%emFqC3sbL-Nz`ZHS{Bx>3z!wGF!+V9_KWOp3-vP z0W+f7XVmz~r$7mV_)r3iPorptGO;;cyI@?hTqKUJa-nNrXWZID{$5f*6K)hkWbERy zqn_C)2m9s;Pq9)}D(!8O65nNGCWxGUL%x*A3nx z$EnZbW=}?J_E}`$IdYBri$mdx`YF5CQy6bHepfzGUVls{>$tO-#wn%Qc!jgxc!$Ht zm#v_qAM2D_<9#j}+5_#V!_8oz&Bfg_Cu8+B(1WUEFjiDgDkWL2Ib1X(h3MB#FsIx9 zkW*Ovl|Ohbc{77!(BbwukBtswQ)Y%`huZc>rC<*H2#m5>tB#!1Vp(>7&GETqo5FfU z;}EtOy+8;hbxcl^=pEDJ;{i&NifgcBFhf$pR$Un!a~xV+yGnB6Mof!>GeXG-B?wa@ z(dZrs(@(S%-zeyaJ06-UiVtcKWDz8aUM)%n!E$~MqF}HnO-OmNS=}xJ#KT-8)7V~v zBbva=>aE>EEZP$N8l0!$?l5w9{ek=WKmx|iq=JUb!7AZU4^kx1`Wz;9fV6{uv)NSU zq-Pt(9J0si;%DF!-6zFF=cMfX&Ep}B2PX8L&l(b%cDQ&3R-(~R91fmCYf8^|!~Wqv zNe(v$k9jK2;H}bN*&wPxE1bZ`>&NMFa;>0F6V4zUp6yemteu=+2B%1pKdZ^Mav7y> zBT-oq03)pq-D|-{brQ6TydVtAoRgz#2I=F8*PXB@<<0eIS4QOULS&z>8GQh$Ovtj~xpfwj5dMxT* z`#}ABD84^ZI7|-0G#CVAcvAT1MhYLL6~Cr@7vsqNGX2fHwPSl!7H<&lkboIz2aE3= z^gl;tT>cXW>VWw@KA=|oGe_#bZwi3I)cEg3tiRTfcg0#N53hsQye zk=7Sel!12uL;Pr)>O$*>-Cc95N>M+b&^l-9i{=tyoI@dYE{=8|4zY;~`PoDB*g|=` zj8r(1FR;71t^nAw?bC)|b>S@b2jj z$k`TyxnG|DWqm;rvOLBO_*%<=md^i|ul2V-!T(si)|Ki7Jf(GVHn#9kwF>>@uzN7> z6}ra}?PP4tna2`I*2=bB*^a6RPR&m2DG%JPPwBn>iG-{s8f*%Lpe0ZzdPdypk4 z#i$Nia*uU7oN-;U;jAVsfQ5rEDK=a#`h8R;sGo;x0Wv&DxYTlVQjSPbZ-uuATG|hL z+2i=L6_hK$!olj45>Cbh4O~f`?dZJfZ>M02a8*eM`ZSKE6z}~=rYmHGxg*W!ua$=;G z&CTA>MkcRKXMZr&i?#whBNDobG{T?)V<6y@1;tjj$l1ge!_SN zItM0$vGZE08gy#xa|f}DmFwH{n6kQzi^o7$k@pH4BwvJ}w`uaKMZVYR$4B?Je=}n5|H6Gf})pf1N?cS|`*)Cj#|$zB)CpJHxuH zruY_(2Ntj_z}YdA^eD+bz+`90fL=VFIY6*PZovfy{!NqNJjq;!%^J!Nj7agaPy-3M zGW7mY(PZ`XaxnAVC^w}z;irfCY{pro*QLfam=pHmzT(~H%`H+Fr0w+&viKz@i(txn zO>gEXv*r@6>>AqoOnBxMW|^mbknb+AjDDKY-Vz1(hD(t{W~JJ^$p)kPnWckWcFP2((FfQUfXPLQMva87C3g#)SX(X-HmO{)L_S z(CIL)5xVd3ZEh$~Dca=dIkD zGEjuQO4#HNU8CZxBUx zFEvrwmO}=oP-_zxxs!mKRri7bhRNu7T4!9qc78yc^40~Vzy3(D&WFIHCh1mIn?0&d zfh=zEY8Zdm8&3A!@TRcy(ClJ>To#T2{kai$B(0jBXg|xZaxCb_`2jZ~va{yDZ^Sfl z)PGx1WG}We8UFuRQRJUO10-0xZ{-T5Hp+vE04s{32(A~whMDiP-OM^I3v|Rg`E(p9 z`y9E{cwKI$rikCXID9yg7H%TM>!1JB5uh&rj3fL% zb@@+TARr|flo?5&qxOnP5tEQ>&k)kB zI?Z7C1VVdA(92eYASYnB)=nb=03!WwTf5D`2WDUg%BK0*U;MP-S?3F22|FUTegROn zt6=FbFqiiBS4KnB*Sz!e5Eafa;PES_U{RXIwXbU0Qwk4)kAmsq@h|YPs;4Ogd*xI& z`^jj(tJ>EWhQ+n^jn^Lpiji$PIkAoY3cH3z^}$q=5BhZr$qwKL@BZNjw-qEuOS-G= zrRCk8e*PRUOzdo1tF5aNc2v}`L1}x~KFx89yw<|NWZcJbKjevj-u55%p2;#!sp~&q zOc`4GTe1L1wtl)UpdJK(U)4Vo2>h!a|2r`#Pkb3y1PU>KNHF#MJ^^&=#EPE zz<3(LeB_uw4Ou||;+zFw9@IJms%t}!gEH&Zh0bocJ?em z(VB&=uj<+i{&$~SJ~fpD542gvW7PbyWy;t;=%kIN$IX6l=q;&n4A&qkQB*IJ zj`HbyWsy!bb;%qx%4XeHa(lAD&Nvi-Ll&IhrMj25>B}y(8=%nj?}^qBM@(PtQNB^DO`o<9&$&!FB7DAiX0kB$EyUTIElfK7>to3W{bospHjvY88j%l5CaT&2%` z9x#@d&3+7gFVidb298pJEkygXyR+K{r5Iz&++FS?DAQB?>~f!tT_u;|pQp6h%ziwS z-yQ1nhL>dY#*n@R3t2A8g5yT35P%zU^=CUTXhiRW_s)P)v;`KfTCgtu0&fAImE}7q zqL6O7TKXnYN3D|3dI3Ifi)3~)Lt4aQyMQUBv~rjeY*#?~%LE}7hw1$B}{uCr!` zzZBbBuiLk_wt?gtMrSDhEV>tABiNBcywLG@`1Q~Aj4Fw{KF!__k zyn?Hji=yGY&}gh=L&G z!n*|ijAasEsg%3^n|`qvRT+6nSdy)62kt4f>kTsOpZ1?e4EI6Se- zzeBweKFveffZuGuKc=y$m>D^nSpF|1ty=AWjP{KNQL92*s^=;5X$nQE=F^%1PW#z# zQC7xf%?-8HPmgiAuq%dSVq*iVw?8vkk4$qmHnixruhqWk8QfywmLa+*o6acxCdPX? zsz|_4&P84?3?l|s#|02s(hKGBfh@o)a_B~Sz0RBH03Iqr(Xr%z=xBTC;lj!sHF65%1U05h@=7&~pUCb z$f|KNIEB~ptRirHN!y*rTK7#`ln(|lS)NU>Lwt=(>h2gdN8%V~FzhU$ys-gPG|q22 z)nGIw_&nvQ=+M|vC2yiD8dVZ}3NqgWNh4HMo;lI5@<1)$;Q$-{1{wepEoxE3IS(nT z@o6(*1!#j?Ia9F9ROi~+ZBO$4hvcMyz3j>sY(f_(!h%H2ig zSfLKFI%wIi#P4kpFYGX#N$4lT^lBpI=3YADY2!CxEKKq+>XYU%&+CjXQyq(?FnORg zT&%j|Tf&S6&U4=rTCPiULVP%#osAj-wsUhP;o643Uuz+Ss62kkw=A-NuDLwy0|V%3 zO#RZh#~G5H8#W1Yg1b#d5^qa|)VY2lmXKy`7YwD3I}cyLdqP{&*Kh0|l_JdOx?po$ z3r2Ps@9jd-Z40tl?zYS(NF`QKUtYOQLEktidI*1&KVhOgzJP8N!^UI9JRZ?)2)Hus zUWF5S9yY&jQ{Q}wMJx1IXSmO75iIg`2{FGX%KjdW!F-(UxcQ#gExiO$dXXhm5&gJ(@*~gc}TX;g- zM{m-Unf2&H1&hJ0h-$W~OPs#ERwL#>empFT=Cf66xY)omdJSBo-Vr)uLNnUsI6}=y zNYV^dx3Z@1^gc*B-RZgJy6orD&Ged@YuFR}CZ-KK%;u03^u{kV5Zm8S<<=e`={a>K zrcO1^9}NOJ43}oDpHr(_bYpN8mFj4vc7qdsLUkd^IZTy5ey*JPz7!rkV0QOutg1C7 zYhb5D#HilrtMhs;E$SLqtv}>8pR;b=$+$06pF(ytYhQ1eUE)>QR?=2K?|i}Gb)hk; zjDKuFGX-~$S=qYHWBDAIbaxe}>>e&X;~?@k;Zbuc;hCsDPbps%k=-2s6uV>GBKL~^ z@iBoo2*rM0E5a}k4>bJXT2T8kAWCba-m;F>+^q#$b9T|iBx;lSWF2Nb^M+XYR1RY%gjpinjYvT0Q(eHTK3)XSlaSBQD{A_B&SajL}T`zUNEILDw_fF zZPL*LfUC=d8w}Jm449`U$NqUg?%Z^m zr@D4S5%LbtukJX65&-=Pt^Yk#+<^IqwCP_!}uCBBPeQZTtDmOt-ISRum;>SKf~CRl?{^|2N+ zbw<3GL&-BuE+u?V2yjIQ4;>blmdeJVCJE*@xXN=OCWa^mdt^0Uk5ElPjhhA+jw4Dg z?scYv*(;=DznL}bm(Zb6wd@~K=5|!3gPp!}Hu}n#k^2-k6nZEhC5_8VO%cpb_{HUJ z0h*bJqBX`i$trM`6&FKFnmUZqUSdvH69sxTDL<2s(`kD++$Cy#$senrg*_NABq(4d zE!<-L7wU^A|L&m3!Q?PD%QM(x%7f+Tqv}@>cIItv=@OL5;bL+vt0>=1uc)L^>GfSq zHo`g#Hgl8Zq?sr>jn~NE!TXV!t|Qk+gAr}^!ah7N^wROFZO*M4siBaA#k^pQ6Tgd0 zm0Vb?)4(BV(S>X$k4~e##Kg&T+{SQWN0BCEqaf%1EFRkYX>@!DWO{ zL;Lel%#jYFo@d3d(R&h+V_BReVN+%2jR|lO{y0(3_yzXi--u%|$zzNYC(jH|7b6eh zCUa^VM;TU%7UUJ*Y?3HVB_$UeJrsfqTry#RCdChR0~TUGcfTFfC^`sXigoN{BF_o! zY;b@H@2x|Q7SwiFano$8Az#p1UYai+kau$WB2Ns< zsGQVI#gWR1xlc|<2LCAHyeo70^?n|`H*dQ2$oCwYnJdK0LrJdFTG@Kmhl<`J*hfYH z$61&e25l&C^!bAKzd;upS8N3pz{H^k2&(#LlE44FhX1XxQ8oBCnQLoj5LLB*13=~) z9u~5cTFan%1zOtA%HVc4H-N$4?YPRJ(2|{lVSAY!f9!aDziI2>EkefYKDFSC;~S3N zFp@~)V=1A0FnU|x=Mmaf4(5fM0XAfT1aqJI4&G?PHSx^oG(Zc04UjxnsNtL3sf>U`!3nt0V1w2KnC-tl)oc&?KR$<+maFurO}4OwkHbJD%W z^%#y~megR`nNFFJ2*6I!G%hmN15(nNy<#Ok3+{O_WchHb5x)fy>!9C+TZbR9(cM-R zB>A&5^8^hVLNRq?p}vsylqzCtLA6`dTk-WI8D3jEIe(^z5X$25XjY{{>#6f&NHi72^gG(r3x_)j+hM@Tq%W ziO1$pkpXNZ9ob7@F<&XCC9)bn9r=g%nqVX|JVajWZL|M_^~U?&XWewp7vd_Vmcp#x zr5(ugMPLGaK^(Jbp}E{9`=@3@z4Bo!o5G~9&XYUk^^=?w(sognvK)-5GvRafc4_md zGd-pp63z^JdxB0y`yS%{2y`|FG@H$o7l#ik2CL)jpNzXUlOCqkfy)UpBlRm7WcF*$ zl-oCdGjhgO#?N{NG^sv-Z^-bEp3y1*Z}tD-8mj-N%u$ZSR>}vY)QzZ7W=)9p{5>mU zp00^>4cZm;)9;8(9{-5vMkp_*l4t<=<(F>22eJBk+>K-SOE8g-gNCT z<;H|Hv6#2a(G`I=;_<;4S($TKCX7O`8A#O&fh)mHG*nvfzPgfIXGZ(9^At|^xb^;C zhTAC4Zg&)O-g!wMAQiMujzX?ssc2(O?t|(IrE5yVUPdCgP0Lmp;U)`-u@jP9kFhzU z(Ayi^1G~K&qcMZ(u;seux(%%#;hGf;Kc^$h^QnQe=UgU{Fx4Zt0M9Lr)l1~3BN|S4 z-joDc#}NFoO3#qaxopMp0I{05aA8B0A43HH5NJb3 z+786U{S&`$Ji5G{>;f{M-Ey+vCzP;r(YDm@!)D@*Utt3$=9gsZ9&$}%B=q6G6+OX- zca*ND{I9g*J{iPX!EUxa2BzRWJr$HsFK{Uh9TRU^K!Sli7V%C#OQFNSfiZ=prax}~ z=GKXa1kX_hfE*S8up#|FJ46zHOhx{`m9PyUsFq(c|C4D11E-DtK1It5B5Ao<1) z*FC=&0IY{#104WC>5EyQy4q{9TUt98KnVN>0PBrhf&H7vwMxeH)QIHlo`!V*;0fUI z%#uIkwY~B45I3t7l0x?G$reKFh$Jr6zE+o$VDo#+_04;PLanjGGbI|l_V@q>Hr+r1 zGTIp4%79?$*^tYN!RwUOY{9AtK6z6n&eDXgE+YZ;KwJZd<-#S6d@z$eZ=L_(B8i*O z{1>_K;Yi78V_o$Gv-!7}3Ww#{g#iBP+vJlqDyP#a*!5p}QeB;_OPV8oAn`jUwXmh4*KovQ@x-)fo$UR!h~~N?&P?A+T9lDgsF!0l`lp}sphhEJG?81 zUp?46lI20^t4>nQoe$bhVwq-x=7>6ANAC`ltX$= z+jIINr3V`KO$k9E6SIwX{h?Iiu7unfCgN#X48Aok4%^Og z3O+mTzJ{3f-tXZ{{5qu8g8xuW0OnvYm|K)KxoeB{^ii$Kb8;T4@7vlo4&MeO?{cx^ zn{DGiurTcU{6*Ddzv9{sV*7>Fud1QCClo zPatUOg2=;A7{Z05gS|nI(Rn~>_VrzT5R}p3S*8;rRbQJ)>Nfg$n(oJ=GA9XSAWyxh z;i0{F*^e;g+NZ+0fCzj#&k^IKP85{@WKo%9Ggs0N_Hp6Pi>3OBU}$IrrzaqtrwW~i zhzzbQx^Dr21-!X(>q5b`(%dWjCcm&B?VAk^ZCYg{yFi=l}VNb#S0s+jIT z)#GhCmmu%jweL#D*0vZ9xm>qx`<(@&>v7WNM&8RR8(>7Ly{-6pXyszEv zz$k*I6Rv+ zZD_axi8y2-8>AssEdOn!IuM3n4P2Clzy^q7fVJmjN&{)(DggzN38&{zD*zlm2`o)A zerN=g#VH>kc{bxBDsWtTq8rqS6>(6T>^*JhXGmHS4?A$0gh1)n;_#}3%@EDzD)Lqr zCeiQ8G=ta^+pU2a{>vo?JK1M7w+>^qo=c!l_wLvdsaA=HhlM^^_4e^oVfit)R*%t! zEhU?QHwZ6aeD#Yym(BUS+v+o{`4#(5nD0W!hs;w@X7wT`Be2o57%ZZ6`L?mAD!h3X zX!t1_ekw)cu|b)u!J-DzMC7838D^II<=njWb-CzI-1f{)^>6qJ_2B!eKuxRnOa+c~ zKd4r+e;oB=LtwOirt0ke!lu;Q|MW3;uC%O|9&;R28?b0?^cAFIP+&69H%GSN^Gtn5 z$enOj*+sNHam6z{yJwNBMk<8cQDGEX3JMMUG#gm5R9#u9?>{Ej2!dR8JUjSWWHouB zoJd;;f|^*`tNQ{3Ga|W`b9gu4U>)oL{A-1w?jOpq|O>&vq<%rJ|O6 zlbnN+q`bohTyB@$Z}j=oNmq|DG#enWs=3vTu5g#>p}zKcm8nso{5inbgv>+6-^ z2i;Y(>>~UrZTgrT{Koa?aD)u}Hd}NyFN|FJ!mY-FcJ(JJ$plum878?6?`pYJSzZZC zgjmQ4{8(tAAP-C_hL7CJsGWw7lzs1kVI7?=P#dY+vG+%?bQScOoGto?)!ixif+i~D zGK!(B2l3Xpe3GQ`zE45SnaS9-X=Oz_vIe|$?R2cvZ&!2Zyr6%HJ&C|x32z6>QiPxB zZQ=fn#>^r?>dcf?&30IYfkv#-;Frc!R)}gArg3QTy|@I3zEaAa#*5w~fy{1bMyBMP zqK~&=OsUR-0(4+h`ngdN@@wGd5#6>-h1LThL?|nQaBZYxOPG1Vu!?maE*RoF7Lv5F z9ZcIfmUuWe!^>N;>hDfCxMm^KI|UaTA_naT`S(oWWP2CB})y^t|<@1uejHy*eht($5$}a)-b3_U$ma* zsrc$=d`6yvM}4^vBZ0^0rdQ)Hg*Y&oZF^aI({DDJ*v4xN-2j>RB`(j7jzcvNgdg+E ztr=Ah7_SOdpK9MWS)Z#o?b(}Y${HCZqW0i1&%m-V0ZR@eX%b!nlK@zRUWc!Jb!;$s zR5_BG(3SH+^#`|M`x61V4`0qkWAUMnl;wvZ_MUSjJBLLqHe#=+g;-Xs-0;FD86lPqhb=GITI7k89Qil4K6Ca)=t3@tO2PA=C=#A+F=2HMXj7QX%}hA!-xg6K@zs zbr-C;m?gU5NN6Yfd~ge8@}t-U6rga^OxAV}AP-z&at%jpy&oYe!c%sHuG*J4Tvv_# zvb!rmuSPR+m&2l&>+)vV#vXf6V;ic>gCRhZXKb24$BN9m@~^%F9{ob%p9jYHRj68m z@)cYm9m)Kbnw{j+xCgNE zD7e-+h7$0I`*xZ4Z0%C?ky75`eDoCWx!F8vtQMcrSlrm9Og6seJstFAa6*%F&BcU~ z5KRyT&MV6TYN4fRH_F*nhK6szp=yeBxG$+eS3g`Lmd;!|jMf!usDYW`Llrv#frE9Ft*?y+1Ae3O_1x{uLy44%35%m=2oq^vVeW4S&MPaTVofCTXPY}g<@Ht zs!P&KVuCA$h^s_y#4cWbK0?`tBd1s8nsxQ1Tq>=Ad&P~sS;6p}_FfZB@*P#0Ch$VH zw>o0%GasrJR1De%;S?rZ-@&0sy^yYP+A}(&;3Q!BR(LI(9g?=rX3=cK6`hmznfa*w zOSEl%)BwcjRy}ziYmv!sMBkc(8$N2*_WPT}G`~b0{Lmv+A8WU78X5~X(R3#zcKV71 zUfOuqeywTP2wsykF~{Ni*2sYJz3)spJ{yLbfA&d=DE0 zV^@FQ6J`vBu-*ayk!k3EN&)$6vKO|sGWs`Ur~Y4%9myZaE@QE8hQ>~`P}HZJf&#!( z90%|e2R)9aq;ra$DG826vo|-c;xBkxA|M;EbGlE?5~!!^++Wx*Ww2aHUiU-ZUeu)i z!bA$g6oD$~iMXmKimBlPCqUE~=ni_Bf9t1#(5#C@H=z@$Rm38fhon+Dk~RUWV)KpH z7el42@+3S4O`;bn0U(iJUlf=pqyBpDE_T405U-5#dS~M`-jO;tQK6P@Cep?^u{TG| z7a4$vaNy59(=~szY#t4Su$Klf9g(X^pI(rsUEENRx28#p+t6QNFO6GQ$A&==OSz7#wIr^#VZ}2#o)0l@+)9@A1-(e3l7xbgP@bCK9rm+8Zm2Q>IszaNw zdOQwsMKtW@?qE7pk}f7hrbWwPUB&bzlamtLjBMK===Uf5$8FNEZ7VUC zvpzE|Adke{=;9mL+`)>;phIuM3aiQXh!mJ{g7FGZVw9+)x^^i&xk;Bl^CD_v0pJJ5 zyz|V4nYJ%be;8uRlYS$&j`9N{^NQo8(gwuh%~Lpm4ChV^MIG%X8?@D{K$KMkM6@+$ zZJNY&dO_oKQX`h5E1X_YqWf`E#>aQ$A_8yEkxaM5f=oq;@Ou2&xOy8hmW4;hp9`%6 zMa>Xk_|=V8xHvdxuwz;Vw}LhsfrHiXBNp*ZLNhu89Bj>t=-xJ56mi;n&|lY1&0XTj z5zjAX7?~s%#4xm4<)sgzR zB&feVu685&YLMOt5qwGC$Xr>eYv^!s1&eTaIfocSJs-kTFCHsY^umeRX)9k5Hj??H zrUW+R1`5WS`_Ar4lC$)k*0~!JrL|=psgX-4sEgE456h+;NmDtNmIFgE-Emrek9G!& zvbQBUYrZk>GL=q#ZvhMn;6+(=0x_XRUu%HZJMu^<(8nEf0I4}|X?3Yb#dRl2LKVqf zUrAY#T(th-kb8IeC1S{-s$Zs>rjY+27+|s3AE$QaVYlwo>%4|d>lpDT1~m23TPu>> zHl8!P%du#xYG?BmwMzZZX`|xzDZX%WO*TUK2Je-Z{u@Nn0yaMWm2eNoLL>;i#z{}o4I@sO!LV*%lG@0?db!(*0KOlx8G(i-`=}$)53ov_*OP_-YNwP;w_>N4m-s;%Y%E!X*)NT zXO`rl_tU2Bm>)NXPhon>8u&3##&~H`5XB0Fr6i_yGCj64Ylhp@5_=&BB-z6`aFlYc zR!i*`zCse`ul!89S07Q(mxtyn9ZcOpSx2=?NxWu};d9x!YiG886ZD3m<@6^Vs|vGt zp|bi0Q=STaaIs83IW{YMz3*%PO>yxwd^BdxQ7lTbgtpkWM;vBNn~b2HGdIs? z>VC0nG%YWzTx`d!wVN!&Yx+EzK>?LP#+zryt-C+`VQSOGZQ900xfXH?j~+Vc-b z$jrs{KSOF&<^MD&KO@Sg(I7Mp@~RBKu+lTtsZ5Hv?TH@;^Z&3xu9}j$Y_7i0And37 z?0h`*V#(XcEh6ReowHby&NDRGH<|)dvD9>5h1j?&+Qw1NWcCz+2L-~Q6=G6OlZM2H z!UT`bvC0PBYenodRosD5wq*llP%cN4g{RXDl4U^8AKi{hFNqbRZUX*b`koo=wosj9 zEc$E;)S4beOM8~O>t$pp$R8MgCFmOrYmXKX?iCcRr-ccfvqC~Y8f8_Qrhl>@$@2&L z_9z>^$2`20QcG(7jdF3`27tcrit8=tAL<5fE7Hb$Ng0@TSTdvAnO%yo)JL4^nLFjC zQu-Izm&{42Go&xCO3@Bx^HQP%MzUZ6MD<+DiBIAZWixf|+R{jbiHn5?N@m7#sN={# z2kLRFf_aK0|HRdz${&0v>g=$G)_kL%ckj_k;R|aNt2XjqKp4h<-C(k_S28LI;>V?6 zNzYli+_t?rrg->4s?a@1xw_SnWHvm{w#Hk#qJ2|xLAfkAD2^cD!S|(8T;;2ZUK&|I zbwWB13Bu<`aWYpJg4pemybo1{^EVQ!BNiPcJWNVx%#-!zr1D5tdrSyXU;$~C4aS{l zy@?#yBz%x#0{*4W>?B#;p{^_#lcmUDERl+JsR2TDRwsjW6xLa3IAXQZ7fK5SR;3!L zFt>L6U($j_ejYC7Z)6vQt=u_sXsod)7xwb~)IQKBvSX|>z->!DmOWmJHsU1LUQ&P-yKn+H?^o&^_+Kc zw5tA)o>PIx095}X^gGz9Vok_$AfyWY8$k=IJ^c9Wp*pdhIElWlTi-0Ws1Nb7Hk=VI z$Gf`o9xgqF^Vb%2O#Z351jfE_NArPSijrWQ>&UL14L2CYbPiY2v$x?1jKr(8X!5uS z^dn$4+~ILL`akr>?Hg09DuV*k54^2JXTwEeZ1S60!r}TE{~kU;c@vNp0r*h}0~lHV zEG_!qC(*^s-t<2YqFUdVe;-7qU9i;a=2Y+CLJ)KsWmt3_0mH>ic{xDG({(>oM)_$lp`zh}225 ztG{1eX0XLxtY~ic{PfjXuy3TIg?)Vk5(s#^2cHUC*agNww{CZ&!OCf;C>Tw~o;@3N z<(r=T+!VOFY#jYGK9RJ>LcGnmx$TsO)9J(Ew6Tlxt+v!Ip$AOdnTqGi&AED-^2>Pg z$+_t4ybCy-f?;*jNlA1aU2Q*wyE~*^ZVZ+W`vqrI{jB9)m}N?2D7)EYSW=X=8bzcB zFp9w!cL~uomdX6|@!tnON)VjQtJFA+>{aM?K^ zj{Djnzje4DZa>^k5uOIb=lW$MH1=R_rw?rg$u?_Ob^=-Jr<*Q>J*~fZRmE^Gjh08)+tcdhHsDf_QV_DZ9HLA?O4iy>tv7CJOKSN<}k<29 zIlSk4PPnI)7BDcIBi+VhW7Bk7_XNE_;huO~%?*i5?wrk}J7Hg9f(t50`B%;T;=%hf z=Oo-|>a1=MFC}Vm(=_7J;#W!e67rHSddh4`f&zb2mh1h-#K8kFP(hLYDYO5t=2rRd z)?NV6umC}m{2f9cMl&iX`OYmu3S$^&6u9$3*>t-XmzimnnR-$4Nhu~Rqdiv%C}zq8 z9sKw8ZDg5VcZW_=Q;`;or7E5eDgje?2kbW0-fGTc>$@V@bI8L2h-lN>1Nb5S$lr5JV1TZ1Qw8Z`s$NN`l5f^2F2%z-i3r zA{TnimpUin9d;x%>6>dcStqX)#UWVbc7@}9 zI(9+JEvZ<)3wBIdFyf?r4#>0=^GtMg{^atik;1kSQ{U63bvdXlv`=Zi4ztswP~}LM zx4~3*Q8y@=T8yU2wgS{7td6v7pX2q7t4ze+sU+nc)rRU0(tI)3#|RGFi5LO@^sY<1s$!l3sBP@3)Xly3I{%#NT!#LE62&snmP))JY;bjfZ=8rwG4- zrwGB^kOk^tH|JZ9b-GlOrH_> z4x^(#y37k-^gSU-_Ask4(~(?_W;#Y|A1juXn5Vu#tnb$d=u!$_-7LCL5Oa-_(Ps%!ZUG46)W_ zDthHcNT-@Yy>b=N!B=6jx%D^lr@4?Sce0U9d5Hkywcam3$RQHoH0kEt@}H}T$;qGs zjws$sc=b`N$47kz-EtzekUx1l9H=elO`6P02WpOSTrVR4{K3FhS-AQOgKDQw%?Y zPYIu4l>!#{ex$j(jFJ<4?F+=S8Y6MM7pHn8&ASh+Xq z_K#)fX(jOusIN;)r}4p{V~R588lXeY)DU_00+9kQ@)Je6NZ6H|45)=Q7b7tz%y$@x zDw-hTtO@n1^Il2AR+ab1^^DqeDyKi*`i#Au!5#r$K z&(&@m3B|5CEQPaMh7b$+^Xq=i5nE0JK2{pVDDRGr>05Xa(3|ZkXMF7>H23#C3*~$t z-vsB;7ZcfQi&+b0yb(sy&e#rd`EA=ZAe#hj)-5IQ7u`L=qUbkzeObB8QEOl=W1UK~ z=;X@NVxF48c;9mhTeRT&-{k84Hy0|LfOhzk(f$u9z<;%aoAG~0nf`CynuJw+SFvDz zYX#|{W}o}2naQUBuNi<8R@AO3b;W-Iojzm?e3vbeNv^RhnThMX&pf;1Mt8W(i6=A> zwEY#B0%#tTNDR4>0iY|hpTUMHhh%n%w}sZm6EY!$TDH0Y=+v`t`06}`JOWvDvS|#- z#kTi~F>u@E6lC&BZ>&M~P18nXI6XP!LwWrWr{fhEYY&f~K`S8m?dC9GHfIx%Q-(mE z=YGsuJ57F8U+H4tpL(#ZC|BOM=D~P%`TnJZ@oF;C!WhG9$$jE7j*XOtLLH=b{X!yv zfvGB<_v@At-+g)Z7V)S;psjlngYn!hOmek&_A^r_hTY3!} zfEr)}YM}hi#NlFxgOFcB!DSc-kXr&H6-KH_9*b$RAH#*Qg=DnxHUk9c`E`h3=Z&5U zJpE}n>kXbl8UuhJFZ@~*l52bA7QjmZoCDlYGj zzzSi7v&OLC5mT1ndQGC9&p+C}1Hs4Ki9*r$a0*H5RDvZH;vebp#kD32rBxhs<0RmF z&8UQuRmjZHM!{TRQ__Q@yTKKstlEI!Z*U#$x1F4M%B2?W-NddMN6G2(hk(P?!m-y< z+xNx#@UJ0k)BBSE<$3DR5N+2Z+OFG+`u^#gfVA!S?(5&4`;u!0Ng zs#w`M+M4}`>_c7N;g2?qQTY>~4Qnpc655>)ruxf>xOw-S;*WW0pL-g^_s?8x$|;@> zEhD_1VJHEV|sgM&igsX=Yqx6wNrxzy4FbS@od9ULB3@}#23)uaLMgEIE8#BjQ74TqK$h!g@L@a2Y%N(X-8L z+S=GJd2qjXlJ$cGDe%;nU`g-#`}Erp6$tqKVg9%fgEjzMh()PTxC)5$qW~_%ciShP zJZYbPcb#|n7$=;GE;4FK-kworo^r}0)|sj)HdgVP8h^PEN4Ndkg*cOys-mc%7T`ks zutv1S{`1MNUuECs^R<9Bxm2-# zQq<~2M`jtOZ4iVwWZQE?y(x8=5>l>@C%GJsM?()H5?Q6njJ0LOzvz=|_F{ig^W>`@aZ+hbb4b8HG3y|#@)q&OZ9M5^KVP%68+RCvl zZbK0L{WzMW#K~Jm-fTllN;&o>rTOlHrA>c@}n9AWE$vgkp zGzK2|@pAqOuw?~sRFg(p^Lq6QY^pFID9PvB! z;le8!EKM1$ioHel8*Pj-E@VrqFmaP6fS;Pk8am{RRh9E|D3iJMovs=e9G&~-Zp0eq zHY)YYML?gk^(%^%f_}BbyZHNAT|>O6 za0Dc?pj?N@`V1*wz8sEpDlD38|&j4^qV*iaO+pT#*+)#D^>C?It=Y4f_(3 zX!aO9G%f0p0W-rKG~4V+jJvjgN$x9&Y?3F$*2AAn`8^@}1fDA8f3#aR4H0?8`~ADu zqa8fi*v_d+JEFuqJp>=wu0>`b%?CKmNRIIDq>MR>LE$|kn|M+C6yE0?>o}k2<<1r! z;*Sc+;!Bm(3-OZtY40ez>Yf9f=S6Toy6-6*S3}*03{E?s)oU|rZU+N?&>L{d*0`i9hWLx6#@1L@Tfx5j01fJ5K0;q;~jYNj=8|!WaxVov90+jTZ7*(UcL5 z4=-0x8a+W`{fG?9hJ0p`-RHN1hCthK;%x0I0#lKK9*eYXkNNniy>LbKU@5d>W>uz^2gG&OClar zN6!uqvQjMM1z&#k_V?Hw zI4n$(uz*xWkEc=IZe39=SB7ocI0) z^4}_(3n=g`Nx-9*3iTiFb5s|GU|9o(%<&7A+m!`4u8SmQwQcMp1lEL0c^ zq*)8(FQGprXEo2)3a;qOvpS)xOO_5Q&hZxge3gnSmU_*2De$kGeC>|kQo7%G-d%WL z_qr1`z*N7b$8YqU1A>%hpT8Ore|=eJ5vNfC^(u`916sj@BG-QL>8jNtZ1gV(GPfnTZU}pxl1vy8x6e8@4`J($@S}S-R22Lh+8ZD@9>hgr;i*W}0S;o2@rQPnP8+1^5G3nQ-sRbXIqZsk$q~rCWU4@WV|sWY;~Up@99~Ozy-a_MFo`HayimF!r>Huu8QlGf*D1lnGj$1PoYc zh^Y|@9kPW(9lBb~DhirX-Z6V!EYqWXW&B%v2rl{gSwYw5EVaTEF@UbX+Ft}KlQbU+ z52qknOfyz&WE2$5#(77R=Qy%64h@qO->BzWLi!YNV?|t&9x_+brKcs0;``3x#6uep(QZsd~#g;xjw+eYZW01FAnlW&5l`xb!s__*vlj{ zE^^hkz-PDAWmf>4+?#NzpI^}}MNwj)G`-*`c?gF+%c`bm&#JIqU?i_C|M_uNU4=;+ z$z<)EX*aW69(CZ6HJdVq6~(2{Qon;aO~Gb2&$KD#QL=)OqsdU~pcI#lR(0ON`r|`j z;QvwfPT_es?cQ)~+qRuFMq}Hy+1R#i+h*gmvCYP|ng;Kc^*l@W`ZoG)WFs3nj(=v( znK|)8C`CUPeYDNofW`0TSF8|@K8v9N?L0~^q0-~__{T4$n%|+4(=bao*__E<|5-0pGv49NGMRf@{w@bYGr!A}PJWWaX>Rq)VOV zI{F_%u2yt|5mlgl*&Mj?D_QaIdTD>$Wf|190WbVp9qeS$&unQ`Qg&a zEr%oj-OKG_NGe*^t6ct!6ENBGu#O8&g4XFdW{pf_rR(`VCXpa2pLGTkJw2U`U+gL3 z5QcyQQvKw=(~??P$^jpRrz*y<(D!4DUOEuuDcY&nO+4ue2*rEgGlwZRDIx#+LJ>plj51gbqFi< z)kOFaWKslvMf*(TfyUd8$glOqMe{Vga$Z;alnE?G(t73V^MXMYsk?2$hjCV3>*n`N z{`C#ptUtDQ0<9f`j~36@Q2#rqDoC_77XW$5FyPty%jVv{f=blR<-gE1(w}A({AEg? zf;VUtxPrUMf#oph$Z--_?egald>5X}YxrI4N-h)1&bs1?Rfz(MRI_1WH-R8wFtvz^(K|;VoJZHKe~P1(T8xu_X2Zw4>w| z06>k>AW7?p3VlT>0A3r?f~DQKMg+Y10i+vuu{eK=kLnAc)4PI1Xg0f~R>>;998BWjhR+l zZ=@Qk*`hzJ2k@x?v#S>xR;!U!l_rU;*TD~JsaH#zGW-+L^9qiG@^JUZGxC;LhFkR` za#7_s>Pumm7*lM5c2?MRN1Ipyvzo#RP92Idj9Qv0v*W56-BX1E(8Eut5$G-?LDEDYJf z2>r_yzErW)C@E#wi-C4FV7w0ZMFgMk3m^Kl@7WQRLaxZ!WD^d%*0qMNOVqDBL;4&l z*^pgYE@rOqMLGZLk@7+}e4u6P8FubQXu^6orGk|{x#SscG^Ml=ExI0!UpTFE8o-?> z`Xx%uB*~6?KLLgkbq#THG8kdk!#hatbix|*=hfBAdU$D+yLCr?@AS1LZMS-K%LX^0 zDrmcjfi7|Z69t!jgv~W%r zW7g6$hnA;~L7F)Ty4lvyrJGTbUqcsr>qmDdO5cBwdMmVL)r;r`{{VXNbgfl+b1gBU zmI9xOIGCKnmCkaESt~+!zfx2;e8WeF*s9?V6M5m=!T5+y`r`Z2JNtYeOc#@)O+#8R zkO-x3jt(U%FvVn zE3mFY#qfO5=9@0)scjMszmOgA`z^wl!13yvd4VH zwHDPkzsb&o_(+eLep*l_4Gt4kob8F)?60`6zg&BHqjY|2s6W=O>KZSTczY%dvyG_^ zj>`Xe6Z4(K7bp^Q(`g7%=nszKj0QG?of;d5OQ0CbF`+Z?Y!F*txV63*KPVUdJa#_} zPQq6^^d&6I4#t!5O*2usP`I+B43X*uYE`&E#|&g%q4>jyyXy0|h!N_eBLdo7;^^7R zt;FOOwFBz&J*p_5pEe|xwNAHp8RL-zeF^rm)0w%>0i$6i_-z(H-;5U@)#{IEcXVQ(u6|77zHMP7Gm@rh{*Sulg+_U0l&;09r!n`z2&+GhLWUAO6;KYBTL)CP0Bi!_a==zF#jRIfD-;d20q?{= zya2_@YH1lOBp$WwDfr-@m5k=P@h3P6vCbgBHI&^M#pEoC=XKaA>R*WYP3%ET) zNIo*J;4{fa5e|)^oZ&D&qJph2Md8fE z&!7AyiHnNNbPjqP_FbFG@{EAz%jt!xe7p!rt4^C7rm4RrN6>#j-%1eV1Vpq7i&SL_ zb~rL!$SeU~M~^uSN5*%(54n`)>}GKqKP6JeI^D;lc{LLUw5n*PtX_rNJ1bYgpJQ-U zG8c1dvf?4cHRwZ!DJ+WYat0su{y3;Kqb<}Cx)~=prdv?QdqbE)W?)SH!v{ zwk?NH8`giI?(u#eg4C_-@9)%6C1(A?ns+A7n>H$O^+d&la_k`5F^cXnvEFN&x{TT@ zB{-g2tcM!3#^hQh$A}9IT#+$Pq?5!88Cku=RQCFlCNdfN4Z)W(5rTribyp8u9lsm( zs)Ta3@CgZ9+A-0OcUrLswa&(me%}-8Io$o**9(08e>SBoz@SWK0P!*kNI7`_is7tc zYG-KYqGfMqs_G1QRsN-u`0v1xmtR+a6M(GP?%!P~ya5RLMj*s67Z3vg@&^NxvNA>z zxkXResVp~}9*l;_AuGXsZUqd=Hylv z*TA>o#66h9`x2I=fBv93pO_hSH%~kk$8@6b#AX0z;H_P8intn3jKT94bTf_f0u>w>+|GZo}4MoF@ zfLqZu);6)T8dgUWiD&Ja0GG?CD{tAIKS5>E(2u8Q3CX6U1C%K}m&wBYFH1(#PAvNh zRDWh5_ByFoM66f?z3!RF`dksAjB3<$PX*iQX7=|%Ay7JamcYm_iHFxv>m_TPlVNNs z`a%JMv)CI=OT-{+p1@o1R!R!$p9$(%6)~}0qQ;V%*AEY3CV9;3$A>I8htb_onR7MCA7Q!%%Hj7PL&^Nxp(Kq1NW4N4JAq?HGBs}JzQiV=v6HDm2WhMPMVsO z4q@;#tyZ>`S{%Djf#w-LA)5{B3_$mzy9`%CHCDf}SgKe7IT~da|rNNnMQ7 z6E?Xh>)vDC)KqH&9zYN*gOPB?gwwsXHEjOE!;%#D<6=Ud^vk6jCU6ZNr(rr$ZI~Qv8C z0#rBQj^33%YtJGzqhD8gt5g1?k*pgY?g?vP++oDh-al|Fo#08p{D5%T0~E=Oe|NDs znVQPloBWGQ|9@Mo9K;0?TO%cZfEgbEHro}6Hbq45Iqj$^@vg$-!x48|O?kQ)QQ#AG zo>B=qzleW#{D=DOw6W4u>jBgnCm3ZkfE>UHBz(J7$?8HZAeL*xsT?q%b?=jqN(_;N?0upXMn77PbTIe;C{lROmwP1g~woQsvj5T!zey?gS(kJ`{fCH+52=g z9nJ}-7tcAJH4@&!A_tPKiKD(LbCvQIbLb(%wy7ct=eq>TS^vpR41;_r-FLr#5I4B2 zr=#NlTj30-8vaiF_7kQcZ>D1Z?cW_#CD~8>5Z{j-fRY6Sjy>)%bwNFyBXu!udD}fN z?ev<6NzBX-yUn=|J;|(02q&6Z(V{X=`@?4tnv?yzHV1i zFNHbO?3qDf|2H@&p|70gr-}90vvB+K_`%s;2C_`Q;9!a<4T^@oC;>mR?IsKZXA;O& ze-jprLhK6@rH^*0%}vImKgbG+4~o)JJ3n{F0_|2zb9lRa1F(-BUO_vN@mngQAeJg5 zh)tR0FQ3&yA z-I?KWNP$74Ze+z{74PIv+qh;Yo3a6WGDNM-Yu<)WaLgd|k+*7v=hQo@yT}b{!-?Plk zHzzicu;Kg)n;HI+mqnkWHGqWAmvc!`Wm@XA(Q?-9Q&`{HdQ8QZ(~n{=rWBVayGmeG zUbX$t-G#B0tLFyn?&nzP?=rrBS)9q5x>(r%*F57>XPVE=@YB44L$zNyifFj!#PkeO zCdm?I!Yq|+U2E8nb9FaxCdox^aKDH1O7>IS__t^kLn196$~3zNOu7VL?4S~^F{y+a z806+k1Iquk-5 zsPB@b$L6-3mI^3+Fak+7Q(JQKgHy`_`_E~Ht#Uo#3=Z6a2_{JHZ6dM?;HM+pIR-I zzD{E;Os+tV`Tp=VcB+$DTzvY6T+A+;+j}}7kzxmoEdEZR_Fr4^|G_~~)Bl`V__+pn z|JTfdoOY@6%#6q~wEZ_w^H=F}6D3mWF3Z`g?>v#kRDVqF0W*uAUE7383;2wBI{HoO z0{3nK$!*KE6(<2!9XdXNVTp*$DCTN;75-Se-!!knVZlP-K+H)UHNN)npy0$-&F^Z~MDS z$wLeso@lKCTE;`AR1vy7b{m6wSSVSAWRH?Q3HT9r$S6T3kfit*?4p)7l%qbw9w^s} zovGe8{DLBV&=LNCU*)(Mw51J&!-H$iargMlV>YIfIWU zE%Jlaq&KTh8g!^3--hey#sxs>tp1h53l~bG0Ek_ld(1X54^tX!PUo zn3FGUYtj;&uPTfV9Irr`fswkJ@NA|iv{F-Qic-dWwIEvGQIMMw{s}}#%;krpgqr>h zg=eT66EQAZ4;iPMhdJ1CR*5GOrBunSKt@&z(b6hdd@7N4&)i9w8eXO(*h9I(RbGx?M(!dZHx zxvLB}%kh=dibgDBs7X+PU7SnNmx4Rtl01g6lSujTRcMH=Y37~kw^t7CtB>O;Pdi}L z0UPixCV56;@e=m^_~QRF1X=waA^nLOG}SsMR$SS{idgunF$r7O2^UtRX=%ra0SOWZNgKm`bsAzc_0TSDRblb?V36 zQIh)Imu|k(qoK}jlb8g1ShVu={_`L&O98)B9T6JVV93$}W&cGCEG+7(p(_G`rukit zw(fhlb`BVS?_Z7^P3)tJazDO@E*jVQ8F$_n%2^Cj71Kd^7nDe(Bh4{=a_>;k&Cx$_ zo3>ZExy@Pb@63<$EtVcbH=w7Puf4fdje0dz0o*$yt-;%u+FG*lRQ6KdqY7u3XA1=r zHBagL`t?QitjZ6Kv(@Rrcsc#;d}`CjmuQogUEIQ?^HjPY`p}1_Tz%F)Kp#HLhsTH^ z>;>PIy?3H7;XP-|4^&sf|1ftEVYPG~2A(-hR42*oB!i>Jwl2U8Qk;qcH+V1f3;PMl zs&g^Dhjc=*01I(horuCF{Mze#ZYp*r{ROo{ z44V{}y=0!tb}XV5sRu+S&pVKqpKuf-2*j1PVieOr+s^_ur$N?@pYhpd_qSoujUE@bVN&>)+e`s+-hPy|AK4dG`U(c1`e?chO)6jX#9 z^pv_7MBoz&_zAsB=_H4Ubf{Aw>58>R|B z_kK61Dexm|uJZFG^vN?1V5L*@v!DM_z^>7iJyL5J zqYOW|1AX0yg<4?G*L(l>i0vb>oNW%!!O+A30;2t^vQ*XiKZhpj(f~VPBz_*jcYrOZ zGLe&ZKBa)d4}iLxrGa}AfoBo9Ra%W28kH4l*-yW#c#;ZYw|3Wn=lasan;X(E`xD*X zj!pwxuQR=A7`M^#Vm+EsdKPwHoqq*CUd@ZeR;$Gr=s*7~1om<_$;K|}wBm?CP{-Y> z8;0UGtG1`*>2G~aSoFpLPx7g0#%M7_G#YeMvK;vn>XV=giLz8N%d{%S)`Wa_?q4jL z{XG)G)xo4pb+9P)EXMH1gZ1Otbnoj(ZSm|at+s7D24`QPQ5sVOYokHYOqailt8mSS z_|@GwCTQKqFYB&iTU8#n-{<8TlD=44%m19b#tZWh$e})ezn>Y+T*N07Z|(dIhuk-$ zPWm$9yJZNkf?b{gD-Y)Pn3!$mo8Alf4aiBSB9MTsYaEcQ;Bc+EC$m#-p28JK{1bOZEnxK? z4`~MP*~BTrl!ThW-I>)G21R=)~3r~HH6+YTCObNxj+44RNn{CI@jTa@fs z-|dOrpte|xDc`Pk8hsTz3jm*RQEnR?@qLP6%KIiEwSYOI8Ren4#DmNrFfs(#2hO`p zklIdV8A=!7XyG!@)R*khtL5P(dW+5^>bnD}E6X;qjOEgLi5`=^G+~pE^gZhGw_)uY zgj@$Kl0Q5(u5-0dfre;KnF1vos8^RMW7~$kIwpbwQZ#-NuwWO7HO%!+{2{7sk>N13 zW{+Vmoi@aLl3wOl?Hme@T$n6n}L=_iW4)WcP&gnWLy z^N{0mFx0{lB8{3s~qL5z>s6jmWYeGtP=II@~vVm_3 zti`iYNwt#@VT+o_Ef2UMZl}xD19J%Jk~J+LqvbS@5kV6J#Z~s~6GwCmBUsQ=U^h5@ z1JOwW2`TJS?~jjGPQQ)jYaNu91TtXfW4^fUZl8l%DLM_`%|(|dbB6mBkfnJKKax(; z2p0IW951Edon#ON)7(Wz>rz{tIbe7)r@ff3sk`PTjguqkPD8uvGGQ+U($+TJc zG{JG{xCDC^Z>Z)Gov}VQN-y$K2_cEMXOF+!0Y=7&1Kbrv1fowt1Qc6EOgXxdCaXAv z7^D&JjA*bqp4ve~Y?u_Ggj*CL?S`xg@GTG@G1TC=JFLa-&oG{ zDn|%Ev*Tg=!X|6uH`>V7%YwW8laDrVl_n0g6|rTOXe}`C*A4iehZW3|!zfq`6p*fj zZI%qGU2-vU^9>QS#mB2H!CMnAZ0bA-8g_>bCe{X>1fkq-w~|)JIDU!l8PyLU4l9$r{09e;#|72X^XdYgY*mqVX7Y7P{KW zPv@&HQGXHF)~$NWh5EL{@KsARY-Ga)Qy3&0DK! zC%o*pWX^AX^{--o@mZWMNa^-hi<(b#q7jq1v1!vrUf%a;I(9}WeY6;{zi zgbzM}ahFUPMYipbR#Q|O4Belhk;0k|NoHF%5mK)=6Gqtq_b^d4B`HRcLT!b!@)Z4Z zDkeFnzz+-b$JA&%(u`EIV{V^IfcR?r`yatl8R^HbhqUo7W;!POb7&`mYBGu)k5ZWC z8Xt9h0LdVT+iiul)Kj{vb5j7|P-HCMP}A14W}#!au@hM-2~tC3zgLw^DMO&)n7yENogO3(_?`Gr z(0dvow{=b%6h}N%cHZqgyL4zOnO!Af7nWQo&VdJL|IkT&H-3QKx5Xg$s|ZkC*2$uW zP#tLNPn1d|>V#!-pN9ypN53jPc;faSB^xLS$)fyF3W*=B9#&d#j7!XY?$5#GT)HvG}1=`&xo$##G;`@`$uX=-jxi-+kTC7QT&mO@?H*8Fod5gQHuHd1)oa zu!v$%X&8?J7qg|UglAOks1SB&1Z1oo#vk+W(2bqH#XTu*f(|M;!m{(6+rLlfzs;a*0VtS%O)EcTUIgJjWnTIL>Jm`4 zCAs;kZA1$x`9v7L{+!GahAc@_G8nDsA2}J`3Bl02f^rFOudg<}CSGSdK#v0VtB=Xz z8d@!RiDWUUiG->%0?XLA;i|&d{t({?Ar!Hhmo*k2?>$qjvN_*s+XmjG>vZx=-fJNjndYiKw!=O+g2x*_!i z{C-3HuwfS%U=fimlM@AVUM>dlU=i`$WWmP|KKwZ5v$sdb+BQBFA1i84#KdNtW~3en zEZUf)nJD<-q(^1@3t<_nArhmJ>SE4n;MF0Wjy}qwmfdb@WkpdbF~+VIqaYEL(~`IecL>Y;~J<{kl=6Fvb&x;TDDrEn2^%W}JL|U5STB#&Kufob+)E zf|*X2rk|C3uPyjipS%9?+xU9TeG{M&VISp z6=9X(A>tYZb6n4qoh^nx6z*vLqj>hNVF<#h(|%urtUVa=<8dVl%Jvy2A;gF zPs$7yTk=e^%-MN{4YV%o;#PPDhx}$do`I!aBJA$)m?&xBWm{5W?U@HA5;vZ0V`(^& zVhMBQ2X}fAS z{(l2bRsJ=0E&HFC4nv_(1K`$g8mWi|cq3|*(xGH!lcDc_$bLN9h(dUl%On4OetwoP z@n+BJpRDpVmiLG%QRSotNU2zUG{C%EsgJ;uS;=3ALudh=%YBCXIh-wQD)v}%^mxES z3nT-S6R%KU3Goh#qL#9ep*S`{$DF?tVw?^XCU8MCxUa>kjo8s;tfcaKZVS+d@&0<{ zZm~zEW;&U&`^V!Zq=r+~Z&VwWg=QxjEIOSenEg?>6XQV_o~X%>HU79d7#ZKsaMx5C zH69tiqhO}v8sDrQnBYr23Yo(oxDJn|ZA}%mG`_Ld7#h%@F*#Dnx;HMCDv|THN;aV?X|(7_47HVTMteoP=r!ItVdZ+s!ZeUb z?budW{6!9KE_yEXTQ*b9QkT0_1=6p=WrJ3Q&DPaFCUR6UyfXcJFDAZNa6P1pQGn6$F+=y5m!KVclqSv>YqP-XytfmMJ5qTqAk}HzRx?E#^O- zf9?bCR&G#2I3biGunR?3jBKRu7LC9N|3-h|wVFQesJGm0&ZI7gIMh{y|2vHp#sAn` z2GXAb+rm8}Y>9V~HivBGQEb~7ie!;S%&}|rco@#VHe=31G+*HWEE#ufA6h~To(K5+ z#+Rza#m)NVvu{7VZg75Mgs5N2G0t2BKnam{Du-8S9S*JIwvv2fEXR4jj9@F?*aOuc zC*@e3cODiEQ@vz}R+@RnH(zHFEKlfAssyT+fQ_R^DH{>Cx>;nA%%`{)+&XqE zqL^Gqm|qf5>>yL-pc#4-x{f_cFecY#$nNkoR9Ztx*}p5BmI-ihr2vR6H=)~uQ@maA z?*`06NJ81&idLH#ll7!<3Dkq$ds*#dn@Q58e9aZnutlSCHy{R8=0Aj@6LWrzdZGR$ z@6jsL$LJWVkPfVj5`)^$Mlt9wfyxb0-lvNCl~P|nAep5v$@G03(v;uI(YNRq#PjlIf!mXE!s$D0r0H zL5+-Ii__@A^3}L9-<8h_#0!9$GIp3rw2PNRQG}WlLnsi+1)DJwWMkQck^l?L=2f!% z0V!K&>Yfac%~O_zWQv69fRVn-@B|GH-bM&Wm>xlpKk4l~?R`U{#K&JIn}SHl@MUXTmR%l!JalzSVX_i{i(e>t~>p0)xk%TQXf|H#_BRTR*6 zy5Z)+W-?DsfarBfE)TT{GVseyE4j=74i#r}7puM4G72V_v_2tZS`mh;!&)q%!@Bkv z3PH)p0`QaAgRB?@Hw)Bh5ibIFknOIxFiRg!=dz#R^v)!->CV9ps_Vs1`y)R|`4GAS zm7;@-C3nuj1mjA~jv?RUr3g4&pO+iR1Dr_HUdfue>;UzyhMicSzE|Lcie$TK2sBD~ z8U;x1as*=N)jE_%ajoe&)OmV0E1AW~@gCUxsAxV>rj(&etFe_nqImw#`MnPFb})7~ zlx33#a&`LZj~mHLeEm?`)u(k}_uoFoy+hLvzTC7zm;HJ9D$hSO#GGyv;AP zcoyY#LGY@urV%t?xUm&1rs0u+Huq_4eWKH;xG)HG*nH1}HLvWk;sB=~JfP4bNNvrf zBC4K|?*NX5Pm+?pUT#T0{mad7?NV)lT^q}dnq5y7GO^idtl98FIIH#FEE^3udJuuX zeGo!JOLQOm2Kct716{%}i#+_EDh99q`4q)JWIaa%lBRONbM*H~lajs7zcENEvi6@? zHAcbrpjh1c&UODBEjWpd;<9F;&BuCN(xz4gO*XQQ3eNN1xI|Q*(Qf?E7o*=d3Er>q zWl49=j*q3&Y{A{ZBlDU85cKX7y`oIKPbE&mO0h<;a`#{jmf%qG#YwSiJjLYcAo%OS zh~MR^?nkevD74PIFtoo?=!<(}}lve;n zt{M@2i-NfyLP4%jRlKX!(v>dP&ZN3%;WFPA4ZNR#hIPXi|{Aia7E!#V39)@a7 zg(%z+I#--)s`^;)ballnMB8;j;0cB${FLqJA&&!i=$|$#)_c8-feQmySk&D4Gi1iE z>&i+|ysP9V-hC^+rWFJmEDPP4_$NFWR87v^Leng{dn_d;aPty{#w61;0Nn0aD~?s@d~VCPbXM|PgZUSCAfg-(k}w;9gO7VXM+2kX!FeiI?9KN zM2@sqX-Z$)%F4|s{ou<7{zmq3M;kBA2LGX}nP8iqq?<{*NJQl$sQa+BiUXy*3gP)0 z@EZFbK?j*Db|4*%g6FVsx-$`T7yi_*ks%aMD!L0nevR+1#S0lJbz3!XW0|yeLCnmzOTjol=@Z?|Vx`>B?rxj#L{$v3dk!8J1}5KKnV zeh&V;Kg7xUFt58Cj!I44wzL&r!z@Wsr=p!^P!iHsJD;qM>1@zwwGUa?$K{&|j4&Er zm#b?5>+Fq4$}y8|NKPcU%9u+cgVgnY>mHEePnT?X-fkWq@KbC#Q|7n)Q65qr^Q;A} zr!W;#3g}WrvP+2JJ~FBhp70+h;lC|nW9@8iUB;g|$O-l4B3P;QuCrB>nTn*4oORV5 zf>jrslg*2R$m6)14(3gC&d6ukKSsZsk7HczYBK28EQ#D;!kKLJ{>v( zjg3iG;ecK+=oR%poRJK~6SVxdB#VVX|cQ$0G0k|gz^X61oeP`0@f zl6Ocj-LHPU8FAvOE$Lb3z#WC}$hXJ{L=8=>C`Ntf$mz((hy&QW=lqU$_C2hGj&`Jc zL{*2enbSR)Uy^`#@Ddk6OUZ$M{c#iCh>ZQAT+`0s2B_fToy&#|_qm|dkkOH&n`Kl*Eb_A*5(Geg3Pwwv`M_Yh-quG~7d(?yItFMc zAvy(S#yb={|FLccn+hAvz#^@rDt2hDH6(-*1?MWF1v)4m&W#+Cw#7{2DmXRG+#$8G zSm)rtl8m`gvxCb`;PrHnvp=5IY{(s=EqM(e!%GMnK~6=++C)ho*vAnfA7P92wiZeM z31zJ!))z6+&k#Lxk2A2an}$wQPyHo1IJSE+B`K8pK7wi(*x4Ld>w^?4@&IP z1F`HF)#-TS5Z*inmynvx9NguTm({O7I~_YSPmZd9I|aXEMe$-egY2lYKO&AO@XpjH z037Ue-rmyT`ZI+A(+AnI;*DXh@Ktan3N(xAiA6|USn@|{5sO_?c$e|88BMj#2yfmt z>8nRF`y6yZ+x+Wgv1(Au)TQjX&iiHxYt6A?>O&Q(tbr;=xsAiA5&<7pGUQaX+jZs` z{o_7xy6#E*7~|a%_-qtyA0jNCe^XUfH`#RjrU2(OvfXj08Y*9PPC~Dz1f;=*N$|~^ z)uzR5uxJgH&!L&Og%k$|%uq51@|T(7pKH@#m$>iG|G@U94ahr!0^U_>z`Oc)`U#&U z-ha>q{&n{NK;Wo=);NHq_(^|NfsE%WA*vJBXIUf{yqPhHm)E&A4l zT0^Y@>QP8IuE#A}S%p0avesNdY|9+d(fVQ-^)YTi<-VdhZWTf8>HJF`_F4-b01Etc zBq|n30K&1_mP0NDeNaNL?@!wmf1gT&vUR%p@i9d^k^_Dy*(VBI&8wu!QU85;>+ZT* z=r`^-Rs{yjDk}e4lr+i;m10=+nmmd6V$3%<#CG9=>hz4#gD*S-o=#A$)y?g$2%Os~ zN2D`IQNz=k`r~Qw&2_#}viiSqU#wui8AK~;X+zwVw29?2rzWJZ>rISOFPtKx3)D{? z^5VWt!g86cac?PPUMGfL@S_4~in>xSgYqFEUh&a#g)#IyM60f>5Zu+=INW^>eYX(Y=*S3(4R#t%4H;T8`U8-T_+Q!C8AU~=G^-|rMkq5a44Fvwf;+$vbAnIZ2 zsLf2d%#AU;_2h;%bGBL5Di+*1V-9Wiyv4yk$DEnc=P9O@Z{{pT5K-6_sD3a15cA^E zd0=D#U|2^1LG^b&d#W1$11c^nJp@1}+ZTMISM4eT%XGms&t(~PhtJq@WFhB^$xfD3 zU#}>1>7cw4bLN>m2=6F7)X?gAtq&xfVnphtMMLo*tS-w8D{aRKify69?wLUI`GJJ% z)uKpUC~UOYBE7wX;@bgC0(=6&-5ux^i8H)WAoiAa^D`h>P=Lc8Wqu7}Uza9*vx`fd zRIHg7GpJINL~E-6mzu3VtOs=4GN)VpubpSmN(}rIM_6FQSrZU)W_i1hs%8ecPc5~( zYVqH(G@_@$*-NPWHEFSA_2#p~)oXRPbP#*BZ45FRrZtgJ2Q|nR(ePL+IE*v^;wk_s zJ`$_u$3^)t3a17Qc20VNorrWBm~$2xyEb)#@=4W=}3@NbsvvJojt5`r3B)zfXvBe znX49K#5oQy@&8zU;Lqh}1uQ=gVEJDG%TI3|NFYz-cn@Y%{4LhRKa-oc{+oYk0ATq! zKbQZa8iSj=OPpN1sV5!SQiDvJCmXMdp)aO8d$`vPvS76n!*s*lsK4-QJLCJ|E zo>!WhDCxI4pCeveh3`dDDW1e-?gM4+ClVl#7(V9!7RR&^^CjfjK(OjkWw^o?PQb{D ze?ZMmAqjw$k(7yfZut=Ate7{kQU*ZQX&OrZX@3!DS}0fATCuHWmzLlvALDf57ha`$ z9%~wo)x!JM9<{e+P*Wkf7yHI`wE9ovu*UF^w*p`fXaV!bzq?V@lm{N=jdUHjFk2d2f{A|Jp&;nDF1vPZ*u^~~P6(p3qzS8L^xs@T@y*s8VDOiM#z)XAR*tbQ z{^*PChK~NN!StU@yC8;iFokd`|2W%Z(9lgQmpgqj= z<>T^jb*l6caz5$|52q}~ve9Ra_m6ky+?MjZ2B`#`l0SFJ@<%0<)Ha&z%vCp>9vDH6 z^O3N8Z73BaMYl%iTC@OY{)3fV?CdpdO5DoKB;%x_U!!gk$>riO-m(i}K`$+AkZLEV z*_m1>I~l=5)IpMj#<^Bt8!u0W6@3o;QG;$HEPmz!#x7fmfIonnr%9-Qa06+1?By$N zeJ*4Fv3j`rPpv`g)*yI3!0voPCx;aOeqLOB9>EtYPearxW7jjJY>6q>v1OzwJ;q*>4X+(GF z>0mWzeH9OW{I6XS2ka8%V%^FtKzg%~f3-jwefr!e4BmF{^kZTmU(Un0t$tcK#?$pFsGl96S(++OG#*Z(~;BBiBsS%C9$1en+V9hB>n zwD_OJj~xKY#b*!nF-Sz&CAiNaDDN6wyUEZksDq{37Pe*9(wrLc6^5+D1a*I#Cs~5N z1i$0UP+AEWAPK>?H1mEuy+!$iaYGT#>Q`T14OHCK8oJ7CEW%1!Okf3AJQApVW`TTdOhjU{*a^<{Q_7w@`~4Vo=ew9t)z9G=FPUEH z%D|9LwT3auct;+Yi`s|5k!eCN=~6o!m{R$sYGf#43EEs|cW)fA{OJ4EuH(58{*+pp zEeIarGxAYDoda-CqP#l!8Be4U8#5mYF_d#1f?LMv!bQ#zxY@T7Med7);CAeg$^v3X zl-rrB8C(j@Sc+8pu`7V2;%H z1P2|7m|fglqM;ac2ls)={e`@H$uCB2vt?~8}zdgE!~SpwppZ527To~V(C z^p#|?gXSM!RA0#qz*&NsH@31`O`K+vBl*9Py_GTCRmh0Lr9p9quCU4dG|JC}(`NZ; zAfcSjtq7w0eBXqXNd?Cx=fd(wqh^*pzU9rBhK@)=o@bZamfTe#G&QoxskUZLlY3nY zbo68B-p2&gbISG&@N3B0Gw1yN{A1!jJWpkj0JwS20O$Pg zR9-*NxU#8}tEKV3kGfL7+#Vo1M5X><5|7776J0}vf`&Ozi~oP6T?sgpUHhMuRMJLC zh!&BxC@ECL*w;ZNmBC;bGnlcKG_*;n6s5)6GD(ZF6fIPuq9Q5nw5JkMlve-yjP)5a z+$I@0MN=UARB?jl7e@JlA4PspmH)ry$4s>PltH=RIwWsm!IU^p#n*aBm)S z)vaUSE4NF9o_hMBs`X^{rW@z$i`U=DF#S}LUa(~SL(8jIJqk{g%$%_1NXwXI7x%uE zt5SZJSNeL=Du-7aCQfc{xwF1-UW;r&i(1iyF(Xf0k6*I6TH@5uf4i=iYTsD!dbwy& zkcd{}tHf(A&;9?IF|%|vH=Ms?Wv)ys8gx0TPClxlbwwt?j_=%FlqJ>p|?X7*B{YNIM#TZ78AMm(&?WjFl z^$s3!UwXtDiI!9Cx2VE>V5vkYRFH)bZXFK0f9dj#ZtgnXH@Vyz*N^`do zqwQN_B+9nUQvO>SYO^`qURsI%ac1(rGwQ=n%wpVm7_cRIyPit?>}9Sk8ihWo%k$?I z#QPuM)Gf4G6Yn4V$14Kh1_rg}`kW1Ns8aZnp6avm1-9Mb`TC}LcR?(fP-MjSm{Qk; z0LH--vcDH3JsnGZ8$0v}y6kj#OlkV@TWJ{&B&YjXuHXD%+;O%QV`q!|$jAB*8}ueQ z{Rs<|_fw*(>SZdgdLMNs|D2fEo0)P2pJb+%4$W0H6P^1teb;}i>nu&H5$;OLOFY(2 zBzzmIm~KvaSdkj&dRR@Rc%tv?6--n6H^bC(*=rAsZ7fy2bG%qIUW_$Y{lWOO}mt&X4rIx>z8k}~IGf*jO z;hLt!RPCC)Hvd`!J>QBNj~y;2w$|U!nY4AcvG(K4<8Mwo>)9?jE!#9~&iRE!9_7pL zf3h|tN99-3lGJosCN6$4_k->I9eYo%to^OB@=er*ATYRG0uMG51q||Mg@9Xn9gu!PIaq zCc1Urn@Xc-kprn(AuKA5sWq_2xn%U`Qf@dRcjY0em-|k(Q2ZFt>VzO0<|ZD zH*P;$HK3y5avo!WNok_Q?a^bLi-+dzWq9UzPtehv;jOey?e_YV=2d?uYFQqwzq!Ns zU6Wl>ZF*FzvsBBf0qT#2*wMs7%OrML%W5*i9V0y#9(n1z&>}cdq;SiC(qV&QE3f(0 zmJM#1^69aIhSZngp(kQ)DeiK8H}?MYz>l;EOO_5xopC!!&Ztm#UB;{!=c|Vc}&62IqB6)h-j##^O&Z2%Rx5i0- z6TST<)p}0!&YV3jvJx}SzYP5mKj_ZjU1}FU{kY|4I>m3Z-^VovRUBkL{8*9R;P}nV z+u~TAhjHw7>#H%r_Z}qYy&w;Zm3(>i%(9BWIp_8Nn`~Am@>hvwzB>4rpSj}hnJ<@y z&$z}KmOVyf#ma3vvKFR13(;fMFh(pMIB@IPA(aECmB0M0FeqS}lEx8JtHy-SW{xA% zDT(zzWzsaZF_#qRr@f-D-oyN;nAReB_}XYXT0sFm+GI3%U=c$UlCL^cJ*mh z-KtyRKjo9pyt#M5+wI!<(kBn(&#n*uq(^!>;MxzFjRAQ>uFnfU=%eya{N3ffA0zISH$jF!#@tZxa|2VcGMo7pp(qV_m!c)^5ieu3{|eJc(5~1Z~W+Hx5|Pxnx^uZ4IbZn zp5FerDv7AL=ljHWU;`JRuS@8{zrzNICa|(3aLxp$ zz4e~5k+AiRND%2ksgmi)E#^;XXW5+l>R+yeoi{&}PoP^p7L(Z6SP&tXINL&@G{(qv zti`RQmv`gb#uRF&=B#^QuylIr?Vu}<8k-KEUKg|SZQRt&h9}?ZIM5v9V$z!uo-j4LFut3>Wgi%+wTyt4Sr#Nbrpy^_<( z^CP4y8Vg!h8ELdiZdj;#c!tIsrBZUj)psIvt@ajNQ-d5c zX06|;I~>cGGP^#{kqmGzlp19zQ*AbUpJw6xCoUh{j?gJ16jv7pY41B=AIVxZ>p;S0 zkEs-G#?7elTiZ7NY}Pt1A^)<~=SEJ{mRCv%;{ykJ=g9bm`Yw4@m3$$LSy2C{Npe`* zGTqe&CPSu&O&+Y53jL~vk_GR4T#;fm_aEg!Hs7t?AvVEqQZx*{({meR*3HqFKg*I`P zyJvh@QRpr)lam~x$8nC}5E$n6R+>i6>B*-nB+q%-ySQl&{6wY~$*8OIug_FzT9A)pF_kUgO^0nUZxkV~9_T}>pN5YH}a%||=4@Oo0J#wUh-58^IXhEIs z`Wvp#&mS-TP*JL2AU|SC_^2%gPalMs#VyOpDDa%NZu<1wmP;9TnA$O;5)L_M-mQH< z?!)8H`Paj0ZMA2P-k&rp`kv_16n2nn4s=V{e%n+(d+zW{^Hwu;W>w^jjA(hZd(69C zkMGqyXeoPi@_j@_5&OP+mOR76b zU~z!m8@*Bg+~DO=H>G6O^y#jgOZS6Lt@DjPK@l|*KXys0#3t>5m4{Ejv8y#-UohnK zsUjNUl^<1|ZR#T;-lxcH+nMztxmwXgTVe`b>dMHL{nPh14O*1kG-HmzJ+XbV`(zEu zIND#Kz%ZQsrL916KmP}VOZ{6`aJpAbcj? zS+7Q$481==GvF(k`R2beiGy}&tuZo#Cg0qCXN!39)jeC{Wyhy3Up;@X+keBSJ=&S` zt?tzmYINX$jTNb~J3qdNEYOgre_XLjEP3ksT4|rfQxY$w{t20Xe&Wcmrv=y7FuZ0| z6(%>F9a-}>Z^8Kq@*{7Y-2bn_M?rf3d6fb>{j9<0nqxmgW8bS}Q|D1$Pdj!asLp7k z)FzJ0ZD$#i3yvyV+QNo3Oq$vkq3;T$8(f*|vvmIxnx-&A(>+b^NS-hcdRY9UY%cGh(YQaW-^O z(onisp>DhI(@C-Z4zPRQE%U< zili0HzZhiu@m^$ro5k3NgWfia6VnprEESux^st6uc>T0%At5_w9&PfAexRV5QaN;d zYm1vwQuGPYE0#*+`12(vmVaL`X!~1v-S8jfsvC!Hmemy`UlFR!Hsnca~3OD}Fj%GCn=&347(m zqeqTDG27ObC3BWB@>kRBhHdK>XIXm|k%o^@Y~6Nb%!rYN$`_xfmoCiE&v;N6d@{yC zGUEO78&^KRNmv~17IfbFsP*=tFC({mzdxit!sE1Rf@86R{*j<{Vwb15ni@OF3}4+w zpMCPy!4|{xr0g7br-tFXqN*at-m}}`A}PJ(XY>BgRgYy$)6dp9IK>}&{~}PPbg$cN zkyX=4n#DI7E~;!hI_kkY#{()UJ`|7eKL+NEeK&8X#f3hTkNNXpapT`rXTGOij-EWE zc>I=iyW;jIoDfrKP*B}Ae9zo#9xoowsHi{QYIQ#;RZ{nK39Eqzk6=6?9M%rhRM_49IlgwXH*Iu zKkF9DeRsIB=yFp2{V#v$Keo6%x|#1V`?e%&KiMQDO#Dy*MO*Sz{x+7s;-NKpIXhF{ zUmsr;v%zC%{{4)rx^9wEUzNXx#siI&vq}p?X5Pi2;chgv|^^X+6yoBqvuG?@Q~{ZsGe*bmj@@;0X0^iK^5(+BFHFUE+78e2JMcX+YI?4O z_1NrZhpROPx;=gtJx%oK92q^ytBS@H6^k!Flv|0i6B<7F+WS7yHYL|rj`uviK`)F( ziSr8jF!eXJ_H;J|3=FMVSfP+ z`1bgVy&Zqiv9J*Khhsbcj)0)9WB;&wMbeXmI}e-CoZCM{;uri=;G%|?%-l?C2T`a+ z$HLVwh*6y%hm9VJ5=e$bGzz3HqES1~rSv5G5LQWIR@pCWVP+!B;4b`5n(&*$j)njz zoNV`FM?I;&1*#<_iN06h+J-w;?RjS>VGjG$R9sX|!=al9E|%p+)}GXn{8v9!E(wN7 ztAp^-%C7U{urKKLMct9Y456_Wk!ds!vZudkIA4HAAtUM^gNAX$+Bb~50an9{vqG4{ zJq+X%65M_DM9;CSxlb?)vwlo=1=1hDV$gPI=f`3H2YWxlNz*Bw=%zaxG97M4R5Fb(N2DZDgV)2bonhE$H>C69u!(S(QOK}~ zR2uA6ai87gOE{`gZI=R6=i*?6g4I7MW1)mGk1+J)GSZNwe7D@~FvgGYgB@;!sZgq1 zl_s&E$P~bLxYwSI5WbOz`kCd}@p2fCnTBb=a#l?lb0 z40Zw!UQn1!k|!guz1+o#`8^GsJ^7+^WbH?`mB z(~J4H3_?V*VANR<9U(Y&eH?acKd6$3cF01txths$^b;Gt2mOSI@De-<+NbaQIP3u{ z@sGX(r{^Y8Pf;K?CG1wb(+ZkY4e8OsP89gfVUv9N4aA*~BZW>0<6{T~{@66G+wUNu z9H$FG^JLJOEV!zd*-IX;-7ctY1WlRHt1Pk#rxB)s9_#A-IBbbv<)f0V8rDkd70jXi=G9EXxc%$mr(C*SZ)@Xa&x!?Bp2!C?T4>Bhs*o)vMlftm(Xbs-|4~#7j_=j~&SNGw=T0{;cdr)ay(F@_+ z_G;a#I`Dwk!7Q+ol0JwNh(SkLEF;(~m=O{vY*JE(-M4#z1wH~MVy$pRIzFsUeKRIA zduK055uRG#o5un2+ogG@Gxh{N2qHO@0cRedWRComu;~!;WiR~%8PQ->gk{}W$k7BQ zj+9P&?DUCF6nJJ9iuA&;EI0@3GazeH0Nul~&MyZaR-e+5`7$&?3gY0iRReh(nBN6_ z5Ed*-fUrsYRhYcL41|+Bf!9ha-r_@mD`?4HWENR~LR&&88De(Y@B&DsZe08Q^qpqP zVSk0J8IM#PDFF-?rTwB+Vbl5k>HY>Xczc_vyy=x_174&+cqUL72B9$^I2kZD0|wTy zU2MjOL4u4NR+z#-7OlG(dtHt|Sd=fqqg+RS;{-vQx56Oy&ehZM1^vyN!W#<;#t*SlYafLS!ubqew3Y|R=hEQoXd&oZUnW=Mm5%RV0A)wv|K?r35 z*ib*MQ-iso{y4nlE<}k#0y=|BuN-c6#qVj7;C+kW2dherxM`Az<}6lVkBgvt<|ru9 z(o`Tg8UR2c{_Jf@GlV$1!{eDmxS$2^OawuBpe11FKdV1zjQ2)q&I#=eUcU8JYrci~E6< zcYG*Wmo*iJ6Yfa~M71MqVuv_1!ilu*5YQokAgnqG!fy_HB~FSK^iVR5>SY&fLj~_a z_u=Nf6sY=`cB1wY4Vua#*XiS~0+3TL6{8aIO~snw3BZvQFYa2u7YLdi-RZYMJb*le zAM^l8=f`2MF~bK!A}%7sy%97(5jY)$^l6HuY7CGsf*)*v_cX_i)SexIoP=ZL4o%yb z1vu!v--YnI^W(6MEbwA=NR7mTWI{OFD#ML?A&(@C12ic1b$uMRJ@nQI*6mJqF||m< z4m70K!ojBgmL0wgAa21A)LOefC}3LQ1+!%K#lUfk#{WiTF-vd_MqL<4={2nJqS!K6 zs9*s3AJV|i$@100_~xMd7Xd~IIEdB45SxC$5n<8M2hx8RgLgdzBnluc!b~jA7B3RF z4$@sV5I(i3t)hBJITQd8B3#$UVHexs288mC5NCm`ODwUfr45L`0T^sN%7ue1_;iqD zVkLYozH<%`kyac45Udj)=7<{vnuGhA%z3Fj^sRtV0iJwe7srtHS%DYEHyI~}2?KIZ zDjn7x!e@m50EqixLx!%iP&5{W&P@h;B?r%%J`i$X{LK*Xunr*-Cq?8`c~_i#_F{B+ zx&SA3OoPD9ZZ^Xs+X9*813myVa70TXVaB|p;snBNs3mK4(L#(b>5~?TXa*z&6ln=O z1D(=E9EIkKo_!6J40~Oe(Y}J5B7BASEklr;G^F%cTmFlWAaFT^$zlX_W=P!hML~_e4SR5E=*}z0ww0tVoh~eg^=AEB8hCs*% z#lcojWfO3a?|2nO&;*duyb%AieH&Op2`t>O2&o7AL~sfw)0uGHm_QcU@OTTXSB^d+ z1c8bkS@kBvt{lc)pfUTu9UGer0!6#a*uAnMoD?mr8SO`Id&(1$p07Sobp+T@E&O2f z7Y+yCU@f|niq5@vzM0ZYIsfAjYYB&85=I#99G=#HBwsS!hhk2qd-2mG1BRU0tKIrT z0|1H!K>@o0EjWe~PFRBl;vJRq-Sr{N=pFbUtfPxM(I1HRjtC0>o(lxDXu8hPG+@~v z07KW8c7D)vajHK+*bWK4Qc8R?dr~sMpw~ILOVSQ34m%^G|4;xJ2rE+x*KVM;DWL1) zvghVWApn#FKiCv79l9L^CIUSy2KFHO+G&l;bdy~T04Q6>DnxK*|3LU|f+9I-etV@& z1@ckwgEc0jto}m?+R{b6CL-x|3g-c3RWFSgl#Lq+HdJu*ooxKEDc=ELC=k-I%Qk7q z6mbfN>mvkhj3TGG^4RX`U_jUo&L10BE}zAXBG`g%IKL0c27W;h;aST>U&Kwmz0pIE z(?JT5RbN$i8ek*=2D{AIbg3UOeL4hy=t}(M(f{FoC@)FK7lK1$`1Fb`TNVy`AP2)W zg2bVF;~pgqxBDUmF-1_b(#bU+W|qOA>cEYtbqo*vf>rqCJ_bmFvp;kezj&q0QxR3{ zB8+Cf=!y`+0q{H|93<)){m?eiai7GO^I?d~Bzcp8SRB-NHYR)dQ-lyEF(O_E!q8|) zH?WDfWO3i)%N>Db{l?)IO8LT+-@kX}DoiDAC@=4BR`eT&i8O+X#a~d9t5mK&g#GYD7Xm@E z%UX~bzP*nV4DE*Zn#fM)jb`60C3BvQho#JZUVaUJ(+}Fb_xJLeXq@6~4s00^P}3$h zZ0r5$2Mj61gKy;>X_&g&Ne3&CycKjAX=Aul{I?$vXuGHvrx5+$Pd@0(hv9z%bHS!J zD+h=Oj-VYri|YfB6uJ(|@&!39_x0j30HJ`R!R8)c;l?e2VY(Z{D-;#Oy+{;tu%~ak zm*KBehFRZ(@*q?%o4_lPV}o%aVY(mqP9|5s!T^f+1k{#-wfU^!{fFQd!ujHyyYhQK zlnMx|LHbymw;$1e9Dxe9>{g;`DnRUq?MSSG!JGCtWMfRF(O~zb>r!@J8=0aLSp_yn zkO!$?lczyac<6Uk?D%)pw2pHntN=-%#sjPg>W=Fld0TP-|9*|ZS#TFA%mCfvg*B1d z@wgzkZSZ}}TdSE26ipL+;cP7niAH^#UUZTbE~VEUf; z;vJSGZ#M$Iy#!3G0;ehTAI}PE&U|4ukDnT&3<_Kgi)k#({7LZu$_y5wjI#M)=m?Kv8P999BufGas#;=?d(57R9|-yP5dN|1M)1#A3MBY$klLKUrgoGhmTmK;JjdfI6%~a^Tm3`yYuiv zAo7kB)Mdn14*NgWyM6_MQvqZKMuW9rn*s-$s7!xSAk;4TQYWU;w4qgko55qLGZx^Y zP74$w;_A;W>gbL&bQm669Q(Zx7j=dwbj#3LE>zSU>K=PMRH=A$*O zfKd-Z$0k{?i2nly-|Pf=-jyY7?x>vs%>^4gW?JCFp)=df&@>dpBrwSuaPjru1pxCN zV6eXAD(rmqt;43!8z&Ut?ED*76(I=1K`fpEw!Jk@09b`EJ%gzp9dAnsJWhrT-`i!` zxs5OvDNr`7Uf;Fr9~`$msN<=4zM3#t&x3=Y%m51O@3S2L2PppMERZT#UOdpU1hOwx zm=JdJWrs69An0L_Kq_EE4&*zPFA-ABwjiYWASA5A*N0b-aA*OE>O+Tc63pL~P4TIj zi$eVXfWTHh9=rFCyh(@K5#ZSnx1Qdqx#k99nGXhvbpp{IxWGC)R~#v1*yrTSFOjR^ zEt6m}X}z{dv?zEmux-+OAufc?kG}~q*a=Fz*jnHbUtADSAL2`x9lIo*1pH9|jl%Bv z=fKWS-?D}Sj1*`z>wTaJnV$*i$IZ^GJF(0s1>z;{LJbaK3J@?i{b?JTEejKnhx7sK zf!_wV%YmT)rKh3$B*10vLtGSq$qTJdEmrBcuRHkNZC4G$_*^Fg|RK z-5QDuhudqt}EmVu=I7U4WxvG++L~Nwbl3mI(zu} zLhRPM94H15f54uxfzUj<{}8Clo-d5ct%e=fQPaL-GdR{c{+eE zg8m2xyOV$*3mysUG}PnpA$UROjeuIU`;4*a+CaP#n1eO6sqy%TvnW38r-B3?f<^+^ zaUx-UB^a~5GOtTL4bRr}ZO{UBhs9Kj{00*^3f#el&(d9Z2@6^8E%-J>?H-Un2IR4Y zF!9}Z$(zsu`KFqPFRH)hXVe2<-a(w<5pD`z`T~iU+W(giJD!9oFnH`r%=-{t;viKP z!;?X?rqcO`9i`~)=U}^m5Dy^OU`aoM2Sgy@k|JYn7XA!W6U&-)M{yB`Kq)ZyzHq*w zO$i7~0q?QFa_BKU#BI=p*DNDCnHB+Of%z}xSH$nqgD65M1`O;3Vvgg&=r}XP*DJIx z9WA#BLJJ8hwAf_Z^b{`Q3^-#4*T=TMlY@EAnRjUym9qKJa*(hez+okIroIM zp$>uytf_c5GQ2O~L9v62?#Nwzvo>(-39i)OJDpEE__M^npgWtU!YyzTr&?^I6JENXfIQ~3r^i!k|w&yD{LrajR!W-xl+ zd4l4^s;0?$9{}(x02*TekCps?04@0Jl_I={BQ zTa6EaO82A&^0|TtnTL)J@wp_JB1ei>7S~_mqt5UO@nm&$jq{iHsen>3w9UH))~47s zi~2h}82o$7(CCd4T@{mnH+yKag|8Gc?Vx_a2yu5J`&R6B0}OP} z4L0`Fh~mc(D2mu@O&4f`By0hnhh1&NiQyw36ap64Rr(WBl9Tz>ngFeggdl*zhM>bk z`vJ9>;$hDS6oNxsm3w_3NF=(K6TAQ~H1zGH+S`rhfnWE|!9{se>-;AXMi4He_?A#iVS;A?wwqa<|USOcL7 z6c$@~9XkORZ6eB)_>xv?kRPxehAaohh7Fuza=1vNJ0bW|-g7-x=PNMeE_54M5EvZHLcWMmL8HVWTf$~znTEKiQ{fsR0f&iDvUHf3+6tva!tP$GL^Z-s zzb}71!syI$wCNA410FGZnBYQzeAPr?R*B|8+`Ty;j`kA3zwt=nvngH#B9%hppUl(` z5#4JBDykyMYu7u>a8W1OLH8bN+Z9^Kf34vBdML2S4tx|gCTLmXgb}zZJU)5Z(g(nx z>o5(h9jt>LavbiJWQS-AZW9~iEa`m*xc_M+uZ)k|;{xb;l@H$tQP4bY4k`>OLFC6y z;ieNVgopqS294?|uqy65XowfI-4jZIN7%0EA1-(RoG5g-D6y+ETS$x5ku`N6o&gd8 zrh@gYla}H_g81B59qpp%&H$tpiYd!zFTeiUjm>_X%w0`D> zi#T*`*m*lKLijhy4-2r(MCDB6FtDP&umTVH_M^W7t|a0v5@&_|+XG^r4Hk{fgiYM> z1N0rLpInZ!LcvXHG%wC93VxivTg2KD(`QwJGA*6JyN^%{;iGT!7TDBS^<{<`cu;~W z1R!jWi%1||!raZ{j*_p?-H=6`S?1MKLdTA zE(a({fWlhGf1!Ax1UlQ%TLSgwfD@Niu%D&Hsc}9^XN4%dEOVCyUDNFf{Q%nJ!f9(ye|-UQUONmr6+0_M2u%CaV7$b5U)Sp%GqZ1Eofp#dd~2^K06Hbj`*c}1K-m61 wM+^6qU>`E;NuA#-Pu3#s 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

Z>TqwyQ!U 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 getContentsListener = new ISFApiResultCallback() diff --git a/SDKSample/AndroidStudioProject/build.gradle b/SDKSample/AndroidStudioProject/build.gradle index 4efd9a7..d2dfa08 100644 --- a/SDKSample/AndroidStudioProject/build.gradle +++ b/SDKSample/AndroidStudioProject/build.gradle @@ -4,7 +4,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:2.0.0-alpha2' + classpath 'com.android.tools.build:gradle:2.1.0-alpha3' } } diff --git a/SDKSample/AndroidStudioProject/gradle/wrapper/gradle-wrapper.properties b/SDKSample/AndroidStudioProject/gradle/wrapper/gradle-wrapper.properties index 0c71e76..0e04a4d 100644 --- a/SDKSample/AndroidStudioProject/gradle/wrapper/gradle-wrapper.properties +++ b/SDKSample/AndroidStudioProject/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Wed Apr 10 15:27:10 PDT 2013 +#Fri Apr 22 15:57:59 EDT 2016 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip From 76515d069c8fb3f37f598cb64cb95d6aebbc1936 Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Mon, 6 Jun 2016 19:44:12 +0530 Subject: [PATCH 49/70] Borrow the DELETE fix from ShareFile. --- ShareFileJavaSDK/build.gradle | 2 +- .../sharefile/api/SFApiQueryExecutor.java | 32 +++++++++++++------ 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/ShareFileJavaSDK/build.gradle b/ShareFileJavaSDK/build.gradle index 486223f..f9fc006 100644 --- a/ShareFileJavaSDK/build.gradle +++ b/ShareFileJavaSDK/build.gradle @@ -5,7 +5,7 @@ apply plugin: 'maven' apply plugin: 'signing' String shareFileJarName = 'sharefile-api' -String shareFileJarVersion = '3.1.2' +String shareFileJarVersion = '3.1.3' String shareFilePomFileName = "$buildDir/libs/"+shareFileJarName+"-"+shareFileJarVersion+".pom" group = "com.citrix" diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java index 675c015..6fc9727 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java @@ -71,6 +71,7 @@ class SFApiQueryExecutor implements ISFApiExecuteQuery { private static final String TAG = SFKeywords.TAG + "-SFApiThread"; + private static final String EMPTY_JSON = "{}"; private final ISFQuery mQuery; private final ISFApiResultCallback mResponseListener; @@ -96,24 +97,37 @@ public SFApiQueryExecutor(SFApiClient apiClient, ISFQuery query, ISFApiResult private void handleHttPost(URLConnection conn) throws IOException { - if(mQuery.getHttpMethod().equalsIgnoreCase(SFHttpMethod.POST.toString()) || - mQuery.getHttpMethod().equalsIgnoreCase(SFHttpMethod.PATCH.toString()) || - mQuery.getHttpMethod().equalsIgnoreCase(SFHttpMethod.DELETE.toString()) ) - { + //Don't do post for GET methods + if(SFHttpMethod.GET.toString().equalsIgnoreCase(mQuery.getHttpMethod())) + { + return; + } + + //Don't do post for empty DELETE methods + //Certain Androids are giving errors on POST body. + //https://jira.ops.expertcity.com/browse/SFAND-2873 + if(SFHttpMethod.DELETE.toString().equalsIgnoreCase(mQuery.getHttpMethod()) && Utils.isEmpty(mQuery.getBody())) + { + return; + } + String body = mQuery.getBody(); // OnDesktop systems CONTENT_LENGTH is not set by default. // Also setting zero content lenght and not sending anything causes server errors // So set an empty JSON. - if(body == null || body.length() == 0) - { - body = "{}"; - } + //https://community.sharefilesupport.com/citrixsharefile/topics/-content-length + // NOTE: by this point we have already set the HTTP method on the connection to POST + // and all the other verbs: DELETE, PATCH etc are passed as an HTTP_METHOD_OVERRIDE + // so this should work on all systems. + if(Utils.isEmpty(body)) + { + body = EMPTY_JSON; + } conn.setRequestProperty(SFKeywords.CONTENT_LENGTH, ""+body.getBytes().length); conn.setRequestProperty(SFKeywords.CONTENT_TYPE, SFKeywords.APPLICATION_JSON); SFHttpsCaller.postBody(conn, body); - } } private boolean shouldGetInputStream() From 13807861b9f6afe8aacea39a26603cbfdc47c154 Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Mon, 18 Jul 2016 14:52:43 +0530 Subject: [PATCH 50/70] 1) get latest changes from the shareFile autogenerated build 2) fix the zero byte file upload issue. --- ShareFileJavaSDK/build.gradle | 2 +- .../sharefile/api/constants/SFFolderID.java | 1 + .../sharefile/api/entities/ISFEntities.java | 5 + .../api/entities/SFAccessControlsEntity.java | 2 +- .../api/entities/SFFavoriteFoldersEntity.java | 30 ++- .../api/entities/SFFolderTemplatesEntity.java | 55 +++++- .../entities/SFIrmClassificationsEntity.java | 53 ++++++ .../api/entities/SFSharesEntity.java | 108 +++++++++-- .../exceptions/SFResetUploadException.java | 11 ++ .../api/https/SFDownloadRunnable.java | 8 +- .../sharefile/api/https/SFUploadRunnable.java | 96 +++++++--- .../sharefile/api/models/SFAccount.java | 134 ++------------ .../api/models/SFAccountPreferences.java | 142 +++++++++++++- .../sharefile/api/models/SFBillingInfo.java | 11 +- .../api/models/SFCapabilityName.java | 9 +- .../sharefile/api/models/SFChunkType.java | 22 +++ .../sharefile/api/models/SFEntityTypeMap.java | 7 +- .../api/models/SFExceptionReason.java | 11 +- .../api/models/SFIntegrationProvider.java | 5 +- .../api/models/SFItemOrderingMode.java | 3 +- .../api/models/SFPasswordPolicy.java | 174 ++++++++++++++++++ .../sharefile/api/models/SFSalesTaxQuote.java | 58 ++++++ .../api/models/SFSecurityQuestion.java | 49 +++++ .../sharefile/api/models/SFShareSubType.java | 5 +- .../models/SFUserConfirmationSettings.java | 17 +- .../sharefile/api/models/SFZoneService.java | 6 +- .../sharefile/api/utils/SFDateFormat.java | 30 ++- .../sharefile/api/utils/SafeEnumHelpers.java | 30 ++- 28 files changed, 873 insertions(+), 211 deletions(-) create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFIrmClassificationsEntity.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/exceptions/SFResetUploadException.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFChunkType.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPasswordPolicy.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSalesTaxQuote.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSecurityQuestion.java diff --git a/ShareFileJavaSDK/build.gradle b/ShareFileJavaSDK/build.gradle index f9fc006..2e352e8 100644 --- a/ShareFileJavaSDK/build.gradle +++ b/ShareFileJavaSDK/build.gradle @@ -5,7 +5,7 @@ apply plugin: 'maven' apply plugin: 'signing' String shareFileJarName = 'sharefile-api' -String shareFileJarVersion = '3.1.3' +String shareFileJarVersion = '3.1.4' String shareFilePomFileName = "$buildDir/libs/"+shareFileJarName+"-"+shareFileJarVersion+".pom" group = "com.citrix" diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/constants/SFFolderID.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/constants/SFFolderID.java index a534767..2435654 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/constants/SFFolderID.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/constants/SFFolderID.java @@ -23,5 +23,6 @@ public final class SFFolderID public static final String CONNECTOR_ONE_DRIVE = "c-OneDrive"; public static final String CONNECTOR_SHAREPOINT_BUSINESS = "c-sp365"; public static final String CONNECTOR_ONE_DRIVE_BUSINESS = "c-odb365"; + public static final String CONNECTOR_DOCUMENTUM = "c-documentum"; } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/ISFEntities.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/ISFEntities.java index c59475c..3c3a654 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/ISFEntities.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/ISFEntities.java @@ -24,6 +24,10 @@ public SFConnectorGroupsEntity connectorGroups() { return (SFConnectorGroupsEntity)getEntity(SFConnectorGroupsEntity.class); } @Override + public SFIrmClassificationsEntity irmClassifications() { + return (SFIrmClassificationsEntity)getEntity(SFIrmClassificationsEntity.class); + } + @Override public SFRemoteUploadsEntity remoteUploads() { return (SFRemoteUploadsEntity)getEntity(SFRemoteUploadsEntity.class); } @@ -90,6 +94,7 @@ public SFZonesEntity zones() { } SFConnectorGroupsEntity connectorGroups(); + SFIrmClassificationsEntity irmClassifications(); SFRemoteUploadsEntity remoteUploads(); SFReportsEntity reports(); SFFolderTemplatesEntity folderTemplates(); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccessControlsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccessControlsEntity.java index 0b6a23c..cb54071 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccessControlsEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccessControlsEntity.java @@ -116,7 +116,7 @@ public ISFQuery createByItem(URI url, SFAccessControl accessCon sfApiQuery.addIds(url); sfApiQuery.addQueryString("recursive", recursive); sfApiQuery.addQueryString("sendDefaultNotification", sendDefaultNotification); - accessControl.addProperty("message", message); + accessControl.addProperty("Message", message); sfApiQuery.setBody(accessControl); sfApiQuery.setHttpMethod("POST"); return sfApiQuery; diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFavoriteFoldersEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFavoriteFoldersEntity.java index 14b7baa..3706206 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFavoriteFoldersEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFavoriteFoldersEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -142,6 +142,34 @@ public ISFQuery createByUser(URI url, SFFavoriteFolder folder) return sfApiQuery; } + /** + * Create or Update FavoriteFolders + * [{ + * Folder: { + * "Id":"fo96aec5-d637-4124-bcc9-c86fd7301e4d" + * } + * }] + * Replaces existing favorite folders with the folders provided. Any exisitng folders that are not specified will be removed. + * @param url + * @param favoriteFolderList + */ + public ISFQuery patchByUser(URI url, ArrayList favoriteFolderList) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (favoriteFolderList == null) { + throw new InvalidOrMissingParameterException("favoriteFolderList"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.setAction("FavoriteFolders"); + sfApiQuery.addIds(url); + sfApiQuery.setBody(favoriteFolderList); + sfApiQuery.setHttpMethod("PUT"); + return sfApiQuery; + } + /** * Delete FavoriteFolder * Removes a favorite folder from a user's list. diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFolderTemplatesEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFolderTemplatesEntity.java index 0ee11b3..ddae463 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFolderTemplatesEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFolderTemplatesEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -147,5 +147,58 @@ public ISFQuery delete(URI url) throws InvalidOrMissingParameterException { return sfApiQuery; } + /** + * Apply folder template to folders in bulk + * Applies the specified folder template to all subfolders of provided folder ID + * @param templateUrl + * @param folderId + * @param batchSize (default: -1) + * @return The status of the operation: how many subfolders are left, and how many subfolders in total + */ + public ISFQuery bulkApply(URI templateUrl, String folderId, Integer batchSize) throws InvalidOrMissingParameterException { + if (templateUrl == null) { + throw new InvalidOrMissingParameterException("templateUrl"); + } + if (folderId == null) { + throw new InvalidOrMissingParameterException("folderId"); + } + if (batchSize == null) { + throw new InvalidOrMissingParameterException("batchSize"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("FolderTemplates"); + sfApiQuery.setAction("BulkApply"); + sfApiQuery.addIds(templateUrl); + sfApiQuery.addQueryString("folderId", folderId); + sfApiQuery.addQueryString("batchSize", batchSize); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + + /** + * Apply folder template to folders in bulk + * Applies the specified folder template to all subfolders of provided folder ID + * @param templateUrl + * @param folderId + * @return The status of the operation: how many subfolders are left, and how many subfolders in total + */ + public ISFQuery bulkApply(URI templateUrl, String folderId) throws InvalidOrMissingParameterException { + if (templateUrl == null) { + throw new InvalidOrMissingParameterException("templateUrl"); + } + if (folderId == null) { + throw new InvalidOrMissingParameterException("folderId"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("FolderTemplates"); + sfApiQuery.setAction("BulkApply"); + sfApiQuery.addIds(templateUrl); + sfApiQuery.addQueryString("folderId", folderId); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFIrmClassificationsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFIrmClassificationsEntity.java new file mode 100644 index 0000000..f95b4a2 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFIrmClassificationsEntity.java @@ -0,0 +1,53 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.entities; + +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.entities.*; +import com.citrix.sharefile.api.models.*; +import com.citrix.sharefile.api.SFApiQuery; +import com.citrix.sharefile.api.interfaces.ISFQuery; + + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; +import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; + +public class SFIrmClassificationsEntity extends SFEntitiesBase +{ + public SFIrmClassificationsEntity(ISFApiClient client) { + super(client); + } + + /** + * Get a list of all file types supported by IRM + * @return List of strings + */ + public ISFQuery> getSupportedFileExtensions() { + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("IrmClassifications"); + sfApiQuery.setAction("SupportedFileExtensions"); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + +} + diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFSharesEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFSharesEntity.java index ed46503..71e1fed 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFSharesEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFSharesEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -36,6 +36,24 @@ public SFSharesEntity(ISFApiClient client) { super(client); } + /** + * Get List of Shares + * Retrieve all outstanding Shares of the authenticated user + * @param includeExpired (default: true) + * @return List of Shares created by the authenticated user + */ + public ISFQuery> get(Boolean includeExpired) throws InvalidOrMissingParameterException { + if (includeExpired == null) { + throw new InvalidOrMissingParameterException("includeExpired"); + } + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Shares"); + sfApiQuery.addQueryString("includeExpired", includeExpired); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + /** * Get List of Shares * Retrieve all outstanding Shares of the authenticated user @@ -50,11 +68,9 @@ public ISFQuery> get() { } /** - * Get Share - * Retrieve a single Share entity. If the Share allows anonymous access, then this method will not - * require authentication. - * @param url - * @return A single Share + * Get List of Shares + * Retrieve all outstanding Shares of the authenticated user + * @return List of Shares created by the authenticated user */ public ISFQuery get(URI url) throws InvalidOrMissingParameterException { if (url == null) { @@ -854,6 +870,11 @@ public ISFQuery bulkDownload(URI shareUrl, String aliasid, ArrayLis * - "9999-12-31" disables share expiration. * To use stream IDs as item IDs UsesStreamIDs needs to be set to true, and all the IDs in Items need to be specified * as stream IDs. + * View Only: + * View Only share can be created by either setting "IsViewOnly = true" or "share.ShareAccessRight.ShareAccessRightType = ViewOnline" + * If both "share.IsViewOnly = true" and "share.ShareAccessRight.AccessRightType = FullControl" are passed to this method, then the "Full Control" permission takes higher priority + * and disables "ViewOnly" permission on the share. + * Only one of the two features(ViewOnly, IRM) can be enabled at a time. If you set both "IsViewOnly = true" and "share.ShareAccessRight.ShareAccessRightType = IRM", exception will be thrown * @param share * @param notify (default: false) * @return The new Share @@ -905,6 +926,11 @@ public ISFQuery create(SFShare share, Boolean notify) throws InvalidOrM * - "9999-12-31" disables share expiration. * To use stream IDs as item IDs UsesStreamIDs needs to be set to true, and all the IDs in Items need to be specified * as stream IDs. + * View Only: + * View Only share can be created by either setting "IsViewOnly = true" or "share.ShareAccessRight.ShareAccessRightType = ViewOnline" + * If both "share.IsViewOnly = true" and "share.ShareAccessRight.AccessRightType = FullControl" are passed to this method, then the "Full Control" permission takes higher priority + * and disables "ViewOnly" permission on the share. + * Only one of the two features(ViewOnly, IRM) can be enabled at a time. If you set both "IsViewOnly = true" and "share.ShareAccessRight.ShareAccessRightType = IRM", exception will be thrown * @param share * @return The new Share */ @@ -929,6 +955,14 @@ public ISFQuery create(SFShare share) throws InvalidOrMissingParameterE * "Items": [ { "Id":"itemid" }, {...} ], * } * Modifies an existing Share. If Items are specified they are added to the share. + * + * View Only: + * If a share is not IRM Classified, it can be updated to ViewOnline/ViewOnly share by passing either "IsViewOnly= true" or "Share.ShareAccessRight.AccessRightType = ViewOnline" + * If a share is IRM Classified, then it can be updated to ViewOnline/ViewOnly share only by passing "Share.ShareAccessRight = ViewOnline". This will remove the IRMClassification on this share. + * Only one of the two features(ViewOnly, IRM) can be enabled at a time. + * + * Full Control: + * Passing "Share.ShareAccessRight.AccessRightType = FullControl" will remove IRMClassification and ViewOnly features on the share. If you set both "IsViewOnly = true" and "share.ShareAccessRight.ShareAccessRightType = IRM", exception will be thrown * @param url * @param share * @return The modified Share @@ -1027,10 +1061,22 @@ public ISFQuery createAlias(URI url, String email) throws InvalidOrMiss /** * Deliver Send a File Email + * { + * "Items":["itemId1", "itemId2", ...], + * "Emails":["email@sharefile.com", "email2@sharefile.com",...] + * "Subject": "Email Subject", + * "Body": "Email Message", + * "CcSender": false, + * "NotifyOnDownload": true, + * "RequireLogin": false, + * "MaxDownloads": 30, + * "ExpirationDays": -1 + * } * Sends an Email to the specified list of addresses, containing a link to the specified Items. - * The default number of expiration days is 30. -1 disables share expiration. + * The default number of expiration days is 30. Setting it to -1 disables share expiration. Note that the + * Emails and Items parameters expect an array of strings, rather than nested JSON objects. * @param parameters - * @return The new Share + * @return Share object */ public ISFQuery createSend(SFShareSendParams parameters) throws InvalidOrMissingParameterException { if (parameters == null) { @@ -1047,16 +1093,34 @@ public ISFQuery createSend(SFShareSendParams parameters) throws Invalid /** * Deliver Request a File Email - * Sends an Email to the specified list of addresses, containing a link to files upload. - * The default number of expiration days is 30. -1 disables share expiration. + * { + * "FolderId":"folderId", + * "Emails":["email@sharefile.com", "email2@sharefile.com",...] + * "Subject": "Email Subject", + * "Body": "Email Message", + * "CcSender": false, + * "NotifyOnUpload": true, + * "RequireLogin": false, + * "ExpirationDays": -1 + * } + * Sends an Email to the specified list of addresses, containing a link to upload to the specified folder. + * The default number of expiration days is 30. Setting it to -1 disables share expiration. Note that the + * Emails parameter expectd an array of strings, rather than nested JSON objects. + * + * View Only: + * View Only share can be created by either setting "IsViewOnly = true" or "share.ShareAccessRight.ShareAccessRightType = ViewOnline" + * If both "share.IsViewOnly = true" and "share.ShareAccessRight.AccessRightType = FullControl" are passed to this method, then the "Full Control" permission takes higher priority + * and disables "ViewOnly" permission on the share. + * Only one of the two features(ViewOnly, IRM) can be enabled at a time. If you set both "IsViewOnly = true" and "share.ShareAccessRight.ShareAccessRightType = IRM", exception will be thrown * @param parameters + * @return Share Object */ - public ISFQuery createRequest(SFShareRequestParams parameters) throws InvalidOrMissingParameterException { + public ISFQuery createRequest(SFShareRequestParams parameters) throws InvalidOrMissingParameterException { if (parameters == null) { throw new InvalidOrMissingParameterException("parameters"); } - SFApiQuery sfApiQuery = new SFApiQuery(this.client); + SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Shares"); sfApiQuery.setAction("Request"); sfApiQuery.setBody(parameters); @@ -1065,8 +1129,16 @@ public ISFQuery createRequest(SFShareRequestParams parameters) throws InvalidOrM } /** - * Deliver an existing share link to one or more recipients - * Sends an Email to the specified list of addresses, containing a link to a download or an upload. + * Re-deliver an Existing Share Link + * { + * "Recipients":["email@sharefile.com", "groupId",...] + * "Subject": "Email Subject", + * "Body": "Email Message", + * "CcSender": false, + * "NotifyOnUse": true, + * "ShareId": "shareId" + * } + * Resends an Email to the specified list of addresses, containing a link to a Send or Request Share * @param parameters * @return The updated Share */ @@ -3827,7 +3899,7 @@ public ISFQuery getRedirection(URI url) throws InvalidOrMissingPa /** * Get Inbox for Recipient - * Retrieve all outstanding Shares in the inbox.User identifier + * Retrieve all outstanding Shares in the inbox. * @return List of Shares created by the authenticated user */ public ISFQuery> getInbox(String userId, SFSafeEnum type, Boolean archived) throws InvalidOrMissingParameterException { @@ -3853,7 +3925,7 @@ public ISFQuery> getInbox(String userId, SFSafeEnum> getInbox(String userId, SFSafeEnum type) throws InvalidOrMissingParameterException { @@ -3875,7 +3947,7 @@ public ISFQuery> getInbox(String userId, SFSafeEnum> getInbox(String userId) throws InvalidOrMissingParameterException { @@ -3893,7 +3965,7 @@ public ISFQuery> getInbox(String userId) throws InvalidOrMi /** * Get Inbox for Recipient - * Retrieve all outstanding Shares in the inbox.User identifier + * Retrieve all outstanding Shares in the inbox. * @return List of Shares created by the authenticated user */ public ISFQuery> getInbox() { diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/exceptions/SFResetUploadException.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/exceptions/SFResetUploadException.java new file mode 100644 index 0000000..0d2bde0 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/exceptions/SFResetUploadException.java @@ -0,0 +1,11 @@ +package com.citrix.sharefile.api.exceptions; + + +@SuppressWarnings("serial") +public class SFResetUploadException extends SFServerException +{ + public SFResetUploadException(SFServerException e) + { + super(e.getHttpResponseCode(),e.getLocalizedMessage()); + } +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFDownloadRunnable.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFDownloadRunnable.java index 43e7ec2..4eaa146 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFDownloadRunnable.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFDownloadRunnable.java @@ -2,6 +2,7 @@ import com.citrix.sharefile.api.SFApiClient; import com.citrix.sharefile.api.SFConnectionManager; +import com.citrix.sharefile.api.SFV3ErrorParser; import com.citrix.sharefile.api.constants.SFKeywords; import com.citrix.sharefile.api.constants.SFSdkGlobals; import com.citrix.sharefile.api.enumerations.SFHttpMethod; @@ -124,13 +125,14 @@ private void download() throws SFSDKException break; case HttpsURLConnection.HTTP_UNAUTHORIZED: - throw new SFNotAuthorizedException(SFKeywords.UN_AUTHORIZED); + throw new SFNotAuthorizedException(SFKeywords.UN_AUTHORIZED); //break; default: - responseString = SFHttpsCaller.readErrorResponse(connection); + responseString = SFHttpsCaller.readErrorResponse(connection); + SFV3ErrorParser sfV3error = new SFV3ErrorParser(httpErrorCode, responseString, null); Logger.d(TAG,"Error " + responseString); - throw new SFServerException(httpErrorCode,responseString); + throw new SFServerException(httpErrorCode, sfV3error.errorDisplayString()); //break; } } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFUploadRunnable.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFUploadRunnable.java index b929b00..e9c6317 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFUploadRunnable.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFUploadRunnable.java @@ -11,6 +11,7 @@ import com.citrix.sharefile.api.exceptions.SFNotAuthorizedException; import com.citrix.sharefile.api.exceptions.SFOAuthTokenRenewException; import com.citrix.sharefile.api.exceptions.SFOtherException; +import com.citrix.sharefile.api.exceptions.SFResetUploadException; import com.citrix.sharefile.api.exceptions.SFSDKException; import com.citrix.sharefile.api.exceptions.SFServerException; import com.citrix.sharefile.api.gson.SFGsonHelper; @@ -19,6 +20,7 @@ import com.citrix.sharefile.api.models.SFUploadMethod; import com.citrix.sharefile.api.models.SFUploadRequestParams; import com.citrix.sharefile.api.models.SFUploadSpecification; +import com.google.gson.Gson; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; @@ -54,7 +56,10 @@ public class SFUploadRunnable extends TransferRunnable { private static final String TAG = "SFUploadRunnable"; - + + //Server does not localize this error. + private static final String INVALID_UPLOAD_ID = "Unrecognized Upload ID"; + private final long mResumeFromByteIndex; private final long mTotalBytes; private final InputStream mFileInputStream; @@ -69,9 +74,26 @@ public class SFUploadRunnable extends TransferRunnable private SFUploadSpecification mUploadSpecification; private SFChunkUploadResponse mChunkUploadResponse=null; + public void setUploadSpec(String previousUploadSpec) + { + Gson gson = new Gson(); + mUploadSpecification = gson.fromJson(previousUploadSpec,SFUploadSpecification.class); + } + + public String getUploadSpec() throws SFNotAuthorizedException, SFOAuthTokenRenewException, SFOtherException, SFInvalidStateException, SFServerException + { + if(mUploadSpecification == null) + { + mUploadSpecification = getSpecification(); + } + + Gson gson = new Gson(); + return gson.toJson(mUploadSpecification,SFUploadSpecification.class); + } + public SFUploadRunnable( String v3Url, boolean overwrite, - int resumeFromByteIndex, long tolalBytes, String destinationName, + long resumeFromByteIndex, long tolalBytes, String destinationName, InputStream inputStream, SFApiClient client, IProgress progressListener, SFCookieManager cookieManager,String connUserName,String connPassword, String details ) { @@ -99,7 +121,10 @@ protected void runInThisThread() throws SFSDKException { try { - mUploadSpecification = getSpecification();// get spec + if(mUploadSpecification == null) + { + mUploadSpecification = getSpecification();// get spec + } abortIfCancelledRequested(); @@ -150,7 +175,6 @@ private SFUploadSpecification getSpecification() throws SFInvalidStateException, "json", false, now,now); - uploadQuery.setCredentials(mUsername,mPassword); return mApiClient.executeQuery(uploadQuery); @@ -190,8 +214,12 @@ private void seekInputStream() { if(mResumeFromByteIndex > 0) { + Logger.d(TAG,"ResumeSupp:Resuming Upload from byte: " + mResumeFromByteIndex); mFileInputStream.skip(mResumeFromByteIndex); } + else { + Logger.d(TAG,"ResumeSupp:Brand new upload"); + } } catch(Exception e) { @@ -199,8 +227,9 @@ private void seekInputStream() } } - private String getAppendParams(String filename, long fileSize,int finish,boolean isbatchLast,String hash) - { + private String getAppendParams(String filename, long fileSize,int finish,boolean isbatchLast,String hash,long index, long previousChunkTotal) + { + Logger.d(TAG, "ResumeSupp: Uploading chunk: index" + index + " offset: " + previousChunkTotal); StringBuilder sb = new StringBuilder(); sb.append("&filehash="); sb.append(hash); @@ -211,7 +240,9 @@ private String getAppendParams(String filename, long fileSize,int finish,boolean } sb.append("&fmt=json"); sb.append("&hash="+hash); - sb.append("&filesize="+fileSize); + sb.append("&filesize="+fileSize); + sb.append("&index="+index); + sb.append("&byteOffset="+previousChunkTotal); if(isbatchLast && mDetails!=null && mDetails.length()>0) { @@ -280,7 +311,7 @@ public static class SFChunkUploadResponse } catch (Exception e) { - Logger.e(TAG,"exception parsing upload response",e); + Logger.e(TAG,new Exception(jsonString)); mWasError = true; mErrorMessage = "exception parsing upload response"; mErrorCode = SFSdkGlobals.INTERNAL_HTTP_ERROR; @@ -293,7 +324,7 @@ public static class SFChunkUploadResponse * This tries to upload a chunk. Returns a detialed object with the httpErrorCode and the ChunkResponse from the server. * ChunkResonse will never be null. In case of http errors or exceptions we fill the chunk response with https err response string. */ - private long uploadChunk(byte[] fileChunk,int chunkLength,boolean isLast, MessageDigest md, long previousChunkTotal) throws SFSDKException + private long uploadChunk(byte[] fileChunk,int chunkLength,long index,boolean isLast, MessageDigest md, long previousChunkTotal) throws SFSDKException { long bytesUploaded = 0; HttpsURLConnection conn = null; @@ -306,7 +337,7 @@ private long uploadChunk(byte[] fileChunk,int chunkLength,boolean isLast, Messag md.update(fileChunk, 0, chunkLength); //you need the RAW param or you'll have to do HTTP multi-part post... - String append = getAppendParams(mDestinationFileName, mTotalBytes,isLast?1:0, isLast, md5ToString(md)); + String append = getAppendParams(mDestinationFileName, mTotalBytes,isLast?1:0, isLast, md5ToString(md),index, previousChunkTotal); final String finalURL = mUploadSpecification.getChunkUri() + append; conn = (HttpsURLConnection) SFConnectionManager.openConnection(new URL(finalURL)); @@ -323,16 +354,15 @@ private long uploadChunk(byte[] fileChunk,int chunkLength,boolean isLast, Messag final ByteArrayInputStream in = new ByteArrayInputStream(fileChunk,0,chunkLength); int currentBytesRead; OutputStream poster = new DataOutputStream(conn.getOutputStream()); - - int count = 0; + while((currentBytesRead = in.read(buffer,0,1024)) >0) { poster.write(buffer,0,currentBytesRead); bytesUploaded+=(long)currentBytesRead; poster.flush();//needs to be here - // onlu send notifications every 50kb - if ( count++ % 50 == 0 ) updateProgress(bytesUploaded+previousChunkTotal); + // only send notifications every 64kb + if ( bytesUploaded % (64*1024) == 0 ) updateProgress(bytesUploaded+previousChunkTotal); abortIfCancelledRequested(); } @@ -397,22 +427,32 @@ private void upload() throws SFSDKException try { Logger.d(TAG, "POST " + mUploadSpecification.getChunkUri()); - + boolean isZeroBytesFile = (mFileInputStream.available() == 0); + boolean isLast = false; seekInputStream(); int chunkLength; final MessageDigest md = MessageDigest.getInstance("MD5"); byte[] fileChunk = new byte[chunkSize]; boolean done = false; + long index = previousChunkTotalBytes/chunkSize; while(!done) { - chunkLength = mFileInputStream.read(fileChunk, 0, fileChunk.length); - if (chunkLength<0) { - Logger.d(TAG,"Chunk < 0: " + chunkLength); - done = true; - break; + if(isZeroBytesFile) + { + chunkLength = 0; + isLast = true; + //Don't break here so that we can get a chance to finalize the upload. + } + else { + chunkLength = mFileInputStream.read(fileChunk, 0, fileChunk.length); + if (chunkLength < 0) { + Logger.d(TAG, "Chunk < 0: " + chunkLength); + done = true; + break; + } + + isLast = (mFileInputStream.available() == 0); } - - boolean isLast = (mFileInputStream.available() == 0); if(isLast) { @@ -420,7 +460,7 @@ private void upload() throws SFSDKException done = true; } - previousChunkTotalBytes += uploadChunk(fileChunk,chunkLength,isLast,md,previousChunkTotalBytes); + previousChunkTotalBytes += uploadChunk(fileChunk,chunkLength, index++,isLast,md,previousChunkTotalBytes); abortIfCancelledRequested(); @@ -431,6 +471,15 @@ private void upload() throws SFSDKException mProgressListener.onComplete(mTotalBytesTransferredForThisFile); } } + catch (SFServerException e) + { + if(e.getLocalizedMessage().contains(INVALID_UPLOAD_ID)) + { + e = new SFResetUploadException(e); + } + + throw e; + } catch (SFSDKException ex) { throw ex; @@ -465,6 +514,7 @@ private void updateProgress(long uploadedBytes) try { + Logger.d(TAG,"ResumeSupp: Bytes Uploaded = " + uploadedBytes); mProgressListener.bytesTransfered(uploadedBytes); } catch(Exception e) diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccount.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccount.java index 82b3904..b27de3d 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccount.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccount.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -104,8 +104,12 @@ public class SFAccount extends SFODataObject { private String Zip; @SerializedName("Country") private String Country; + @SerializedName("TaxAreaId") + private String TaxAreaId; @SerializedName("CreditCardType") private String CreditCardType; + @SerializedName("CreditCardToken") + private String CreditCardToken; @SerializedName("CreditCardNumber") private String CreditCardNumber; @SerializedName("CreditCardExpirationMonth") @@ -237,16 +241,10 @@ public String getAccountType() { public void setAccountType(String accounttype) { this.AccountType = accounttype; } - /** - * Basic, Professional, Enterprise - */ public String getPlanName() { return this.PlanName; } - /** - * Basic, Professional, Enterprise - */ public void setPlanName(String planname) { this.PlanName = planname; } @@ -264,29 +262,17 @@ public String getPlanTrackEnum() { public void setPlanTrackEnum(String plantrackenum) { this.PlanTrackEnum = plantrackenum; } - /** - * Credit Card, Invoice, Comp - */ public String getBillingType() { return this.BillingType; } - /** - * Credit Card, Invoice, Comp - */ public void setBillingType(String billingtype) { this.BillingType = billingtype; } - /** - * Monthly, Quarterly, Annually - */ public String getBillingCycle() { return this.BillingCycle; } - /** - * Monthly, Quarterly, Annually - */ public void setBillingCycle(String billingcycle) { this.BillingCycle = billingcycle; } @@ -304,120 +290,66 @@ public Double getBaseBillingRate() { public void setBaseBillingRate(Double basebillingrate) { this.BaseBillingRate = basebillingrate; } - /** - * Bandwidth included in plan in megabytes - */ public Integer getBaseBandwidth() { return this.BaseBandwidth; } - /** - * Bandwidth included in plan in megabytes - */ public void setBaseBandwidth(Integer basebandwidth) { this.BaseBandwidth = basebandwidth; } - /** - * Disk space included in megabytes - */ public Integer getBaseDiskSpace() { return this.BaseDiskSpace; } - /** - * Disk space included in megabytes - */ public void setBaseDiskSpace(Integer basediskspace) { this.BaseDiskSpace = basediskspace; } - /** - * Users included in plan - */ public Integer getBaseUsers() { return this.BaseUsers; } - /** - * Users included in plan - */ public void setBaseUsers(Integer baseusers) { this.BaseUsers = baseusers; } - /** - * Additional bandwidth purchased for account - */ public Integer getAdditionalBandwidth() { return this.AdditionalBandwidth; } - /** - * Additional bandwidth purchased for account - */ public void setAdditionalBandwidth(Integer additionalbandwidth) { this.AdditionalBandwidth = additionalbandwidth; } - /** - * Additional disk space purchased for account - */ public Integer getAdditionalDiskSpace() { return this.AdditionalDiskSpace; } - /** - * Additional disk space purchased for account - */ public void setAdditionalDiskSpace(Integer additionaldiskspace) { this.AdditionalDiskSpace = additionaldiskspace; } - /** - * Additional users purchased for account - */ public Integer getAdditionalUsers() { return this.AdditionalUsers; } - /** - * Additional users purchased for account - */ public void setAdditionalUsers(Integer additionalusers) { this.AdditionalUsers = additionalusers; } - /** - * Additional rate for extra bandwidth. NOTE: This is specified in gigbytes, not megabytes. - */ public Double getAdditionalBandwidthRate() { return this.AdditionalBandwidthRate; } - /** - * Additional rate for extra bandwidth. NOTE: This is specified in gigbytes, not megabytes. - */ public void setAdditionalBandwidthRate(Double additionalbandwidthrate) { this.AdditionalBandwidthRate = additionalbandwidthrate; } - /** - * Additional rate for extra diskspace. NOTE: This is specified in gigbytes, not megabytes. - */ public Double getAdditionalDiskSpaceRate() { return this.AdditionalDiskSpaceRate; } - /** - * Additional rate for extra diskspace. NOTE: This is specified in gigbytes, not megabytes. - */ public void setAdditionalDiskSpaceRate(Double additionaldiskspacerate) { this.AdditionalDiskSpaceRate = additionaldiskspacerate; } - /** - * Additional rate for extra users - */ public Double getAdditionalUserRate() { return this.AdditionalUserRate; } - /** - * Additional rate for extra users - */ public void setAdditionalUserRate(Double additionaluserrate) { this.AdditionalUserRate = additionaluserrate; } @@ -435,16 +367,10 @@ public SFUserUsage getUserUsage() { public void setUserUsage(SFUserUsage userusage) { this.UserUsage = userusage; } - /** - * Maximum disk space for the account in megabtyes - */ public Integer getDiskSpaceMax() { return this.DiskSpaceMax; } - /** - * Maximum disk space for the account in megabtyes - */ public void setDiskSpaceMax(Integer diskspacemax) { this.DiskSpaceMax = diskspacemax; } @@ -455,16 +381,10 @@ public SFDiskSpace getDiskSpace() { public void setDiskSpace(SFDiskSpace diskspace) { this.DiskSpace = diskspace; } - /** - * Maximum bandwidth for the account in megabtyes - */ public Integer getBandwidthMax() { return this.BandwidthMax; } - /** - * Maximum bandwidth for the account in megabtyes - */ public void setBandwidthMax(Integer bandwidthmax) { this.BandwidthMax = bandwidthmax; } @@ -482,29 +402,17 @@ public Boolean getHasEncryption() { public void setHasEncryption(Boolean hasencryption) { this.HasEncryption = hasencryption; } - /** - * Additional rate for adding PowerTools. - */ public Double getPowerToolsRate() { return this.PowerToolsRate; } - /** - * Additional rate for adding PowerTools. - */ public void setPowerToolsRate(Double powertoolsrate) { this.PowerToolsRate = powertoolsrate; } - /** - * Additional rate for stored file encryption - */ public Double getEncryptionRate() { return this.EncryptionRate; } - /** - * Additional rate for stored file encryption - */ public void setEncryptionRate(Double encryptionrate) { this.EncryptionRate = encryptionrate; } @@ -550,6 +458,13 @@ public String getCountry() { public void setCountry(String country) { this.Country = country; } + public String getTaxAreaId() { + return this.TaxAreaId; + } + + public void setTaxAreaId(String taxareaid) { + this.TaxAreaId = taxareaid; + } public String getCreditCardType() { return this.CreditCardType; } @@ -557,6 +472,13 @@ public String getCreditCardType() { public void setCreditCardType(String creditcardtype) { this.CreditCardType = creditcardtype; } + public String getCreditCardToken() { + return this.CreditCardToken; + } + + public void setCreditCardToken(String creditcardtoken) { + this.CreditCardToken = creditcardtoken; + } public String getCreditCardNumber() { return this.CreditCardNumber; } @@ -704,29 +626,17 @@ public SFProductDefaults getProductDefaults() { public void setProductDefaults(SFProductDefaults productdefaults) { this.ProductDefaults = productdefaults; } - /** - * Primary (first) subdomain - */ public String getSubdomain() { return this.Subdomain; } - /** - * Primary (first) subdomain - */ public void setSubdomain(String subdomain) { this.Subdomain = subdomain; } - /** - * All subdomains assigned to account - */ public ArrayList getSubdomains() { return this.Subdomains; } - /** - * All subdomains assigned to account - */ public void setSubdomains(ArrayList subdomains) { this.Subdomains = subdomains; } @@ -821,16 +731,10 @@ public SFSafeEnum getAccountSubType() { public void setAccountSubType(SFSafeEnum accountsubtype) { this.AccountSubType = accountsubtype; } - /** - * The add-on services available to the account - */ public SFServicesCollection getServices() { return this.Services; } - /** - * The add-on services available to the account - */ public void setServices(SFServicesCollection services) { this.Services = services; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountPreferences.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountPreferences.java index acc7662..cb018e8 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountPreferences.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountPreferences.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -156,6 +156,8 @@ public class SFAccountPreferences extends SFODataObject { private Integer MinimumNumeric; @SerializedName("AllowedSpecialCharacters") private String AllowedSpecialCharacters; + @SerializedName("PasswordPolicy") + private SFPasswordPolicy PasswordPolicy; @SerializedName("EnableWebDAV") private Boolean EnableWebDAV; @SerializedName("WebDAVServerName") @@ -270,6 +272,8 @@ public class SFAccountPreferences extends SFODataObject { private Boolean EnableDLP; @SerializedName("EnableIRM") private Boolean EnableIRM; + @SerializedName("EnableECMConnectors") + private Boolean EnableECMConnectors; @SerializedName("EnableOfficeOnlinePreviews") private Boolean EnableOfficeOnlinePreviews; @SerializedName("EnableOfficeOnlineEditing") @@ -300,6 +304,14 @@ public class SFAccountPreferences extends SFODataObject { private Boolean EnableDocumentApprovalWorkflow; @SerializedName("EnableLocalization") private Boolean EnableLocalization; + @SerializedName("EnableSecondaryDbContacts") + private Boolean EnableSecondaryDbContacts; + @SerializedName("EnableCADPreview") + private Boolean EnableCADPreview; + @SerializedName("EnableQuotaLimit") + private Boolean EnableQuotaLimit; + @SerializedName("QuotaLimitInGB") + private Integer QuotaLimitInGB; public Boolean getEnableViewOnly() { return this.EnableViewOnly; @@ -553,17 +565,29 @@ public Integer getExpirationDays() { public void setExpirationDays(Integer expirationdays) { this.ExpirationDays = expirationdays; } + /** + * Valid Values: string.Empty, Name, CreatorNameShort, FileSize, CreationDate + */ public String getDefaultSortField() { return this.DefaultSortField; } + /** + * Valid Values: string.Empty, Name, CreatorNameShort, FileSize, CreationDate + */ public void setDefaultSortField(String defaultsortfield) { this.DefaultSortField = defaultsortfield; } + /** + * Valid Values: string.Empty, asc, desc + */ public String getDefaultSortOrder() { return this.DefaultSortOrder; } + /** + * Valid Values: string.Empty, asc, desc + */ public void setDefaultSortOrder(String defaultsortorder) { this.DefaultSortOrder = defaultsortorder; } @@ -755,6 +779,19 @@ public String getAllowedSpecialCharacters() { public void setAllowedSpecialCharacters(String allowedspecialcharacters) { this.AllowedSpecialCharacters = allowedspecialcharacters; + } + /** + * The password policy for the Account, specifying password strength, age, and reuse policies. + */ + public SFPasswordPolicy getPasswordPolicy() { + return this.PasswordPolicy; + } + + /** + * The password policy for the Account, specifying password strength, age, and reuse policies. + */ + public void setPasswordPolicy(SFPasswordPolicy passwordpolicy) { + this.PasswordPolicy = passwordpolicy; } public Boolean getEnableWebDAV() { return this.EnableWebDAV; @@ -763,10 +800,20 @@ public Boolean getEnableWebDAV() { public void setEnableWebDAV(Boolean enablewebdav) { this.EnableWebDAV = enablewebdav; } + /** + * ShareFile allows users on certain plans to connect with your ShareFile account through WebDAV to various clients. + * ShareFile WebDAV is not available for Enterprise accounts. This tool is not compatible with on-premise storage and cannot be used with company credentials. + * This property describes WebDAV server information. It cannot be modified. + */ public String getWebDAVServerName() { return this.WebDAVServerName; } + /** + * ShareFile allows users on certain plans to connect with your ShareFile account through WebDAV to various clients. + * ShareFile WebDAV is not available for Enterprise accounts. This tool is not compatible with on-premise storage and cannot be used with company credentials. + * This property describes WebDAV server information. It cannot be modified. + */ public void setWebDAVServerName(String webdavservername) { this.WebDAVServerName = webdavservername; } @@ -784,10 +831,18 @@ public Boolean getEnableSFTP() { public void setEnableSFTP(Boolean enablesftp) { this.EnableSFTP = enablesftp; } + /** + * ShareFile is compatible with most well-known FTP clients, enabling you to connect to your ShareFile account directly from an FTP program. + * This property describes FTP server information. It cannot be modified. + */ public String getFtpServerName() { return this.FtpServerName; } + /** + * ShareFile is compatible with most well-known FTP clients, enabling you to connect to your ShareFile account directly from an FTP program. + * This property describes FTP server information. It cannot be modified. + */ public void setFtpServerName(String ftpservername) { this.FtpServerName = ftpservername; } @@ -1106,10 +1161,18 @@ public Boolean getCreatorCanDelete() { public void setCreatorCanDelete(Boolean creatorcandelete) { this.CreatorCanDelete = creatorcandelete; } + /** + * Whether the account can store items in the ShareFile control plane (as opposed to + * Connectors). Driven by the EnableCloudStorage and EnablePrivateZones account preferences. + */ public Boolean getCanStoreItemsInShareFile() { return this.CanStoreItemsInShareFile; } + /** + * Whether the account can store items in the ShareFile control plane (as opposed to + * Connectors). Driven by the EnableCloudStorage and EnablePrivateZones account preferences. + */ public void setCanStoreItemsInShareFile(Boolean canstoreitemsinsharefile) { this.CanStoreItemsInShareFile = canstoreitemsinsharefile; } @@ -1155,6 +1218,13 @@ public Boolean getEnableIRM() { public void setEnableIRM(Boolean enableirm) { this.EnableIRM = enableirm; } + public Boolean getEnableECMConnectors() { + return this.EnableECMConnectors; + } + + public void setEnableECMConnectors(Boolean enableecmconnectors) { + this.EnableECMConnectors = enableecmconnectors; + } public Boolean getEnableOfficeOnlinePreviews() { return this.EnableOfficeOnlinePreviews; } @@ -1169,17 +1239,29 @@ public Boolean getEnableOfficeOnlineEditing() { public void setEnableOfficeOnlineEditing(Boolean enableofficeonlineediting) { this.EnableOfficeOnlineEditing = enableofficeonlineediting; } + /** + * Retention period of items in the recycle bin. + */ public Integer getRecycleBinDays() { return this.RecycleBinDays; } + /** + * Retention period of items in the recycle bin. + */ public void setRecycleBinDays(Integer recyclebindays) { this.RecycleBinDays = recyclebindays; } + /** + * Maximum number of concurrent uploads and downloads a Sync client should be creating, at any one time. + */ public Integer getSyncConcurrentTransferThreadsLimit() { return this.SyncConcurrentTransferThreadsLimit; } + /** + * Maximum number of concurrent uploads and downloads a Sync client should be creating, at any one time. + */ public void setSyncConcurrentTransferThreadsLimit(Integer syncconcurrenttransferthreadslimit) { this.SyncConcurrentTransferThreadsLimit = syncconcurrenttransferthreadslimit; } @@ -1218,31 +1300,55 @@ public SFAccountMessageCode getAccountMessageCode() { public void setAccountMessageCode(SFAccountMessageCode accountmessagecode) { this.AccountMessageCode = accountmessagecode; } + /** + * Enable use of Single Identity authentication service for this account + */ public Boolean getEnableSingleIdentity() { return this.EnableSingleIdentity; } + /** + * Enable use of Single Identity authentication service for this account + */ public void setEnableSingleIdentity(Boolean enablesingleidentity) { this.EnableSingleIdentity = enablesingleidentity; } + /** + * Enable the use of the Drive Mapper utility for this account + */ public Boolean getEnableDriveMapping() { return this.EnableDriveMapping; } + /** + * Enable the use of the Drive Mapper utility for this account + */ public void setEnableDriveMapping(Boolean enabledrivemapping) { this.EnableDriveMapping = enabledrivemapping; } + /** + * Email notification locale. Values: Invariant, English, German, Spanish, French, Dutch, Chinese, Russian, Japanese, Korean, or Portuguese + */ public SFSafeEnum getNotificationLocale() { return this.NotificationLocale; } + /** + * Email notification locale. Values: Invariant, English, German, Spanish, French, Dutch, Chinese, Russian, Japanese, Korean, or Portuguese + */ public void setNotificationLocale(SFSafeEnum notificationlocale) { this.NotificationLocale = notificationlocale; } + /** + * If true, only Account Admins can update a folder's retention policy + */ public Boolean getRetentionPolicySysAdminOnly() { return this.RetentionPolicySysAdminOnly; } + /** + * If true, only Account Admins can update a folder's retention policy + */ public void setRetentionPolicySysAdminOnly(Boolean retentionpolicysysadminonly) { this.RetentionPolicySysAdminOnly = retentionpolicysysadminonly; } @@ -1253,12 +1359,46 @@ public Boolean getEnableDocumentApprovalWorkflow() { public void setEnableDocumentApprovalWorkflow(Boolean enabledocumentapprovalworkflow) { this.EnableDocumentApprovalWorkflow = enabledocumentapprovalworkflow; } + /** + * Enable localization + */ public Boolean getEnableLocalization() { return this.EnableLocalization; } + /** + * Enable localization + */ public void setEnableLocalization(Boolean enablelocalization) { this.EnableLocalization = enablelocalization; } + public Boolean getEnableSecondaryDbContacts() { + return this.EnableSecondaryDbContacts; + } + + public void setEnableSecondaryDbContacts(Boolean enablesecondarydbcontacts) { + this.EnableSecondaryDbContacts = enablesecondarydbcontacts; + } + public Boolean getEnableCADPreview() { + return this.EnableCADPreview; + } + + public void setEnableCADPreview(Boolean enablecadpreview) { + this.EnableCADPreview = enablecadpreview; + } + public Boolean getEnableQuotaLimit() { + return this.EnableQuotaLimit; + } + + public void setEnableQuotaLimit(Boolean enablequotalimit) { + this.EnableQuotaLimit = enablequotalimit; + } + public Integer getQuotaLimitInGB() { + return this.QuotaLimitInGB; + } + + public void setQuotaLimitInGB(Integer quotalimitingb) { + this.QuotaLimitInGB = quotalimitingb; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBillingInfo.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBillingInfo.java index ad1f118..c020b11 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBillingInfo.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBillingInfo.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -40,6 +40,8 @@ public class SFBillingInfo extends SFODataObject { private String Country; @SerializedName("Zip") private String Zip; + @SerializedName("TaxAreaId") + private String TaxAreaId; @SerializedName("CreditCardFirstName") private String CreditCardFirstName; @SerializedName("CreditCardLastName") @@ -104,6 +106,13 @@ public String getZip() { public void setZip(String zip) { this.Zip = zip; } + public String getTaxAreaId() { + return this.TaxAreaId; + } + + public void setTaxAreaId(String taxareaid) { + this.TaxAreaId = taxareaid; + } public String getCreditCardFirstName() { return this.CreditCardFirstName; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCapabilityName.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCapabilityName.java index a8a882e..8030f6a 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCapabilityName.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCapabilityName.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -64,5 +64,10 @@ public enum SFCapabilityName { UnZipFileUploads, RightSignature4, DocumentApprovalWorkflow, - ShareAccessRight + ShareAccessRight, + ItemSortByName, + ItemSortByCreatorNameShort, + ItemSortByCreationDate, + ItemSortByFileSizeBytes, + ItemFoldersFirstGrouping } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFChunkType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFChunkType.java new file mode 100644 index 0000000..6a10197 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFChunkType.java @@ -0,0 +1,22 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFChunkType { + Alphanumeric, + Numeric +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEntityTypeMap.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEntityTypeMap.java index 080e372..9a25c72 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEntityTypeMap.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEntityTypeMap.java @@ -5,7 +5,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ package com.citrix.sharefile.api.models; @@ -40,12 +40,17 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("IrmPrimaryAccessRightParamss", SFIrmPrimaryAccessRightParams.class); _entityTypeMap.put("NotifyUsersParams", SFNotifyUsersParams.class); _entityTypeMap.put("NotifyUsersParamss", SFNotifyUsersParams.class); + _entityTypeMap.put("PasswordPolicy", SFPasswordPolicy.class); _entityTypeMap.put("RemoteUpload", SFRemoteUpload.class); _entityTypeMap.put("RemoteUploads", SFRemoteUpload.class); _entityTypeMap.put("UploadRequestParams", SFUploadRequestParams.class); _entityTypeMap.put("UploadRequestParamss", SFUploadRequestParams.class); _entityTypeMap.put("RemoteUploadRequestParams", SFRemoteUploadRequestParams.class); _entityTypeMap.put("RemoteUploadRequestParamss", SFRemoteUploadRequestParams.class); + _entityTypeMap.put("SalesTaxQuote", SFSalesTaxQuote.class); + _entityTypeMap.put("SalesTaxQuotes", SFSalesTaxQuote.class); + _entityTypeMap.put("SecurityQuestion", SFSecurityQuestion.class); + _entityTypeMap.put("SecurityQuestions", SFSecurityQuestion.class); _entityTypeMap.put("Service", SFService.class); _entityTypeMap.put("Services", SFService.class); _entityTypeMap.put("ServicesCollection", SFServicesCollection.class); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFExceptionReason.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFExceptionReason.java index 9d341fd..24965de 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFExceptionReason.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFExceptionReason.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -55,5 +55,12 @@ public enum SFExceptionReason { UnsupportedIrmFileType, IrmClassificationDisabled, IrmClassificationNotFound, - DuplicateIrmClassificationName + DuplicateIrmClassificationName, + KmsError, + ErrorCreatingNewFile, + UnsupportedCreateNewFileType, + TemporaryConnectivityFailure, + FilesRestrictedByAntiVirus, + BadAddress, + MaintenanceMode } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIntegrationProvider.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIntegrationProvider.java index 25fe13a..6cb7f41 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIntegrationProvider.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIntegrationProvider.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -19,5 +19,6 @@ public enum SFIntegrationProvider { RightSignature, RightSignature4, - DocumentApprovalWorkflow + DocumentApprovalWorkflow, + Image32 } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemOrderingMode.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemOrderingMode.java index 69138d4..7e455e2 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemOrderingMode.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemOrderingMode.java @@ -18,5 +18,6 @@ public enum SFItemOrderingMode { Default, - FoldersFirst + FoldersFirst, + UseFolderOptions } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPasswordPolicy.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPasswordPolicy.java new file mode 100644 index 0000000..734baa4 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPasswordPolicy.java @@ -0,0 +1,174 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFPasswordPolicy extends SFODataObject { + + @SerializedName("MaxAgeDays") + private Integer MaxAgeDays; + @SerializedName("HistoryCount") + private Integer HistoryCount; + @SerializedName("MinimumLength") + private Integer MinimumLength; + @SerializedName("MinimumSpecialCharacters") + private Integer MinimumSpecialCharacters; + @SerializedName("MinimumNumeric") + private Integer MinimumNumeric; + @SerializedName("AllowedSpecialCharacters") + private String AllowedSpecialCharacters; + @SerializedName("ValidationRegEx") + private String ValidationRegEx; + @SerializedName("ValidationRegExFormula") + private String ValidationRegExFormula; + @SerializedName("ValidationRegExDescription") + private String ValidationRegExDescription; + + /** + * Number of days a password is allowed to be used before being required to change it. + */ + public Integer getMaxAgeDays() { + return this.MaxAgeDays; + } + + /** + * Number of days a password is allowed to be used before being required to change it. + */ + public void setMaxAgeDays(Integer maxagedays) { + this.MaxAgeDays = maxagedays; + } + /** + * The number of previously used passwords to disallow when a user updates their password. + */ + public Integer getHistoryCount() { + return this.HistoryCount; + } + + /** + * The number of previously used passwords to disallow when a user updates their password. + */ + public void setHistoryCount(Integer historycount) { + this.HistoryCount = historycount; + } + /** + * The minimum length a password is required to be. + * Must be greater than or equal to 8. + * Cannot be smaller than the combination of required special characters + required numerics + 1 Upper Case character + 1 Lower Case character. + */ + public Integer getMinimumLength() { + return this.MinimumLength; + } + + /** + * The minimum length a password is required to be. + * Must be greater than or equal to 8. + * Cannot be smaller than the combination of required special characters + required numerics + 1 Upper Case character + 1 Lower Case character. + */ + public void setMinimumLength(Integer minimumlength) { + this.MinimumLength = minimumlength; + } + /** + * The minimum number of special characters a password must contain. + * Special Characters are defined in the AllowedSpecialCharacters field. + */ + public Integer getMinimumSpecialCharacters() { + return this.MinimumSpecialCharacters; + } + + /** + * The minimum number of special characters a password must contain. + * Special Characters are defined in the AllowedSpecialCharacters field. + */ + public void setMinimumSpecialCharacters(Integer minimumspecialcharacters) { + this.MinimumSpecialCharacters = minimumspecialcharacters; + } + /** + * The miminum number of numeric characters a password must contain. + * Must be greater than or equal to 1. + */ + public Integer getMinimumNumeric() { + return this.MinimumNumeric; + } + + /** + * The miminum number of numeric characters a password must contain. + * Must be greater than or equal to 1. + */ + public void setMinimumNumeric(Integer minimumnumeric) { + this.MinimumNumeric = minimumnumeric; + } + /** + * Read only field - the special characters allowed in a password. + */ + public String getAllowedSpecialCharacters() { + return this.AllowedSpecialCharacters; + } + + /** + * Read only field - the special characters allowed in a password. + */ + public void setAllowedSpecialCharacters(String allowedspecialcharacters) { + this.AllowedSpecialCharacters = allowedspecialcharacters; + } + /** + * Read only field - The full Regular Expression used to determine if a password meets the strength policy. + */ + public String getValidationRegEx() { + return this.ValidationRegEx; + } + + /** + * Read only field - The full Regular Expression used to determine if a password meets the strength policy. + */ + public void setValidationRegEx(String validationregex) { + this.ValidationRegEx = validationregex; + } + /** + * Read only field - Colon separated regular expression rules. + */ + public String getValidationRegExFormula() { + return this.ValidationRegExFormula; + } + + /** + * Read only field - Colon separated regular expression rules. + */ + public void setValidationRegExFormula(String validationregexformula) { + this.ValidationRegExFormula = validationregexformula; + } + /** + * Read only field - A localized description of the password strength policy + */ + public String getValidationRegExDescription() { + return this.ValidationRegExDescription; + } + + /** + * Read only field - A localized description of the password strength policy + */ + public void setValidationRegExDescription(String validationregexdescription) { + this.ValidationRegExDescription = validationregexdescription; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSalesTaxQuote.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSalesTaxQuote.java new file mode 100644 index 0000000..f547663 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSalesTaxQuote.java @@ -0,0 +1,58 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFSalesTaxQuote extends SFODataObject { + + @SerializedName("TaxRate") + private Double TaxRate; + @SerializedName("TotalTax") + private Double TotalTax; + @SerializedName("ErrorMessage") + private String ErrorMessage; + + public Double getTaxRate() { + return this.TaxRate; + } + + public void setTaxRate(Double taxrate) { + this.TaxRate = taxrate; + } + public Double getTotalTax() { + return this.TotalTax; + } + + public void setTotalTax(Double totaltax) { + this.TotalTax = totaltax; + } + public String getErrorMessage() { + return this.ErrorMessage; + } + + public void setErrorMessage(String errormessage) { + this.ErrorMessage = errormessage; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSecurityQuestion.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSecurityQuestion.java new file mode 100644 index 0000000..8c5aa10 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSecurityQuestion.java @@ -0,0 +1,49 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFSecurityQuestion extends SFODataObject { + + @SerializedName("Question") + private String Question; + @SerializedName("Answer") + private String Answer; + + public String getQuestion() { + return this.Question; + } + + public void setQuestion(String question) { + this.Question = question; + } + public String getAnswer() { + return this.Answer; + } + + public void setAnswer(String answer) { + this.Answer = answer; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSubType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSubType.java index d39af7d..9b74850 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSubType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSubType.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -19,5 +19,6 @@ public enum SFShareSubType { None, Email, - Connector + Connector, + ConnectorWithIrm } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserConfirmationSettings.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserConfirmationSettings.java index cbb4b54..5f906b5 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserConfirmationSettings.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserConfirmationSettings.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -48,6 +48,8 @@ public class SFUserConfirmationSettings extends SFODataObject { private String TimeFormat; @SerializedName("EmailInterval") private Integer EmailInterval; + @SerializedName("UserNotificationLocale") + private SFSafeEnum UserNotificationLocale; public String getFirstName() { return this.FirstName; @@ -126,5 +128,18 @@ public Integer getEmailInterval() { public void setEmailInterval(Integer emailinterval) { this.EmailInterval = emailinterval; } + /** + * Email notification locale. Values: Invariant, English, German, Spanish, French, Dutch, Chinese, Russian, Japanese, Korean, or Portuguese + */ + public SFSafeEnum getUserNotificationLocale() { + return this.UserNotificationLocale; + } + + /** + * Email notification locale. Values: Invariant, English, German, Spanish, French, Dutch, Chinese, Russian, Japanese, Korean, or Portuguese + */ + public void setUserNotificationLocale(SFSafeEnum usernotificationlocale) { + this.UserNotificationLocale = usernotificationlocale; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneService.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneService.java index e0316b7..7830d2a 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneService.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneService.java @@ -33,5 +33,9 @@ public enum SFZoneService { ShareConnectConnector, Preview, HighConcurrency, - InformationRightsManagement + InformationRightsManagement, + DocumentumConnector, + AlfrescoConnector, + OpenTextConnector, + FileNetConnector } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/utils/SFDateFormat.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/utils/SFDateFormat.java index 3e1cd72..131f347 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/utils/SFDateFormat.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/utils/SFDateFormat.java @@ -1,12 +1,11 @@ package com.citrix.sharefile.api.utils; +import com.citrix.sharefile.api.log.Logger; + import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; -import java.util.Locale; - -import com.citrix.sharefile.api.log.Logger; public class SFDateFormat @@ -15,27 +14,24 @@ public class SFDateFormat //Add more ShareFile date formats if newer formats get added - private static final SimpleDateFormat v3SimpleDateFormat = new SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ss.SSSSSSSSSSZ"); - private static final SimpleDateFormat v3SimpleDateFormat2 = new SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ss"); - private static final SimpleDateFormat v3SimpleDateFormat3 = new SimpleDateFormat("EEEE, dd MMM yyyy HH:mm:ss z"); + //Don't do zone replace. Java versions less than 8 have severe bugs and difference between Android/Desktop + //JodaTime is no fun either. + //This date format needs Zone replacement which causes erroneous dates on Java. + //private static final SimpleDateFormat v3SimpleDateFormat = new SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ss.SSSSSSSSSSZ"); + private static final SimpleDateFormat simpleDateFormat = new SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ss"); + private static final SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("EEEE, dd MMM yyyy HH:mm:ss z"); private static final SFDateFormat[] mSFDateFormats = new SFDateFormat[] { - new SFDateFormat(v3SimpleDateFormat, "+0000"), - new SFDateFormat(v3SimpleDateFormat2, ""), - new SFDateFormat(v3SimpleDateFormat3, "") + new SFDateFormat(simpleDateFormat), + new SFDateFormat(simpleDateFormat2) }; - - - private final SimpleDateFormat mFormat; - private final String mZoneReplace; - public static final SimpleDateFormat v1SimpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss", Locale.US); + private final SimpleDateFormat mFormat; - public SFDateFormat(SimpleDateFormat sf,String zonereplace) + public SFDateFormat(SimpleDateFormat sf) { mFormat = sf; - mZoneReplace = zonereplace; } private static Date parse(SFDateFormat format, String str) @@ -44,7 +40,7 @@ private static Date parse(SFDateFormat format, String str) try { - ret = format.mFormat.parse(str.replace("Z", format.mZoneReplace)); + ret = format.mFormat.parse(str); } catch (ParseException e) { diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/utils/SafeEnumHelpers.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/utils/SafeEnumHelpers.java index 60b8efa..0b527b9 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/utils/SafeEnumHelpers.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/utils/SafeEnumHelpers.java @@ -40,10 +40,6 @@ public static Class getEnumClass(String className) clazz = Class.forName(containedClassName); } - catch (ClassNotFoundException e) - { - Logger.e(TAG,e); - } catch (Exception e) { Logger.e(TAG,e); @@ -51,20 +47,20 @@ public static Class getEnumClass(String className) return clazz; } - + public static > T getEnumFromString(Class c, String string) { - if( c != null && string != null ) - { - try - { - return Enum.valueOf(c, string); - } - catch(IllegalArgumentException ex) - { - Logger.e("SafeEnumHelper",ex); - } - } - return null; + if( c != null && string != null ) + { + try + { + return Enum.valueOf(c, string); + } + catch(IllegalArgumentException ex) + { + Logger.d("SafeEnumHelper", ex.getLocalizedMessage()); + } + } + return null; } } \ No newline at end of file From cefd1d2571bd402341d24f67ba63cc480f5c9322 Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Wed, 23 Nov 2016 11:18:16 +0530 Subject: [PATCH 51/70] get the changes from sharefile release/4.10 --- .../com/citrix/sharefile/api/SFApiClient.java | 2 +- .../sharefile/api/SFApiQueryExecutor.java | 14 ++--- .../sharefile/api/entities/ISFEntities.java | 2 +- .../api/entities/SFAccessControlsEntity.java | 15 +++-- .../api/entities/SFAccountsEntity.java | 2 +- .../api/entities/SFAsyncOperationsEntity.java | 6 +- .../api/entities/SFCapabilitiesEntity.java | 2 +- .../api/entities/SFConnectorGroupsEntity.java | 10 ++- .../api/entities/SFGroupsEntity.java | 2 +- .../sharefile/api/entities/SFItemsEntity.java | 24 +++++++ .../api/entities/SFMetadataEntity.java | 2 +- .../api/entities/SFRemoteUploadsEntity.java | 2 +- .../api/entities/SFReportsEntity.java | 4 +- .../api/entities/SFSessionsEntity.java | 2 +- .../api/entities/SFStorageCentersEntity.java | 2 +- .../sharefile/api/entities/SFUsersEntity.java | 11 ++-- .../sharefile/api/entities/SFZonesEntity.java | 20 +++++- .../sharefile/api/models/SFAccessControl.java | 2 +- .../api/models/SFAccessControlBulkResult.java | 2 +- .../api/models/SFAccessControlDomains.java | 2 +- .../models/SFAccessControlFailedEntry.java | 2 +- .../api/models/SFAccessControlFilter.java | 2 +- .../api/models/SFAccessControlParam.java | 2 +- .../models/SFAccessControlsBulkParams.java | 2 +- .../models/SFAccessControlsCloneParams.java | 16 ++--- .../api/models/SFAccountSubType.java | 2 +- .../sharefile/api/models/SFAccountUser.java | 2 +- .../api/models/SFAccountZoneUsage.java | 2 +- .../api/models/SFAdvancedSearchResults.java | 2 +- .../api/models/SFAsyncOperation.java | 2 +- .../api/models/SFAsyncOperationState.java | 2 +- .../api/models/SFAsyncOperationType.java | 2 +- .../sharefile/api/models/SFCapability.java | 2 +- .../api/models/SFClientCapability.java | 2 +- .../api/models/SFConnectorGroup.java | 2 +- .../models/SFConnectorGroupAccessControl.java | 2 +- .../api/models/SFConnectorGroupKind.java | 2 +- .../api/models/SFConnectorGroupZone.java | 2 +- .../sharefile/api/models/SFContact.java | 2 +- .../citrix/sharefile/api/models/SFDevice.java | 2 +- .../models/SFDeviceActionInitiatorRole.java | 2 +- .../api/models/SFDeviceLogEntry.java | 2 +- .../api/models/SFDeviceLogEntryAction.java | 2 +- .../sharefile/api/models/SFDeviceStatus.java | 2 +- .../sharefile/api/models/SFDeviceUser.java | 2 +- .../api/models/SFDeviceUserWipe.java | 2 +- .../api/models/SFDeviceWipeReport.java | 2 +- .../sharefile/api/models/SFDiskSpace.java | 2 +- .../sharefile/api/models/SFDlpStatus.java | 2 +- .../api/models/SFDocumentViewerPrinting.java | 2 +- .../api/models/SFDownloadSpecification.java | 2 +- .../sharefile/api/models/SFESignature.java | 2 +- .../models/SFESignatureDocumentStatus.java | 2 +- .../api/models/SFEditingPlatform.java | 2 +- .../api/models/SFEditingPlatformInfo.java | 2 +- .../api/models/SFEnsDeviceEventType.java | 2 +- .../sharefile/api/models/SFEnsEventType.java | 2 +- .../models/SFEnsSubscriberConfiguration.java | 2 +- .../api/models/SFEnsSubscriptionRequest.java | 2 +- .../api/models/SFEnsSubscriptionToken.java | 2 +- .../api/models/SFFavoriteFolder.java | 2 +- .../citrix/sharefile/api/models/SFFile.java | 2 +- .../sharefile/api/models/SFFileLock.java | 2 +- .../api/models/SFFileVirusStatus.java | 2 +- .../api/models/SFFindSubdomainParams.java | 2 +- .../api/models/SFFindSubdomainResult.java | 2 +- .../citrix/sharefile/api/models/SFFolder.java | 2 +- .../sharefile/api/models/SFFolderOption.java | 2 +- .../api/models/SFFolderTemplate.java | 2 +- .../api/models/SFFolderTemplateItem.java | 2 +- .../sharefile/api/models/SFGenericConfig.java | 2 +- .../citrix/sharefile/api/models/SFGroup.java | 2 +- .../sharefile/api/models/SFInboxMetadata.java | 2 +- .../sharefile/api/models/SFIndustry.java | 2 +- .../citrix/sharefile/api/models/SFItem.java | 2 +- .../sharefile/api/models/SFItemAction.java | 2 +- .../sharefile/api/models/SFItemDlpInfo.java | 2 +- .../sharefile/api/models/SFItemInfo.java | 2 +- .../api/models/SFItemProtocolLink.java | 2 +- .../citrix/sharefile/api/models/SFLink.java | 2 +- .../sharefile/api/models/SFLockType.java | 2 +- .../api/models/SFMarketAnalytics.java | 2 +- .../sharefile/api/models/SFMetadata.java | 2 +- .../api/models/SFMobileSecuritySettings.java | 2 +- .../citrix/sharefile/api/models/SFNote.java | 2 +- .../sharefile/api/models/SFNotification.java | 2 +- .../api/models/SFNotifyUsersParams.java | 2 +- .../sharefile/api/models/SFODataFeed.java | 2 +- .../sharefile/api/models/SFODataObject.java | 2 +- .../api/models/SFODataObjectType.java | 2 +- .../api/models/SFOutlookInformation.java | 2 +- .../SFOutlookInformationOptionBool.java | 2 +- .../models/SFOutlookInformationOptionInt.java | 2 +- .../SFOutlookInformationOptionString.java | 2 +- .../sharefile/api/models/SFPinLockType.java | 2 +- .../sharefile/api/models/SFPlanFeatures.java | 2 +- .../sharefile/api/models/SFPowerTools.java | 2 +- .../api/models/SFPreviewPlatform.java | 2 +- .../api/models/SFPreviewPlatformInfo.java | 2 +- .../sharefile/api/models/SFPreviewStatus.java | 2 +- .../sharefile/api/models/SFPrincipal.java | 2 +- .../api/models/SFProductDefaults.java | 2 +- .../citrix/sharefile/api/models/SFQuery.java | 2 +- .../sharefile/api/models/SFQueryPaging.java | 2 +- .../sharefile/api/models/SFQuerySorting.java | 2 +- .../sharefile/api/models/SFRedirection.java | 2 +- .../sharefile/api/models/SFRemoteUpload.java | 2 +- .../citrix/sharefile/api/models/SFReport.java | 2 +- .../api/models/SFReportDateOption.java | 2 +- .../api/models/SFReportObjectType.java | 2 +- .../sharefile/api/models/SFReportRecord.java | 2 +- .../api/models/SFReportRunFrequency.java | 2 +- .../api/models/SFReportRunStatus.java | 2 +- .../sharefile/api/models/SFReportType.java | 2 +- .../api/models/SFRequireSubdomainResult.java | 2 +- .../api/models/SFRequireWebPopResult.java | 2 +- .../citrix/sharefile/api/models/SFSFTool.java | 2 +- .../api/models/SFSSOAccountProvider.java | 2 +- .../sharefile/api/models/SFSSOInfo.java | 2 +- .../sharefile/api/models/SFSSOInfoEntry.java | 2 +- .../sharefile/api/models/SFSearchQuery.java | 2 +- .../sharefile/api/models/SFSearchResult.java | 2 +- .../sharefile/api/models/SFSearchResults.java | 2 +- .../sharefile/api/models/SFSession.java | 2 +- .../citrix/sharefile/api/models/SFShare.java | 2 +- .../sharefile/api/models/SFShareAlias.java | 2 +- .../api/models/SFShareItemHistory.java | 2 +- .../api/models/SFShareRequestParams.java | 62 ++++++++++++++++++- .../api/models/SFShareResendParams.java | 26 +++++++- .../sharefile/api/models/SFShareSettings.java | 2 +- .../sharefile/api/models/SFShareType.java | 2 +- .../sharefile/api/models/SFSimpleQuery.java | 2 +- .../api/models/SFSimpleSearchQuery.java | 2 +- .../sharefile/api/models/SFSortDirection.java | 2 +- .../sharefile/api/models/SFSortField.java | 2 +- .../sharefile/api/models/SFStorageCenter.java | 2 +- .../sharefile/api/models/SFSymbolicLink.java | 2 +- .../api/models/SFTenantZoneUsageReport.java | 2 +- .../api/models/SFToolInformation.java | 2 +- .../sharefile/api/models/SFTreeMode.java | 2 +- .../sharefile/api/models/SFTypeOfTour.java | 2 +- .../citrix/sharefile/api/models/SFUXMode.java | 2 +- .../sharefile/api/models/SFUploadMethod.java | 2 +- .../api/models/SFUploadRequestParams.java | 2 +- .../api/models/SFUploadSpecification.java | 2 +- .../citrix/sharefile/api/models/SFUser.java | 2 +- .../api/models/SFUserConfirmRequirement.java | 2 +- .../sharefile/api/models/SFUserInfo.java | 2 +- .../sharefile/api/models/SFUserRole.java | 2 +- .../sharefile/api/models/SFUserSecurity.java | 2 +- .../sharefile/api/models/SFUserUsage.java | 2 +- .../sharefile/api/models/SFVRootType.java | 2 +- .../sharefile/api/models/SFVersioning.java | 2 +- .../api/models/SFWatermarkedDownloads.java | 2 +- .../citrix/sharefile/api/models/SFZone.java | 2 +- .../sharefile/api/models/SFZoneType.java | 2 +- .../api/models/SFZoneUsageBreakdown.java | 2 +- maven_release_tools/readme.txt | 15 ++++- 158 files changed, 331 insertions(+), 184 deletions(-) diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiClient.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiClient.java index 906b3a9..02e68e2 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiClient.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiClient.java @@ -384,7 +384,7 @@ public SFUploadRunnable getUploader(SFUploadRequestParams uploadRequestParams, * @throws com.citrix.sharefile.api.exceptions.SFServerException */ @Deprecated - public SFUploadRunnable prepareUpload(String destinationName, String details, String v3Url, boolean overwrite, int resumeFromByteIndex, long tolalBytes, InputStream inputStream, TransferRunnable.IProgress progressListener, String connUserName,String connPassword) throws SFInvalidStateException, SFServerException { + public SFUploadRunnable prepareUpload(String destinationName, String details, String v3Url, boolean overwrite, long resumeFromByteIndex, long tolalBytes, InputStream inputStream, TransferRunnable.IProgress progressListener, String connUserName,String connPassword) throws SFInvalidStateException, SFServerException { validateClientState(); return new SFUploadRunnable(v3Url, overwrite, resumeFromByteIndex, tolalBytes, destinationName, inputStream, this, progressListener, mCookieManager, connUserName, connPassword, details); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java index 6fc9727..4e759ba 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java @@ -111,11 +111,11 @@ private void handleHttPost(URLConnection conn) throws IOException return; } - String body = mQuery.getBody(); + String body = mQuery.getBody(); - // OnDesktop systems CONTENT_LENGTH is not set by default. - // Also setting zero content lenght and not sending anything causes server errors - // So set an empty JSON. + // On Desktop systems CONTENT_LENGTH is not set by default. + // Also setting zero content length and not sending anything causes server errors + // So set an empty JSON. //https://community.sharefilesupport.com/citrixsharefile/topics/-content-length // NOTE: by this point we have already set the HTTP method on the connection to POST // and all the other verbs: DELETE, PATCH etc are passed as an HTTP_METHOD_OVERRIDE @@ -125,9 +125,9 @@ private void handleHttPost(URLConnection conn) throws IOException body = EMPTY_JSON; } - conn.setRequestProperty(SFKeywords.CONTENT_LENGTH, ""+body.getBytes().length); - conn.setRequestProperty(SFKeywords.CONTENT_TYPE, SFKeywords.APPLICATION_JSON); - SFHttpsCaller.postBody(conn, body); + conn.setRequestProperty(SFKeywords.CONTENT_LENGTH, ""+body.getBytes().length); + conn.setRequestProperty(SFKeywords.CONTENT_TYPE, SFKeywords.APPLICATION_JSON); + SFHttpsCaller.postBody(conn, body); } private boolean shouldGetInputStream() diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/ISFEntities.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/ISFEntities.java index 3c3a654..64a697a 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/ISFEntities.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/ISFEntities.java @@ -5,7 +5,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccessControlsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccessControlsEntity.java index cb54071..4a8cc34 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccessControlsEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccessControlsEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -89,7 +89,6 @@ public ISFQuery> getByItem(URI url) throws InvalidO * @param url * @param accessControl * @param recursive (default: false) - * @param message (default: null) * @param sendDefaultNotification (default: false) * @return the created or modified AccessControl instance */ @@ -463,15 +462,15 @@ public ISFQuery bulkSetForPrincipal(SFAccessControlsB } /** - * Recursively clones multiple access controls for a multiple users + * Recursively clones multiple access controls for multiple principals * { * "FolderId":"top-level-folder-id", - * "UserId":"source-user-id", - * "CloneUserIds": + * "PrincipalId":"source-user-or-group-id", + * "ClonePrincipalIds": * [ - * "clone-user-id-1", - * "clone-user-id-2", - * "clone-user-id-3" + * "clone-user-or-group-id-1", + * "clone-user-or-group-id-2", + * "clone-user-or-group-id-3" * ] * } * @param accessControlsCloneParams diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccountsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccountsEntity.java index dd11696..27b70dc 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccountsEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccountsEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAsyncOperationsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAsyncOperationsEntity.java index 3e30a81..7da45e1 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAsyncOperationsEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAsyncOperationsEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -74,8 +74,10 @@ public ISFQuery> getByBatch(String id) throws Inva } /** - * Get the progress of the AsyncOperations by Opertaion Batch ID + * Get progress of AsyncOperations by Operation Batch ID + * Retrieves an AsyncOperation containing batch progress by Operation Batch ID * @param id + * @return An Async Operation object containing batch progress */ public ISFQuery getBatch(String id) throws InvalidOrMissingParameterException { if (id == null) { diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFCapabilitiesEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFCapabilitiesEntity.java index 52dd58f..8b8151e 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFCapabilitiesEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFCapabilitiesEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFConnectorGroupsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFConnectorGroupsEntity.java index 65fa0fc..596a21a 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFConnectorGroupsEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFConnectorGroupsEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -36,6 +36,11 @@ public SFConnectorGroupsEntity(ISFApiClient client) { super(client); } + /** + * Get all Connector Groups in the account + * Retrieves a Connector Group + * @return A single ConnectorGroup object matching the query + */ public ISFQuery> get() { SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); @@ -45,8 +50,9 @@ public ISFQuery> get() { } /** - * Get all Connector Groups in the account + * Get the Connector Group by Service ID * Retrieves a Connector Group + * @param url * @return A single ConnectorGroup object matching the query */ public ISFQuery get(URI url) throws InvalidOrMissingParameterException { diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFGroupsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFGroupsEntity.java index adea503..5646191 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFGroupsEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFGroupsEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFItemsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFItemsEntity.java index de76bd7..b8c9622 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFItemsEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFItemsEntity.java @@ -4697,6 +4697,12 @@ public ISFQuery checkIn(URI url) throws InvalidOrMissingParameterException { return sfApiQuery; } + /** + * Lock File + * Locks a file. + * This operation is only implemented in Sharepoint providers (/sp) + * @param url + */ public ISFQuery checkOut(URI url) throws InvalidOrMissingParameterException { if (url == null) { throw new InvalidOrMissingParameterException("url"); @@ -4710,6 +4716,12 @@ public ISFQuery checkOut(URI url) throws InvalidOrMissingParameterException { return sfApiQuery; } + /** + * Discard CheckOut + * Discards the existing lock on the file + * This operation is only implemented in Sharepoint providers (/sp) + * @param url + */ public ISFQuery discardCheckOut(URI url) throws InvalidOrMissingParameterException { if (url == null) { throw new InvalidOrMissingParameterException("url"); @@ -4992,6 +5004,11 @@ public ISFQuery> getDeletedChildren(URI url, String id) thro return sfApiQuery; } + /** + * Get a collection of recoverable/deleted items for a user + * @param userid (default: null) + * @param zone (default: null) + */ public ISFQuery> getUserDeletedItems(String userid, String zone) throws InvalidOrMissingParameterException { if (userid == null) { throw new InvalidOrMissingParameterException("userid"); @@ -5009,6 +5026,10 @@ public ISFQuery> getUserDeletedItems(String userid, String z return sfApiQuery; } + /** + * Get a collection of recoverable/deleted items for a user + * @param userid (default: null) + */ public ISFQuery> getUserDeletedItems(String userid) throws InvalidOrMissingParameterException { if (userid == null) { throw new InvalidOrMissingParameterException("userid"); @@ -5022,6 +5043,9 @@ public ISFQuery> getUserDeletedItems(String userid) throws I return sfApiQuery; } + /** + * Get a collection of recoverable/deleted items for a user + */ public ISFQuery> getUserDeletedItems() { SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFMetadataEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFMetadataEntity.java index 4b4b056..d1cca25 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFMetadataEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFMetadataEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFRemoteUploadsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFRemoteUploadsEntity.java index 9f26a7c..c5c778d 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFRemoteUploadsEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFRemoteUploadsEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFReportsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFReportsEntity.java index 90741ce..1eb8dd1 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFReportsEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFReportsEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -69,7 +69,7 @@ public ISFQuery get(URI url) throws InvalidOrMissingParameterException /** * Get recent reports - * Returns the last 10 reports run for the current account. + * Returns the most recent reports run for the current account. 10 reports are returned unless otherwise specified. * @param maxReports (default: 10) * @return List of reports */ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFSessionsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFSessionsEntity.java index 0eb0578..5faa95b 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFSessionsEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFSessionsEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFStorageCentersEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFStorageCentersEntity.java index c57a03d..f380d61 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFStorageCentersEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFStorageCentersEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFUsersEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFUsersEntity.java index 1b71798..04d54ff 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFUsersEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFUsersEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -820,7 +820,8 @@ public ISFQuery update(URI url, SFUser user) throws InvalidOrMissingPara * CanManageUsers, * AdminSharedAddressBook, * CanChangePassword, - * CanManageMySettings + * CanManageMySettings, + * AdminManageDropBox * @param parentUrl * @param user * @return a modified user record @@ -855,7 +856,8 @@ public ISFQuery updateRoles(URI parentUrl, SFUser user) throws InvalidOr * CanManageUsers, * AdminSharedAddressBook, * CanChangePassword, - * CanManageMySettings + * CanManageMySettings, + * AdminManageDropBox * @param parentUrl * @param user * @return a modified user record @@ -1335,7 +1337,8 @@ public ISFQuery> sharepointConnectors() { * "UTCOffset":"", * "DateFormat":"", * "TimeFormat":"", - * "EmailInterval":0 + * "EmailInterval":0, + * "UserNotificationLocale":"Spanish" * } * @param settings * @return no data on success diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFZonesEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFZonesEntity.java index 1d21b54..09c5fe6 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFZonesEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFZonesEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -188,6 +188,13 @@ public ISFQuery update(URI url, SFZone zone) throws InvalidOrMissingPara return sfApiQuery; } + /** + * Delete Zone + * Removes an existing zone + * @param url + * @param force (default: false) + * @param newDefaultZoneId (default: null) + */ public ISFQuery delete(URI url, Boolean force, String newDefaultZoneId) throws InvalidOrMissingParameterException { if (url == null) { throw new InvalidOrMissingParameterException("url"); @@ -208,6 +215,12 @@ public ISFQuery delete(URI url, Boolean force, String newDefaultZoneId) throws I return sfApiQuery; } + /** + * Delete Zone + * Removes an existing zone + * @param url + * @param force (default: false) + */ public ISFQuery delete(URI url, Boolean force) throws InvalidOrMissingParameterException { if (url == null) { throw new InvalidOrMissingParameterException("url"); @@ -224,6 +237,11 @@ public ISFQuery delete(URI url, Boolean force) throws InvalidOrMissingParameterE return sfApiQuery; } + /** + * Delete Zone + * Removes an existing zone + * @param url + */ public ISFQuery delete(URI url) throws InvalidOrMissingParameterException { if (url == null) { throw new InvalidOrMissingParameterException("url"); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControl.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControl.java index 2d514f1..9c58549 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControl.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControl.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlBulkResult.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlBulkResult.java index 730ea83..a7a7f27 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlBulkResult.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlBulkResult.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlDomains.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlDomains.java index f22b3c3..c43d239 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlDomains.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlDomains.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlFailedEntry.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlFailedEntry.java index ecd1b28..f9d15b5 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlFailedEntry.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlFailedEntry.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlFilter.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlFilter.java index f1c8844..23dbdbb 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlFilter.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlFilter.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlParam.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlParam.java index cec605d..4d22990 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlParam.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlParam.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlsBulkParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlsBulkParams.java index 99960a0..e08aa4a 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlsBulkParams.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlsBulkParams.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlsCloneParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlsCloneParams.java index da8c218..d0a06fc 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlsCloneParams.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlsCloneParams.java @@ -38,14 +38,14 @@ public class SFAccessControlsCloneParams extends SFODataObject { private ArrayList ClonePrincipalIds; /** - * Defines whether the cloned users should receieve a notice on the permission grant. + * Defines whether the cloned principals should receieve a notice on the permission grant. */ public Boolean getNotifyUser() { return this.NotifyUser; } /** - * Defines whether the cloned users should receieve a notice on the permission grant. + * Defines whether the cloned principals should receieve a notice on the permission grant. */ public void setNotifyUser(Boolean notifyuser) { this.NotifyUser = notifyuser; @@ -64,7 +64,7 @@ public void setNotifyMessage(String notifymessage) { this.NotifyMessage = notifymessage; } /** - * The source user's permissions for this folder and all subdirectories + * The source principal's permissions for this folder and all subdirectories * will be copied into the cloned users. */ public String getFolderId() { @@ -72,34 +72,34 @@ public String getFolderId() { } /** - * The source user's permissions for this folder and all subdirectories + * The source principal's permissions for this folder and all subdirectories * will be copied into the cloned users. */ public void setFolderId(String folderid) { this.FolderId = folderid; } /** - * This user's permissions will be used as the source for all cloned users. + * This principal's permissions will be used as the source for all cloned users. */ public String getPrincipalId() { return this.PrincipalId; } /** - * This user's permissions will be used as the source for all cloned users. + * This principal's permissions will be used as the source for all cloned users. */ public void setPrincipalId(String principalid) { this.PrincipalId = principalid; } /** - * List of existing users that will receive cloned permissions. + * List of existing principals that will receive cloned permissions. */ public ArrayList getClonePrincipalIds() { return this.ClonePrincipalIds; } /** - * List of existing users that will receive cloned permissions. + * List of existing principals that will receive cloned permissions. */ public void setClonePrincipalIds(ArrayList cloneprincipalids) { this.ClonePrincipalIds = cloneprincipalids; diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountSubType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountSubType.java index 59e0da1..18ec57e 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountSubType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountSubType.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountUser.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountUser.java index 96d5714..984fd2f 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountUser.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountUser.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountZoneUsage.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountZoneUsage.java index 47bed3c..45152fb 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountZoneUsage.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountZoneUsage.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAdvancedSearchResults.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAdvancedSearchResults.java index 78ac474..dc70c6c 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAdvancedSearchResults.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAdvancedSearchResults.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAsyncOperation.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAsyncOperation.java index d9e4f83..f5a26d8 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAsyncOperation.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAsyncOperation.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAsyncOperationState.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAsyncOperationState.java index 619b589..a089fde 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAsyncOperationState.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAsyncOperationState.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAsyncOperationType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAsyncOperationType.java index 5bca0c5..d574761 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAsyncOperationType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAsyncOperationType.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCapability.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCapability.java index d0c9eb5..a386123 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCapability.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCapability.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFClientCapability.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFClientCapability.java index 1f5d27f..4c81d42 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFClientCapability.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFClientCapability.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectorGroup.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectorGroup.java index e357617..a8c8dd8 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectorGroup.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectorGroup.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectorGroupAccessControl.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectorGroupAccessControl.java index 302b1e9..97d33ac 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectorGroupAccessControl.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectorGroupAccessControl.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectorGroupKind.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectorGroupKind.java index db2e301..9e61a03 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectorGroupKind.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectorGroupKind.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectorGroupZone.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectorGroupZone.java index 5427e91..e670f51 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectorGroupZone.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectorGroupZone.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContact.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContact.java index c5c28e5..dfae0f7 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContact.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContact.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDevice.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDevice.java index 69da980..90442e2 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDevice.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDevice.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceActionInitiatorRole.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceActionInitiatorRole.java index 75f2578..9ef8f56 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceActionInitiatorRole.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceActionInitiatorRole.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceLogEntry.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceLogEntry.java index a63ddfa..479897b 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceLogEntry.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceLogEntry.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceLogEntryAction.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceLogEntryAction.java index 53acc3e..4ef0574 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceLogEntryAction.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceLogEntryAction.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceStatus.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceStatus.java index 8640fb8..3bb1775 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceStatus.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceStatus.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceUser.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceUser.java index 7a170cb..f2e2762 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceUser.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceUser.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceUserWipe.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceUserWipe.java index c54226b..d5d854c 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceUserWipe.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceUserWipe.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceWipeReport.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceWipeReport.java index a0061e6..be2afad 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceWipeReport.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceWipeReport.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDiskSpace.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDiskSpace.java index 945af58..eff53fb 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDiskSpace.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDiskSpace.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDlpStatus.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDlpStatus.java index e9d1060..8e819df 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDlpStatus.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDlpStatus.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDocumentViewerPrinting.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDocumentViewerPrinting.java index ad4a44f..1e5206b 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDocumentViewerPrinting.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDocumentViewerPrinting.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDownloadSpecification.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDownloadSpecification.java index 953bda1..8f7fe8f 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDownloadSpecification.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDownloadSpecification.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFESignature.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFESignature.java index f966ba0..2eb5977 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFESignature.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFESignature.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFESignatureDocumentStatus.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFESignatureDocumentStatus.java index 4da69c0..578b0ad 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFESignatureDocumentStatus.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFESignatureDocumentStatus.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEditingPlatform.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEditingPlatform.java index 2f0d373..00aac36 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEditingPlatform.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEditingPlatform.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEditingPlatformInfo.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEditingPlatformInfo.java index 47a7ec4..e6dcc45 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEditingPlatformInfo.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEditingPlatformInfo.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsDeviceEventType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsDeviceEventType.java index 89ea972..da86982 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsDeviceEventType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsDeviceEventType.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsEventType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsEventType.java index 512799f..268bfec 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsEventType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsEventType.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsSubscriberConfiguration.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsSubscriberConfiguration.java index 164ddd0..07f7567 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsSubscriberConfiguration.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsSubscriberConfiguration.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsSubscriptionRequest.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsSubscriptionRequest.java index 9658f0c..cda0c88 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsSubscriptionRequest.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsSubscriptionRequest.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsSubscriptionToken.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsSubscriptionToken.java index 72dfae5..af4a3b3 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsSubscriptionToken.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsSubscriptionToken.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFavoriteFolder.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFavoriteFolder.java index ecc9a92..d8579df 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFavoriteFolder.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFavoriteFolder.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFile.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFile.java index ab654a9..94d4d0c 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFile.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFile.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileLock.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileLock.java index 1916dbe..c1700f3 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileLock.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileLock.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileVirusStatus.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileVirusStatus.java index 2429ccf..0789007 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileVirusStatus.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileVirusStatus.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFindSubdomainParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFindSubdomainParams.java index 43ae883..c11f1cb 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFindSubdomainParams.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFindSubdomainParams.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFindSubdomainResult.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFindSubdomainResult.java index ebb6da7..46851a1 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFindSubdomainResult.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFindSubdomainResult.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolder.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolder.java index be0e9ab..75e176f 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolder.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolder.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolderOption.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolderOption.java index fae75df..77a737a 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolderOption.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolderOption.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolderTemplate.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolderTemplate.java index 258a209..700fa22 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolderTemplate.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolderTemplate.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolderTemplateItem.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolderTemplateItem.java index f83f0f7..96485bb 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolderTemplateItem.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolderTemplateItem.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFGenericConfig.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFGenericConfig.java index 509f338..bf87b79 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFGenericConfig.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFGenericConfig.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFGroup.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFGroup.java index 42e28eb..a12c3b5 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFGroup.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFGroup.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFInboxMetadata.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFInboxMetadata.java index 4934d33..769dd24 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFInboxMetadata.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFInboxMetadata.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIndustry.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIndustry.java index 82c8996..7c1adc4 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIndustry.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIndustry.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItem.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItem.java index 2ad5434..38d0317 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItem.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItem.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemAction.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemAction.java index 3df98d4..d542b90 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemAction.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemAction.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemDlpInfo.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemDlpInfo.java index 43af82e..dcb1644 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemDlpInfo.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemDlpInfo.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemInfo.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemInfo.java index e9be3d2..ed4b955 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemInfo.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemInfo.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemProtocolLink.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemProtocolLink.java index 2dbdf1e..1e1bc2e 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemProtocolLink.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemProtocolLink.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFLink.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFLink.java index 90ae2d2..b082eda 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFLink.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFLink.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFLockType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFLockType.java index 7188cc4..af86242 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFLockType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFLockType.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMarketAnalytics.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMarketAnalytics.java index fabb788..753c025 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMarketAnalytics.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMarketAnalytics.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMetadata.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMetadata.java index 2eee023..bcb76ab 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMetadata.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMetadata.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMobileSecuritySettings.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMobileSecuritySettings.java index 0342006..b2298e8 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMobileSecuritySettings.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMobileSecuritySettings.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNote.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNote.java index aefe78a..b5b4c3f 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNote.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNote.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNotification.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNotification.java index fde19f7..22a2cfb 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNotification.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNotification.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNotifyUsersParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNotifyUsersParams.java index 9e554db..fbeb87e 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNotifyUsersParams.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNotifyUsersParams.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFODataFeed.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFODataFeed.java index 0e084af..7aa0fbf 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFODataFeed.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFODataFeed.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFODataObject.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFODataObject.java index 64e6c7d..c6d3eae 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFODataObject.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFODataObject.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFODataObjectType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFODataObjectType.java index 0befef3..0531f77 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFODataObjectType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFODataObjectType.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOutlookInformation.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOutlookInformation.java index 8073287..ce279a1 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOutlookInformation.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOutlookInformation.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOutlookInformationOptionBool.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOutlookInformationOptionBool.java index de47e2c..8d780f6 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOutlookInformationOptionBool.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOutlookInformationOptionBool.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOutlookInformationOptionInt.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOutlookInformationOptionInt.java index bce5526..dd18ad3 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOutlookInformationOptionInt.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOutlookInformationOptionInt.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOutlookInformationOptionString.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOutlookInformationOptionString.java index d882a1a..9de4cef 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOutlookInformationOptionString.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOutlookInformationOptionString.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPinLockType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPinLockType.java index f6b8ed6..81a30f6 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPinLockType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPinLockType.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPlanFeatures.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPlanFeatures.java index 7d74a28..30d43d5 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPlanFeatures.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPlanFeatures.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPowerTools.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPowerTools.java index c5df03e..d42be0d 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPowerTools.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPowerTools.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPreviewPlatform.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPreviewPlatform.java index dc8d012..fb98b0b 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPreviewPlatform.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPreviewPlatform.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPreviewPlatformInfo.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPreviewPlatformInfo.java index 5b57b19..c2f0c03 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPreviewPlatformInfo.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPreviewPlatformInfo.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPreviewStatus.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPreviewStatus.java index 65ae57e..6b2f72e 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPreviewStatus.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPreviewStatus.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPrincipal.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPrincipal.java index 5b1b82e..9e41f70 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPrincipal.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPrincipal.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFProductDefaults.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFProductDefaults.java index 5a5b1c1..08fd9a7 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFProductDefaults.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFProductDefaults.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQuery.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQuery.java index 0507275..145689b 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQuery.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQuery.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQueryPaging.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQueryPaging.java index 05391b5..21e12b7 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQueryPaging.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQueryPaging.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQuerySorting.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQuerySorting.java index bd3f0fb..70be8d2 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQuerySorting.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQuerySorting.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRedirection.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRedirection.java index 40d7e3d..2a3ebd3 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRedirection.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRedirection.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRemoteUpload.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRemoteUpload.java index 2cf76fb..d51bb1a 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRemoteUpload.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRemoteUpload.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReport.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReport.java index 50606d4..22b946a 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReport.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReport.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportDateOption.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportDateOption.java index e2b62ed..9fd50de 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportDateOption.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportDateOption.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportObjectType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportObjectType.java index 5a84c23..9e1963c 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportObjectType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportObjectType.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRecord.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRecord.java index 8a16fea..a56f86e 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRecord.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRecord.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRunFrequency.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRunFrequency.java index 30306e0..13fca45 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRunFrequency.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRunFrequency.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRunStatus.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRunStatus.java index c63aee6..4f011b9 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRunStatus.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRunStatus.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportType.java index d3351ab..faea41a 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportType.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRequireSubdomainResult.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRequireSubdomainResult.java index 28e40d2..4091f38 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRequireSubdomainResult.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRequireSubdomainResult.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRequireWebPopResult.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRequireWebPopResult.java index 8efc7a7..f22d2ab 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRequireWebPopResult.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRequireWebPopResult.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSFTool.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSFTool.java index fad65b2..8e04746 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSFTool.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSFTool.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSSOAccountProvider.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSSOAccountProvider.java index 76a78f0..1a1f410 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSSOAccountProvider.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSSOAccountProvider.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSSOInfo.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSSOInfo.java index 9811d27..355d3d0 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSSOInfo.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSSOInfo.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSSOInfoEntry.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSSOInfoEntry.java index a078629..d6c95d3 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSSOInfoEntry.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSSOInfoEntry.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchQuery.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchQuery.java index d9ec7af..6fade38 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchQuery.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchQuery.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchResult.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchResult.java index c6d77cc..8fa81a0 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchResult.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchResult.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchResults.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchResults.java index 6b90a3e..61265a5 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchResults.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchResults.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSession.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSession.java index 2989704..e0cf7c0 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSession.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSession.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShare.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShare.java index 83c43f9..e118540 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShare.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShare.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareAlias.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareAlias.java index 251727b..a91fa73 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareAlias.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareAlias.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareItemHistory.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareItemHistory.java index ec661ce..32a8aff 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareItemHistory.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareItemHistory.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareRequestParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareRequestParams.java index 8fc54db..cedcb75 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareRequestParams.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareRequestParams.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -47,73 +47,133 @@ public class SFShareRequestParams extends SFODataObject { @SerializedName("IsViewOnly") private Boolean IsViewOnly; + /** + * The Folder Id for this Request. Has precedence over FolderPath + */ public String getFolderId() { return this.FolderId; } + /** + * The Folder Id for this Request. Has precedence over FolderPath + */ public void setFolderId(String folderid) { this.FolderId = folderid; } + /** + * The path to the Folder for this Request + */ public String getFolderPath() { return this.FolderPath; } + /** + * The path to the Folder for this Request + */ public void setFolderPath(String folderpath) { this.FolderPath = folderpath; } + /** + * List of emails to whom this Share should be sent + */ public ArrayList getEmails() { return this.Emails; } + /** + * List of emails to whom this Share should be sent + */ public void setEmails(ArrayList emails) { this.Emails = emails; } + /** + * The subject of the Share email + */ public String getSubject() { return this.Subject; } + /** + * The subject of the Share email + */ public void setSubject(String subject) { this.Subject = subject; } + /** + * A message to be included in the Share email body + */ public String getBody() { return this.Body; } + /** + * A message to be included in the Share email body + */ public void setBody(String body) { this.Body = body; } + /** + * If true, the Share sender will be cc'd in the Share email + */ public Boolean getCcSender() { return this.CcSender; } + /** + * If true, the Share sender will be cc'd in the Share email + */ public void setCcSender(Boolean ccsender) { this.CcSender = ccsender; } + /** + * If true, recipients will need to login to access the Share + */ public Boolean getRequireLogin() { return this.RequireLogin; } + /** + * If true, recipients will need to login to access the Share + */ public void setRequireLogin(Boolean requirelogin) { this.RequireLogin = requirelogin; } + /** + * Number of days until access to this Share expires + */ public Integer getExpirationDays() { return this.ExpirationDays; } + /** + * Number of days until access to this Share expires + */ public void setExpirationDays(Integer expirationdays) { this.ExpirationDays = expirationdays; } + /** + * If true, the sender will receive an email notification when files are uploaded to the Share + */ public Boolean getNotifyOnUpload() { return this.NotifyOnUpload; } + /** + * If true, the sender will receive an email notification when files are uploaded to the Share + */ public void setNotifyOnUpload(Boolean notifyonupload) { this.NotifyOnUpload = notifyonupload; } + /** + * If true, the Share items can only be viewed but not downloaded. Not applicable for Request Shares + */ public Boolean getIsViewOnly() { return this.IsViewOnly; } + /** + * If true, the Share items can only be viewed but not downloaded. Not applicable for Request Shares + */ public void setIsViewOnly(Boolean isviewonly) { this.IsViewOnly = isviewonly; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareResendParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareResendParams.java index 2fb0950..957416f 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareResendParams.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareResendParams.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -39,17 +39,29 @@ public class SFShareResendParams extends SFODataObject { @SerializedName("NotifyOnUse") private Boolean NotifyOnUse; + /** + * The ID of the existing share + */ public String getShareId() { return this.ShareId; } + /** + * The ID of the existing share + */ public void setShareId(String shareid) { this.ShareId = shareid; } + /** + * These can be email addresses or group IDs + */ public ArrayList getRecipients() { return this.Recipients; } + /** + * These can be email addresses or group IDs + */ public void setRecipients(ArrayList recipients) { this.Recipients = recipients; } @@ -60,17 +72,29 @@ public String getSubject() { public void setSubject(String subject) { this.Subject = subject; } + /** + * Message included in the share notification + */ public String getBody() { return this.Body; } + /** + * Message included in the share notification + */ public void setBody(String body) { this.Body = body; } + /** + * Send a copy of the notification to the cender + */ public Boolean getCcSender() { return this.CcSender; } + /** + * Send a copy of the notification to the cender + */ public void setCcSender(Boolean ccsender) { this.CcSender = ccsender; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSettings.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSettings.java index bd21fe1..2399601 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSettings.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSettings.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareType.java index 906bb8a..199d67b 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareType.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSimpleQuery.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSimpleQuery.java index e9e4767..99b3b9f 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSimpleQuery.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSimpleQuery.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSimpleSearchQuery.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSimpleSearchQuery.java index 0b0defe..5b8fa2d 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSimpleSearchQuery.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSimpleSearchQuery.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSortDirection.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSortDirection.java index bf17ae7..5140254 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSortDirection.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSortDirection.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSortField.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSortField.java index 8e96a2e..8d99226 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSortField.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSortField.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFStorageCenter.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFStorageCenter.java index b404e44..84002bb 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFStorageCenter.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFStorageCenter.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSymbolicLink.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSymbolicLink.java index 21b3567..30426b6 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSymbolicLink.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSymbolicLink.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTenantZoneUsageReport.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTenantZoneUsageReport.java index 4c11dba..fb673fa 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTenantZoneUsageReport.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTenantZoneUsageReport.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFToolInformation.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFToolInformation.java index 28d9135..e0dcee3 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFToolInformation.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFToolInformation.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTreeMode.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTreeMode.java index 4dd98a9..4cc7d55 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTreeMode.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTreeMode.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTypeOfTour.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTypeOfTour.java index c6a22bd..5a6e361 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTypeOfTour.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTypeOfTour.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUXMode.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUXMode.java index 61a31fd..3701bd2 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUXMode.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUXMode.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUploadMethod.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUploadMethod.java index 3a78bb2..c7e9bf7 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUploadMethod.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUploadMethod.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUploadRequestParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUploadRequestParams.java index 0504b27..16273b9 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUploadRequestParams.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUploadRequestParams.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUploadSpecification.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUploadSpecification.java index 48b42c0..42584f5 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUploadSpecification.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUploadSpecification.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUser.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUser.java index 7f13938..981f1f4 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUser.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUser.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserConfirmRequirement.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserConfirmRequirement.java index d3fe20b..862debc 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserConfirmRequirement.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserConfirmRequirement.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserInfo.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserInfo.java index 243fa86..4112d91 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserInfo.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserInfo.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserRole.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserRole.java index ae95822..cda0bd0 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserRole.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserRole.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserSecurity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserSecurity.java index d08155f..a712da8 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserSecurity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserSecurity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserUsage.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserUsage.java index 29bc900..b702be5 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserUsage.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserUsage.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFVRootType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFVRootType.java index a2e6ab0..58edca1 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFVRootType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFVRootType.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFVersioning.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFVersioning.java index 1e42873..6c736a3 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFVersioning.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFVersioning.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWatermarkedDownloads.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWatermarkedDownloads.java index d39521c..a634a5d 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWatermarkedDownloads.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWatermarkedDownloads.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZone.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZone.java index 001a4ef..4aac2a2 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZone.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZone.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneType.java index 0791e4f..801dff2 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneType.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneUsageBreakdown.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneUsageBreakdown.java index a7d441b..a964a59 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneUsageBreakdown.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneUsageBreakdown.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2015 Citrix ShareFile. All rights reserved. +// Copyright (c) 2016 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/maven_release_tools/readme.txt b/maven_release_tools/readme.txt index bf4551d..3c54671 100644 --- a/maven_release_tools/readme.txt +++ b/maven_release_tools/readme.txt @@ -13,9 +13,18 @@ The manual process for release to maven is as follows: 4) sign all the jars using the citrix pgp key and password. Use the sign.cmd batch file to do this so that it will sign all the above 4 files in one go and generate several .asc files - + Commandline : sign.cmd . Example: if your jar version was from step 1) was 3.1.2 then run sign.cmd 3.1.2 + + [Note: + you will need the Citrix PGP keys to be imported on you system for this signing to work. + You can find the citrix_private_key.asc and citrix_public_key.asc files in here. Import them + using following commands. The signing also needs the password. Check the password from NileshP + + $ gpg --import my_private_key.asc + $ gpg --import my_public_key.asc + ] 5) Create a bundle.jar by running: make_bundle.cmd Example: make_bundle.cmd 3.1.2 @@ -24,7 +33,9 @@ The manual process for release to maven is as follows: We use the sona type repo manager to host the jars for staging for maven. a) Login to the following link: https://oss.sonatype.org/#staging-upload b) Seletc Upload Mode as Artifact bundle on the web page and upload the above generated bundle.jar - c) click release + c) Note the name of the staging artifact. should be something like: comcitrix- + d) Click on Staging profiles and search for the above artifact. Select release. + The jars should be available for public after few hours. 7) cleanup the stale files by running the cleanup.cmd if required. From a65a2e2dd29092735113779e34aee22e331382a9 Mon Sep 17 00:00:00 2001 From: NileshPawarCitrix Date: Wed, 23 Nov 2016 11:26:27 +0530 Subject: [PATCH 52/70] get the gradle changes from sharefile release/4.10 --- ShareFileJavaSDK/build.gradle | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/ShareFileJavaSDK/build.gradle b/ShareFileJavaSDK/build.gradle index 2e352e8..f378f30 100644 --- a/ShareFileJavaSDK/build.gradle +++ b/ShareFileJavaSDK/build.gradle @@ -11,6 +11,12 @@ String shareFilePomFileName = "$buildDir/libs/"+shareFileJarName+"-"+shareFileJa group = "com.citrix" version = shareFileJarVersion +allprojects { + tasks.withType(Javadoc) { + options.addStringOption('Xdoclint:none', '-quiet') + } +} + sourceSets { main { java { @@ -29,6 +35,9 @@ dependencies { // compile 'org.apache.httpcomponents:httpcore:4.3.2' // compile 'org.apache.directory.studio:org.apache.commons.codec:1.6' // compile 'com.google.code.gson:gson:2.2.4' + + sourceCompatibility = JavaVersion.VERSION_1_7 + targetCompatibility = JavaVersion.VERSION_1_7 } distributions { From ac323f955862e416e9b0477e039271d1ccf30e2a Mon Sep 17 00:00:00 2001 From: Nilesh Date: Tue, 18 Jul 2017 16:42:56 +0530 Subject: [PATCH 53/70] Copy new models from private branch to public. --- .../AndroidStudioProject/app/build.gradle | 6 +- SDKSample/AndroidStudioProject/build.gradle | 2 +- ShareFileJavaSDK/.classpath | 2 +- ShareFileJavaSDK/build.gradle | 3 +- ShareFileJavaSDK/libs/gson-2.2.4.jar | Bin 190418 -> 0 bytes ShareFileJavaSDK/libs/gson-2.8.0.jar | Bin 0 -> 231952 bytes .../sharefile/api/AbstractSFApiQuery.java | 69 ++- .../sharefile/api/ITokenlessClient.java | 8 + .../com/citrix/sharefile/api/SFApiClient.java | 62 +- .../sharefile/api/SFApiQueryExecutor.java | 39 +- .../citrix/sharefile/api/SFConfiguration.java | 7 + .../com/citrix/sharefile/api/SFProvider.java | 7 +- .../sharefile/api/SFTokenLessApiClient.java | 11 +- .../citrix/sharefile/api/SFV3ErrorParser.java | 18 +- .../sharefile/api/constants/SFKeywords.java | 45 +- .../api/constants/SFQueryParams.java | 1 + .../sharefile/api/entities/ISFEntities.java | 47 +- .../api/entities/SFAccessControlsEntity.java | 20 +- .../api/entities/SFAccountsEntity.java | 51 +- .../sharefile/api/entities/SFAppsEntity.java | 242 ++++++++ .../api/entities/SFAsyncOperationsEntity.java | 2 +- .../api/entities/SFCapabilitiesEntity.java | 2 +- .../api/entities/SFConfigsEntity.java | 52 ++ .../api/entities/SFConnectorGroupsEntity.java | 8 +- .../api/entities/SFDevicesEntity.java | 233 +++++++ .../api/entities/SFFavoriteFoldersEntity.java | 2 +- .../api/entities/SFFavoritesEntity.java | 148 +++++ .../api/entities/SFFileLockEntity.java | 163 +++++ .../api/entities/SFFolderTemplatesEntity.java | 4 +- .../api/entities/SFGroupsEntity.java | 21 +- .../entities/SFIrmClassificationsEntity.java | 2 +- .../sharefile/api/entities/SFItemsEntity.java | 336 +++++++++- .../api/entities/SFMetadataEntity.java | 32 +- .../api/entities/SFPoliciesEntity.java | 201 ++++++ .../api/entities/SFRemoteUploadsEntity.java | 2 +- .../api/entities/SFReportsEntity.java | 11 +- .../api/entities/SFSessionsEntity.java | 2 +- .../api/entities/SFSharesEntity.java | 153 ++++- .../api/entities/SFStorageCentersEntity.java | 2 +- .../sharefile/api/entities/SFUsersEntity.java | 171 ++++- .../api/entities/SFWebhookClientsEntity.java | 93 +++ .../SFWebhookSubscriptionsEntity.java | 119 ++++ .../api/entities/SFWorkflowsEntity.java | 196 ++++++ .../sharefile/api/entities/SFZonesEntity.java | 2 +- .../api/enumerations/SFV3ElementType.java | 9 +- .../sharefile/api/gson/SFGsonHelper.java | 290 +-------- .../api/gson/auto/SFDefaultGsonParser.java | 305 ++++++--- .../api/gson/auto/SFGsonBuilder.java | 124 ++++ .../sharefile/api/gson/auto/SFGsonRouter.java | 28 +- .../sharefile/api/https/SFCookieManager.java | 66 +- .../api/https/SFDownloadRunnable.java | 2 +- .../sharefile/api/https/SFHttpsCaller.java | 6 +- .../sharefile/api/https/SFUploadRunnable.java | 525 ---------------- .../sharefile/api/https/TransferRunnable.java | 11 +- .../api/https/upload/FinishUpload.java | 97 +++ .../upload/MultiThreadedUploadManager.java | 418 +++++++++++++ .../api/https/upload/SFUploadRunnable.java | 582 +++++++++++++++++ .../api/https/upload/UploadHelper.java | 94 +++ .../citrix/sharefile/api/interfaces/ILog.java | 1 + .../api/interfaces/ISFApiClient.java | 11 +- .../sharefile/api/interfaces/ISFQuery.java | 4 +- .../com/citrix/sharefile/api/log/Logger.java | 1 + .../sharefile/api/models/SFAccessControl.java | 8 +- .../api/models/SFAccessControlBulkResult.java | 2 +- .../api/models/SFAccessControlDomains.java | 2 +- .../models/SFAccessControlFailedEntry.java | 2 +- .../api/models/SFAccessControlFilter.java | 2 +- .../api/models/SFAccessControlParam.java | 2 +- .../models/SFAccessControlsBulkParams.java | 2 +- .../models/SFAccessControlsCloneParams.java | 2 +- .../sharefile/api/models/SFAccount.java | 234 ++++++- .../api/models/SFAccountMessageCode.java | 2 +- .../api/models/SFAccountPreferences.java | 417 ++++++++++++- .../api/models/SFAccountSubType.java | 6 +- .../sharefile/api/models/SFAccountUser.java | 11 +- .../api/models/SFAccountZoneUsage.java | 2 +- .../api/models/SFAdvancedSearchResults.java | 2 +- .../sharefile/api/models/SFAppCodes.java | 91 +++ .../api/models/SFAsyncOperation.java | 2 +- .../api/models/SFAsyncOperationState.java | 2 +- .../api/models/SFAsyncOperationType.java | 2 +- .../sharefile/api/models/SFBandwidth.java | 78 +++ .../sharefile/api/models/SFBillingInfo.java | 2 +- .../sharefile/api/models/SFBrandingLinks.java | 136 ++++ .../sharefile/api/models/SFCancellation.java | 85 +++ .../sharefile/api/models/SFCapability.java | 38 +- .../api/models/SFCapabilityName.java | 16 +- .../sharefile/api/models/SFChunkType.java | 2 +- .../api/models/SFClientCapability.java | 6 +- .../api/models/SFClientUpgradeWeb.java | 49 ++ .../sharefile/api/models/SFConnectedApp.java | 121 ++++ .../api/models/SFConnectorGroup.java | 2 +- .../models/SFConnectorGroupAccessControl.java | 2 +- .../api/models/SFConnectorGroupKind.java | 2 +- .../api/models/SFConnectorGroupZone.java | 2 +- .../sharefile/api/models/SFContact.java | 84 ++- .../api/models/SFCreateWorkflowParams.java | 150 +++++ .../sharefile/api/models/SFCustomMessage.java | 40 ++ .../models/SFCustomWorkflowBundleType.java | 23 + .../citrix/sharefile/api/models/SFDevice.java | 2 +- .../models/SFDeviceActionInitiatorRole.java | 2 +- .../api/models/SFDeviceLogEntry.java | 38 +- .../api/models/SFDeviceLogEntryAction.java | 2 +- .../sharefile/api/models/SFDeviceStatus.java | 2 +- .../sharefile/api/models/SFDeviceUser.java | 2 +- .../api/models/SFDeviceUserWipe.java | 2 +- .../api/models/SFDeviceWipeReport.java | 2 +- .../sharefile/api/models/SFDiskSpace.java | 20 +- ...entType.java => SFDistributionMethod.java} | 8 +- .../sharefile/api/models/SFDlpStatus.java | 2 +- .../api/models/SFDocumentViewerPrinting.java | 2 +- .../api/models/SFDownloadSpecification.java | 14 +- .../sharefile/api/models/SFESignature.java | 11 +- .../models/SFESignatureDocumentStatus.java | 2 +- .../api/models/SFEditingPlatform.java | 2 +- .../api/models/SFEditingPlatformInfo.java | 2 +- .../sharefile/api/models/SFEmailAddress.java | 58 ++ .../sharefile/api/models/SFEnsEventType.java | 2 +- .../models/SFEnsSubscriberConfiguration.java | 54 +- .../api/models/SFEnsSubscriptionRequest.java | 2 +- .../api/models/SFEnsSubscriptionToken.java | 2 +- .../sharefile/api/models/SFEntityTypeMap.java | 152 +++-- .../api/models/SFExceptionReason.java | 11 +- .../sharefile/api/models/SFFavorite.java | 106 ++++ .../api/models/SFFavoriteFolder.java | 8 +- .../citrix/sharefile/api/models/SFFile.java | 2 +- .../api/models/SFFileAndFolderPolicy.java | 46 ++ .../models/SFFileAndFolderSettingOptions.java | 106 ++++ .../api/models/SFFileAndFolderSettings.java | 76 +++ .../sharefile/api/models/SFFileLock.java | 36 +- .../api/models/SFFileVirusStatus.java | 2 +- .../api/models/SFFindSubdomainParams.java | 20 +- .../api/models/SFFindSubdomainResult.java | 32 +- .../citrix/sharefile/api/models/SFFolder.java | 23 +- .../sharefile/api/models/SFFolderInvite.java | 346 +++++++++++ .../sharefile/api/models/SFFolderOption.java | 2 +- .../api/models/SFFolderTemplate.java | 2 +- .../api/models/SFFolderTemplateItem.java | 2 +- .../SFForbiddenOAuthClientNameWords.java | 40 ++ .../sharefile/api/models/SFGenericConfig.java | 2 +- .../citrix/sharefile/api/models/SFGroup.java | 41 +- .../sharefile/api/models/SFImage32Action.java | 22 + .../sharefile/api/models/SFInboxMetadata.java | 2 +- .../sharefile/api/models/SFIndustry.java | 2 +- .../api/models/SFIntegrationProvider.java | 5 +- .../api/models/SFIrmClassification.java | 2 +- .../models/SFIrmPrimaryAccessRightParams.java | 2 +- .../citrix/sharefile/api/models/SFItem.java | 315 +++++++++- .../sharefile/api/models/SFItemAction.java | 2 +- .../sharefile/api/models/SFItemDlpInfo.java | 2 +- .../sharefile/api/models/SFItemInfo.java | 68 +- .../api/models/SFItemOperations.java | 38 ++ .../api/models/SFItemOrderingMode.java | 2 +- .../api/models/SFItemProtocolLink.java | 2 +- .../citrix/sharefile/api/models/SFLink.java | 2 +- .../api/models/SFMarketAnalytics.java | 2 +- .../sharefile/api/models/SFMetadata.java | 2 +- .../api/models/SFMobileSecuritySettings.java | 2 +- .../citrix/sharefile/api/models/SFNote.java | 2 +- .../sharefile/api/models/SFNotification.java | 2 +- .../api/models/SFNotificationLocale.java | 2 +- .../api/models/SFNotifyUsersParams.java | 2 +- .../sharefile/api/models/SFODataFeed.java | 2 +- .../sharefile/api/models/SFODataObject.java | 2 +- .../api/models/SFODataObjectType.java | 2 +- .../api/models/SFOutlookInformation.java | 98 ++- .../SFOutlookInformationOptionBool.java | 14 +- .../models/SFOutlookInformationOptionInt.java | 14 +- .../SFOutlookInformationOptionString.java | 14 +- .../api/models/SFPasswordPolicy.java | 2 +- .../sharefile/api/models/SFPinLockType.java | 2 +- .../sharefile/api/models/SFPlanFeatures.java | 188 +++++- .../citrix/sharefile/api/models/SFPolicy.java | 152 +++++ .../sharefile/api/models/SFPolicyUsage.java | 49 ++ .../sharefile/api/models/SFPowerTools.java | 193 +++++- .../api/models/SFPreviewPlatform.java | 2 +- .../api/models/SFPreviewPlatformInfo.java | 2 +- .../sharefile/api/models/SFPreviewStatus.java | 2 +- .../sharefile/api/models/SFPrincipal.java | 2 +- .../api/models/SFProductDefaults.java | 2 +- .../citrix/sharefile/api/models/SFQuery.java | 2 +- .../sharefile/api/models/SFQueryPaging.java | 2 +- .../sharefile/api/models/SFQuerySorting.java | 2 +- .../sharefile/api/models/SFRedirection.java | 2 +- .../sharefile/api/models/SFRemoteUpload.java | 2 +- .../models/SFRemoteUploadRequestParams.java | 2 +- .../citrix/sharefile/api/models/SFReport.java | 154 ++++- .../api/models/SFReportDateOption.java | 2 +- .../api/models/SFReportObjectType.java | 2 +- .../sharefile/api/models/SFReportRecord.java | 2 +- .../api/models/SFReportRunFrequency.java | 2 +- .../api/models/SFReportRunStatus.java | 2 +- .../sharefile/api/models/SFReportType.java | 2 +- .../api/models/SFRequireSubdomainResult.java | 8 +- .../api/models/SFRequireWebPopResult.java | 8 +- .../api/models/SFResetPasswordRequest.java | 67 ++ .../citrix/sharefile/api/models/SFSFTool.java | 2 +- .../api/models/SFSSOAccountProvider.java | 2 +- .../sharefile/api/models/SFSSOInfo.java | 20 +- .../sharefile/api/models/SFSSOInfoEntry.java | 14 +- .../sharefile/api/models/SFSalesTaxQuote.java | 20 +- .../sharefile/api/models/SFSearchQuery.java | 2 +- .../sharefile/api/models/SFSearchResult.java | 8 +- .../sharefile/api/models/SFSearchResults.java | 2 +- .../api/models/SFSecurityQuestion.java | 11 +- .../api/models/SFSentNotification.java | 58 ++ .../sharefile/api/models/SFService.java | 26 +- .../api/models/SFServicesCollection.java | 17 +- .../sharefile/api/models/SFSession.java | 2 +- .../citrix/sharefile/api/models/SFShare.java | 207 ++++++- .../api/models/SFShareAccessRight.java | 2 +- .../api/models/SFShareAccessRightType.java | 2 +- .../api/models/SFShareActionType.java | 2 +- .../sharefile/api/models/SFShareAlias.java | 44 +- .../api/models/SFShareFileAccessRights.java | 2 +- .../api/models/SFShareItemHistory.java | 2 +- .../api/models/SFShareRequestParams.java | 2 +- .../api/models/SFShareResendParams.java | 2 +- .../api/models/SFShareSendParams.java | 2 +- .../sharefile/api/models/SFShareSettings.java | 8 +- .../sharefile/api/models/SFShareSubType.java | 2 +- .../sharefile/api/models/SFShareType.java | 2 +- .../sharefile/api/models/SFSimpleQuery.java | 2 +- .../api/models/SFSimpleSearchQuery.java | 2 +- .../sharefile/api/models/SFSortDirection.java | 2 +- .../sharefile/api/models/SFSortField.java | 2 +- .../sharefile/api/models/SFStorageCenter.java | 8 +- .../sharefile/api/models/SFStoragePolicy.java | 46 ++ .../api/models/SFStorageSettings.java | 40 ++ .../models/SFSubdomainAvailabilityResult.java | 46 ++ .../api/models/SFSubscribedResourceEvent.java | 61 ++ .../api/models/SFSubscriptionContext.java | 61 ++ .../sharefile/api/models/SFSymbolicLink.java | 2 +- .../SFTenantAccountCreationParameters.java | 91 +++ .../api/models/SFTenantZoneUsageReport.java | 2 +- .../api/models/SFToolInformation.java | 14 +- .../sharefile/api/models/SFTreeMode.java | 2 +- .../api/models/SFTwoFactorAuthApp.java | 91 +++ .../models/SFTwoFactorAuthPasscodeType.java | 23 + .../sharefile/api/models/SFTypeOfTour.java | 2 +- .../citrix/sharefile/api/models/SFUXMode.java | 2 +- .../sharefile/api/models/SFUploadMethod.java | 2 +- .../api/models/SFUploadRequestParams.java | 21 +- .../api/models/SFUploadSpecification.java | 17 +- .../citrix/sharefile/api/models/SFUser.java | 93 ++- .../api/models/SFUserAccessPolicy.java | 46 ++ .../api/models/SFUserAccessSettings.java | 586 ++++++++++++++++++ .../api/models/SFUserAuthenticationType.java | 23 + .../models/SFUserBulkDowngradeRequest.java | 61 ++ .../models/SFUserBulkOperationRequest.java | 46 ++ .../api/models/SFUserConfirmRequirement.java | 20 +- .../models/SFUserConfirmationSettings.java | 98 ++- .../sharefile/api/models/SFUserInfo.java | 32 +- .../sharefile/api/models/SFUserPolicy.java | 76 +++ .../api/models/SFUserPreferences.java | 8 +- .../sharefile/api/models/SFUserRole.java | 9 +- .../sharefile/api/models/SFUserSecurity.java | 17 +- .../sharefile/api/models/SFUserUsage.java | 20 +- .../sharefile/api/models/SFVRootType.java | 2 +- .../sharefile/api/models/SFVersioning.java | 2 +- .../api/models/SFWatermarkedDownloads.java | 2 +- .../api/models/SFWebhookCapabilities.java | 40 ++ .../sharefile/api/models/SFWebhookClient.java | 61 ++ .../api/models/SFWebhookSignatureKeys.java | 61 ++ .../api/models/SFWebhookSubscription.java | 95 +++ .../api/models/SFWebhookSupportedContext.java | 49 ++ .../api/models/SFWebhookSupportedEvents.java | 49 ++ .../sharefile/api/models/SFWorkflow.java | 148 +++++ .../api/models/SFWorkflowParticipant.java | 76 +++ .../sharefile/api/models/SFWorkflowRole.java | 23 + .../api/models/SFWorkflowStatus.java | 27 + .../sharefile/api/models/SFWorkflowType.java | 23 + .../citrix/sharefile/api/models/SFZone.java | 82 ++- .../sharefile/api/models/SFZoneService.java | 5 +- .../sharefile/api/models/SFZoneType.java | 2 +- .../api/models/SFZoneUsageBreakdown.java | 2 +- .../sharefile/api/utils/SFDateFormat.java | 28 +- .../com/citrix/sharefile/api/utils/Utils.java | 60 +- 278 files changed, 11184 insertions(+), 1363 deletions(-) delete mode 100644 ShareFileJavaSDK/libs/gson-2.2.4.jar create mode 100644 ShareFileJavaSDK/libs/gson-2.8.0.jar create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/ITokenlessClient.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAppsEntity.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFConfigsEntity.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFDevicesEntity.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFavoritesEntity.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFileLockEntity.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFPoliciesEntity.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFWebhookClientsEntity.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFWebhookSubscriptionsEntity.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFWorkflowsEntity.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/auto/SFGsonBuilder.java delete mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFUploadRunnable.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/https/upload/FinishUpload.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/https/upload/MultiThreadedUploadManager.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/https/upload/SFUploadRunnable.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/https/upload/UploadHelper.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAppCodes.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBandwidth.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBrandingLinks.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCancellation.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFClientUpgradeWeb.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectedApp.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCreateWorkflowParams.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCustomMessage.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCustomWorkflowBundleType.java rename ShareFileJavaSDK/src/com/citrix/sharefile/api/models/{SFEnsDeviceEventType.java => SFDistributionMethod.java} (83%) create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEmailAddress.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFavorite.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileAndFolderPolicy.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileAndFolderSettingOptions.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileAndFolderSettings.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolderInvite.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFForbiddenOAuthClientNameWords.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFImage32Action.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemOperations.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPolicy.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPolicyUsage.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFResetPasswordRequest.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSentNotification.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFStoragePolicy.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFStorageSettings.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSubdomainAvailabilityResult.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSubscribedResourceEvent.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSubscriptionContext.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTenantAccountCreationParameters.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTwoFactorAuthApp.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTwoFactorAuthPasscodeType.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserAccessPolicy.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserAccessSettings.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserAuthenticationType.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserBulkDowngradeRequest.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserBulkOperationRequest.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserPolicy.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWebhookCapabilities.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWebhookClient.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWebhookSignatureKeys.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWebhookSubscription.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWebhookSupportedContext.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWebhookSupportedEvents.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWorkflow.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWorkflowParticipant.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWorkflowRole.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWorkflowStatus.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWorkflowType.java diff --git a/SDKSample/AndroidStudioProject/app/build.gradle b/SDKSample/AndroidStudioProject/app/build.gradle index eab6012..8904a41 100644 --- a/SDKSample/AndroidStudioProject/app/build.gradle +++ b/SDKSample/AndroidStudioProject/app/build.gradle @@ -9,7 +9,6 @@ android { exclude 'META-INF/LICENSE' exclude 'META-INF/NOTICE' } - defaultConfig { applicationId "com.sharefile.testv3" minSdkVersion 14 @@ -29,7 +28,6 @@ android { } dependencies { - compile 'com.google.code.gson:gson:2.2.4' - compile fileTree(dir: 'libs', include: '*.jar') - compile 'com.citrix:sharefile-api:3.1.2' + compile 'com.google.code.gson:gson:2.8.0' + compile 'com.citrix:sharefile-api:3.0.5' } diff --git a/SDKSample/AndroidStudioProject/build.gradle b/SDKSample/AndroidStudioProject/build.gradle index d2dfa08..66fde07 100644 --- a/SDKSample/AndroidStudioProject/build.gradle +++ b/SDKSample/AndroidStudioProject/build.gradle @@ -4,7 +4,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:2.1.0-alpha3' + classpath 'com.android.tools.build:gradle:2.2.2' } } diff --git a/ShareFileJavaSDK/.classpath b/ShareFileJavaSDK/.classpath index 17af937..db62127 100644 --- a/ShareFileJavaSDK/.classpath +++ b/ShareFileJavaSDK/.classpath @@ -2,7 +2,7 @@ - + diff --git a/ShareFileJavaSDK/build.gradle b/ShareFileJavaSDK/build.gradle index f378f30..0232de5 100644 --- a/ShareFileJavaSDK/build.gradle +++ b/ShareFileJavaSDK/build.gradle @@ -5,7 +5,7 @@ apply plugin: 'maven' apply plugin: 'signing' String shareFileJarName = 'sharefile-api' -String shareFileJarVersion = '3.1.4' +String shareFileJarVersion = '3.1.5' String shareFilePomFileName = "$buildDir/libs/"+shareFileJarName+"-"+shareFileJarVersion+".pom" group = "com.citrix" @@ -34,7 +34,6 @@ dependencies { compile fileTree(dir: 'libs', include: '*.jar') // compile 'org.apache.httpcomponents:httpcore:4.3.2' // compile 'org.apache.directory.studio:org.apache.commons.codec:1.6' -// compile 'com.google.code.gson:gson:2.2.4' sourceCompatibility = JavaVersion.VERSION_1_7 targetCompatibility = JavaVersion.VERSION_1_7 diff --git a/ShareFileJavaSDK/libs/gson-2.2.4.jar b/ShareFileJavaSDK/libs/gson-2.2.4.jar deleted file mode 100644 index 9478253e8cb62cd840a21e1f323b68a507c98d66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 190418 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

y)d@^y=s9`#39r;>ehppwbYq0U{|$2}4K7 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

-X*@Tz0V@JE<{JVc!OO7(MCcH*%up!yjaDX0y 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 M$1P8rF<>(NAA9kPA^-pY diff --git a/ShareFileJavaSDK/libs/gson-2.8.0.jar b/ShareFileJavaSDK/libs/gson-2.8.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..1235f63816c5d04586f7a14e531f9c3c09ccf205 GIT binary patch literal 231952 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

This function can correctly parse only objects with a valid "odata.metadata" that can be mapped to one of the SFV3Element or FeedTypes - * .The function will return null otherwise. - */ - public static SFODataObject customParse(JsonElement jsonElement) - { - try - { - if(jsonElement == null) - { - Logger.d(TAG,"JSON Element NULL"); - return null; - } - - JsonObject jsonObject = jsonElement.getAsJsonObject(); - - if(jsonObject == null) - { - Logger.d(TAG,"JSON Object NULL"); - return null; - } - - String odataType = SFGsonHelper.getString(jsonObject, SFKeywords.ODATA_TYPE, null); - String metadata = SFGsonHelper.getString(jsonObject, SFKeywords.ODATA_METADATA, null); - - if(odataType ==null) - { - //if metadata ends with element tag or redirection tag, never parse it as FeedType. - if(metadata.endsWith(ELEMENT_TAG) || metadata.endsWith(REDIRECTION_MODEL_TAG)) - { - odataType = metadata; - } - } - - if(odataType != null) //Element is non-feed type - { - SFODataObject ret = parseJsonObject(odataType,jsonObject,false); - - if(ret!=null) - { - return ret; - } - - //Got a null object implies the server added a new type of Object which the SDK - //Has no idea about or we got an anomalous type like the SharePoint Capabilities feed. - //Before parsing this as a feed make sure that it is a FEED - if(metadata == null || !metadata.contains(METADATA_FEED_TAG)) - { - Logger.e(TAG,"Upgrade the SDK. No object type for: " + odataType); - return null; - } - } - - //Feed type element - - return parseJsonObject(metadata, jsonObject, true); - - } - catch(Exception e) - { - Logger.e(TAG, e); - } - - return null; - } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/auto/SFDefaultGsonParser.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/auto/SFDefaultGsonParser.java index f67c5ea..51bf35f 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/auto/SFDefaultGsonParser.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/auto/SFDefaultGsonParser.java @@ -1,131 +1,256 @@ package com.citrix.sharefile.api.gson.auto; -import java.io.UnsupportedEncodingException; -import java.lang.reflect.Type; -import java.net.MalformedURLException; -import java.net.URI; -import java.net.URISyntaxException; -import java.text.SimpleDateFormat; -import java.util.Date; - -import com.citrix.sharefile.api.utils.Utils; +import com.citrix.sharefile.api.constants.SFKeywords; +import com.citrix.sharefile.api.gson.SFGsonHelper; +import com.citrix.sharefile.api.log.Logger; +import com.citrix.sharefile.api.models.SFEntityTypeMap; +import com.citrix.sharefile.api.models.SFODataFeed; +import com.citrix.sharefile.api.models.SFODataObject; import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.google.gson.JsonDeserializationContext; -import com.google.gson.JsonDeserializer; +import com.google.gson.JsonArray; import com.google.gson.JsonElement; -import com.google.gson.JsonParseException; +import com.google.gson.JsonObject; + +import java.lang.reflect.Type; +import java.util.ArrayList; -import com.citrix.sharefile.api.enumerations.SFSafeEnum; -import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; -import com.citrix.sharefile.api.models.SFItem; -import com.citrix.sharefile.api.models.SFODataFeed; -import com.citrix.sharefile.api.models.SFODataObject; -import com.citrix.sharefile.api.models.SFPrincipal; -import com.citrix.sharefile.api.utils.SFDateFormat; /** * This class goes for the default gson parsing for most common objects. For objects * that need explicit routing to a different parser class (example the SFPrincipal class) it relies on the class specific parser */ public class SFDefaultGsonParser -{ - private static final GsonBuilder mGsonBuilder = new GsonBuilder(); - private final Gson mGson; - private static SFDefaultGsonParser mInstance = null; +{ + private static final String TAG = "SFGsonParser"; + private static final String SHAREFILE_MODELS_PACKAGE_NAME = "ShareFile.Api.Models."; + private static final String ELEMENT_TAG = "@Element"; + private static final String METADATA_FEED_TAG = "$metadata#"; + private static final String REDIRECTION_MODEL_TAG = SHAREFILE_MODELS_PACKAGE_NAME+"Redirection"; + private Gson mGson; - SFDefaultGsonParser() + public SFDefaultGsonParser() { - registerSFSpecificGsonAdapters(); - mGson = mGsonBuilder.setDateFormat("yyyy-MM-dd").create(); + mGson = SFGsonBuilder.build(null,this); } - - public static SFDefaultGsonParser getInstance() + + private void ignoreClassFromSFGsonRouter(Type classToIgnoreFromSFGsonRouting) { - if(mInstance == null ) - { - mInstance = new SFDefaultGsonParser(); - } - - return mInstance; + mGson = SFGsonBuilder.build(classToIgnoreFromSFGsonRouting,this); } - - public static SFODataObject parse(Class clazz,JsonElement jsonElement) + + + private SFODataObject parse(Class clazz,JsonElement jsonElement) { - return (SFODataObject) getInstance().mGson.fromJson(jsonElement, clazz); + return (SFODataObject) mGson.fromJson(jsonElement, clazz); } - public static String serialize(Type clazz,Object src) + public String serialize(Type clazz,Object src) { - return getInstance().mGson.toJson(src, clazz); + return mGson.toJson(src, clazz); } - - - - /** - * Certain classes like SFPrincipal can't rely on the default gson parsing since we need to get the contained inner object - * in them using the odata.metatata and then handover the gson parsing to actual class contained in SFPrincipal. - *

This is particulalry true of objects contained inside a feed. exampple a folder feed has type ArrayList; - * So gson will try to parse the objects inside a feed using the parser for SFItem.class but we need them to be parsed using - * the individual SFFile,SFLink,SFFoler,SFLink etc classes. We re-pass the SFItem to SFGsonRouter. Note how we have avoided - * self-recursion inside the SFGsonRouter. - *

- * - * - * V3Date Format is: ", ;//yyyy-MM-dd'T'HH:mm:ss.SSSZ + + private static String replaceLeftSide(String tag, String original) + { + int tagIndex = original.lastIndexOf(tag); + + if(tagIndex > -1) + { + return original.substring(tagIndex + tag.length()); + } + + return original; + } + + /* + * This function will get the bare bones class name from odata.type or odata.metadata string. + * + * Sample: + * + * odata.metadata : https://subdomain.sf-api.com/sf/v3/$metadata#Capabilities + * odata.type : ShareFile.Api.Models.Folder + * + * odata.metadata : https://enttest1.sf-api.com/sf/v3/$metadata#Items/ShareFile.Api.Models.Folder@Element + * + * + * For SharePoint Feed we get the following strange combination: + * odata.metadata : https://szqatest2.sharefiletest.com/sp/v3/$metadata#Capabilities + odata.type : ShareFile.Api.Models.ODataFeed`1[[ShareFile.Api.Models.Capability, ShareFile.Api.Models, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]] + */ - - private final SimpleDateFormat v3SimpleDateFormat = new SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ss.SSSSSSSSSSZ"); + private static String getElementName(String original) + { + String ret = original.replace(ELEMENT_TAG, ""); + ret = replaceLeftSide(SHAREFILE_MODELS_PACKAGE_NAME,ret); + ret = replaceLeftSide(METADATA_FEED_TAG,ret); + return ret.trim(); + } + + /* + * This function will get the element from the EntityTypeMap + */ + private static Class getClassFromString(String str) + { + Class clazz = SFEntityTypeMap.getEntityTypeMap().get(getElementName(str)); + if(clazz == null) + { + Logger.d(TAG,"Object not in EntityMap: " + str); + return null; + } + return clazz; + } - private void registerSFSpecificGsonAdapters() + private SFODataObject parseSFElement(Class clazz, JsonObject jsonObject) { - mGsonBuilder.registerTypeAdapter(SFPrincipal.class, new SFGsonRouter()); - mGsonBuilder.registerTypeAdapter(SFItem.class, new SFGsonRouter()); - mGsonBuilder.registerTypeAdapter(SFODataFeed.class, new SFGsonRouter()); - mGsonBuilder.registerTypeAdapter(SFSafeEnum.class, new SFCustomSafeEnumParser()); - mGsonBuilder.registerTypeAdapter(SFSafeEnumFlags.class, new SFCustomSafeEnumFlagsParser()); + return parse(clazz, jsonObject); + } - mGsonBuilder.registerTypeAdapter(Date.class, new JsonDeserializer() + private SFODataObject parseJsonObject(String odata, JsonObject jsonObject, boolean isFeed, Type typeOfObjectGuessedByGson) + { + Class clazz = getClassFromString(odata); + if(clazz == null) { - @Override - public Date deserialize(JsonElement arg0, Type arg1,JsonDeserializationContext arg2) throws JsonParseException - { - return SFDateFormat.parse(arg0.getAsString()); + return null; + } + + boolean resetGson = false; + + if(SFGsonBuilder.isRegisteredForInternalGsonRouting(clazz)){ + if(typeOfObjectGuessedByGson == clazz){ + Logger.d(TAG, "Entity Map and Gson Guess Match. Temporary Unregister: " + typeOfObjectGuessedByGson.toString() + " from internal routing"); + ignoreClassFromSFGsonRouter(clazz); + resetGson = true; } - }); - - mGsonBuilder.registerTypeAdapter(URI.class, new JsonDeserializer() + } + + try { + if (!isFeed) { + return parseSFElement(clazz, jsonObject); + } + + return parseFeed(clazz, jsonObject); + } + finally { + if(resetGson){ + ignoreClassFromSFGsonRouter(null); + } + } + } + + private SFODataFeed parseFeed(Class clazz, JsonObject jsonObject) + { + SFODataFeed item = new SFODataFeed(); + + item.setMetadataUrl(SFGsonHelper.getString(jsonObject, SFKeywords.ODATA_METADATA, null)); + item.seturl(SFGsonHelper.getURI(jsonObject, SFKeywords.URL, null)); + item.setId(SFGsonHelper.getString(jsonObject, SFKeywords.Id, null)); + + int count = SFGsonHelper.getInt(jsonObject, SFKeywords.ODATA_COUNT, 0); + item.setcount(count); + item.setNextLink(SFGsonHelper.getString(jsonObject, SFKeywords.ODATA_NEXTLINK, null)); + + ArrayList Feed = getArrayList(clazz, jsonObject, SFKeywords.VALUE, null); + item.setFeed(Feed); + + return item; + } + + /** + * This function finds type of SFODataObject (including feed types!!) from the metadata and then calls the default gson parser + * for the appropriate class type contained in the json string. + * + *

This function can correctly parse only objects with a valid "odata.metadata" that can be mapped to one of the SFV3Element or FeedTypes + * .The function will return null otherwise. + */ + public SFODataObject customParse(JsonElement jsonElement, Type typeOfObjectGuessedByGson) + { + try { - @Override - public URI deserialize(JsonElement arg0, Type arg1,JsonDeserializationContext arg2) throws JsonParseException - { - try + if(jsonElement == null) + { + Logger.d(TAG,"JSON Element NULL"); + return null; + } + + JsonObject jsonObject = jsonElement.getAsJsonObject(); + + if(jsonObject == null) + { + Logger.d(TAG,"JSON Object NULL"); + return null; + } + + String odataType = SFGsonHelper.getString(jsonObject, SFKeywords.ODATA_TYPE, null); + String metadata = SFGsonHelper.getString(jsonObject, SFKeywords.ODATA_METADATA, null); + + if(odataType ==null) + { + //if metadata ends with element tag or redirection tag, never parse it as FeedType. + if(metadata.endsWith(ELEMENT_TAG) || metadata.endsWith(REDIRECTION_MODEL_TAG)) { - return Utils.getURIFromString(arg0.getAsString()); - } - catch (URISyntaxException | MalformedURLException | UnsupportedEncodingException e) + odataType = metadata; + } + } + + if(odataType != null) //Element is non-feed type + { + SFODataObject ret = parseJsonObject(odataType,jsonObject,false,typeOfObjectGuessedByGson); + + if(ret!=null) { - throw new JsonParseException(e); - } + return ret; + } + + //Got a null object implies the server added a new type of Object which the SDK + //Has no idea about or we got an anomalous type like the SharePoint Capabilities feed. + //Before parsing this as a feed make sure that it is a FEED + if(metadata == null || !metadata.contains(METADATA_FEED_TAG)) + { + Logger.e(TAG,"Upgrade the SDK. No object type for: " + odataType); + return null; + } } - }); - } - private static final String[] needGsonRouter = new String[] - { - "Principal", "Item" - }; + //Feed type element + + return parseJsonObject(metadata, jsonObject, true,typeOfObjectGuessedByGson); + + } + catch(Exception e) + { + Logger.e(TAG, e); + } - public static void routeSpecialClasses(String originalClassName,Class newClass) + return null; + } + + private ArrayList getArrayList(Class clazz, JsonObject json,String memberName,ArrayList defaultValue) { - for(String str: needGsonRouter) + ArrayList ret = defaultValue; + + JsonElement element = json.get(memberName); + + if(element!=null) { - if(needGsonRouter.equals(originalClassName)) + JsonArray array = element.getAsJsonArray(); + if(array!=null) { - mGsonBuilder.registerTypeAdapter(newClass, new SFGsonRouter()); - break; + ArrayList retnew = new ArrayList(); + + for(JsonElement e:array) + { + SFODataObject object = parse(clazz, e); + if (object==null) { + Logger.e(TAG, new Exception("NULL Object in feed: " + ((e!=null) ? e.toString() : "NULL element"))); + continue; + } + retnew.add((T) object); + } + + ret = retnew; } } + + return ret; } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/auto/SFGsonBuilder.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/auto/SFGsonBuilder.java new file mode 100644 index 0000000..2d70117 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/auto/SFGsonBuilder.java @@ -0,0 +1,124 @@ +package com.citrix.sharefile.api.gson.auto; + +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; +import com.citrix.sharefile.api.models.SFItem; +import com.citrix.sharefile.api.models.SFMetadata; +import com.citrix.sharefile.api.models.SFODataFeed; +import com.citrix.sharefile.api.models.SFPrincipal; +import com.citrix.sharefile.api.utils.SFDateFormat; +import com.citrix.sharefile.api.utils.Utils; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonParseException; + +import java.io.UnsupportedEncodingException; +import java.lang.reflect.Type; +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; +import java.util.Date; +import java.util.HashMap; + +/** + Builds the Gson object required to parse strings to Java Objects. + It will by default add GsonRouter which allows us to figure out the ShareFile Models class from the odatatype + field in the json string so that we can map generic class variables like SFItem to Specific classes + like SFFile,SFolder etc. +*/ +public class SFGsonBuilder +{ + private static final HashMap mRegisteredForInternalRouting = new HashMap(); + private static final HashMap gsonObjectsToAvoidCustomParsing = new HashMap<>(); + private static Gson customParseAll; + + private static Gson getCachedGson(Type classToIgnoreFromSFGsonRouting, SFDefaultGsonParser gsonParser){ + if(classToIgnoreFromSFGsonRouting == null){ + if(customParseAll == null){ + customParseAll = buildGson(null,gsonParser); + } + return customParseAll; + } + + return gsonObjectsToAvoidCustomParsing.get(classToIgnoreFromSFGsonRouting); + } + + private static Gson buildGson(Type classToIgnoreFromSFGsonRouting, SFDefaultGsonParser gsonParser){ + + GsonBuilder gsonBuilder = new GsonBuilder(); + gsonBuilder.disableHtmlEscaping(); + registerSFSpecificGsonAdapters(classToIgnoreFromSFGsonRouting,gsonBuilder,gsonParser); + Gson ret = gsonBuilder.setDateFormat("yyyy-MM-dd").create(); + + //Cache the Gson object which ignores custom parsing for specific classes so that it can be re-used. + if(classToIgnoreFromSFGsonRouting !=null){ + gsonObjectsToAvoidCustomParsing.put(classToIgnoreFromSFGsonRouting,ret); + } + + return ret; + } + + public static Gson build(Type classToIgnoreFromSFGsonRouting, SFDefaultGsonParser gsonParser) + { + Gson ret = getCachedGson(classToIgnoreFromSFGsonRouting,gsonParser); + if(ret!=null){ + return ret; + } + + return buildGson(classToIgnoreFromSFGsonRouting,gsonParser); + } + + private static void registerInternalRouter(Type type,Object object, Type classToIgnoreFromSFGsonRouting, GsonBuilder gsonBuilder) + { + mRegisteredForInternalRouting.put(type,object); + + //Avoid registering the type adapter + if(type == classToIgnoreFromSFGsonRouting){ + return; + } + + gsonBuilder.registerTypeAdapter(type, object); + } + + public static boolean isRegisteredForInternalGsonRouting(Type type){ + return (mRegisteredForInternalRouting.get(type)!=null); + } + + private static void registerSFSpecificGsonAdapters(Type classToIgnoreFromSFGsonRouting, GsonBuilder gsonBuilder, SFDefaultGsonParser gsonParser) + { + registerInternalRouter(SFPrincipal.class, new SFGsonRouter(gsonParser),classToIgnoreFromSFGsonRouting,gsonBuilder); + registerInternalRouter(SFItem.class, new SFGsonRouter(gsonParser),classToIgnoreFromSFGsonRouting,gsonBuilder); + registerInternalRouter(SFODataFeed.class, new SFGsonRouter(gsonParser),classToIgnoreFromSFGsonRouting,gsonBuilder); + registerInternalRouter(SFSafeEnum.class, new SFCustomSafeEnumParser(),classToIgnoreFromSFGsonRouting,gsonBuilder); + registerInternalRouter(SFSafeEnumFlags.class, new SFCustomSafeEnumFlagsParser(),classToIgnoreFromSFGsonRouting,gsonBuilder); + registerInternalRouter(SFMetadata.class, new SFGsonRouter(gsonParser),classToIgnoreFromSFGsonRouting,gsonBuilder); + + registerInternalRouter(Date.class, new JsonDeserializer() + { + @Override + public Date deserialize(JsonElement arg0, Type arg1, JsonDeserializationContext arg2) throws JsonParseException + { + return SFDateFormat.parse(arg0.getAsString()); + } + },classToIgnoreFromSFGsonRouting,gsonBuilder); + + registerInternalRouter(URI.class, new JsonDeserializer() + { + @Override + public URI deserialize(JsonElement arg0, Type arg1,JsonDeserializationContext arg2) throws JsonParseException + { + try + { + return Utils.getURIFromString(arg0.getAsString()); + } + catch (URISyntaxException | MalformedURLException | UnsupportedEncodingException e) + { + throw new JsonParseException(e); + } + } + },classToIgnoreFromSFGsonRouting,gsonBuilder); + } +} diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/auto/SFGsonRouter.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/auto/SFGsonRouter.java index 27741a6..67a2350 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/auto/SFGsonRouter.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/auto/SFGsonRouter.java @@ -1,31 +1,29 @@ package com.citrix.sharefile.api.gson.auto; -import java.lang.reflect.Type; - +import com.citrix.sharefile.api.models.SFODataObject; import com.google.gson.JsonDeserializationContext; import com.google.gson.JsonDeserializer; import com.google.gson.JsonElement; import com.google.gson.JsonParseException; -import com.google.gson.JsonSerializationContext; -import com.google.gson.JsonSerializer; -import com.citrix.sharefile.api.gson.SFGsonHelper; -import com.citrix.sharefile.api.models.SFGroup; -import com.citrix.sharefile.api.models.SFItem; -import com.citrix.sharefile.api.models.SFODataObject; -import com.citrix.sharefile.api.models.SFShare; -import com.citrix.sharefile.api.models.SFUser; + +import java.lang.reflect.Type; /** * This class read the odata.metadata from the JsonElement to find out the real type of object contained inside the object * and the routes the parsing back to the correct default gson parser. */ public class SFGsonRouter implements JsonDeserializer -{ - private static final String TAG = "SFGsonRouter"; - +{ + private final SFDefaultGsonParser gsonParser; + + public SFGsonRouter(SFDefaultGsonParser gsonParser) + { + this.gsonParser = gsonParser; + } + @Override public SFODataObject deserialize(JsonElement jsonElement, Type typeOfObject,JsonDeserializationContext desContext) throws JsonParseException - { - return SFGsonHelper.customParse(jsonElement); + { + return gsonParser.customParse(jsonElement, typeOfObject); } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFCookieManager.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFCookieManager.java index dd7062e..5f81e8e 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFCookieManager.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFCookieManager.java @@ -3,21 +3,22 @@ import com.citrix.sharefile.api.SFSDKDefaultAccessScope; import com.citrix.sharefile.api.exceptions.SFFormsAuthenticationCookies; import com.citrix.sharefile.api.log.Logger; +import com.citrix.sharefile.api.utils.SFDateFormat; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import java.net.URL; import java.net.URLConnection; -import java.text.DateFormat; -import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; +import java.util.HashSet; import java.util.Iterator; import java.util.Locale; import java.util.Map; import java.util.StringTokenizer; + public class SFCookieManager { private static final String TAG = "SFCookieManager"; @@ -42,19 +43,16 @@ public Cookie(String value) { private static final String COOKIE_VALUE_DELIMITER = ";"; private static final String PATH = "path"; private static final String EXPIRES = "expires"; - private static final String DATE_FORMAT = "EEE, dd-MMM-yyyy hh:mm:ss z"; private static final String SET_COOKIE_SEPARATOR="; "; private static final String COOKIE = "Cookie"; private static final char NAME_VALUE_SEPARATOR = '='; private static final char DOT = '.'; - private final DateFormat dateFormat; public SFCookieManager() { mStore = new HashMap>(); - dateFormat = new SimpleDateFormat(DATE_FORMAT,Locale.US); } public synchronized void clearAllCookies() @@ -139,7 +137,7 @@ private void storeCookieToDomainStore(Map domainStore,String cook } // value pair - String name = token.substring(0, index).toLowerCase(Locale.US); + String name = token.substring(0, index); String value = token.substring(index + 1); if ( cookie==null ) { @@ -147,9 +145,11 @@ private void storeCookieToDomainStore(Map domainStore,String cook domainStore.put(name, cookie); } - if ( EXPIRES.equals(name) ) { + //Use instead of ignorecase() for locale consistency + String nameLower = name.toLowerCase(Locale.US).trim(); + if ( EXPIRES.equals(nameLower) ) { cookie.expires = value; - } else if ( PATH.equals(name) ) { + } else if ( PATH.equals(nameLower) ) { cookie.path = value; } /*else @@ -185,7 +185,7 @@ private void storeCookieToDomainStore(Map domainStore,String cook } } } - + /** * Retreivees the www-authentication-headers for personal cloud connectors when there is a not authorized exception * @param conn @@ -292,16 +292,16 @@ private boolean isNotExpired(String cookieExpires) { if (cookieExpires == null) return true; Date now = new Date(); - try - { - return (now.compareTo(dateFormat.parse(cookieExpires))) <= 0; - } - catch (java.text.ParseException pe) - { - Logger.e(TAG,pe); - return false; + + Date expireDate = SFDateFormat.parse(cookieExpires); + + if(expireDate==null){ + //parse will fail if using unknown date formats Lets be safe and say it is good. + return true; } - } + + return now.compareTo(expireDate) <= 0; + } private boolean comparePaths(String cookiePath, String targetPath) { @@ -330,10 +330,32 @@ private void removeCookiesForDomain(String domain) { mStore.remove(domain); } - - /** - * removes all cookies for the domain in the given URI - */ + + /** + * Removes a specific cookie for the domain. + * This is needed to support legacy connectors + * Ideally the platform should send us back cookies with unique paths + * @param uri + * @param key + */ + public void removeCookieStartsWith(URI uri, String key) { + Map domainStore = getDomainStoreFromHost(uri.getHost()); + + //do this to avoid concurrent issues + HashSet keySet = new HashSet<>(); + keySet.addAll(domainStore.keySet()); + + for (String entry : keySet) + { + if(entry.startsWith(key)){ + domainStore.remove(entry); + } + } + } + + /** + * removes all cookies for the domain in the given URI + */ public void removeCookies(URI uri) { removeCookiesForDomain(getDomainFromHost(uri.getHost())); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFDownloadRunnable.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFDownloadRunnable.java index 4eaa146..4da25a9 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFDownloadRunnable.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFDownloadRunnable.java @@ -120,7 +120,7 @@ private void download() throws SFSDKException if(mProgressListener!=null) { - mProgressListener.onComplete(mTotalBytesTransferredForThisFile); + mProgressListener.onComplete(mTotalBytesTransferredForThisFile, null); } break; diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFHttpsCaller.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFHttpsCaller.java index f85b768..411942f 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFHttpsCaller.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFHttpsCaller.java @@ -47,7 +47,7 @@ public static void setBasicAuth(URLConnection conn,String username,String passwo { String combinepass = username +SFKeywords.COLON + password; String basicAuth = "Basic " + new String(Base64.encodeBase64(combinepass.getBytes())); - conn.setRequestProperty ("Authorization", basicAuth); + conn.setRequestProperty("Authorization", basicAuth); } public static void postBody(URLConnection conn, String body) throws IOException @@ -127,7 +127,7 @@ private static final boolean overridePatchMethod(URLConnection conn,String metho return ret; } - + /** * DELETE does not support setOutputTrue on Android. Use POST as surrogate instead on all systems. */ @@ -167,7 +167,7 @@ public static void setMethod(URLConnection conn,String methodName, String option } conn.setDoInput(true); - conn.setDoOutput(true); //POST, PUT (DELETE with a body will be converted to POST) + conn.setDoOutput(true); //POST, PUT, DELETE } public static int catchIfAuthException(IOException e) throws IOException diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFUploadRunnable.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFUploadRunnable.java deleted file mode 100644 index e9c6317..0000000 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFUploadRunnable.java +++ /dev/null @@ -1,525 +0,0 @@ -package com.citrix.sharefile.api.https; - -import com.citrix.sharefile.api.SFApiClient; -import com.citrix.sharefile.api.SFConnectionManager; -import com.citrix.sharefile.api.SFSDKDefaultAccessScope; -import com.citrix.sharefile.api.constants.SFKeywords; -import com.citrix.sharefile.api.constants.SFSdkGlobals; -import com.citrix.sharefile.api.enumerations.SFSafeEnum; -import com.citrix.sharefile.api.exceptions.SFCanceledException; -import com.citrix.sharefile.api.exceptions.SFInvalidStateException; -import com.citrix.sharefile.api.exceptions.SFNotAuthorizedException; -import com.citrix.sharefile.api.exceptions.SFOAuthTokenRenewException; -import com.citrix.sharefile.api.exceptions.SFOtherException; -import com.citrix.sharefile.api.exceptions.SFResetUploadException; -import com.citrix.sharefile.api.exceptions.SFSDKException; -import com.citrix.sharefile.api.exceptions.SFServerException; -import com.citrix.sharefile.api.gson.SFGsonHelper; -import com.citrix.sharefile.api.interfaces.ISFQuery; -import com.citrix.sharefile.api.log.Logger; -import com.citrix.sharefile.api.models.SFUploadMethod; -import com.citrix.sharefile.api.models.SFUploadRequestParams; -import com.citrix.sharefile.api.models.SFUploadSpecification; -import com.google.gson.Gson; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.google.gson.JsonParser; - -import java.io.ByteArrayInputStream; -import java.io.Closeable; -import java.io.DataOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.io.UnsupportedEncodingException; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.URL; -import java.net.URLEncoder; -import java.security.MessageDigest; -import java.util.Date; - -import javax.net.ssl.HttpsURLConnection; - -/** - * - * { - "Method": "Streamed", - "ChunkUri": "https://storage-ec2-34.sharefile.com/upload-streaming-2.aspx?batchid=723ffb79-d720-4de8-b95d-087be1e6462a&overwrite=true&uploadid=rsu-9c48c04a5fb84f9d8fc93875231b01ca&raw=1&encparams=phT2SuROQY1XrVtmjxwO2yRkHK2uBy1BtAjWhNYAu-lvRQr3eTm-Xh6zYbz3Lc9FfRoDvzBCdI7SyPDVrxL0bR9-cb7IsTFbIcnPRRJ8xLn0nJ0yxIeKXV-m-gb0HWzHGdHOnKTBEEgwD969n-8rbXu6jvkZ3UhEwY6I79GfdTogsf1vi7lFrfPrTe8TV5isPOPSpSINN3qxBI_qWJoy8D_AUnK009vuFHJP4t9yzPi6rDqmfU-7ZhmhncG4rsBfTdEWL3wQiOdU5kNnFl5WkSzjO8dg1vmjSidVSreUN_YJeQw95i8w5XaVA7BGuWDDNXjE8rV53cyQ9p2blo6Xovj4fxQi6wSf0J6CqLKZnFgbHTd7IVvexhdXhTMYAWce01eMBr7iWD9Kd2J3O_nLX3oEWKMDgqCg6SCSd8baO9_EBiQ8QnDwfh8tWeOQq60_gXeX-wBn_TAPNUPTmV1RyD5nt9sn5Q77Rd6YtiOiSjNI98z2mCTSiLp3TYMm4gB38CawObllVnJuWIERHKGbyEwJhE5PNxdMQC4PeM4$", - "IsResume": false, - "ResumeIndex": 0, - "ResumeOffset": 0, - "ResumeFileHash": "", - "odata.metadata": "https://nilesh.sf-api.com/sf/v3/$metadata#UploadSpecification/ShareFile.Api.Models.UploadSpecification@Element" -} - */ -public class SFUploadRunnable extends TransferRunnable -{ - private static final String TAG = "SFUploadRunnable"; - - //Server does not localize this error. - private static final String INVALID_UPLOAD_ID = "Unrecognized Upload ID"; - - private final long mResumeFromByteIndex; - private final long mTotalBytes; - private final InputStream mFileInputStream; - private final String mDestinationFileName; - - private final String mDetails; - -// private final String mParentId; - private final String mV3Url; - private final boolean mOverwrite; - - private SFUploadSpecification mUploadSpecification; - private SFChunkUploadResponse mChunkUploadResponse=null; - - public void setUploadSpec(String previousUploadSpec) - { - Gson gson = new Gson(); - mUploadSpecification = gson.fromJson(previousUploadSpec,SFUploadSpecification.class); - } - - public String getUploadSpec() throws SFNotAuthorizedException, SFOAuthTokenRenewException, SFOtherException, SFInvalidStateException, SFServerException - { - if(mUploadSpecification == null) - { - mUploadSpecification = getSpecification(); - } - - Gson gson = new Gson(); - return gson.toJson(mUploadSpecification,SFUploadSpecification.class); - } - - public SFUploadRunnable( - String v3Url, boolean overwrite, - long resumeFromByteIndex, long tolalBytes, String destinationName, - InputStream inputStream, SFApiClient client, IProgress progressListener, - SFCookieManager cookieManager,String connUserName,String connPassword, String details - ) { - super(client,progressListener,cookieManager,connUserName,connPassword); - mResumeFromByteIndex = resumeFromByteIndex; - mDestinationFileName = destinationName; - mTotalBytes = tolalBytes; - mFileInputStream = inputStream; - mDetails = details; - - // mParentId = parentId; - mV3Url = v3Url; - mOverwrite = overwrite; - } - - private void abortIfCancelledRequested() throws SFCanceledException - { - if ( cancelRequested.get() ) - { - throw new SFCanceledException("Upload Cancelled"); - } - } - - protected void runInThisThread() throws SFSDKException - { - try - { - if(mUploadSpecification == null) - { - mUploadSpecification = getSpecification();// get spec - } - - abortIfCancelledRequested(); - - upload(); // upload - - abortIfCancelledRequested(); - } - catch (SFSDKException e) - { - Logger.e(TAG, e); - throw e; - } - catch(Exception e) - { - Logger.e(TAG, e); - SFOtherException other = new SFOtherException(e); - throw other; - } - } - - private SFUploadSpecification getSpecification() throws SFInvalidStateException, - SFServerException, - SFNotAuthorizedException, - SFOAuthTokenRenewException, - SFOtherException - { - try - { - Date now = new Date(); - ISFQuery uploadQuery = mApiClient.items().upload(new URI(mV3Url) - ,new SFSafeEnum(SFUploadMethod.Streamed), - true, - mDestinationFileName, - mTotalBytes, - "", - false, - true, - false, - false, - "SFJavaSDK", - mOverwrite, - mDestinationFileName, - mDetails, - false, - "", - "", - 1, - "json", - false, now,now); - - uploadQuery.setCredentials(mUsername,mPassword); - - return mApiClient.executeQuery(uploadQuery); - } - catch (URISyntaxException e) - { - Logger.e(TAG, e); - } - - return null; - } - - private SFUploadRequestParams buildUploadRequestParams(String fileName, - String details, long fileSize) - { - Date now = new Date(); - - SFUploadRequestParams uploadRequestParams = new SFUploadRequestParams(); - uploadRequestParams.setFileName(fileName); - uploadRequestParams.setClientCreatedDate(now); - uploadRequestParams.setClientModifiedDate(now); - uploadRequestParams.setDetails(details); - uploadRequestParams.setFileSize(fileSize); - uploadRequestParams.setMethod(new SFSafeEnum(SFUploadMethod.Streamed)); - uploadRequestParams.setOverwrite(true); - uploadRequestParams.setThreadCount(1); - uploadRequestParams.setTitle(fileName); - uploadRequestParams.setTool("SFV3JAVASDK"); - uploadRequestParams.setRaw(true); - - return uploadRequestParams; - } - - private void seekInputStream() - { - try - { - if(mResumeFromByteIndex > 0) - { - Logger.d(TAG,"ResumeSupp:Resuming Upload from byte: " + mResumeFromByteIndex); - mFileInputStream.skip(mResumeFromByteIndex); - } - else { - Logger.d(TAG,"ResumeSupp:Brand new upload"); - } - } - catch(Exception e) - { - Logger.d(TAG, "Seek exception" , e); - } - } - - private String getAppendParams(String filename, long fileSize,int finish,boolean isbatchLast,String hash,long index, long previousChunkTotal) - { - Logger.d(TAG, "ResumeSupp: Uploading chunk: index" + index + " offset: " + previousChunkTotal); - StringBuilder sb = new StringBuilder(); - - sb.append("&filehash="); sb.append(hash); - sb.append("&finish="+ finish); - if(isbatchLast) - { - sb.append("&isbatchlast=true"); - } - sb.append("&fmt=json"); - sb.append("&hash="+hash); - sb.append("&filesize="+fileSize); - sb.append("&index="+index); - sb.append("&byteOffset="+previousChunkTotal); - - if(isbatchLast && mDetails!=null && mDetails.length()>0) - { - try - { - sb.append("&details="+URLEncoder.encode(mDetails,SFKeywords.UTF_8)); - } - catch (UnsupportedEncodingException e) - { - Logger.e(TAG,e); - } - } - - return sb.toString(); - } - - public static String md5ToString(MessageDigest md) - { - StringBuilder hash = new StringBuilder(); - byte digest[] = md.digest(); - String hex; - for(byte part : digest) { - hex = Integer.toHexString(0xff & part); - if(hex.length() == 1) - hash.append("0"); - hash.append(hex); - } - return hash.toString(); - } - - /** - * Chunk upload response can be of json type sample: - * - * //Sample error message {"error":true,"errorMessage":"Thread was being aborted.","errorCode":420} - * - */ - public static class SFChunkUploadResponse - { - public boolean mWasError; - public int mErrorCode; - public String mErrorMessage; - public int mBytesTransferedInChunk; - - @SFSDKDefaultAccessScope SFChunkUploadResponse(String jsonString) - { - try - { - JsonParser jsonParser = new JsonParser(); - JsonElement jsonElement = jsonParser.parse(jsonString); - JsonObject jsonObject = jsonElement.getAsJsonObject(); - - mWasError = SFGsonHelper.getBoolean(jsonObject, "error", false); - - if(mWasError) - { - mErrorMessage = SFGsonHelper.getString(jsonObject, "errorMessage", ""); - mErrorCode = SFGsonHelper.getInt(jsonObject, "errorCode", 0); - Logger.d(TAG, "Parsed Chunk response: " + mErrorMessage); - } - else - { - String value = SFGsonHelper.getString(jsonObject, "value", ""); - Logger.d(TAG, "Parsed Chunk response: value = " + value); - } - - } - catch (Exception e) - { - Logger.e(TAG,new Exception(jsonString)); - mWasError = true; - mErrorMessage = "exception parsing upload response"; - mErrorCode = SFSdkGlobals.INTERNAL_HTTP_ERROR; - } - } - - } - - /** - * This tries to upload a chunk. Returns a detialed object with the httpErrorCode and the ChunkResponse from the server. - * ChunkResonse will never be null. In case of http errors or exceptions we fill the chunk response with https err response string. - */ - private long uploadChunk(byte[] fileChunk,int chunkLength,long index,boolean isLast, MessageDigest md, long previousChunkTotal) throws SFSDKException - { - long bytesUploaded = 0; - HttpsURLConnection conn = null; - String responseString = null; - int httpErrorCode; - - try - { - //md5 hash buffer - md.update(fileChunk, 0, chunkLength); - - //you need the RAW param or you'll have to do HTTP multi-part post... - String append = getAppendParams(mDestinationFileName, mTotalBytes,isLast?1:0, isLast, md5ToString(md),index, previousChunkTotal); - final String finalURL = mUploadSpecification.getChunkUri() + append; - - conn = (HttpsURLConnection) SFConnectionManager.openConnection(new URL(finalURL)); - SFHttpsCaller.addAuthenticationHeader(conn, mApiClient.getOAuthToken(), mUsername,mPassword,mCookieManager); - conn.setUseCaches(false); - conn.setRequestProperty(SFKeywords.CONTENT_TYPE, SFKeywords.APPLICATION_OCTET_STREAM); - conn.setRequestProperty(SFKeywords.CONTENT_LENGTH, ""+chunkLength); - conn.setFixedLengthStreamingMode(chunkLength); - SFHttpsCaller.setPostMethod(conn); - SFConnectionManager.connect(conn); - - //small buffer between the chunk and the stream so we can interrupt and kill task quickly - final byte[] buffer = new byte[1024]; - final ByteArrayInputStream in = new ByteArrayInputStream(fileChunk,0,chunkLength); - int currentBytesRead; - OutputStream poster = new DataOutputStream(conn.getOutputStream()); - - while((currentBytesRead = in.read(buffer,0,1024)) >0) - { - poster.write(buffer,0,currentBytesRead); - bytesUploaded+=(long)currentBytesRead; - poster.flush();//needs to be here - - // only send notifications every 64kb - if ( bytesUploaded % (64*1024) == 0 ) updateProgress(bytesUploaded+previousChunkTotal); - - abortIfCancelledRequested(); - } - - poster.close(); - - httpErrorCode = SFHttpsCaller.safeGetResponseCode(conn); - - SFHttpsCaller.getAndStoreCookies(conn, new URL(finalURL),mCookieManager); - - switch(httpErrorCode ) - { - case HttpsURLConnection.HTTP_OK: - responseString = SFHttpsCaller.readResponse(conn); - Logger.d(TAG, "Upload Response: " + responseString); - - mChunkUploadResponse = new SFChunkUploadResponse(responseString); - if(!mChunkUploadResponse.mWasError) - { - mChunkUploadResponse.mBytesTransferedInChunk = (int) bytesUploaded; - mTotalBytesTransferredForThisFile +=bytesUploaded; - return bytesUploaded; - } - else - { - throw new SFServerException(httpErrorCode,mChunkUploadResponse.mErrorMessage); - } - //break; - - case HttpsURLConnection.HTTP_UNAUTHORIZED: - throw new SFNotAuthorizedException(SFKeywords.UN_AUTHORIZED); - //break; - - default: - responseString = SFHttpsCaller.readErrorResponse(conn); - Logger.d(TAG, "Upload Err Response: " + responseString); - throw new SFServerException(httpErrorCode,responseString); - //break - } - } - catch (SFSDKException e) - { - throw e; - } - catch(Exception ex) - { - Logger.e(TAG,ex); - SFOtherException other = new SFOtherException(ex); - throw other; - } - finally - { - SFHttpsCaller.disconnect(conn); - } - } - - private void upload() throws SFSDKException - { - int chunkSize = 1024*1024; - long previousChunkTotalBytes = mResumeFromByteIndex; - - try - { - Logger.d(TAG, "POST " + mUploadSpecification.getChunkUri()); - boolean isZeroBytesFile = (mFileInputStream.available() == 0); - boolean isLast = false; - seekInputStream(); - int chunkLength; - final MessageDigest md = MessageDigest.getInstance("MD5"); - byte[] fileChunk = new byte[chunkSize]; - boolean done = false; - long index = previousChunkTotalBytes/chunkSize; - while(!done) - { - if(isZeroBytesFile) - { - chunkLength = 0; - isLast = true; - //Don't break here so that we can get a chance to finalize the upload. - } - else { - chunkLength = mFileInputStream.read(fileChunk, 0, fileChunk.length); - if (chunkLength < 0) { - Logger.d(TAG, "Chunk < 0: " + chunkLength); - done = true; - break; - } - - isLast = (mFileInputStream.available() == 0); - } - - if(isLast) - { - Logger.d(TAG,"isLast = true"); - done = true; - } - - previousChunkTotalBytes += uploadChunk(fileChunk,chunkLength, index++,isLast,md,previousChunkTotalBytes); - - abortIfCancelledRequested(); - - Thread.yield(); - } - if(mProgressListener!=null) - { - mProgressListener.onComplete(mTotalBytesTransferredForThisFile); - } - } - catch (SFServerException e) - { - if(e.getLocalizedMessage().contains(INVALID_UPLOAD_ID)) - { - e = new SFResetUploadException(e); - } - - throw e; - } - catch (SFSDKException ex) - { - throw ex; - } - catch(Exception ex) - { - SFOtherException other = new SFOtherException(ex); - throw other; - } - finally - { - closeStream(mFileInputStream); - } - } - - private void closeStream(Closeable fis) { - if(fis==null) return; - - try { - fis.close(); - - } catch (IOException e) { - Logger.e(TAG,e); - } - } - - private void updateProgress(long uploadedBytes) - { - if(mProgressListener == null) { - return; - } - - try - { - Logger.d(TAG,"ResumeSupp: Bytes Uploaded = " + uploadedBytes); - mProgressListener.bytesTransfered(uploadedBytes); - } - catch(Exception e) - { - Logger.d(TAG, "exception update progress", e); - } - } -} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/TransferRunnable.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/TransferRunnable.java index 802b083..45b6700 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/TransferRunnable.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/TransferRunnable.java @@ -13,12 +13,13 @@ public abstract class TransferRunnable extends Thread protected final IProgress mProgressListener; protected final SFCookieManager mCookieManager; protected long mTotalBytesTransferredForThisFile; + protected String mItemId; //credentials for connectors protected final String mUsername; protected final String mPassword; - TransferRunnable(SFApiClient client,IProgress progressListener, SFCookieManager cookieManager, + protected TransferRunnable(SFApiClient client,IProgress progressListener, SFCookieManager cookieManager, String userName,String password) { mApiClient = client; @@ -28,11 +29,11 @@ public abstract class TransferRunnable extends Thread mPassword = password; } - public interface IProgress { - public void bytesTransfered(long byteCount); + public interface IProgress { + public void bytesTransfered(long byteCount); public void onError(SFSDKException exception, long bytesTransfered); - public void onComplete(long bytesTransfered); - }; + public void onComplete(long bytesTransfered, String itemId); + }; protected abstract void runInThisThread() throws SFSDKException; diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/upload/FinishUpload.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/upload/FinishUpload.java new file mode 100644 index 0000000..4a4f8b8 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/upload/FinishUpload.java @@ -0,0 +1,97 @@ +package com.citrix.sharefile.api.https.upload; + +import com.google.gson.annotations.SerializedName; + +import java.util.List; + +/** + * Created by sai on 2/16/17. + */ + +/* + Errors messages have json like: + + { + "error":true, + "errorMessage":"Server Error String", + "errorCode":500 + } + + Success message has json like: + + { + "error":false, + "value": + [ + { + "uploadid":"rsu-xyz", + "parentid":"fo2xyz", + "id":"fixyz", + "filename":"2.txt", + "displayname":"2.txt", + "size":27056777, + "md5":"55e4be1382b662e76555f6714cf5a468" + } + ] + } + + */ +public class FinishUpload { + + @SerializedName("error") + public Boolean error; + + @SerializedName("errorMessage") + public String errorMessage; + + @SerializedName("value") + public List valueList; + + public String getError() { + return errorMessage; + } + + public void setError(String error) { + this.errorMessage = error; + } + + public List getValueList() { + return valueList; + } + + public void setValueList(List valueList) { + this.valueList = valueList; + } + + class UploadValue { + @SerializedName("uploadid") + public String uploadId; + + @SerializedName("parentid") + public String parentId; + + @SerializedName("id") + public String itemId; + + @SerializedName("filename") + public String fileName; + + @SerializedName("displayname") + public String displayName; + + @SerializedName("size") + public long size; + + @SerializedName("md5") + public String hash; + + + public long getSize() { + return size; + } + + public String getItemId() { + return itemId; + } + } +} diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/upload/MultiThreadedUploadManager.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/upload/MultiThreadedUploadManager.java new file mode 100644 index 0000000..97f689f --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/upload/MultiThreadedUploadManager.java @@ -0,0 +1,418 @@ +package com.citrix.sharefile.api.https.upload; + +import com.citrix.sharefile.api.SFApiClient; +import com.citrix.sharefile.api.SFConnectionManager; +import com.citrix.sharefile.api.constants.SFKeywords; +import com.citrix.sharefile.api.exceptions.SFCanceledException; +import com.citrix.sharefile.api.exceptions.SFNotAuthorizedException; +import com.citrix.sharefile.api.exceptions.SFSDKException; +import com.citrix.sharefile.api.exceptions.SFServerException; +import com.citrix.sharefile.api.https.SFCookieManager; +import com.citrix.sharefile.api.https.SFHttpsCaller; +import com.citrix.sharefile.api.log.Logger; +import com.citrix.sharefile.api.models.SFUploadSpecification; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonElement; +import com.google.gson.JsonParser; + +import java.io.ByteArrayInputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.io.RandomAccessFile; +import java.net.URL; +import java.security.MessageDigest; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicLongArray; +import java.util.concurrent.locks.Lock; +import java.util.concurrent.locks.ReentrantLock; + +import javax.net.ssl.HttpsURLConnection; + +import static com.citrix.sharefile.api.https.upload.SFUploadRunnable.md5ToString; +import static com.citrix.sharefile.api.https.upload.UploadHelper.closeStream; + +/** + * Created by sai on 2/13/17. + */ + +public class MultiThreadedUploadManager { + + private static final String TAG = MultiThreadedUploadManager.class.getSimpleName(); + + private final String mUsername; + private final String mPassword; + private final SFCookieManager mCookieManager; + + private final SFUploadSpecification mSfUploadSpecification; + + private final long mResumeFromByteIndex; + + private final InputStream mFileInputStream; + + private final SFUploadRunnable.IUploadProgress mProgressListener; + + private CountDownLatch mCountDownLatch; + + private final SFApiClient mSFSfApiClient; + + private final AtomicBoolean isLast = new AtomicBoolean(false); + + private static final int chunkSize = 1024 * 1024; + + private final long mFileSize; + + private final AtomicBoolean mCancelRequested; + + private final AtomicInteger threadCount = new AtomicInteger(0); + + private final AtomicLongArray mProgressArray; + + private final AtomicLongArray mResumeArray; + + private long mChunkIndex = 0; + + private final ExceptionHandler mExceptionHandler; + + private final String mLocalFilePath; + + private final long maxChunkIndex; + + private final Lock threadLock; + + public MultiThreadedUploadManager(String username, String password, SFCookieManager sfCookieManager, + SFUploadSpecification sfUploadSpecification, long resumeFromByteIndex, InputStream inputStream, + SFUploadRunnable.IUploadProgress progress, int numThreads, SFApiClient sfApiClient, long fileSize, AtomicBoolean cancelRequested, + String localFilePath) { + mUsername = username; + mPassword = password; + mCookieManager = sfCookieManager; + + mSfUploadSpecification = sfUploadSpecification; + mResumeFromByteIndex = resumeFromByteIndex; + mFileInputStream = inputStream; + mProgressListener = progress; + mSFSfApiClient = sfApiClient; + mFileSize = fileSize; + mCancelRequested = cancelRequested; + mLocalFilePath = localFilePath; + + mCountDownLatch = new CountDownLatch(numThreads); + mProgressArray = new AtomicLongArray(numThreads); + mResumeArray = new AtomicLongArray(numThreads); + + // Initializing the progress and resume arrays + for(int i = 0;i < numThreads;i++) { + mProgressArray.set(i, 0); + mResumeArray.set(i, 0); + } + + maxChunkIndex = (fileSize - mResumeFromByteIndex) / chunkSize; + + mExceptionHandler = new ExceptionHandler(); + mExceptionHandler.setException(null); + threadLock = new ReentrantLock(); + } + + private void finalizeUpload() throws Exception { + HttpsURLConnection conn; + conn = (HttpsURLConnection) SFConnectionManager.openConnection(new URL(mSfUploadSpecification.getFinishUri().toString())); + + SFHttpsCaller.addAuthenticationHeader(conn, mSFSfApiClient.getOAuthToken(), mUsername, mPassword, mCookieManager); + conn.setUseCaches(false); + conn.setRequestProperty(SFKeywords.CONTENT_TYPE, SFKeywords.APPLICATION_OCTET_STREAM); + + SFHttpsCaller.setPostMethod(conn); + SFConnectionManager.connect(conn); + + int httpErrorCode = SFHttpsCaller.safeGetResponseCode(conn); + + String responseString; + switch(httpErrorCode) { + case HttpsURLConnection.HTTP_OK: + responseString = SFHttpsCaller.readResponse(conn); + parseAndCompleteUpload(responseString); + break; + + case HttpsURLConnection.HTTP_UNAUTHORIZED: + throw new SFNotAuthorizedException(SFKeywords.UN_AUTHORIZED); + //break; + + default: + responseString = SFHttpsCaller.readErrorResponse(conn); + final SFServerException sfServerException = new SFServerException(httpErrorCode, responseString); + Logger.e(TAG, "Finish Call Err Response: " + responseString, sfServerException); + throw sfServerException; + } + + } + + private void parseAndCompleteUpload(String responseString) { + if(responseString != null && !responseString.equalsIgnoreCase("")) { + + Logger.d(TAG,"Server Response on upload complete: " + responseString); + + JsonParser jsonParser = new JsonParser(); + JsonElement jsonElement = jsonParser.parse(responseString); + + GsonBuilder gsonBuilder = new GsonBuilder(); + gsonBuilder.disableHtmlEscaping(); + Gson gson = gsonBuilder.setDateFormat("yyyy-MM-dd").create(); + + FinishUpload finishUpload = gson.fromJson(jsonElement, FinishUpload.class); + + if (finishUpload != null) { + + if(finishUpload.error){ + mProgressListener.onError(new SFSDKException(finishUpload.errorMessage),mFileSize); + return; + } + + FinishUpload.UploadValue uploadValue = finishUpload.getValueList().get(0); + mProgressListener.onComplete(uploadValue.getSize(), uploadValue.getItemId()); + return; + } + } + mProgressListener.onComplete((mChunkIndex - 1) * chunkSize, ""); + } + + private long getAndIncrementChunkIndex() { + threadLock.lock(); + long returnChunk = mChunkIndex; + mChunkIndex += 1; + if(mChunkIndex > maxChunkIndex) isLast.set(true); + + threadLock.unlock(); + return returnChunk; + } + + private void workerThreadsDone() throws Exception{ + finalizeUpload(); + } + + + public void execute() throws Exception { + Logger.d(TAG, "MultiThreaded Upload starting..."); + for (int i = 0; i < mCountDownLatch.getCount(); i++) { + Thread workerThread = new Thread(new WorkerRunnable(mCountDownLatch, mExceptionHandler)); + workerThread.start(); + } + + mCountDownLatch.await(); + + if (mExceptionHandler.getException() != null) { + Logger.e(TAG, "Error Uploading file :" + mExceptionHandler.getException().getLocalizedMessage(), mExceptionHandler.getException()); + closeStream(mFileInputStream); + throw mExceptionHandler.getException(); + } + + workerThreadsDone(); + UploadHelper.closeStream(mFileInputStream); + } + + + + private class ExceptionHandler { + private Exception exception; + + public synchronized Exception getException() { + return exception; + } + + public synchronized void setException(Exception exception) { + if (this.exception == null) { + this.exception = exception; + } + } + } + + private class WorkerRunnable implements Runnable{ + final String md5 = "MD5"; + + private final CountDownLatch mCountDownLatch; + + private final int threadNumber; + + private final ExceptionHandler mExceptionHandler; + + public WorkerRunnable(CountDownLatch countDownLatch, ExceptionHandler exceptionHandler) { + threadNumber = threadCount.incrementAndGet(); + this.mCountDownLatch = countDownLatch; + this.mExceptionHandler = exceptionHandler; + } + + @Override + public void run() { + Logger.d(TAG, "Thread " + threadNumber + " starting upload..."); + RandomAccessFile file = null; + try { + file = new RandomAccessFile(mLocalFilePath, "r"); + + while (!isLast.get()) { + if(mExceptionHandler.getException() != null) { + mCountDownLatch.countDown(); + return; + } + + long index = getAndIncrementChunkIndex(); + + int chunkLength; + + final MessageDigest md = MessageDigest.getInstance(md5); + byte[] fileChunk = new byte[chunkSize]; + + chunkLength = readFromFile(file,fileChunk, index); + + if (chunkLength < 0) { + isLast.set(true); + mCountDownLatch.countDown(); + return; + } + + long byteOffset = (mResumeFromByteIndex) + (index * chunkSize); + uploadChunk(fileChunk, chunkLength, md, index, byteOffset); + + abortIfCancelledRequested(); + } + mCountDownLatch.countDown(); + } + catch(Exception e) { + Logger.e(TAG,e); + mExceptionHandler.setException(e); + mCountDownLatch.countDown(); + } + finally { + if(file!=null){ + try { + file.close(); + } + catch (Exception e){ + Logger.e(TAG,e); + } + } + } + } + + private int readFromFile(RandomAccessFile file, byte[] fileChunk, long index) throws IOException{ + final long readByteOffset = mResumeFromByteIndex + (index * chunkSize); + + file.seek(readByteOffset); + + return file.read(fileChunk); + } + + private void uploadChunk(byte[] fileChunk, int chunkLength, MessageDigest md, long index,long byteOffset) throws Exception { + long bytesUploaded = 0; + HttpsURLConnection conn = null; + String responseString; + int httpErrorCode; + OutputStream poster = null; + + try { + md.update(fileChunk, 0, chunkLength); + + String append = UploadHelper.getAppendParams(md5ToString(md), index, byteOffset, mFileSize); + + final String finalURL = mSfUploadSpecification.getChunkUri() + append; + + conn = UploadHelper.getChunkUploadConnection(finalURL, mSFSfApiClient, mUsername, mPassword, mCookieManager, chunkLength); + SFConnectionManager.connect(conn); + + //small buffer between the chunk and the stream so we can interrupt and kill task quickly + final byte[] buffer = new byte[1024]; + final ByteArrayInputStream in = new ByteArrayInputStream(fileChunk,0,chunkLength); + int currentBytesRead; + poster = new DataOutputStream(conn.getOutputStream()); + + while((currentBytesRead = in.read(buffer,0,1024)) >0) + { + poster.write(buffer,0,currentBytesRead); + bytesUploaded+=(long)currentBytesRead; + poster.flush(); + + abortIfCancelledRequested(); + } + + httpErrorCode = SFHttpsCaller.safeGetResponseCode(conn); + + SFHttpsCaller.getAndStoreCookies(conn, new URL(finalURL),mCookieManager); + + switch(httpErrorCode ) + { + case HttpsURLConnection.HTTP_OK: + updateProgress(index, bytesUploaded, threadNumber - 1); + break; + + case HttpsURLConnection.HTTP_UNAUTHORIZED: + throw new SFNotAuthorizedException(SFKeywords.UN_AUTHORIZED); + //break; + + default: + responseString = SFHttpsCaller.readErrorResponse(conn); + final SFServerException sfServerException = new SFServerException(httpErrorCode, responseString); + Logger.e(TAG, "Upload Err Response: " + responseString, sfServerException); + throw sfServerException; + //break + } + + } + finally + { + if(poster != null) { + poster.close(); + } + SFHttpsCaller.disconnect(conn); + } + } + + private void updateProgress(long chunkIndex, long uploadedBytes, int threadNumber) { + if(mProgressListener == null) { + return; + } + + try { + mResumeArray.set(threadNumber, chunkIndex); + mProgressArray.set(threadNumber, mProgressArray.get(threadNumber) + uploadedBytes); + + long totalBytes = mResumeFromByteIndex; + for (int i = 0; i < mProgressArray.length(); i++) { + totalBytes += mProgressArray.get(i); + } + + long minChunkIndex = getMinChunkIndex(mResumeArray); + + if (totalBytes % (64 * 1024) == 0) { + mProgressListener.bytesTransfered(totalBytes, minChunkIndex, mResumeFromByteIndex); + } + } + catch (Exception e) { + Logger.e(TAG, "Exception updating progress", e); + } + } + + private long getMinChunkIndex(AtomicLongArray mResumeArray) { + long min = Long.MAX_VALUE; + + for(int i =0; i< mResumeArray.length(); i++) { + final long chunkIndex = mResumeArray.get(i); + if(chunkIndex < min) { + min = chunkIndex; + } + } + + return min; + } + + private void abortIfCancelledRequested() throws SFCanceledException + { + if ( mCancelRequested.get() ) + { + throw new SFCanceledException("Upload Cancelled"); + } + } + } +} diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/upload/SFUploadRunnable.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/upload/SFUploadRunnable.java new file mode 100644 index 0000000..2a72bdf --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/upload/SFUploadRunnable.java @@ -0,0 +1,582 @@ +package com.citrix.sharefile.api.https.upload; + +import com.citrix.sharefile.api.SFApiClient; +import com.citrix.sharefile.api.SFConnectionManager; +import com.citrix.sharefile.api.SFSDKDefaultAccessScope; +import com.citrix.sharefile.api.constants.SFKeywords; +import com.citrix.sharefile.api.constants.SFSdkGlobals; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.exceptions.SFCanceledException; +import com.citrix.sharefile.api.exceptions.SFInvalidStateException; +import com.citrix.sharefile.api.exceptions.SFNotAuthorizedException; +import com.citrix.sharefile.api.exceptions.SFOAuthTokenRenewException; +import com.citrix.sharefile.api.exceptions.SFOtherException; +import com.citrix.sharefile.api.exceptions.SFResetUploadException; +import com.citrix.sharefile.api.exceptions.SFSDKException; +import com.citrix.sharefile.api.exceptions.SFServerException; +import com.citrix.sharefile.api.gson.SFGsonHelper; +import com.citrix.sharefile.api.https.SFCookieManager; +import com.citrix.sharefile.api.https.SFHttpsCaller; +import com.citrix.sharefile.api.https.TransferRunnable; +import com.citrix.sharefile.api.interfaces.ISFQuery; +import com.citrix.sharefile.api.log.Logger; +import com.citrix.sharefile.api.models.SFUploadMethod; +import com.citrix.sharefile.api.models.SFUploadRequestParams; +import com.citrix.sharefile.api.models.SFUploadSpecification; +import com.google.gson.Gson; +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; + +import java.io.ByteArrayInputStream; +import java.io.DataOutputStream; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URL; +import java.security.MessageDigest; +import java.util.Date; + +import javax.net.ssl.HttpsURLConnection; + +import static com.citrix.sharefile.api.https.upload.UploadHelper.closeStream; + +/** + * + * { + "Method": "Streamed", + "ChunkUri": "https://storage-ec2-34.sharefile.com/upload-streaming-2.aspx?batchid=723ffb79-d720-4de8-b95d-087be1e6462a&overwrite=true&uploadid=rsu-9c48c04a5fb84f9d8fc93875231b01ca&raw=1&encparams=phT2SuROQY1XrVtmjxwO2yRkHK2uBy1BtAjWhNYAu-lvRQr3eTm-Xh6zYbz3Lc9FfRoDvzBCdI7SyPDVrxL0bR9-cb7IsTFbIcnPRRJ8xLn0nJ0yxIeKXV-m-gb0HWzHGdHOnKTBEEgwD969n-8rbXu6jvkZ3UhEwY6I79GfdTogsf1vi7lFrfPrTe8TV5isPOPSpSINN3qxBI_qWJoy8D_AUnK009vuFHJP4t9yzPi6rDqmfU-7ZhmhncG4rsBfTdEWL3wQiOdU5kNnFl5WkSzjO8dg1vmjSidVSreUN_YJeQw95i8w5XaVA7BGuWDDNXjE8rV53cyQ9p2blo6Xovj4fxQi6wSf0J6CqLKZnFgbHTd7IVvexhdXhTMYAWce01eMBr7iWD9Kd2J3O_nLX3oEWKMDgqCg6SCSd8baO9_EBiQ8QnDwfh8tWeOQq60_gXeX-wBn_TAPNUPTmV1RyD5nt9sn5Q77Rd6YtiOiSjNI98z2mCTSiLp3TYMm4gB38CawObllVnJuWIERHKGbyEwJhE5PNxdMQC4PeM4$", + "IsResume": false, + "ResumeIndex": 0, + "ResumeOffset": 0, + "ResumeFileHash": "", + "odata.metadata": "https://nilesh.sf-api.com/sf/v3/$metadata#UploadSpecification/ShareFile.Api.Models.UploadSpecification@Element" + } + */ +public class SFUploadRunnable extends TransferRunnable +{ + private static final String TAG = "SFUploadRunnable"; + + //Server does not localize this error. + private static final String INVALID_UPLOAD_ID = "Unrecognized Upload ID"; + + private final long mResumeFromByteIndex; + private final long mTotalBytes; + private final InputStream mFileInputStream; + private final String mDestinationFileName; + + private final String mDetails; + + // private final String mParentId; + private final String mV3Url; + private final boolean mOverwrite; + + private SFUploadSpecification mUploadSpecification; + private SFChunkUploadResponse mChunkUploadResponse=null; + + private String localFilePath; + + private static final long sOneMB = 1024 * 1024; + + private boolean mHasMultiThreadedCapability; + + public interface IUploadProgress extends IProgress { + void bytesTransfered(long byteCount, long chunkIndex, long previousUploadedByteOffset); + } + + public void setUploadSpec(String previousUploadSpec) + { + Gson gson = new Gson(); + mUploadSpecification = gson.fromJson(previousUploadSpec,SFUploadSpecification.class); + } + + public String getUploadSpec() throws SFNotAuthorizedException, SFOAuthTokenRenewException, SFOtherException, SFInvalidStateException, SFServerException + { + if(mUploadSpecification == null) + { + mUploadSpecification = getSpecification(); + } + + Gson gson = new Gson(); + return gson.toJson(mUploadSpecification,SFUploadSpecification.class); + } + + public SFUploadRunnable( + String v3Url, boolean overwrite, + long resumeFromByteIndex, long tolalBytes, String destinationName, + InputStream inputStream, SFApiClient client, IUploadProgress progressListener, + SFCookieManager cookieManager, String connUserName, String connPassword, String details) { + super(client,progressListener,cookieManager,connUserName,connPassword); + mResumeFromByteIndex = resumeFromByteIndex; + mDestinationFileName = destinationName; + mTotalBytes = tolalBytes; + mFileInputStream = inputStream; + mDetails = details; + + // mParentId = parentId; + mV3Url = v3Url; + mOverwrite = overwrite; + } + + public SFUploadRunnable( + String v3Url, boolean overwrite, + long resumeFromByteIndex, long tolalBytes, String destinationName, + InputStream inputStream, SFApiClient client, IUploadProgress progressListener, + SFCookieManager cookieManager, String connUserName, String connPassword, String details, + String localFilePath, boolean hasMultiThreadedCapability) { + this(v3Url, overwrite, resumeFromByteIndex, tolalBytes, destinationName, inputStream, client, progressListener, cookieManager, connUserName, connPassword, details); + this.localFilePath = localFilePath; + mHasMultiThreadedCapability = hasMultiThreadedCapability; + } + + private void abortIfCancelledRequested() throws SFCanceledException + { + if ( cancelRequested.get() ) + { + throw new SFCanceledException("Upload Cancelled"); + } + } + + private boolean shouldUseThreadedUpload() { + if(!mHasMultiThreadedCapability) { + return false; + } + + if(mTotalBytes / sOneMB <= 8) { + return false; + } + return true; + + } + + private int getNumberOfThreads() { + if(mUploadSpecification != null && mUploadSpecification.getMaxNumberOfThreads() != null && mUploadSpecification.getMaxNumberOfThreads() > 0) { + return mUploadSpecification.getMaxNumberOfThreads(); + } + return 1; + } + + protected void runInThisThread() throws SFSDKException + { + try + { + if(mUploadSpecification == null) + { + mUploadSpecification = getSpecification();// get spec + } + + abortIfCancelledRequested(); + + if(shouldUseThreadedUpload()) { + MultiThreadedUploadManager manager = new MultiThreadedUploadManager(mUsername, mPassword, mCookieManager, mUploadSpecification, + mResumeFromByteIndex, mFileInputStream, (IUploadProgress) mProgressListener, getNumberOfThreads(), mApiClient, mTotalBytes, cancelRequested, localFilePath); + manager.execute(); + } + else { + upload(); + } + + abortIfCancelledRequested(); + } + catch (SFSDKException e) + { + Logger.e(TAG, e); + throw e; + } + catch(Exception e) + { + Logger.e(TAG, e); + SFOtherException other = new SFOtherException(e); + throw other; + } + } + + private SFUploadSpecification getSpecification() throws SFInvalidStateException, + SFServerException, + SFNotAuthorizedException, + SFOAuthTokenRenewException, + SFOtherException{ + if(shouldUseThreadedUpload()) { + return getThreadedSpecification(); + } + return getStandardSpecification(); + } + + private SFUploadSpecification getStandardSpecification() throws SFInvalidStateException, + SFServerException, + SFNotAuthorizedException, + SFOAuthTokenRenewException, + SFOtherException + { + try + { + Date now = new Date(); + ISFQuery uploadQuery = mApiClient.items().upload(new URI(mV3Url) + ,new SFSafeEnum(SFUploadMethod.Streamed), + true, + mDestinationFileName, + mTotalBytes, + "", + false, + true, + false, + false, + "SFJavaSDK", + mOverwrite, + mDestinationFileName, + mDetails, + false, + "", + "", + 1, + "json", + false, now,now); + + uploadQuery.setCredentials(mUsername,mPassword); + + return mApiClient.executeQuery(uploadQuery); + } + catch (URISyntaxException e) + { + Logger.e(TAG, e); + } + + return null; + } + + private SFUploadSpecification getThreadedSpecification() throws SFInvalidStateException, + SFServerException, + SFNotAuthorizedException, + SFOAuthTokenRenewException, + SFOtherException { + try { + ISFQuery uploadQuery = mApiClient.items().upload(new URI(mV3Url), + new SFSafeEnum<>(SFUploadMethod.Threaded), + true, + mDestinationFileName, + mTotalBytes, + "", + false, + false, + false, + false, + "SFJavaSDK", + true); + + uploadQuery.setCredentials(mUsername, mPassword); + + return mApiClient.executeQuery(uploadQuery); + } + catch (URISyntaxException e) { + Logger.e(TAG, e); + } + return null; + } + + private SFUploadRequestParams buildUploadRequestParams(String fileName, + String details, long fileSize) + { + Date now = new Date(); + + SFUploadRequestParams uploadRequestParams = new SFUploadRequestParams(); + uploadRequestParams.setFileName(fileName); + uploadRequestParams.setClientCreatedDate(now); + uploadRequestParams.setClientModifiedDate(now); + uploadRequestParams.setDetails(details); + uploadRequestParams.setFileSize(fileSize); + uploadRequestParams.setMethod(new SFSafeEnum(SFUploadMethod.Streamed)); + uploadRequestParams.setOverwrite(true); + uploadRequestParams.setThreadCount(1); + uploadRequestParams.setTitle(fileName); + uploadRequestParams.setTool("SFV3JAVASDK"); + uploadRequestParams.setRaw(true); + + return uploadRequestParams; + } + + private void seekInputStream() + { + try + { + if(mResumeFromByteIndex > 0) + { + Logger.d(TAG,"ResumeSupp:Resuming Upload from byte: " + mResumeFromByteIndex); + mFileInputStream.skip(mResumeFromByteIndex); + } + else { + Logger.d(TAG,"ResumeSupp:Brand new upload"); + } + } + catch(Exception e) + { + Logger.d(TAG, "Seek exception" , e); + } + } + + + + public static String md5ToString(MessageDigest md) + { + StringBuilder hash = new StringBuilder(); + byte digest[] = md.digest(); + String hex; + for(byte part : digest) { + hex = Integer.toHexString(0xff & part); + if(hex.length() == 1) + hash.append("0"); + hash.append(hex); + } + return hash.toString(); + } + + /** + * Chunk upload response can be of json type sample: + * + * //Sample error message {"error":true,"errorMessage":"Thread was being aborted.","errorCode":420} + * + */ + public static class SFChunkUploadResponse + { + public boolean mWasError; + public int mErrorCode; + public String mErrorMessage; + public int mBytesTransferedInChunk; + public String mItemId; + + @SFSDKDefaultAccessScope SFChunkUploadResponse(String jsonString, boolean isLastChunk) + { + try + { + JsonParser jsonParser = new JsonParser(); + JsonElement jsonElement = jsonParser.parse(jsonString); + JsonObject jsonObject = jsonElement.getAsJsonObject(); + + mWasError = SFGsonHelper.getBoolean(jsonObject, "error", false); + + if(mWasError) + { + mErrorMessage = SFGsonHelper.getString(jsonObject, "errorMessage", ""); + mErrorCode = SFGsonHelper.getInt(jsonObject, "errorCode", 0); + Logger.d(TAG, "Parsed Chunk response: " + mErrorMessage); + } + // Parse for item id only in the last chunk + else if (isLastChunk) + { + String value = SFGsonHelper.getString(jsonObject, "value", ""); + Logger.d(TAG, "Parsed Chunk response: value = " + value); + if (value!=null) { + JsonArray valueArray = jsonObject.getAsJsonArray("value"); + if (valueArray != null && valueArray.size() >= 1) { + JsonObject firstValue = (JsonObject) valueArray.get(0); + mItemId = SFGsonHelper.getString(firstValue, "id", null); + Logger.d(TAG, "Parsed Chunk response : item id = " + mItemId); + } + } + } + + } + catch (Exception e) + { + Logger.e(TAG,new Exception(jsonString)); + mWasError = true; + mErrorMessage = "exception parsing upload response"; + mErrorCode = SFSdkGlobals.INTERNAL_HTTP_ERROR; + } + } + + } + + /** + * This tries to upload a chunk. Returns a detialed object with the httpErrorCode and the ChunkResponse from the server. + * ChunkResonse will never be null. In case of http errors or exceptions we fill the chunk response with https err response string. + */ + private long uploadChunk(byte[] fileChunk,int chunkLength,long index,boolean isLast, MessageDigest md, long previousChunkTotal) throws SFSDKException + { + long bytesUploaded = 0; + HttpsURLConnection conn = null; + String responseString = null; + int httpErrorCode; + + try + { + //md5 hash buffer + md.update(fileChunk, 0, chunkLength); + + //you need the RAW param or you'll have to do HTTP multi-part post... + String append = UploadHelper.getAppendParams(mDestinationFileName, mDetails, mTotalBytes,isLast?1:0, isLast, md5ToString(md),index, previousChunkTotal); + final String finalURL = mUploadSpecification.getChunkUri() + append; + + conn = UploadHelper.getChunkUploadConnection(finalURL, mApiClient, mUsername, mPassword, mCookieManager, chunkLength); + SFConnectionManager.connect(conn); + + //small buffer between the chunk and the stream so we can interrupt and kill task quickly + final byte[] buffer = new byte[1024]; + final ByteArrayInputStream in = new ByteArrayInputStream(fileChunk,0,chunkLength); + int currentBytesRead; + OutputStream poster = new DataOutputStream(conn.getOutputStream()); + + while((currentBytesRead = in.read(buffer,0,1024)) >0) + { + poster.write(buffer,0,currentBytesRead); + bytesUploaded+=(long)currentBytesRead; + poster.flush();//needs to be here + + // only send notifications every 64kb + if ( bytesUploaded % (64*1024) == 0 ) updateProgress(bytesUploaded+previousChunkTotal); + + abortIfCancelledRequested(); + } + + poster.close(); + + httpErrorCode = SFHttpsCaller.safeGetResponseCode(conn); + + SFHttpsCaller.getAndStoreCookies(conn, new URL(finalURL),mCookieManager); + + switch(httpErrorCode ) + { + case HttpsURLConnection.HTTP_OK: + responseString = SFHttpsCaller.readResponse(conn); + Logger.d(TAG, "Upload Response: " + responseString); + + mChunkUploadResponse = new SFChunkUploadResponse(responseString, isLast); + if(!mChunkUploadResponse.mWasError) + { + mChunkUploadResponse.mBytesTransferedInChunk = (int) bytesUploaded; + mTotalBytesTransferredForThisFile +=bytesUploaded; + mItemId = mChunkUploadResponse.mItemId; + return bytesUploaded; + } + else + { + throw new SFServerException(httpErrorCode,mChunkUploadResponse.mErrorMessage); + } + //break; + + case HttpsURLConnection.HTTP_UNAUTHORIZED: + throw new SFNotAuthorizedException(SFKeywords.UN_AUTHORIZED); + //break; + + default: + responseString = SFHttpsCaller.readErrorResponse(conn); + Logger.d(TAG, "Upload Err Response: " + responseString); + throw new SFServerException(httpErrorCode,responseString); + //break + } + } + catch (SFSDKException e) + { + throw e; + } + catch(Exception ex) + { + Logger.e(TAG,ex); + SFOtherException other = new SFOtherException(ex); + throw other; + } + finally + { + SFHttpsCaller.disconnect(conn); + } + } + + private void upload() throws SFSDKException + { + long startTime = System.currentTimeMillis(); + int chunkSize = 1024*1024; + long previousChunkTotalBytes = mResumeFromByteIndex; + + try + { + Logger.d(TAG, "POST " + mUploadSpecification.getChunkUri()); + boolean isZeroBytesFile = (mFileInputStream.available() == 0); + boolean isLast = false; + seekInputStream(); + int chunkLength; + final MessageDigest md = MessageDigest.getInstance("MD5"); + byte[] fileChunk = new byte[chunkSize]; + boolean done = false; + long index = previousChunkTotalBytes/chunkSize; + while(!done) + { + if(isZeroBytesFile) + { + chunkLength = 0; + isLast = true; + //Don't break here so that we can get a chance to finalize the upload. + } + else { + chunkLength = mFileInputStream.read(fileChunk, 0, fileChunk.length); + if (chunkLength < 0) { + Logger.d(TAG, "Chunk < 0: " + chunkLength); + done = true; + break; + } + + isLast = (mFileInputStream.available() == 0); + } + + if(isLast) + { + Logger.d(TAG,"isLast = true"); + done = true; + } + + previousChunkTotalBytes += uploadChunk(fileChunk,chunkLength, index++,isLast,md,previousChunkTotalBytes); + + abortIfCancelledRequested(); + + Thread.yield(); + } + long endTime = System.currentTimeMillis(); + long elapsedTime = endTime - startTime; + + Logger.d(TAG, "Streamed Upload Time to upload file " + elapsedTime); + if(mProgressListener!=null) + { + mProgressListener.onComplete(mTotalBytesTransferredForThisFile, mItemId); + } + } + catch (SFServerException e) + { + if(e.getLocalizedMessage().contains(INVALID_UPLOAD_ID)) + { + e = new SFResetUploadException(e); + } + + throw e; + } + catch (SFSDKException ex) + { + throw ex; + } + catch(Exception ex) + { + SFOtherException other = new SFOtherException(ex); + throw other; + } + finally + { + closeStream(mFileInputStream); + } + } + + private void updateProgress(long uploadedBytes) + { + if(mProgressListener == null) { + return; + } + + try + { + Logger.d(TAG,"ResumeSupp: Bytes Uploaded = " + uploadedBytes); + mProgressListener.bytesTransfered(uploadedBytes); + } + catch(Exception e) + { + Logger.d(TAG, "exception update progress", e); + } + } +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/upload/UploadHelper.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/upload/UploadHelper.java new file mode 100644 index 0000000..943e9d5 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/upload/UploadHelper.java @@ -0,0 +1,94 @@ +package com.citrix.sharefile.api.https.upload; + +import com.citrix.sharefile.api.SFApiClient; +import com.citrix.sharefile.api.SFConnectionManager; +import com.citrix.sharefile.api.constants.SFKeywords; +import com.citrix.sharefile.api.https.SFCookieManager; +import com.citrix.sharefile.api.https.SFHttpsCaller; +import com.citrix.sharefile.api.log.Logger; + +import java.io.Closeable; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URL; +import java.net.URLEncoder; + +import javax.net.ssl.HttpsURLConnection; + +/** + * Created by sai on 2/23/17. + */ + +public class UploadHelper { + + private static final String TAG = "UploadHelper"; + + public static String getAppendParams(String filename, String mDetails, long fileSize,int finish,boolean isbatchLast,String hash,long index, long previousChunkTotal) + { + Logger.d(TAG, "ResumeSupp: Uploading chunk: index" + index + " offset: " + previousChunkTotal); + StringBuilder sb = new StringBuilder(); + + sb.append("&filehash="); sb.append(hash); + sb.append("&finish="+ finish); + if(isbatchLast) + { + sb.append("&isbatchlast=true"); + } + sb.append("&fmt=json"); + sb.append("&hash="+hash); + sb.append("&filesize="+fileSize); + sb.append("&index="+index); + sb.append("&byteOffset="+previousChunkTotal); + + if(isbatchLast && mDetails!=null && mDetails.length()>0) + { + try + { + sb.append("&details="+ URLEncoder.encode(mDetails, SFKeywords.UTF_8)); + } + catch (UnsupportedEncodingException e) + { + Logger.e(TAG,e); + } + } + + return sb.toString(); + } + + public static String getAppendParams(String hash, long index, long byteOffset, long fileSize) { + StringBuilder sb = new StringBuilder(); + + sb.append("&filehash="); sb.append(hash); + sb.append("&fmt=json"); + sb.append("&hash="+hash); + sb.append("&filesize="+fileSize); + sb.append("&index="+index); + sb.append("&byteOffset="+byteOffset); + + return sb.toString(); + } + + public static void closeStream(Closeable fis) { + if(fis==null) return; + + try { + fis.close(); + + } catch (IOException e) { + Logger.e(TAG,e); + } + } + + public static HttpsURLConnection getChunkUploadConnection(String finalURL, SFApiClient mApiClient, String mUsername, String mPassword, SFCookieManager mCookieManager, long chunkLength) throws Exception{ + HttpsURLConnection conn = (HttpsURLConnection) SFConnectionManager.openConnection(new URL(finalURL)); + + SFHttpsCaller.addAuthenticationHeader(conn, mApiClient.getOAuthToken(), mUsername,mPassword,mCookieManager); + conn.setUseCaches(false); + conn.setRequestProperty(SFKeywords.CONTENT_TYPE, SFKeywords.APPLICATION_OCTET_STREAM); + conn.setRequestProperty(SFKeywords.CONTENT_LENGTH, ""+chunkLength); + conn.setFixedLengthStreamingMode(chunkLength); + SFHttpsCaller.setPostMethod(conn); + + return conn; + } +} diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ILog.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ILog.java index 23b747b..deca77a 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ILog.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ILog.java @@ -18,6 +18,7 @@ public interface ILog { int w(String tag, Throwable tr); + @Deprecated int e(String tag, String msg); int e(String tag, Throwable tr); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFApiClient.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFApiClient.java index 9fe0346..efb8a04 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFApiClient.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFApiClient.java @@ -1,6 +1,5 @@ package com.citrix.sharefile.api.interfaces; -import com.citrix.sharefile.api.SFApiClient; import com.citrix.sharefile.api.SFQueryStream; import com.citrix.sharefile.api.entities.ISFEntities; import com.citrix.sharefile.api.exceptions.SFInvalidStateException; @@ -8,8 +7,9 @@ import com.citrix.sharefile.api.exceptions.SFOAuthTokenRenewException; import com.citrix.sharefile.api.exceptions.SFOtherException; import com.citrix.sharefile.api.exceptions.SFServerException; +import com.citrix.sharefile.api.extensions.SFCapabilitiesEntityEx; import com.citrix.sharefile.api.https.SFDownloadRunnable; -import com.citrix.sharefile.api.https.SFUploadRunnable; +import com.citrix.sharefile.api.https.upload.SFUploadRunnable; import com.citrix.sharefile.api.https.TransferRunnable; import com.citrix.sharefile.api.models.SFFile; import com.citrix.sharefile.api.models.SFFolder; @@ -46,12 +46,12 @@ public SFUploadRunnable getUploader(SFFolder parentFolder, String destinationName, String details,long fileSizeInBytes, InputStream inputStream, - TransferRunnable.IProgress progressListener) + SFUploadRunnable.IUploadProgress progressListener) throws SFInvalidStateException, SFServerException; public SFUploadRunnable getUploader(SFUploadRequestParams uploadRequestParams, InputStream inputStream, - TransferRunnable.IProgress progressListener) + SFUploadRunnable.IUploadProgress progressListener) throws SFInvalidStateException, SFServerException; public URI getDefaultUrl(String folderID) throws URISyntaxException; @@ -61,4 +61,7 @@ public SFUploadRunnable getUploader(SFUploadRequestParams uploadRequestParams, public void setReAuthHandler(ISFReAuthHandler reAuthHandler); public ISFApiClient clone(); + + SFCapabilitiesEntityEx capabilitiesEx(); + } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFQuery.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFQuery.java index 2c4d6d2..056e345 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFQuery.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/interfaces/ISFQuery.java @@ -1,7 +1,7 @@ package com.citrix.sharefile.api.interfaces; +import com.citrix.sharefile.api.constants.SFKeywords; import com.citrix.sharefile.api.enumerations.SFSafeEnum; - import com.citrix.sharefile.api.enumerations.SFV3ElementType; import com.citrix.sharefile.api.exceptions.SFInvalidStateException; import com.citrix.sharefile.api.exceptions.SFNotAuthorizedException; @@ -115,6 +115,8 @@ public interface ISFQuery ISFQuery skip(int skipItems); + ISFQuery orderBy(String orderParameter,SFKeywords.DIRECTION direction); + ISFQuery filter(String filterValue); ISFQuery is(SFV3ElementType type); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/log/Logger.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/log/Logger.java index 86ac7a7..b02ccd0 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/log/Logger.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/log/Logger.java @@ -45,6 +45,7 @@ public static int w(String tag, Throwable tr) { return logInstance.w(tag, tr); } + @Deprecated public static int e(String tag, String msg) { return logInstance.e(tag, msg); } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControl.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControl.java index 9c58549..f497e72 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControl.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControl.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -60,10 +60,16 @@ public SFItem getItem() { public void setItem(SFItem item) { this.Item = item; } + /** + * Principal - User or Group - that has been granted permissions through this rule + */ public SFPrincipal getPrincipal() { return this.Principal; } + /** + * Principal - User or Group - that has been granted permissions through this rule + */ public void setPrincipal(SFPrincipal principal) { this.Principal = principal; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlBulkResult.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlBulkResult.java index a7a7f27..7edb9b8 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlBulkResult.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlBulkResult.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlDomains.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlDomains.java index c43d239..7c5f7d7 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlDomains.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlDomains.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlFailedEntry.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlFailedEntry.java index f9d15b5..2b0acd5 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlFailedEntry.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlFailedEntry.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlFilter.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlFilter.java index 23dbdbb..d447327 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlFilter.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlFilter.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlParam.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlParam.java index 4d22990..7db1d90 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlParam.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlParam.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlsBulkParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlsBulkParams.java index e08aa4a..c8ce936 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlsBulkParams.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlsBulkParams.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlsCloneParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlsCloneParams.java index d0a06fc..1c1fca8 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlsCloneParams.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessControlsCloneParams.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccount.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccount.java index b27de3d..0256117 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccount.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccount.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -23,6 +23,7 @@ import com.citrix.sharefile.api.*; import com.citrix.sharefile.api.enumerations.*; import com.citrix.sharefile.api.models.*; +import com.citrix.sharefile.api.internal.models.*; public class SFAccount extends SFODataObject { @@ -36,6 +37,10 @@ public class SFAccount extends SFODataObject { private SFUser TechnicalContact; @SerializedName("TechnicalContactId") private String TechnicalContactId; + @SerializedName("MasterAdminId") + private String MasterAdminId; + @SerializedName("MasterAdmin") + private SFUser MasterAdmin; @SerializedName("AccountManager") private SFUser AccountManager; @SerializedName("AccountManagerId") @@ -82,6 +87,8 @@ public class SFAccount extends SFODataObject { private Integer DiskSpaceMax; @SerializedName("DiskSpace") private SFDiskSpace DiskSpace; + @SerializedName("Bandwidth") + private SFBandwidth Bandwidth; @SerializedName("BandwidthMax") private Integer BandwidthMax; @SerializedName("HasPowerTools") @@ -132,6 +139,8 @@ public class SFAccount extends SFODataObject { private String AdvancedCustomBrandingFolderName; @SerializedName("BrandingStyles") private Map BrandingStyles; + @SerializedName("BrandingLinks") + private SFBrandingLinks BrandingLinks; @SerializedName("LogoURL") private String LogoURL; @SerializedName("RootItem") @@ -182,8 +191,26 @@ public class SFAccount extends SFODataObject { private SFBillingInfo BillingInformation; @SerializedName("AccountSubType") private SFSafeEnum AccountSubType; + @SerializedName("CanConvertFreeTrial") + private Boolean CanConvertFreeTrial; + @SerializedName("CanChangePlan") + private Boolean CanChangePlan; + @SerializedName("CanChangeBilling") + private Boolean CanChangeBilling; + @SerializedName("CanCancel") + private Boolean CanCancel; + @SerializedName("ConversionType") + private String ConversionType; + @SerializedName("AccountFeatures") + private ArrayList> AccountFeatures; @SerializedName("Services") private SFServicesCollection Services; + @SerializedName("BillingAddons") + private ArrayList BillingAddons; + @SerializedName("CloudStorageType") + private SFSafeEnum CloudStorageType; + @SerializedName("IsSolutionOffering") + private Boolean IsSolutionOffering; public String getCompanyName() { return this.CompanyName; @@ -220,6 +247,20 @@ public String getTechnicalContactId() { public void setTechnicalContactId(String technicalcontactid) { this.TechnicalContactId = technicalcontactid; } + public String getMasterAdminId() { + return this.MasterAdminId; + } + + public void setMasterAdminId(String masteradminid) { + this.MasterAdminId = masteradminid; + } + public SFUser getMasterAdmin() { + return this.MasterAdmin; + } + + public void setMasterAdmin(SFUser masteradmin) { + this.MasterAdmin = masteradmin; + } public SFUser getAccountManager() { return this.AccountManager; } @@ -241,10 +282,16 @@ public String getAccountType() { public void setAccountType(String accounttype) { this.AccountType = accounttype; } + /** + * Basic, Professional, Enterprise + */ public String getPlanName() { return this.PlanName; } + /** + * Basic, Professional, Enterprise + */ public void setPlanName(String planname) { this.PlanName = planname; } @@ -262,17 +309,29 @@ public String getPlanTrackEnum() { public void setPlanTrackEnum(String plantrackenum) { this.PlanTrackEnum = plantrackenum; } + /** + * Credit Card, Invoice, Comp + */ public String getBillingType() { return this.BillingType; } + /** + * Credit Card, Invoice, Comp + */ public void setBillingType(String billingtype) { this.BillingType = billingtype; } + /** + * Monthly, Quarterly, Annually + */ public String getBillingCycle() { return this.BillingCycle; } + /** + * Monthly, Quarterly, Annually + */ public void setBillingCycle(String billingcycle) { this.BillingCycle = billingcycle; } @@ -290,66 +349,120 @@ public Double getBaseBillingRate() { public void setBaseBillingRate(Double basebillingrate) { this.BaseBillingRate = basebillingrate; } + /** + * Bandwidth included in plan in megabytes + */ public Integer getBaseBandwidth() { return this.BaseBandwidth; } + /** + * Bandwidth included in plan in megabytes + */ public void setBaseBandwidth(Integer basebandwidth) { this.BaseBandwidth = basebandwidth; } + /** + * Disk space included in megabytes + */ public Integer getBaseDiskSpace() { return this.BaseDiskSpace; } + /** + * Disk space included in megabytes + */ public void setBaseDiskSpace(Integer basediskspace) { this.BaseDiskSpace = basediskspace; } + /** + * Users included in plan + */ public Integer getBaseUsers() { return this.BaseUsers; } + /** + * Users included in plan + */ public void setBaseUsers(Integer baseusers) { this.BaseUsers = baseusers; } + /** + * Additional bandwidth purchased for account + */ public Integer getAdditionalBandwidth() { return this.AdditionalBandwidth; } + /** + * Additional bandwidth purchased for account + */ public void setAdditionalBandwidth(Integer additionalbandwidth) { this.AdditionalBandwidth = additionalbandwidth; } + /** + * Additional disk space purchased for account + */ public Integer getAdditionalDiskSpace() { return this.AdditionalDiskSpace; } + /** + * Additional disk space purchased for account + */ public void setAdditionalDiskSpace(Integer additionaldiskspace) { this.AdditionalDiskSpace = additionaldiskspace; } + /** + * Additional users purchased for account + */ public Integer getAdditionalUsers() { return this.AdditionalUsers; } + /** + * Additional users purchased for account + */ public void setAdditionalUsers(Integer additionalusers) { this.AdditionalUsers = additionalusers; } + /** + * Additional rate for extra bandwidth. NOTE: This is specified in gigbytes, not megabytes. + */ public Double getAdditionalBandwidthRate() { return this.AdditionalBandwidthRate; } + /** + * Additional rate for extra bandwidth. NOTE: This is specified in gigbytes, not megabytes. + */ public void setAdditionalBandwidthRate(Double additionalbandwidthrate) { this.AdditionalBandwidthRate = additionalbandwidthrate; } + /** + * Additional rate for extra diskspace. NOTE: This is specified in gigbytes, not megabytes. + */ public Double getAdditionalDiskSpaceRate() { return this.AdditionalDiskSpaceRate; } + /** + * Additional rate for extra diskspace. NOTE: This is specified in gigbytes, not megabytes. + */ public void setAdditionalDiskSpaceRate(Double additionaldiskspacerate) { this.AdditionalDiskSpaceRate = additionaldiskspacerate; } + /** + * Additional rate for extra users + */ public Double getAdditionalUserRate() { return this.AdditionalUserRate; } + /** + * Additional rate for extra users + */ public void setAdditionalUserRate(Double additionaluserrate) { this.AdditionalUserRate = additionaluserrate; } @@ -367,10 +480,16 @@ public SFUserUsage getUserUsage() { public void setUserUsage(SFUserUsage userusage) { this.UserUsage = userusage; } + /** + * Maximum disk space for the account in megabtyes + */ public Integer getDiskSpaceMax() { return this.DiskSpaceMax; } + /** + * Maximum disk space for the account in megabtyes + */ public void setDiskSpaceMax(Integer diskspacemax) { this.DiskSpaceMax = diskspacemax; } @@ -381,10 +500,23 @@ public SFDiskSpace getDiskSpace() { public void setDiskSpace(SFDiskSpace diskspace) { this.DiskSpace = diskspace; } + public SFBandwidth getBandwidth() { + return this.Bandwidth; + } + + public void setBandwidth(SFBandwidth bandwidth) { + this.Bandwidth = bandwidth; + } + /** + * Maximum bandwidth for the account in megabtyes + */ public Integer getBandwidthMax() { return this.BandwidthMax; } + /** + * Maximum bandwidth for the account in megabtyes + */ public void setBandwidthMax(Integer bandwidthmax) { this.BandwidthMax = bandwidthmax; } @@ -402,17 +534,29 @@ public Boolean getHasEncryption() { public void setHasEncryption(Boolean hasencryption) { this.HasEncryption = hasencryption; } + /** + * Additional rate for adding PowerTools. + */ public Double getPowerToolsRate() { return this.PowerToolsRate; } + /** + * Additional rate for adding PowerTools. + */ public void setPowerToolsRate(Double powertoolsrate) { this.PowerToolsRate = powertoolsrate; } + /** + * Additional rate for stored file encryption + */ public Double getEncryptionRate() { return this.EncryptionRate; } + /** + * Additional rate for stored file encryption + */ public void setEncryptionRate(Double encryptionrate) { this.EncryptionRate = encryptionrate; } @@ -556,6 +700,13 @@ public Map getBrandingStyles() { public void setBrandingStyles(Map brandingstyles) { this.BrandingStyles = brandingstyles; } + public SFBrandingLinks getBrandingLinks() { + return this.BrandingLinks; + } + + public void setBrandingLinks(SFBrandingLinks brandinglinks) { + this.BrandingLinks = brandinglinks; + } public String getLogoURL() { return this.LogoURL; } @@ -626,17 +777,29 @@ public SFProductDefaults getProductDefaults() { public void setProductDefaults(SFProductDefaults productdefaults) { this.ProductDefaults = productdefaults; } + /** + * Primary (first) subdomain + */ public String getSubdomain() { return this.Subdomain; } + /** + * Primary (first) subdomain + */ public void setSubdomain(String subdomain) { this.Subdomain = subdomain; } + /** + * All subdomains assigned to account + */ public ArrayList getSubdomains() { return this.Subdomains; } + /** + * All subdomains assigned to account + */ public void setSubdomains(ArrayList subdomains) { this.Subdomains = subdomains; } @@ -731,12 +894,81 @@ public SFSafeEnum getAccountSubType() { public void setAccountSubType(SFSafeEnum accountsubtype) { this.AccountSubType = accountsubtype; } + public Boolean getCanConvertFreeTrial() { + return this.CanConvertFreeTrial; + } + + public void setCanConvertFreeTrial(Boolean canconvertfreetrial) { + this.CanConvertFreeTrial = canconvertfreetrial; + } + public Boolean getCanChangePlan() { + return this.CanChangePlan; + } + + public void setCanChangePlan(Boolean canchangeplan) { + this.CanChangePlan = canchangeplan; + } + public Boolean getCanChangeBilling() { + return this.CanChangeBilling; + } + + public void setCanChangeBilling(Boolean canchangebilling) { + this.CanChangeBilling = canchangebilling; + } + public Boolean getCanCancel() { + return this.CanCancel; + } + + public void setCanCancel(Boolean cancancel) { + this.CanCancel = cancancel; + } + public String getConversionType() { + return this.ConversionType; + } + + public void setConversionType(String conversiontype) { + this.ConversionType = conversiontype; + } + public ArrayList> getAccountFeatures() { + return this.AccountFeatures; + } + + public void setAccountFeatures(ArrayList> accountfeatures) { + this.AccountFeatures = accountfeatures; + } + /** + * The add-on services available to the account + */ public SFServicesCollection getServices() { return this.Services; } + /** + * The add-on services available to the account + */ public void setServices(SFServicesCollection services) { this.Services = services; } + public ArrayList getBillingAddons() { + return this.BillingAddons; + } + + public void setBillingAddons(ArrayList billingaddons) { + this.BillingAddons = billingaddons; + } + public SFSafeEnum getCloudStorageType() { + return this.CloudStorageType; + } + + public void setCloudStorageType(SFSafeEnum cloudstoragetype) { + this.CloudStorageType = cloudstoragetype; + } + public Boolean getIsSolutionOffering() { + return this.IsSolutionOffering; + } + + public void setIsSolutionOffering(Boolean issolutionoffering) { + this.IsSolutionOffering = issolutionoffering; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountMessageCode.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountMessageCode.java index 254dd7e..c741a8b 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountMessageCode.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountMessageCode.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountPreferences.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountPreferences.java index cb018e8..278b4ee 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountPreferences.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountPreferences.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -23,6 +23,7 @@ import com.citrix.sharefile.api.*; import com.citrix.sharefile.api.enumerations.*; import com.citrix.sharefile.api.models.*; +import com.citrix.sharefile.api.internal.models.*; public class SFAccountPreferences extends SFODataObject { @@ -36,6 +37,8 @@ public class SFAccountPreferences extends SFODataObject { private Boolean ShowUserListToClients; @SerializedName("RequireLoginOnDownload") private Boolean RequireLoginOnDownload; + @SerializedName("RequireLoginOnUpload") + private Boolean RequireLoginOnUpload; @SerializedName("RequireLoginByDefault") private Boolean RequireLoginByDefault; @SerializedName("EnableClientSend") @@ -234,6 +237,10 @@ public class SFAccountPreferences extends SFODataObject { private Boolean DisableWebAppAccess; @SerializedName("EnableCWC") private Boolean EnableCWC; + @SerializedName("EnableEnterpriseArchive") + private Boolean EnableEnterpriseArchive; + @SerializedName("EnterpriseArchiveActivationDate") + private Date EnterpriseArchiveActivationDate; @SerializedName("EnableIntegrations") private Boolean EnableIntegrations; @SerializedName("IntegrationProviders") @@ -278,6 +285,8 @@ public class SFAccountPreferences extends SFODataObject { private Boolean EnableOfficeOnlinePreviews; @SerializedName("EnableOfficeOnlineEditing") private Boolean EnableOfficeOnlineEditing; + @SerializedName("EnableGoogleDriveEditing") + private Boolean EnableGoogleDriveEditing; @SerializedName("RecycleBinDays") private Integer RecycleBinDays; @SerializedName("SyncConcurrentTransferThreadsLimit") @@ -308,10 +317,62 @@ public class SFAccountPreferences extends SFODataObject { private Boolean EnableSecondaryDbContacts; @SerializedName("EnableCADPreview") private Boolean EnableCADPreview; + @SerializedName("IsQuotaLimitAvailable") + private Boolean IsQuotaLimitAvailable; @SerializedName("EnableQuotaLimit") private Boolean EnableQuotaLimit; @SerializedName("QuotaLimitInGB") private Integer QuotaLimitInGB; + @SerializedName("EnableRenderLibXThumbnails") + private Boolean EnableRenderLibXThumbnails; + @SerializedName("EnableRenderAPIThumbnails") + private Boolean EnableRenderAPIThumbnails; + @SerializedName("EnablePolicyBasedAdministration") + private Boolean EnablePolicyBasedAdministration; + @SerializedName("EnableViewerComponentX") + private Boolean EnableViewerComponentX; + @SerializedName("EnableRequestList") + private Boolean EnableRequestList; + @SerializedName("CanStoreItemsWithMetadata") + private Boolean CanStoreItemsWithMetadata; + @SerializedName("EnableRemoteWipe") + private Boolean EnableRemoteWipe; + @SerializedName("EnableSharedGroupRole") + private Boolean EnableSharedGroupRole; + @SerializedName("EnableFolderPay") + private Boolean EnableFolderPay; + @SerializedName("EnableImage32") + private Boolean EnableImage32; + @SerializedName("EnableContentViewer") + private Boolean EnableContentViewer; + @SerializedName("EnableShareConnectConnector") + private Boolean EnableShareConnectConnector; + @SerializedName("DisableSecondaryEmails") + private Boolean DisableSecondaryEmails; + @SerializedName("ForceSSO") + private Boolean ForceSSO; + @SerializedName("LoginPageType") + private SFSafeEnum LoginPageType; + @SerializedName("HideBillingInfoExceptions") + private String HideBillingInfoExceptions; + @SerializedName("ShowBillingInfo") + private Boolean ShowBillingInfo; + @SerializedName("SuperGroupId") + private String SuperGroupId; + @SerializedName("HideSuperGroup") + private Boolean HideSuperGroup; + @SerializedName("EnablePowerTools") + private Boolean EnablePowerTools; + @SerializedName("EnableMobileFormsWorkflow") + private Boolean EnableMobileFormsWorkflow; + @SerializedName("IsArchiveAccount") + private Boolean IsArchiveAccount; + @SerializedName("EnableDesktopAppExplorerIntegration") + private Boolean EnableDesktopAppExplorerIntegration; + @SerializedName("EnableSmartFolders") + private Boolean EnableSmartFolders; + @SerializedName("EnableRemovePHIfromDICOMs") + private Boolean EnableRemovePHIfromDICOMs; public Boolean getEnableViewOnly() { return this.EnableViewOnly; @@ -341,12 +402,31 @@ public Boolean getShowUserListToClients() { public void setShowUserListToClients(Boolean showuserlisttoclients) { this.ShowUserListToClients = showuserlisttoclients; } + /** + * Enforce RequireLogin requirement for all Send Shares + */ public Boolean getRequireLoginOnDownload() { return this.RequireLoginOnDownload; } + /** + * Enforce RequireLogin requirement for all Send Shares + */ public void setRequireLoginOnDownload(Boolean requireloginondownload) { this.RequireLoginOnDownload = requireloginondownload; + } + /** + * Enforce RequireLogin requirement for all Request Shares + */ + public Boolean getRequireLoginOnUpload() { + return this.RequireLoginOnUpload; + } + + /** + * Enforce RequireLogin requirement for all Request Shares + */ + public void setRequireLoginOnUpload(Boolean requireloginonupload) { + this.RequireLoginOnUpload = requireloginonupload; } public Boolean getRequireLoginByDefault() { return this.RequireLoginByDefault; @@ -1077,6 +1157,20 @@ public Boolean getEnableCWC() { public void setEnableCWC(Boolean enablecwc) { this.EnableCWC = enablecwc; } + public Boolean getEnableEnterpriseArchive() { + return this.EnableEnterpriseArchive; + } + + public void setEnableEnterpriseArchive(Boolean enableenterprisearchive) { + this.EnableEnterpriseArchive = enableenterprisearchive; + } + public Date getEnterpriseArchiveActivationDate() { + return this.EnterpriseArchiveActivationDate; + } + + public void setEnterpriseArchiveActivationDate(Date enterprisearchiveactivationdate) { + this.EnterpriseArchiveActivationDate = enterprisearchiveactivationdate; + } public Boolean getEnableIntegrations() { return this.EnableIntegrations; } @@ -1238,6 +1332,13 @@ public Boolean getEnableOfficeOnlineEditing() { public void setEnableOfficeOnlineEditing(Boolean enableofficeonlineediting) { this.EnableOfficeOnlineEditing = enableofficeonlineediting; + } + public Boolean getEnableGoogleDriveEditing() { + return this.EnableGoogleDriveEditing; + } + + public void setEnableGoogleDriveEditing(Boolean enablegoogledriveediting) { + this.EnableGoogleDriveEditing = enablegoogledriveediting; } /** * Retention period of items in the recycle bin. @@ -1386,19 +1487,333 @@ public Boolean getEnableCADPreview() { public void setEnableCADPreview(Boolean enablecadpreview) { this.EnableCADPreview = enablecadpreview; } + /** + * Can Account enable/disable quota limit feature + */ + public Boolean getIsQuotaLimitAvailable() { + return this.IsQuotaLimitAvailable; + } + + /** + * Can Account enable/disable quota limit feature + */ + public void setIsQuotaLimitAvailable(Boolean isquotalimitavailable) { + this.IsQuotaLimitAvailable = isquotalimitavailable; + } + /** + * Has the account enabled the quota limit + */ public Boolean getEnableQuotaLimit() { return this.EnableQuotaLimit; } + /** + * Has the account enabled the quota limit + */ public void setEnableQuotaLimit(Boolean enablequotalimit) { this.EnableQuotaLimit = enablequotalimit; } + /** + * Quota Limit in gigabytes + */ public Integer getQuotaLimitInGB() { return this.QuotaLimitInGB; } + /** + * Quota Limit in gigabytes + */ public void setQuotaLimitInGB(Integer quotalimitingb) { this.QuotaLimitInGB = quotalimitingb; } + /** + * Enables getting thumbnails from Renderer X service + */ + public Boolean getEnableRenderLibXThumbnails() { + return this.EnableRenderLibXThumbnails; + } + + /** + * Enables getting thumbnails from Renderer X service + */ + public void setEnableRenderLibXThumbnails(Boolean enablerenderlibxthumbnails) { + this.EnableRenderLibXThumbnails = enablerenderlibxthumbnails; + } + /** + * Enables getting thumbnails from RenderAPI service + */ + public Boolean getEnableRenderAPIThumbnails() { + return this.EnableRenderAPIThumbnails; + } + + /** + * Enables getting thumbnails from RenderAPI service + */ + public void setEnableRenderAPIThumbnails(Boolean enablerenderapithumbnails) { + this.EnableRenderAPIThumbnails = enablerenderapithumbnails; + } + /** + * Enables Policy based administration on account + */ + public Boolean getEnablePolicyBasedAdministration() { + return this.EnablePolicyBasedAdministration; + } + + /** + * Enables Policy based administration on account + */ + public void setEnablePolicyBasedAdministration(Boolean enablepolicybasedadministration) { + this.EnablePolicyBasedAdministration = enablepolicybasedadministration; + } + /** + * Enables getting thumbnails from Renderer X service + */ + public Boolean getEnableViewerComponentX() { + return this.EnableViewerComponentX; + } + + /** + * Enables getting thumbnails from Renderer X service + */ + public void setEnableViewerComponentX(Boolean enableviewercomponentx) { + this.EnableViewerComponentX = enableviewercomponentx; + } + /** + * Enables Provided By Client Request List feature + */ + public Boolean getEnableRequestList() { + return this.EnableRequestList; + } + + /** + * Enables Provided By Client Request List feature + */ + public void setEnableRequestList(Boolean enablerequestlist) { + this.EnableRequestList = enablerequestlist; + } + /** + * Whether metadata of Item can be stored + */ + public Boolean getCanStoreItemsWithMetadata() { + return this.CanStoreItemsWithMetadata; + } + + /** + * Whether metadata of Item can be stored + */ + public void setCanStoreItemsWithMetadata(Boolean canstoreitemswithmetadata) { + this.CanStoreItemsWithMetadata = canstoreitemswithmetadata; + } + /** + * Enable remote device wipe. + */ + public Boolean getEnableRemoteWipe() { + return this.EnableRemoteWipe; + } + + /** + * Enable remote device wipe. + */ + public void setEnableRemoteWipe(Boolean enableremotewipe) { + this.EnableRemoteWipe = enableremotewipe; + } + /** + * Enable Shared Group Role + */ + public Boolean getEnableSharedGroupRole() { + return this.EnableSharedGroupRole; + } + + /** + * Enable Shared Group Role + */ + public void setEnableSharedGroupRole(Boolean enablesharedgrouprole) { + this.EnableSharedGroupRole = enablesharedgrouprole; + } + /** + * Enable Folder Pay + */ + public Boolean getEnableFolderPay() { + return this.EnableFolderPay; + } + + /** + * Enable Folder Pay + */ + public void setEnableFolderPay(Boolean enablefolderpay) { + this.EnableFolderPay = enablefolderpay; + } + /** + * Enable Image32 + */ + public Boolean getEnableImage32() { + return this.EnableImage32; + } + + /** + * Enable Image32 + */ + public void setEnableImage32(Boolean enableimage32) { + this.EnableImage32 = enableimage32; + } + /** + * Enable Content Viewer integration + */ + public Boolean getEnableContentViewer() { + return this.EnableContentViewer; + } + + /** + * Enable Content Viewer integration + */ + public void setEnableContentViewer(Boolean enablecontentviewer) { + this.EnableContentViewer = enablecontentviewer; + } + /** + * Enable ShareConnect Connector + */ + public Boolean getEnableShareConnectConnector() { + return this.EnableShareConnectConnector; + } + + /** + * Enable ShareConnect Connector + */ + public void setEnableShareConnectConnector(Boolean enableshareconnectconnector) { + this.EnableShareConnectConnector = enableshareconnectconnector; + } + public Boolean getDisableSecondaryEmails() { + return this.DisableSecondaryEmails; + } + + public void setDisableSecondaryEmails(Boolean disablesecondaryemails) { + this.DisableSecondaryEmails = disablesecondaryemails; + } + public Boolean getForceSSO() { + return this.ForceSSO; + } + + public void setForceSSO(Boolean forcesso) { + this.ForceSSO = forcesso; + } + public SFSafeEnum getLoginPageType() { + return this.LoginPageType; + } + + public void setLoginPageType(SFSafeEnum loginpagetype) { + this.LoginPageType = loginpagetype; + } + public String getHideBillingInfoExceptions() { + return this.HideBillingInfoExceptions; + } + + public void setHideBillingInfoExceptions(String hidebillinginfoexceptions) { + this.HideBillingInfoExceptions = hidebillinginfoexceptions; + } + public Boolean getShowBillingInfo() { + return this.ShowBillingInfo; + } + + public void setShowBillingInfo(Boolean showbillinginfo) { + this.ShowBillingInfo = showbillinginfo; + } + /** + * Id of the Super User Group + */ + public String getSuperGroupId() { + return this.SuperGroupId; + } + + /** + * Id of the Super User Group + */ + public void setSuperGroupId(String supergroupid) { + this.SuperGroupId = supergroupid; + } + /** + * Hide Super User Group + */ + public Boolean getHideSuperGroup() { + return this.HideSuperGroup; + } + + /** + * Hide Super User Group + */ + public void setHideSuperGroup(Boolean hidesupergroup) { + this.HideSuperGroup = hidesupergroup; + } + /** + * Enable Power Tools + */ + public Boolean getEnablePowerTools() { + return this.EnablePowerTools; + } + + /** + * Enable Power Tools + */ + public void setEnablePowerTools(Boolean enablepowertools) { + this.EnablePowerTools = enablepowertools; + } + /** + * Enable Custom Workflows + */ + public Boolean getEnableMobileFormsWorkflow() { + return this.EnableMobileFormsWorkflow; + } + + /** + * Enable Custom Workflows + */ + public void setEnableMobileFormsWorkflow(Boolean enablemobileformsworkflow) { + this.EnableMobileFormsWorkflow = enablemobileformsworkflow; + } + public Boolean getIsArchiveAccount() { + return this.IsArchiveAccount; + } + + public void setIsArchiveAccount(Boolean isarchiveaccount) { + this.IsArchiveAccount = isarchiveaccount; + } + /** + * Enable Use of Desktop App + Explorer Integration (Drive Mapper) + */ + public Boolean getEnableDesktopAppExplorerIntegration() { + return this.EnableDesktopAppExplorerIntegration; + } + + /** + * Enable Use of Desktop App + Explorer Integration (Drive Mapper) + */ + public void setEnableDesktopAppExplorerIntegration(Boolean enabledesktopappexplorerintegration) { + this.EnableDesktopAppExplorerIntegration = enabledesktopappexplorerintegration; + } + /** + * Enable creation of folders which will automatically categorize files + */ + public Boolean getEnableSmartFolders() { + return this.EnableSmartFolders; + } + + /** + * Enable creation of folders which will automatically categorize files + */ + public void setEnableSmartFolders(Boolean enablesmartfolders) { + this.EnableSmartFolders = enablesmartfolders; + } + /** + * Enables De-Identification which removes PHI information from DICOM studies when uploaded + */ + public Boolean getEnableRemovePHIfromDICOMs() { + return this.EnableRemovePHIfromDICOMs; + } + + /** + * Enables De-Identification which removes PHI information from DICOM studies when uploaded + */ + public void setEnableRemovePHIfromDICOMs(Boolean enableremovephifromdicoms) { + this.EnableRemovePHIfromDICOMs = enableremovephifromdicoms; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountSubType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountSubType.java index 18ec57e..cb8aa32 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountSubType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountSubType.java @@ -6,16 +6,12 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ package com.citrix.sharefile.api.models; -import com.google.gson.annotations.SerializedName; -import com.citrix.sharefile.api.enumerations.SFSafeEnum; -import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; - public enum SFAccountSubType { None, Partner, diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountUser.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountUser.java index 984fd2f..1c833d5 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountUser.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountUser.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -46,6 +46,8 @@ public class SFAccountUser extends SFUser { private Integer StorageQuotaPercent; @SerializedName("EnableHardLimit") private Boolean EnableHardLimit; + @SerializedName("Policies") + private ArrayList Policies; public Boolean getIsAdministrator() { return this.IsAdministrator; @@ -117,5 +119,12 @@ public Boolean getEnableHardLimit() { public void setEnableHardLimit(Boolean enablehardlimit) { this.EnableHardLimit = enablehardlimit; } + public ArrayList getPolicies() { + return this.Policies; + } + + public void setPolicies(ArrayList policies) { + this.Policies = policies; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountZoneUsage.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountZoneUsage.java index 45152fb..8b31827 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountZoneUsage.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountZoneUsage.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAdvancedSearchResults.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAdvancedSearchResults.java index dc70c6c..4ac469c 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAdvancedSearchResults.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAdvancedSearchResults.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAppCodes.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAppCodes.java new file mode 100644 index 0000000..e01d227 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAppCodes.java @@ -0,0 +1,91 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFAppCodes { + _None, + AirWidget, + Sync2Win, + Sync2Mac, + AirSyncWin, + AirSyncMac, + AirSyncMacLegacy, + AirEntSync, + SFCLI, + OutlookPlugin, + SFAndroid, + SFAndroidPhone, + SFAndroidTablet, + SFiOS, + SFiPad, + SFiPhone, + SFBlackberry, + SFWinPhone, + SFWinRT, + DriveMapping, + MobileSite, + WebDav, + Fmd4Win, + Fmd4Mac, + Fmd, + SFiPad_MDM, + SFiPhone_MDM, + SFiOS_MDM, + SFAndroidPhone_MDM, + SFAndroidTablet_MDM, + SFAndroid_MDM, + ThirdParty, + SF_FTP, + SF_SFTP, + SFWebApp, + SFMarketing, + ShareConnect, + ShareConnectWeb, + SFWindowsDesktop, + WorxNotes, + ApiDocumentation, + SFQuickBooksOnline, + SFScanSnap, + SFPrintDriver, + InternalApps, + SFSonyDigitalPaper, + SFAndroidChrome, + CitrixLegal, + RightSignature, + MigrationTool, + MSDirectToFile, + Image32, + DocumentApprovalWorkflow, + Html5Preview, + InternalService, + ContentViewer, + SFUserManagementTool, + MarketingAutomation, + TranscodingService, + SAP, + Podio, + SFMacDesktop, + CustomWorkflows, + CustomWorkflowsAndroid, + CustomWorkflowsiOS, + SFOutlook, + SFGmail, + RightSignatureiOS, + JiraServiceDesk, + RightSignature4, + ThirdPartyCloudSyncService +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAsyncOperation.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAsyncOperation.java index f5a26d8..8e69d71 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAsyncOperation.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAsyncOperation.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAsyncOperationState.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAsyncOperationState.java index a089fde..360942f 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAsyncOperationState.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAsyncOperationState.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAsyncOperationType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAsyncOperationType.java index d574761..e168959 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAsyncOperationType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAsyncOperationType.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBandwidth.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBandwidth.java new file mode 100644 index 0000000..f5f1386 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBandwidth.java @@ -0,0 +1,78 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFBandwidth extends SFODataObject { + + @SerializedName("Max") + private Integer Max; + @SerializedName("Used") + private Integer Used; + @SerializedName("Free") + private Integer Free; + + /** + * Max bandwidth allowed + */ + public Integer getMax() { + return this.Max; + } + + /** + * Max bandwidth allowed + */ + public void setMax(Integer max) { + this.Max = max; + } + /** + * Current bandwidth used + */ + public Integer getUsed() { + return this.Used; + } + + /** + * Current bandwidth used + */ + public void setUsed(Integer used) { + this.Used = used; + } + /** + * Current bandwidth free + * Not returned when unlimited bandwidth + */ + public Integer getFree() { + return this.Free; + } + + /** + * Current bandwidth free + * Not returned when unlimited bandwidth + */ + public void setFree(Integer free) { + this.Free = free; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBillingInfo.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBillingInfo.java index c020b11..a696a4e 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBillingInfo.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBillingInfo.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBrandingLinks.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBrandingLinks.java new file mode 100644 index 0000000..cc9ee5c --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBrandingLinks.java @@ -0,0 +1,136 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFBrandingLinks extends SFODataObject { + + @SerializedName("LogoUrl") + private String LogoUrl; + @SerializedName("EmailLogoUrl") + private String EmailLogoUrl; + @SerializedName("LoginLogoUrl") + private String LoginLogoUrl; + @SerializedName("FavoriteIconUrl") + private String FavoriteIconUrl; + @SerializedName("BackgroundImageUrl") + private String BackgroundImageUrl; + @SerializedName("MastheadImageUrl") + private String MastheadImageUrl; + @SerializedName("LoginPageBackgroundImageUrl") + private String LoginPageBackgroundImageUrl; + + /** + * Custom logo url + */ + public String getLogoUrl() { + return this.LogoUrl; + } + + /** + * Custom logo url + */ + public void setLogoUrl(String logourl) { + this.LogoUrl = logourl; + } + /** + * Custom email logo url + */ + public String getEmailLogoUrl() { + return this.EmailLogoUrl; + } + + /** + * Custom email logo url + */ + public void setEmailLogoUrl(String emaillogourl) { + this.EmailLogoUrl = emaillogourl; + } + /** + * Custom login logo url + */ + public String getLoginLogoUrl() { + return this.LoginLogoUrl; + } + + /** + * Custom login logo url + */ + public void setLoginLogoUrl(String loginlogourl) { + this.LoginLogoUrl = loginlogourl; + } + /** + * Custom browser favorite icon url + */ + public String getFavoriteIconUrl() { + return this.FavoriteIconUrl; + } + + /** + * Custom browser favorite icon url + */ + public void setFavoriteIconUrl(String favoriteiconurl) { + this.FavoriteIconUrl = favoriteiconurl; + } + /** + * Custom background image URL + */ + public String getBackgroundImageUrl() { + return this.BackgroundImageUrl; + } + + /** + * Custom background image URL + */ + public void setBackgroundImageUrl(String backgroundimageurl) { + this.BackgroundImageUrl = backgroundimageurl; + } + /** + * Background image behind logo in masthead + */ + public String getMastheadImageUrl() { + return this.MastheadImageUrl; + } + + /** + * Background image behind logo in masthead + */ + public void setMastheadImageUrl(String mastheadimageurl) { + this.MastheadImageUrl = mastheadimageurl; + } + /** + * Login page Background image + */ + public String getLoginPageBackgroundImageUrl() { + return this.LoginPageBackgroundImageUrl; + } + + /** + * Login page Background image + */ + public void setLoginPageBackgroundImageUrl(String loginpagebackgroundimageurl) { + this.LoginPageBackgroundImageUrl = loginpagebackgroundimageurl; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCancellation.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCancellation.java new file mode 100644 index 0000000..78d7cf8 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCancellation.java @@ -0,0 +1,85 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFCancellation extends SFODataObject { + + @SerializedName("Password") + private String Password; + @SerializedName("Reason") + private String Reason; + @SerializedName("ReasonCode") + private Integer ReasonCode; + @SerializedName("AutoEmail") + private Boolean AutoEmail; + @SerializedName("CancelAddOns") + private Boolean CancelAddOns; + @SerializedName("InternalNotes") + private String InternalNotes; + + public String getPassword() { + return this.Password; + } + + public void setPassword(String password) { + this.Password = password; + } + public String getReason() { + return this.Reason; + } + + public void setReason(String reason) { + this.Reason = reason; + } + public Integer getReasonCode() { + return this.ReasonCode; + } + + public void setReasonCode(Integer reasoncode) { + this.ReasonCode = reasoncode; + } + public Boolean getAutoEmail() { + return this.AutoEmail; + } + + public void setAutoEmail(Boolean autoemail) { + this.AutoEmail = autoemail; + } + public Boolean getCancelAddOns() { + return this.CancelAddOns; + } + + public void setCancelAddOns(Boolean canceladdons) { + this.CancelAddOns = canceladdons; + } + public String getInternalNotes() { + return this.InternalNotes; + } + + public void setInternalNotes(String internalnotes) { + this.InternalNotes = internalnotes; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCapability.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCapability.java index a386123..b7c7d3e 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCapability.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCapability.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -30,6 +30,10 @@ public class SFCapability extends SFODataObject { private SFSafeEnum Name; @SerializedName("Version") private String Version; + @SerializedName("ScopedHostsAndProviders") + private ArrayList ScopedHostsAndProviders; + @SerializedName("SupportedDataTypes") + private ArrayList SupportedDataTypes; public SFSafeEnum getName() { return this.Name; @@ -45,5 +49,37 @@ public String getVersion() { public void setVersion(String version) { this.Version = version; } + /** + * Indicates the list of hosts and providers with which the associated capability can operate. + * There are two known constants that offer a convenient way to refer to the current provider (self) and ShareFile (sf) + * Otherwise, values will be prefixed with https protocol. + */ + public ArrayList getScopedHostsAndProviders() { + return this.ScopedHostsAndProviders; + } + + /** + * Indicates the list of hosts and providers with which the associated capability can operate. + * There are two known constants that offer a convenient way to refer to the current provider (self) and ShareFile (sf) + * Otherwise, values will be prefixed with https protocol. + */ + public void setScopedHostsAndProviders(ArrayList scopedhostsandproviders) { + this.ScopedHostsAndProviders = scopedhostsandproviders; + } + /** + * Indicates the data types are supported based on this capability. If there are no restrictions, this value will be empty or null. + * For backwards compatibility, for an empty list will imply only Folders are supported. + */ + public ArrayList getSupportedDataTypes() { + return this.SupportedDataTypes; + } + + /** + * Indicates the data types are supported based on this capability. If there are no restrictions, this value will be empty or null. + * For backwards compatibility, for an empty list will imply only Folders are supported. + */ + public void setSupportedDataTypes(ArrayList supporteddatatypes) { + this.SupportedDataTypes = supporteddatatypes; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCapabilityName.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCapabilityName.java index 8030f6a..f0b2dbc 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCapabilityName.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCapabilityName.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -69,5 +69,17 @@ public enum SFCapabilityName { ItemSortByCreatorNameShort, ItemSortByCreationDate, ItemSortByFileSizeBytes, - ItemFoldersFirstGrouping + ItemFoldersFirstGrouping, + ItemOperations, + SearchByParent, + ScopedCopy, + ScopedMove, + StructuredDownload, + DirectAnonymousSharingSend, + MetadataTagging, + ItemMetadata, + CreateMicrosoftFiles, + DownloadSpecification, + ItemRename, + BulkMove } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFChunkType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFChunkType.java index 6a10197..30d72bb 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFChunkType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFChunkType.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFClientCapability.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFClientCapability.java index 4c81d42..66e18f5 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFClientCapability.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFClientCapability.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -17,5 +17,7 @@ import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; public enum SFClientCapability { - HardLock + HardLock, + ItemFavorites, + CloudConnectorGroups } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFClientUpgradeWeb.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFClientUpgradeWeb.java new file mode 100644 index 0000000..298e4f1 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFClientUpgradeWeb.java @@ -0,0 +1,49 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFClientUpgradeWeb extends SFODataObject { + + @SerializedName("ClientUpgradeLink") + private String ClientUpgradeLink; + @SerializedName("ClientUpgradeText") + private String ClientUpgradeText; + + public String getClientUpgradeLink() { + return this.ClientUpgradeLink; + } + + public void setClientUpgradeLink(String clientupgradelink) { + this.ClientUpgradeLink = clientupgradelink; + } + public String getClientUpgradeText() { + return this.ClientUpgradeText; + } + + public void setClientUpgradeText(String clientupgradetext) { + this.ClientUpgradeText = clientupgradetext; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectedApp.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectedApp.java new file mode 100644 index 0000000..8132eb9 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectedApp.java @@ -0,0 +1,121 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFConnectedApp extends SFODataObject { + + @SerializedName("Name") + private String Name; + @SerializedName("AppCode") + private SFSafeEnum AppCode; + @SerializedName("LastLoginDate") + private Date LastLoginDate; + @SerializedName("UserId") + private String UserId; + @SerializedName("Active") + private Boolean Active; + @SerializedName("Devices") + private ArrayList Devices; + + /** + * Name of the application + */ + public String getName() { + return this.Name; + } + + /** + * Name of the application + */ + public void setName(String name) { + this.Name = name; + } + /** + * Used to determine which official ShareFile App this is, if any + */ + public SFSafeEnum getAppCode() { + return this.AppCode; + } + + /** + * Used to determine which official ShareFile App this is, if any + */ + public void setAppCode(SFSafeEnum appcode) { + this.AppCode = appcode; + } + /** + * The last time this client was used to login to the account + */ + public Date getLastLoginDate() { + return this.LastLoginDate; + } + + /** + * The last time this client was used to login to the account + */ + public void setLastLoginDate(Date lastlogindate) { + this.LastLoginDate = lastlogindate; + } + /** + * The user this app mapping is for + */ + public String getUserId() { + return this.UserId; + } + + /** + * The user this app mapping is for + */ + public void setUserId(String userid) { + this.UserId = userid; + } + /** + * Whether or not this App can still be used + */ + public Boolean getActive() { + return this.Active; + } + + /** + * Whether or not this App can still be used + */ + public void setActive(Boolean active) { + this.Active = active; + } + /** + * Devices associated with this App + */ + public ArrayList getDevices() { + return this.Devices; + } + + /** + * Devices associated with this App + */ + public void setDevices(ArrayList devices) { + this.Devices = devices; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectorGroup.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectorGroup.java index a8c8dd8..7775c82 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectorGroup.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectorGroup.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectorGroupAccessControl.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectorGroupAccessControl.java index 97d33ac..314dbf9 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectorGroupAccessControl.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectorGroupAccessControl.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectorGroupKind.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectorGroupKind.java index 9e61a03..89a5518 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectorGroupKind.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectorGroupKind.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectorGroupZone.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectorGroupZone.java index e670f51..da19171 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectorGroupZone.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFConnectorGroupZone.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContact.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContact.java index dfae0f7..9a9b05f 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContact.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContact.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -23,6 +23,7 @@ import com.citrix.sharefile.api.*; import com.citrix.sharefile.api.enumerations.*; import com.citrix.sharefile.api.models.*; +import com.citrix.sharefile.api.internal.models.*; public class SFContact extends SFPrincipal { @@ -40,8 +41,14 @@ public class SFContact extends SFPrincipal { private String EmailShort; @SerializedName("IsConfirmed") private Boolean IsConfirmed; + @SerializedName("IsDisabled") + private Boolean IsDisabled; + @SerializedName("LastAnyLogin") + private Date LastAnyLogin; @SerializedName("Count") private Integer Count; + @SerializedName("CreatedDate") + private Date CreatedDate; public SFUser getUser() { return this.User; @@ -50,38 +57,68 @@ public SFUser getUser() { public void setUser(SFUser user) { this.User = user; } + /** + * FirstName + */ public String getFirstName() { return this.FirstName; } + /** + * FirstName + */ public void setFirstName(String firstname) { this.FirstName = firstname; } + /** + * LastName + */ public String getLastName() { return this.LastName; } + /** + * LastName + */ public void setLastName(String lastname) { this.LastName = lastname; } + /** + * Company + */ public String getCompany() { return this.Company; } + /** + * Company + */ public void setCompany(String company) { this.Company = company; } + /** + * First 40 characters of the e-mail address + */ public String getEmailMedium() { return this.EmailMedium; } + /** + * First 40 characters of the e-mail address + */ public void setEmailMedium(String emailmedium) { this.EmailMedium = emailmedium; } + /** + * First 20 characters of the e-mail address + */ public String getEmailShort() { return this.EmailShort; } + /** + * First 20 characters of the e-mail address + */ public void setEmailShort(String emailshort) { this.EmailShort = emailshort; } @@ -92,12 +129,57 @@ public Boolean getIsConfirmed() { public void setIsConfirmed(Boolean isconfirmed) { this.IsConfirmed = isconfirmed; } + /** + * Whether the contact is disabled or not. + */ + public Boolean getIsDisabled() { + return this.IsDisabled; + } + + /** + * Whether the contact is disabled or not. + */ + public void setIsDisabled(Boolean isdisabled) { + this.IsDisabled = isdisabled; + } + /** + * Last login time for the user. + */ + public Date getLastAnyLogin() { + return this.LastAnyLogin; + } + + /** + * Last login time for the user. + */ + public void setLastAnyLogin(Date lastanylogin) { + this.LastAnyLogin = lastanylogin; + } + /** + * Number of members in a distribution group. Will only be filled for distribution group. + */ public Integer getCount() { return this.Count; } + /** + * Number of members in a distribution group. Will only be filled for distribution group. + */ public void setCount(Integer count) { this.Count = count; } + /** + * Date this user was created + */ + public Date getCreatedDate() { + return this.CreatedDate; + } + + /** + * Date this user was created + */ + public void setCreatedDate(Date createddate) { + this.CreatedDate = createddate; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCreateWorkflowParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCreateWorkflowParams.java new file mode 100644 index 0000000..3fdbafb --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCreateWorkflowParams.java @@ -0,0 +1,150 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; +import com.citrix.sharefile.api.internal.models.*; + +public class SFCreateWorkflowParams extends SFODataObject { + + @SerializedName("Participants") + private ArrayList Participants; + @SerializedName("Message") + private String Message; + @SerializedName("Due") + private Date Due; + @SerializedName("IsSequenced") + private Boolean IsSequenced; + @SerializedName("RestartOnNewVersion") + private Boolean RestartOnNewVersion; + @SerializedName("DistributionMethod") + private SFSafeEnum DistributionMethod; + @SerializedName("VersioningDisabled") + private Boolean VersioningDisabled; + @SerializedName("CallbackUrl") + private URI CallbackUrl; + + /** + * List of Participants for the workflow. + */ + public ArrayList getParticipants() { + return this.Participants; + } + + /** + * List of Participants for the workflow. + */ + public void setParticipants(ArrayList participants) { + this.Participants = participants; + } + /** + * Optional message to be included to contact. + */ + public String getMessage() { + return this.Message; + } + + /** + * Optional message to be included to contact. + */ + public void setMessage(String message) { + this.Message = message; + } + public Date getDue() { + return this.Due; + } + + public void setDue(Date due) { + this.Due = due; + } + /** + * Enforce approval order. If true, then participant ordinals must be in sequential order + */ + public Boolean getIsSequenced() { + return this.IsSequenced; + } + + /** + * Enforce approval order. If true, then participant ordinals must be in sequential order + */ + public void setIsSequenced(Boolean issequenced) { + this.IsSequenced = issequenced; + } + /** + * If true, then every approver must re-approve newly uploaded versions. + */ + public Boolean getRestartOnNewVersion() { + return this.RestartOnNewVersion; + } + + /** + * If true, then every approver must re-approve newly uploaded versions. + */ + public void setRestartOnNewVersion(Boolean restartonnewversion) { + this.RestartOnNewVersion = restartonnewversion; + } + /** + * Determines if the server will email the workflow links or not. + * If using , then will be populated on the result. + * For Feedback workflows, if set to , then participants are not accepted.For Approval workflows, participants are required for both distribution methods. + */ + public SFSafeEnum getDistributionMethod() { + return this.DistributionMethod; + } + + /** + * Determines if the server will email the workflow links or not. + * If using , then will be populated on the result. + * For Feedback workflows, if set to , then participants are not accepted.For Approval workflows, participants are required for both distribution methods. + */ + public void setDistributionMethod(SFSafeEnum distributionmethod) { + this.DistributionMethod = distributionmethod; + } + /** + * Set versioning to be disabled. This will remove the ability to request changes for this workflow instance. + */ + public Boolean getVersioningDisabled() { + return this.VersioningDisabled; + } + + /** + * Set versioning to be disabled. This will remove the ability to request changes for this workflow instance. + */ + public void setVersioningDisabled(Boolean versioningdisabled) { + this.VersioningDisabled = versioningdisabled; + } + /** + * Webhook url to be notified when status on a Workflow changes. This is limited to first party use. + */ + public URI getCallbackUrl() { + return this.CallbackUrl; + } + + /** + * Webhook url to be notified when status on a Workflow changes. This is limited to first party use. + */ + public void setCallbackUrl(URI callbackurl) { + this.CallbackUrl = callbackurl; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCustomMessage.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCustomMessage.java new file mode 100644 index 0000000..3d60f3c --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCustomMessage.java @@ -0,0 +1,40 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFCustomMessage extends SFODataObject { + + @SerializedName("Message") + private String Message; + + public String getMessage() { + return this.Message; + } + + public void setMessage(String message) { + this.Message = message; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCustomWorkflowBundleType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCustomWorkflowBundleType.java new file mode 100644 index 0000000..9ec5373 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCustomWorkflowBundleType.java @@ -0,0 +1,23 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFCustomWorkflowBundleType { + Form, + Template, + Workflow +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDevice.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDevice.java index 90442e2..7813e47 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDevice.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDevice.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceActionInitiatorRole.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceActionInitiatorRole.java index 9ef8f56..9109612 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceActionInitiatorRole.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceActionInitiatorRole.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceLogEntry.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceLogEntry.java index 479897b..7675c5f 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceLogEntry.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceLogEntry.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -54,45 +54,81 @@ public String getFileName() { public void setFileName(String filename) { this.FileName = filename; } + /** + * File Id + */ public String getFileID() { return this.FileID; } + /** + * File Id + */ public void setFileID(String fileid) { this.FileID = fileid; } + /** + * Timestamp in milliseconds since epoch + */ public Long getTimestamp() { return this.Timestamp; } + /** + * Timestamp in milliseconds since epoch + */ public void setTimestamp(Long timestamp) { this.Timestamp = timestamp; } + /** + * Account Id + */ public String getAccountID() { return this.AccountID; } + /** + * Account Id + */ public void setAccountID(String accountid) { this.AccountID = accountid; } + /** + * User Id + */ public String getUserID() { return this.UserID; } + /** + * User Id + */ public void setUserID(String userid) { this.UserID = userid; } + /** + * Action + */ public SFSafeEnum getAction() { return this.Action; } + /** + * Action + */ public void setAction(SFSafeEnum action) { this.Action = action; } + /** + * Additional Info + */ public String getAdditionalInfo() { return this.AdditionalInfo; } + /** + * Additional Info + */ public void setAdditionalInfo(String additionalinfo) { this.AdditionalInfo = additionalinfo; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceLogEntryAction.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceLogEntryAction.java index 4ef0574..b8f658b 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceLogEntryAction.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceLogEntryAction.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceStatus.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceStatus.java index 3bb1775..939642e 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceStatus.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceStatus.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceUser.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceUser.java index f2e2762..e3c750c 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceUser.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceUser.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceUserWipe.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceUserWipe.java index d5d854c..bf16e01 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceUserWipe.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceUserWipe.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceWipeReport.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceWipeReport.java index be2afad..339581b 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceWipeReport.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeviceWipeReport.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDiskSpace.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDiskSpace.java index eff53fb..1fb1e16 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDiskSpace.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDiskSpace.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -33,24 +33,42 @@ public class SFDiskSpace extends SFODataObject { @SerializedName("Free") private Integer Free; + /** + * Max space allowed + */ public Integer getMax() { return this.Max; } + /** + * Max space allowed + */ public void setMax(Integer max) { this.Max = max; } + /** + * Current space used + */ public Integer getUsed() { return this.Used; } + /** + * Current space used + */ public void setUsed(Integer used) { this.Used = used; } + /** + * Current space free + */ public Integer getFree() { return this.Free; } + /** + * Current space free + */ public void setFree(Integer free) { this.Free = free; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsDeviceEventType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDistributionMethod.java similarity index 83% rename from ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsDeviceEventType.java rename to ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDistributionMethod.java index da86982..981867b 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsDeviceEventType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDistributionMethod.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -16,7 +16,7 @@ import com.citrix.sharefile.api.enumerations.SFSafeEnum; import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; -public enum SFEnsDeviceEventType { - None, - RemoteWipe +public enum SFDistributionMethod { + Managed, + Link } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDlpStatus.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDlpStatus.java index 8e819df..5b89d56 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDlpStatus.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDlpStatus.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDocumentViewerPrinting.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDocumentViewerPrinting.java index 1e5206b..1fd0538 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDocumentViewerPrinting.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDocumentViewerPrinting.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDownloadSpecification.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDownloadSpecification.java index 8f7fe8f..06b7134 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDownloadSpecification.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDownloadSpecification.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -44,17 +44,29 @@ public String getDownloadToken() { public void setDownloadToken(String downloadtoken) { this.DownloadToken = downloadtoken; } + /** + * Specifies the prepare operation for storage servers + */ public String getPrepareXmlInfo() { return this.PrepareXmlInfo; } + /** + * Specifies the prepare operation for storage servers + */ public void setPrepareXmlInfo(String preparexmlinfo) { this.PrepareXmlInfo = preparexmlinfo; } + /** + * Specifies the download URL for clients + */ public URI getDownloadUrl() { return this.DownloadUrl; } + /** + * Specifies the download URL for clients + */ public void setDownloadUrl(URI downloadurl) { this.DownloadUrl = downloadurl; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFESignature.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFESignature.java index 2eb5977..095355b 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFESignature.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFESignature.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -42,6 +42,8 @@ public class SFESignature extends SFODataObject { private String UserID; @SerializedName("Status") private SFSafeEnum Status; + @SerializedName("DocumentStatusDescription") + private String DocumentStatusDescription; @SerializedName("DateCreated") private Date DateCreated; @SerializedName("DateLastUpdated") @@ -105,6 +107,13 @@ public SFSafeEnum getStatus() { public void setStatus(SFSafeEnum status) { this.Status = status; } + public String getDocumentStatusDescription() { + return this.DocumentStatusDescription; + } + + public void setDocumentStatusDescription(String documentstatusdescription) { + this.DocumentStatusDescription = documentstatusdescription; + } public Date getDateCreated() { return this.DateCreated; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFESignatureDocumentStatus.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFESignatureDocumentStatus.java index 578b0ad..589074f 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFESignatureDocumentStatus.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFESignatureDocumentStatus.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEditingPlatform.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEditingPlatform.java index 00aac36..70b6d7a 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEditingPlatform.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEditingPlatform.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEditingPlatformInfo.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEditingPlatformInfo.java index e6dcc45..a401794 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEditingPlatformInfo.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEditingPlatformInfo.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEmailAddress.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEmailAddress.java new file mode 100644 index 0000000..b8a0695 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEmailAddress.java @@ -0,0 +1,58 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFEmailAddress extends SFODataObject { + + @SerializedName("Email") + private String Email; + @SerializedName("IsConfirmed") + private Boolean IsConfirmed; + @SerializedName("IsPrimary") + private Boolean IsPrimary; + + public String getEmail() { + return this.Email; + } + + public void setEmail(String email) { + this.Email = email; + } + public Boolean getIsConfirmed() { + return this.IsConfirmed; + } + + public void setIsConfirmed(Boolean isconfirmed) { + this.IsConfirmed = isconfirmed; + } + public Boolean getIsPrimary() { + return this.IsPrimary; + } + + public void setIsPrimary(Boolean isprimary) { + this.IsPrimary = isprimary; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsEventType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsEventType.java index 268bfec..29b48c4 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsEventType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsEventType.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsSubscriberConfiguration.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsSubscriberConfiguration.java index 07f7567..462cce7 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsSubscriberConfiguration.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsSubscriberConfiguration.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -43,59 +43,111 @@ public class SFEnsSubscriberConfiguration extends SFODataObject { @SerializedName("MaxNotificationSyncWaitCount") private Integer MaxNotificationSyncWaitCount; + /** + * Is ENS enabled? + */ public Boolean getIsEnsEnabled() { return this.IsEnsEnabled; } + /** + * Is ENS enabled? + */ public void setIsEnsEnabled(Boolean isensenabled) { this.IsEnsEnabled = isensenabled; } + /** + * The ENS Server URL + */ public String getEnsServerUrl() { return this.EnsServerUrl; } + /** + * The ENS Server URL + */ public void setEnsServerUrl(String ensserverurl) { this.EnsServerUrl = ensserverurl; } + /** + * Version string + */ public String getVersion() { return this.Version; } + /** + * Version string + */ public void setVersion(String version) { this.Version = version; } + /** + * RecommendedPollingSyncInterval will control how often a cloud check is done when we are not using ENS. + */ public Object getRecommendedPollingSyncInterval() { return this.RecommendedPollingSyncInterval; } + /** + * RecommendedPollingSyncInterval will control how often a cloud check is done when we are not using ENS. + */ public void setRecommendedPollingSyncInterval(Object recommendedpollingsyncinterval) { this.RecommendedPollingSyncInterval = recommendedpollingsyncinterval; } + /** + * RecommendedNotificationSyncInterval will control how soon we respond to notification events with a cloud check when we are using ENS. + */ public Object getRecommendedNotificationSyncInterval() { return this.RecommendedNotificationSyncInterval; } + /** + * RecommendedNotificationSyncInterval will control how soon we respond to notification events with a cloud check when we are using ENS. + */ public void setRecommendedNotificationSyncInterval(Object recommendednotificationsyncinterval) { this.RecommendedNotificationSyncInterval = recommendednotificationsyncinterval; } + /** + * NotificationConfigurationCount will control how often we check to see if we should be using ENS or not. + * This value is a count that gets multiplied by the RecommendedPollingSyncInterval to determine the actual interval. + */ public Integer getNotificationConfigurationCount() { return this.NotificationConfigurationCount; } + /** + * NotificationConfigurationCount will control how often we check to see if we should be using ENS or not. + * This value is a count that gets multiplied by the RecommendedPollingSyncInterval to determine the actual interval. + */ public void setNotificationConfigurationCount(Integer notificationconfigurationcount) { this.NotificationConfigurationCount = notificationconfigurationcount; } + /** + * FailSafePollingCount will only be used when ENS is enabled and will get multiplied by the RecommendedNotificationSyncInterval + * to determine how often we do a cloudcheck if we have not received any notifications. + */ public Integer getFailSafePollingCount() { return this.FailSafePollingCount; } + /** + * FailSafePollingCount will only be used when ENS is enabled and will get multiplied by the RecommendedNotificationSyncInterval + * to determine how often we do a cloudcheck if we have not received any notifications. + */ public void setFailSafePollingCount(Integer failsafepollingcount) { this.FailSafePollingCount = failsafepollingcount; } + /** + * MaxNotificationSyncWaitCount will control how long the sync client waits before doing a cloud check after receiving a series of notification events. + */ public Integer getMaxNotificationSyncWaitCount() { return this.MaxNotificationSyncWaitCount; } + /** + * MaxNotificationSyncWaitCount will control how long the sync client waits before doing a cloud check after receiving a series of notification events. + */ public void setMaxNotificationSyncWaitCount(Integer maxnotificationsyncwaitcount) { this.MaxNotificationSyncWaitCount = maxnotificationsyncwaitcount; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsSubscriptionRequest.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsSubscriptionRequest.java index cda0c88..72a92c7 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsSubscriptionRequest.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsSubscriptionRequest.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsSubscriptionToken.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsSubscriptionToken.java index af4a3b3..9bfc1c1 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsSubscriptionToken.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnsSubscriptionToken.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEntityTypeMap.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEntityTypeMap.java index 9a25c72..9d296cd 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEntityTypeMap.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEntityTypeMap.java @@ -5,7 +5,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ package com.citrix.sharefile.api.models; @@ -32,8 +32,42 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("AccountMessageCodes", SFAccountMessageCode.class); _entityTypeMap.put("AccessControlsCloneParams", SFAccessControlsCloneParams.class); _entityTypeMap.put("AccessControlsCloneParamss", SFAccessControlsCloneParams.class); + _entityTypeMap.put("Bandwidth", SFBandwidth.class); + _entityTypeMap.put("Bandwidths", SFBandwidth.class); + _entityTypeMap.put("Cancellation", SFCancellation.class); + _entityTypeMap.put("Cancellations", SFCancellation.class); + _entityTypeMap.put("CustomMessage", SFCustomMessage.class); + _entityTypeMap.put("CustomMessages", SFCustomMessage.class); + _entityTypeMap.put("EmailAddress", SFEmailAddress.class); + _entityTypeMap.put("EmailAddresss", SFEmailAddress.class); + _entityTypeMap.put("Favorite", SFFavorite.class); + _entityTypeMap.put("Favorites", SFFavorite.class); + _entityTypeMap.put("FileAndFolderSettingOptions", SFFileAndFolderSettingOptions.class); + _entityTypeMap.put("FileAndFolderSettingOptionss", SFFileAndFolderSettingOptions.class); + _entityTypeMap.put("ForbiddenOAuthClientNameWords", SFForbiddenOAuthClientNameWords.class); + _entityTypeMap.put("ForbiddenOAuthClientNameWordss", SFForbiddenOAuthClientNameWords.class); + _entityTypeMap.put("TenantAccountCreationParameters", SFTenantAccountCreationParameters.class); + _entityTypeMap.put("TenantAccountCreationParameterss", SFTenantAccountCreationParameters.class); + _entityTypeMap.put("UserBulkOperationRequest", SFUserBulkOperationRequest.class); + _entityTypeMap.put("UserBulkOperationRequests", SFUserBulkOperationRequest.class); + _entityTypeMap.put("UserBulkDowngradeRequest", SFUserBulkDowngradeRequest.class); + _entityTypeMap.put("UserBulkDowngradeRequests", SFUserBulkDowngradeRequest.class); + _entityTypeMap.put("ResetPasswordRequest", SFResetPasswordRequest.class); + _entityTypeMap.put("ResetPasswordRequests", SFResetPasswordRequest.class); + _entityTypeMap.put("SubdomainAvailabilityResult", SFSubdomainAvailabilityResult.class); + _entityTypeMap.put("SubdomainAvailabilityResults", SFSubdomainAvailabilityResult.class); + _entityTypeMap.put("BrandingLinks", SFBrandingLinks.class); + _entityTypeMap.put("BrandingLinkss", SFBrandingLinks.class); + _entityTypeMap.put("PolicyUsage", SFPolicyUsage.class); + _entityTypeMap.put("PolicyUsages", SFPolicyUsage.class); + _entityTypeMap.put("FileAndFolderSettings", SFFileAndFolderSettings.class); + _entityTypeMap.put("FileAndFolderSettingss", SFFileAndFolderSettings.class); + _entityTypeMap.put("ConnectedApp", SFConnectedApp.class); + _entityTypeMap.put("ConnectedApps", SFConnectedApp.class); _entityTypeMap.put("EditingPlatformInfo", SFEditingPlatformInfo.class); _entityTypeMap.put("EditingPlatformInfos", SFEditingPlatformInfo.class); + _entityTypeMap.put("FolderInvite", SFFolderInvite.class); + _entityTypeMap.put("FolderInvites", SFFolderInvite.class); _entityTypeMap.put("IrmClassification", SFIrmClassification.class); _entityTypeMap.put("IrmClassifications", SFIrmClassification.class); _entityTypeMap.put("IrmPrimaryAccessRightParams", SFIrmPrimaryAccessRightParams.class); @@ -41,12 +75,16 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("NotifyUsersParams", SFNotifyUsersParams.class); _entityTypeMap.put("NotifyUsersParamss", SFNotifyUsersParams.class); _entityTypeMap.put("PasswordPolicy", SFPasswordPolicy.class); + _entityTypeMap.put("Policy", SFPolicy.class); + _entityTypeMap.put("Policies", SFPolicy.class); + _entityTypeMap.put("StoragePolicy", SFStoragePolicy.class); + _entityTypeMap.put("StoragePolicys", SFStoragePolicy.class); + _entityTypeMap.put("FileAndFolderPolicy", SFFileAndFolderPolicy.class); + _entityTypeMap.put("FileAndFolderPolicys", SFFileAndFolderPolicy.class); + _entityTypeMap.put("UserAccessPolicy", SFUserAccessPolicy.class); + _entityTypeMap.put("UserAccessPolicys", SFUserAccessPolicy.class); _entityTypeMap.put("RemoteUpload", SFRemoteUpload.class); _entityTypeMap.put("RemoteUploads", SFRemoteUpload.class); - _entityTypeMap.put("UploadRequestParams", SFUploadRequestParams.class); - _entityTypeMap.put("UploadRequestParamss", SFUploadRequestParams.class); - _entityTypeMap.put("RemoteUploadRequestParams", SFRemoteUploadRequestParams.class); - _entityTypeMap.put("RemoteUploadRequestParamss", SFRemoteUploadRequestParams.class); _entityTypeMap.put("SalesTaxQuote", SFSalesTaxQuote.class); _entityTypeMap.put("SalesTaxQuotes", SFSalesTaxQuote.class); _entityTypeMap.put("SecurityQuestion", SFSecurityQuestion.class); @@ -57,8 +95,8 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("ServicesCollections", SFServicesCollection.class); _entityTypeMap.put("ShareAccessRight", SFShareAccessRight.class); _entityTypeMap.put("ShareAccessRights", SFShareAccessRight.class); - _entityTypeMap.put("AccountZoneUsage", SFAccountZoneUsage.class); - _entityTypeMap.put("AccountZoneUsages", SFAccountZoneUsage.class); + _entityTypeMap.put("StorageSettings", SFStorageSettings.class); + _entityTypeMap.put("StorageSettingss", SFStorageSettings.class); _entityTypeMap.put("AccessControlBulkResult", SFAccessControlBulkResult.class); _entityTypeMap.put("AccessControlBulkResults", SFAccessControlBulkResult.class); _entityTypeMap.put("AccessControlFailedEntry", SFAccessControlFailedEntry.class); @@ -75,12 +113,14 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("FolderTemplateItems", SFFolderTemplateItem.class); _entityTypeMap.put("ShareSettings", SFShareSettings.class); _entityTypeMap.put("ShareSettingss", SFShareSettings.class); - _entityTypeMap.put("TenantZoneUsageReport", SFTenantZoneUsageReport.class); - _entityTypeMap.put("TenantZoneUsageReports", SFTenantZoneUsageReport.class); - _entityTypeMap.put("ZoneUsageBreakdown", SFZoneUsageBreakdown.class); - _entityTypeMap.put("ZoneUsageBreakdowns", SFZoneUsageBreakdown.class); + _entityTypeMap.put("TwoFactorAuthApp", SFTwoFactorAuthApp.class); + _entityTypeMap.put("TwoFactorAuthApps", SFTwoFactorAuthApp.class); + _entityTypeMap.put("UserAccessSettings", SFUserAccessSettings.class); + _entityTypeMap.put("UserAccessSettingss", SFUserAccessSettings.class); _entityTypeMap.put("UserConfirmRequirement", SFUserConfirmRequirement.class); _entityTypeMap.put("UserConfirmRequirements", SFUserConfirmRequirement.class); + _entityTypeMap.put("UserPolicy", SFUserPolicy.class); + _entityTypeMap.put("UserPolicies", SFUserPolicy.class); _entityTypeMap.put("UserUsage", SFUserUsage.class); _entityTypeMap.put("UserUsages", SFUserUsage.class); _entityTypeMap.put("DiskSpace", SFDiskSpace.class); @@ -89,46 +129,26 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("ReportRecords", SFReportRecord.class); _entityTypeMap.put("BillingInfo", SFBillingInfo.class); _entityTypeMap.put("BillingInfos", SFBillingInfo.class); + _entityTypeMap.put("UploadRequestParams", SFUploadRequestParams.class); + _entityTypeMap.put("UploadRequestParamss", SFUploadRequestParams.class); + _entityTypeMap.put("RemoteUploadRequestParams", SFRemoteUploadRequestParams.class); + _entityTypeMap.put("RemoteUploadRequestParamss", SFRemoteUploadRequestParams.class); _entityTypeMap.put("ESignature", SFESignature.class); _entityTypeMap.put("ESignatures", SFESignature.class); _entityTypeMap.put("MarketAnalytics", SFMarketAnalytics.class); _entityTypeMap.put("MarketAnalyticss", SFMarketAnalytics.class); _entityTypeMap.put("FileLock", SFFileLock.class); _entityTypeMap.put("FileLocks", SFFileLock.class); + _entityTypeMap.put("ClientUpgradeWeb", SFClientUpgradeWeb.class); + _entityTypeMap.put("ClientUpgradeWebs", SFClientUpgradeWeb.class); _entityTypeMap.put("PowerTools", SFPowerTools.class); _entityTypeMap.put("PowerToolss", SFPowerTools.class); - _entityTypeMap.put("Item", SFItem.class); - _entityTypeMap.put("Items", SFItem.class); - _entityTypeMap.put("Folder", SFFolder.class); - _entityTypeMap.put("Folders", SFFolder.class); - _entityTypeMap.put("ConnectorGroup", SFConnectorGroup.class); - _entityTypeMap.put("ConnectorGroups", SFConnectorGroup.class); - _entityTypeMap.put("SymbolicLink", SFSymbolicLink.class); - _entityTypeMap.put("SymbolicLinks", SFSymbolicLink.class); - _entityTypeMap.put("File", SFFile.class); - _entityTypeMap.put("Files", SFFile.class); - _entityTypeMap.put("Link", SFLink.class); - _entityTypeMap.put("Links", SFLink.class); - _entityTypeMap.put("Note", SFNote.class); - _entityTypeMap.put("Notes", SFNote.class); _entityTypeMap.put("ConnectorGroupZone", SFConnectorGroupZone.class); _entityTypeMap.put("ConnectorGroupZones", SFConnectorGroupZone.class); _entityTypeMap.put("ConnectorGroupAccessControl", SFConnectorGroupAccessControl.class); _entityTypeMap.put("ConnectorGroupAccessControls", SFConnectorGroupAccessControl.class); _entityTypeMap.put("Report", SFReport.class); _entityTypeMap.put("Reports", SFReport.class); - _entityTypeMap.put("Principal", SFPrincipal.class); - _entityTypeMap.put("Principals", SFPrincipal.class); - _entityTypeMap.put("User", SFUser.class); - _entityTypeMap.put("Users", SFUser.class); - _entityTypeMap.put("AccountUser", SFAccountUser.class); - _entityTypeMap.put("AccountUsers", SFAccountUser.class); - _entityTypeMap.put("Contact", SFContact.class); - _entityTypeMap.put("Contacts", SFContact.class); - _entityTypeMap.put("Group", SFGroup.class); - _entityTypeMap.put("Groups", SFGroup.class); - _entityTypeMap.put("Zone", SFZone.class); - _entityTypeMap.put("Zones", SFZone.class); _entityTypeMap.put("PreviewPlatformInfo", SFPreviewPlatformInfo.class); _entityTypeMap.put("PreviewPlatformInfos", SFPreviewPlatformInfo.class); _entityTypeMap.put("ShareResendParams", SFShareResendParams.class); @@ -173,6 +193,20 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("FavoriteFolders", SFFavoriteFolder.class); _entityTypeMap.put("Industry", SFIndustry.class); _entityTypeMap.put("Industrys", SFIndustry.class); + _entityTypeMap.put("Item", SFItem.class); + _entityTypeMap.put("Items", SFItem.class); + _entityTypeMap.put("File", SFFile.class); + _entityTypeMap.put("Files", SFFile.class); + _entityTypeMap.put("Folder", SFFolder.class); + _entityTypeMap.put("Folders", SFFolder.class); + _entityTypeMap.put("ConnectorGroup", SFConnectorGroup.class); + _entityTypeMap.put("ConnectorGroups", SFConnectorGroup.class); + _entityTypeMap.put("SymbolicLink", SFSymbolicLink.class); + _entityTypeMap.put("SymbolicLinks", SFSymbolicLink.class); + _entityTypeMap.put("Link", SFLink.class); + _entityTypeMap.put("Links", SFLink.class); + _entityTypeMap.put("Note", SFNote.class); + _entityTypeMap.put("Notes", SFNote.class); _entityTypeMap.put("ItemInfo", SFItemInfo.class); _entityTypeMap.put("ItemInfos", SFItemInfo.class); _entityTypeMap.put("ItemProtocolLink", SFItemProtocolLink.class); @@ -180,8 +214,8 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("Metadata", SFMetadata.class); _entityTypeMap.put("Metadatas", SFMetadata.class); _entityTypeMap.put("MobileSecuritySettings", SFMobileSecuritySettings.class); - _entityTypeMap.put("Notification", SFNotification.class); - _entityTypeMap.put("Notifications", SFNotification.class); + _entityTypeMap.put("SentNotification", SFSentNotification.class); + _entityTypeMap.put("SentNotifications", SFSentNotification.class); _entityTypeMap.put("OutlookInformation", SFOutlookInformation.class); _entityTypeMap.put("OutlookInformations", SFOutlookInformation.class); _entityTypeMap.put("OutlookInformationOptionBool", SFOutlookInformationOptionBool.class); @@ -190,6 +224,18 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("OutlookInformationOptionStrings", SFOutlookInformationOptionString.class); _entityTypeMap.put("OutlookInformationOptionInt", SFOutlookInformationOptionInt.class); _entityTypeMap.put("OutlookInformationOptionInts", SFOutlookInformationOptionInt.class); + _entityTypeMap.put("Principal", SFPrincipal.class); + _entityTypeMap.put("Principals", SFPrincipal.class); + _entityTypeMap.put("Contact", SFContact.class); + _entityTypeMap.put("Contacts", SFContact.class); + _entityTypeMap.put("Group", SFGroup.class); + _entityTypeMap.put("Groups", SFGroup.class); + _entityTypeMap.put("User", SFUser.class); + _entityTypeMap.put("Users", SFUser.class); + _entityTypeMap.put("AccountUser", SFAccountUser.class); + _entityTypeMap.put("AccountUsers", SFAccountUser.class); + _entityTypeMap.put("Zone", SFZone.class); + _entityTypeMap.put("Zones", SFZone.class); _entityTypeMap.put("ProductDefaults", SFProductDefaults.class); _entityTypeMap.put("Redirection", SFRedirection.class); _entityTypeMap.put("Redirections", SFRedirection.class); @@ -237,6 +283,34 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("UserPreferences", SFUserPreferences.class); _entityTypeMap.put("UserSecurity", SFUserSecurity.class); _entityTypeMap.put("UserSecurities", SFUserSecurity.class); + _entityTypeMap.put("WebhookCapabilities", SFWebhookCapabilities.class); + _entityTypeMap.put("WebhookCapabilitiess", SFWebhookCapabilities.class); + _entityTypeMap.put("WebhookClient", SFWebhookClient.class); + _entityTypeMap.put("WebhookClients", SFWebhookClient.class); + _entityTypeMap.put("WebhookSignatureKeys", SFWebhookSignatureKeys.class); + _entityTypeMap.put("WebhookSignatureKeyss", SFWebhookSignatureKeys.class); + _entityTypeMap.put("WebhookSubscription", SFWebhookSubscription.class); + _entityTypeMap.put("WebhookSubscriptions", SFWebhookSubscription.class); + _entityTypeMap.put("SubscribedResourceEvent", SFSubscribedResourceEvent.class); + _entityTypeMap.put("SubscribedResourceEvents", SFSubscribedResourceEvent.class); + _entityTypeMap.put("SubscriptionContext", SFSubscriptionContext.class); + _entityTypeMap.put("SubscriptionContexts", SFSubscriptionContext.class); + _entityTypeMap.put("WebhookSupportedContext", SFWebhookSupportedContext.class); + _entityTypeMap.put("WebhookSupportedContexts", SFWebhookSupportedContext.class); + _entityTypeMap.put("WebhookSupportedEvents", SFWebhookSupportedEvents.class); + _entityTypeMap.put("WebhookSupportedEventss", SFWebhookSupportedEvents.class); + _entityTypeMap.put("CreateWorkflowParams", SFCreateWorkflowParams.class); + _entityTypeMap.put("CreateWorkflowParamss", SFCreateWorkflowParams.class); + _entityTypeMap.put("WorkflowParticipant", SFWorkflowParticipant.class); + _entityTypeMap.put("WorkflowParticipants", SFWorkflowParticipant.class); + _entityTypeMap.put("Workflow", SFWorkflow.class); + _entityTypeMap.put("Workflows", SFWorkflow.class); + _entityTypeMap.put("AccountZoneUsage", SFAccountZoneUsage.class); + _entityTypeMap.put("AccountZoneUsages", SFAccountZoneUsage.class); + _entityTypeMap.put("TenantZoneUsageReport", SFTenantZoneUsageReport.class); + _entityTypeMap.put("TenantZoneUsageReports", SFTenantZoneUsageReport.class); + _entityTypeMap.put("ZoneUsageBreakdown", SFZoneUsageBreakdown.class); + _entityTypeMap.put("ZoneUsageBreakdowns", SFZoneUsageBreakdown.class); return _entityTypeMap; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFExceptionReason.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFExceptionReason.java index 24965de..889509d 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFExceptionReason.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFExceptionReason.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -62,5 +62,12 @@ public enum SFExceptionReason { TemporaryConnectivityFailure, FilesRestrictedByAntiVirus, BadAddress, - MaintenanceMode + MaintenanceMode, + InvalidTarget, + InsufficientDiskSpace, + StorageZoneServerError, + FileUploadConflict, + UnlicensedUser, + MethodNotImplemented, + UserWithDefaultRestrictedZoneNotAllowed } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFavorite.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFavorite.java new file mode 100644 index 0000000..e79a4d5 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFavorite.java @@ -0,0 +1,106 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFFavorite extends SFODataObject { + + @SerializedName("User") + private SFUser User; + @SerializedName("Item") + private SFItem Item; + @SerializedName("DisplayPosition") + private Integer DisplayPosition; + @SerializedName("Alias") + private String Alias; + @SerializedName("CreationDate") + private Date CreationDate; + + /** + * Creator of the Favorite + */ + public SFUser getUser() { + return this.User; + } + + /** + * Creator of the Favorite + */ + public void setUser(SFUser user) { + this.User = user; + } + /** + * The item which is marked as Favorite + */ + public SFItem getItem() { + return this.Item; + } + + /** + * The item which is marked as Favorite + */ + public void setItem(SFItem item) { + this.Item = item; + } + /** + * The position within the set of Favorite items where this Favorite should be displayed + */ + public Integer getDisplayPosition() { + return this.DisplayPosition; + } + + /** + * The position within the set of Favorite items where this Favorite should be displayed + */ + public void setDisplayPosition(Integer displayposition) { + this.DisplayPosition = displayposition; + } + /** + * The alias name of the Favorite + */ + public String getAlias() { + return this.Alias; + } + + /** + * The alias name of the Favorite + */ + public void setAlias(String alias) { + this.Alias = alias; + } + /** + * Date when the item was marked favorite + */ + public Date getCreationDate() { + return this.CreationDate; + } + + /** + * Date when the item was marked favorite + */ + public void setCreationDate(Date creationdate) { + this.CreationDate = creationdate; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFavoriteFolder.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFavoriteFolder.java index d8579df..538e3a0 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFavoriteFolder.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFavoriteFolder.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -75,10 +75,16 @@ public String getFolderAlias() { public void setFolderAlias(String folderalias) { this.FolderAlias = folderalias; } + /** + * Name of the favorite folder + */ public String getFolderName() { return this.FolderName; } + /** + * Name of the favorite folder + */ public void setFolderName(String foldername) { this.FolderName = foldername; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFile.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFile.java index 94d4d0c..d740d7a 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFile.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFile.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileAndFolderPolicy.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileAndFolderPolicy.java new file mode 100644 index 0000000..27b5513 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileAndFolderPolicy.java @@ -0,0 +1,46 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFFileAndFolderPolicy extends SFPolicy { + + @SerializedName("Settings") + private SFFileAndFolderSettings Settings; + + /** + * The settings managed for this Policy + */ + public SFFileAndFolderSettings getSettings() { + return this.Settings; + } + + /** + * The settings managed for this Policy + */ + public void setSettings(SFFileAndFolderSettings settings) { + this.Settings = settings; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileAndFolderSettingOptions.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileAndFolderSettingOptions.java new file mode 100644 index 0000000..b6f823b --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileAndFolderSettingOptions.java @@ -0,0 +1,106 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFFileAndFolderSettingOptions extends SFODataObject { + + @SerializedName("LockedSelection") + private Boolean LockedSelection; + @SerializedName("LockedDefault") + private Integer LockedDefault; + @SerializedName("RangeMax") + private Integer RangeMax; + @SerializedName("RangeMin") + private Integer RangeMin; + @SerializedName("RangeDefault") + private Integer RangeDefault; + + /** + * Represents the setting option type selected: Locked or Range + */ + public Boolean getLockedSelection() { + return this.LockedSelection; + } + + /** + * Represents the setting option type selected: Locked or Range + */ + public void setLockedSelection(Boolean lockedselection) { + this.LockedSelection = lockedselection; + } + /** + * Default value for the locked setting option + */ + public Integer getLockedDefault() { + return this.LockedDefault; + } + + /** + * Default value for the locked setting option + */ + public void setLockedDefault(Integer lockeddefault) { + this.LockedDefault = lockeddefault; + } + /** + * Maximum value for the range setting option + */ + public Integer getRangeMax() { + return this.RangeMax; + } + + /** + * Maximum value for the range setting option + */ + public void setRangeMax(Integer rangemax) { + this.RangeMax = rangemax; + } + /** + * Minimum value for the range setting option + */ + public Integer getRangeMin() { + return this.RangeMin; + } + + /** + * Minimum value for the range setting option + */ + public void setRangeMin(Integer rangemin) { + this.RangeMin = rangemin; + } + /** + * Default value for the range setting option + */ + public Integer getRangeDefault() { + return this.RangeDefault; + } + + /** + * Default value for the range setting option + */ + public void setRangeDefault(Integer rangedefault) { + this.RangeDefault = rangedefault; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileAndFolderSettings.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileAndFolderSettings.java new file mode 100644 index 0000000..0e2e5db --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileAndFolderSettings.java @@ -0,0 +1,76 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFFileAndFolderSettings extends SFODataObject { + + @SerializedName("QuotaLimitInGB") + private Integer QuotaLimitInGB; + @SerializedName("CanEditFolderExpirationDate") + private Boolean CanEditFolderExpirationDate; + @SerializedName("CanEditFolderVersioning") + private Boolean CanEditFolderVersioning; + @SerializedName("FileRetention") + private SFFileAndFolderSettingOptions FileRetention; + @SerializedName("FileMaxVersion") + private SFFileAndFolderSettingOptions FileMaxVersion; + + public Integer getQuotaLimitInGB() { + return this.QuotaLimitInGB; + } + + public void setQuotaLimitInGB(Integer quotalimitingb) { + this.QuotaLimitInGB = quotalimitingb; + } + public Boolean getCanEditFolderExpirationDate() { + return this.CanEditFolderExpirationDate; + } + + public void setCanEditFolderExpirationDate(Boolean caneditfolderexpirationdate) { + this.CanEditFolderExpirationDate = caneditfolderexpirationdate; + } + public Boolean getCanEditFolderVersioning() { + return this.CanEditFolderVersioning; + } + + public void setCanEditFolderVersioning(Boolean caneditfolderversioning) { + this.CanEditFolderVersioning = caneditfolderversioning; + } + public SFFileAndFolderSettingOptions getFileRetention() { + return this.FileRetention; + } + + public void setFileRetention(SFFileAndFolderSettingOptions fileretention) { + this.FileRetention = fileretention; + } + public SFFileAndFolderSettingOptions getFileMaxVersion() { + return this.FileMaxVersion; + } + + public void setFileMaxVersion(SFFileAndFolderSettingOptions filemaxversion) { + this.FileMaxVersion = filemaxversion; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileLock.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileLock.java index c1700f3..ac01824 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileLock.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileLock.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -23,6 +23,7 @@ import com.citrix.sharefile.api.*; import com.citrix.sharefile.api.enumerations.*; import com.citrix.sharefile.api.models.*; +import com.citrix.sharefile.api.internal.models.*; public class SFFileLock extends SFODataObject { @@ -34,11 +35,19 @@ public class SFFileLock extends SFODataObject { private SFPrincipal Owner; @SerializedName("ExpirationTimeInMinutes") private Integer ExpirationTimeInMinutes; + @SerializedName("ExpirationDate") + private Date ExpirationDate; + /** + * Lock Id + */ public String getLockId() { return this.LockId; } + /** + * Lock Id + */ public void setLockId(String lockid) { this.LockId = lockid; } @@ -49,19 +58,44 @@ public SFSafeEnum getLockType() { public void setLockType(SFSafeEnum locktype) { this.LockType = locktype; } + /** + * User who owns the Lock + */ public SFPrincipal getOwner() { return this.Owner; } + /** + * User who owns the Lock + */ public void setOwner(SFPrincipal owner) { this.Owner = owner; } + /** + * Expiration time in minutes. + */ public Integer getExpirationTimeInMinutes() { return this.ExpirationTimeInMinutes; } + /** + * Expiration time in minutes. + */ public void setExpirationTimeInMinutes(Integer expirationtimeinminutes) { this.ExpirationTimeInMinutes = expirationtimeinminutes; } + /** + * Expiration date. Takes precedence over ExpirationTimeInMinutes if both are provided + */ + public Date getExpirationDate() { + return this.ExpirationDate; + } + + /** + * Expiration date. Takes precedence over ExpirationTimeInMinutes if both are provided + */ + public void setExpirationDate(Date expirationdate) { + this.ExpirationDate = expirationdate; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileVirusStatus.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileVirusStatus.java index 0789007..1b4f689 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileVirusStatus.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileVirusStatus.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFindSubdomainParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFindSubdomainParams.java index c11f1cb..3a82e3e 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFindSubdomainParams.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFindSubdomainParams.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -33,24 +33,42 @@ public class SFFindSubdomainParams extends SFODataObject { @SerializedName("EmployeeOnly") private Boolean EmployeeOnly; + /** + * Short reprepsetnation of the username + */ public String getUsernameShort() { return this.UsernameShort; } + /** + * Short reprepsetnation of the username + */ public void setUsernameShort(String usernameshort) { this.UsernameShort = usernameshort; } + /** + * User password + */ public String getPassword() { return this.Password; } + /** + * User password + */ public void setPassword(String password) { this.Password = password; } + /** + * Constrains request to accounts on which the user is an employee. + */ public Boolean getEmployeeOnly() { return this.EmployeeOnly; } + /** + * Constrains request to accounts on which the user is an employee. + */ public void setEmployeeOnly(Boolean employeeonly) { this.EmployeeOnly = employeeonly; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFindSubdomainResult.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFindSubdomainResult.java index 46851a1..5976dc8 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFindSubdomainResult.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFindSubdomainResult.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -37,38 +37,68 @@ public class SFFindSubdomainResult extends SFODataObject { @SerializedName("Subdomain") private String Subdomain; + /** + * UserId + */ public String getUserID() { return this.UserID; } + /** + * UserId + */ public void setUserID(String userid) { this.UserID = userid; } + /** + * Email + */ public String getEmail() { return this.Email; } + /** + * Email + */ public void setEmail(String email) { this.Email = email; } + /** + * AcocuntId + */ public String getAccountID() { return this.AccountID; } + /** + * AcocuntId + */ public void setAccountID(String accountid) { this.AccountID = accountid; } + /** + * Company name + */ public String getCompanyName() { return this.CompanyName; } + /** + * Company name + */ public void setCompanyName(String companyname) { this.CompanyName = companyname; } + /** + * Primary subdomain for the account. + */ public String getSubdomain() { return this.Subdomain; } + /** + * Primary subdomain for the account. + */ public void setSubdomain(String subdomain) { this.Subdomain = subdomain; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolder.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolder.java index 75e176f..6321a2a 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolder.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolder.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -23,6 +23,7 @@ import com.citrix.sharefile.api.*; import com.citrix.sharefile.api.enumerations.*; import com.citrix.sharefile.api.models.*; +import com.citrix.sharefile.api.internal.models.*; public class SFFolder extends SFItem { @@ -40,6 +41,10 @@ public class SFFolder extends SFItem { private SFFavoriteFolder FavoriteFolder; @SerializedName("ZoneService") private SFSafeEnumFlags ZoneService; + @SerializedName("Bundle") + private SFBundle Bundle; + @SerializedName("SmartFolderOptions") + private SFSmartFolderOptions SmartFolderOptions; /** * Number of Items defined under this Folder, including sub-folder counts. @@ -108,6 +113,7 @@ public void setRedirection(SFRedirection redirection) { } /** * Favorite Folder object associated to this item + * (This property would be deprecated in favor of the new 'Favorite' property under Item) */ public SFFavoriteFolder getFavoriteFolder() { return this.FavoriteFolder; @@ -115,6 +121,7 @@ public SFFavoriteFolder getFavoriteFolder() { /** * Favorite Folder object associated to this item + * (This property would be deprecated in favor of the new 'Favorite' property under Item) */ public void setFavoriteFolder(SFFavoriteFolder favoritefolder) { this.FavoriteFolder = favoritefolder; @@ -126,5 +133,19 @@ public SFSafeEnumFlags getZoneService() { public void setZoneService(SFSafeEnumFlags zoneservice) { this.ZoneService = zoneservice; } + public SFBundle getBundle() { + return this.Bundle; + } + + public void setBundle(SFBundle bundle) { + this.Bundle = bundle; + } + public SFSmartFolderOptions getSmartFolderOptions() { + return this.SmartFolderOptions; + } + + public void setSmartFolderOptions(SFSmartFolderOptions smartfolderoptions) { + this.SmartFolderOptions = smartfolderoptions; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolderInvite.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolderInvite.java new file mode 100644 index 0000000..c0918cd --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolderInvite.java @@ -0,0 +1,346 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFFolderInvite extends SFODataObject { + + @SerializedName("Title") + private String Title; + @SerializedName("Description") + private String Description; + @SerializedName("CreationDate") + private Date CreationDate; + @SerializedName("ExpirationDate") + private Date ExpirationDate; + @SerializedName("CreatorId") + private String CreatorId; + @SerializedName("CreatorNameShort") + private String CreatorNameShort; + @SerializedName("AccountId") + private String AccountId; + @SerializedName("MaxRegistrations") + private Integer MaxRegistrations; + @SerializedName("TotalRegistrations") + private Integer TotalRegistrations; + @SerializedName("NotifyCreatorOnRegistration") + private Boolean NotifyCreatorOnRegistration; + @SerializedName("FolderId") + private String FolderId; + @SerializedName("CanDownload") + private Boolean CanDownload; + @SerializedName("CanView") + private Boolean CanView; + @SerializedName("CanUpload") + private Boolean CanUpload; + @SerializedName("CanDelete") + private Boolean CanDelete; + @SerializedName("NotifyOnUpload") + private Boolean NotifyOnUpload; + @SerializedName("NotifyOnDownload") + private Boolean NotifyOnDownload; + @SerializedName("InviteUrl") + private String InviteUrl; + @SerializedName("IsExistingUser") + private Boolean IsExistingUser; + @SerializedName("IsConfirmed") + private Boolean IsConfirmed; + @SerializedName("HasExceededMaxFailedAttempts") + private Boolean HasExceededMaxFailedAttempts; + + /** + * Title of the folder invite + */ + public String getTitle() { + return this.Title; + } + + /** + * Title of the folder invite + */ + public void setTitle(String title) { + this.Title = title; + } + /** + * Short description for the folder invite + */ + public String getDescription() { + return this.Description; + } + + /** + * Short description for the folder invite + */ + public void setDescription(String description) { + this.Description = description; + } + /** + * Date when the folder invititation was created. + */ + public Date getCreationDate() { + return this.CreationDate; + } + + /** + * Date when the folder invititation was created. + */ + public void setCreationDate(Date creationdate) { + this.CreationDate = creationdate; + } + /** + * Expiration date of the folder invite. + */ + public Date getExpirationDate() { + return this.ExpirationDate; + } + + /** + * Expiration date of the folder invite. + */ + public void setExpirationDate(Date expirationdate) { + this.ExpirationDate = expirationdate; + } + /** + * Unique identifier for the Creator of the folder invite. + */ + public String getCreatorId() { + return this.CreatorId; + } + + /** + * Unique identifier for the Creator of the folder invite. + */ + public void setCreatorId(String creatorid) { + this.CreatorId = creatorid; + } + /** + * Short version of items creator's name. E.g., J. Doe. + */ + public String getCreatorNameShort() { + return this.CreatorNameShort; + } + + /** + * Short version of items creator's name. E.g., J. Doe. + */ + public void setCreatorNameShort(String creatornameshort) { + this.CreatorNameShort = creatornameshort; + } + /** + * AccountId of the folder invite. + */ + public String getAccountId() { + return this.AccountId; + } + + /** + * AccountId of the folder invite. + */ + public void setAccountId(String accountid) { + this.AccountId = accountid; + } + /** + * Maxixmum registrations allowed for the folder invite. + */ + public Integer getMaxRegistrations() { + return this.MaxRegistrations; + } + + /** + * Maxixmum registrations allowed for the folder invite. + */ + public void setMaxRegistrations(Integer maxregistrations) { + this.MaxRegistrations = maxregistrations; + } + /** + * Total registrations on the the folder invite. + */ + public Integer getTotalRegistrations() { + return this.TotalRegistrations; + } + + /** + * Total registrations on the the folder invite. + */ + public void setTotalRegistrations(Integer totalregistrations) { + this.TotalRegistrations = totalregistrations; + } + /** + * Notify the creator when a user registers for the folder. + */ + public Boolean getNotifyCreatorOnRegistration() { + return this.NotifyCreatorOnRegistration; + } + + /** + * Notify the creator when a user registers for the folder. + */ + public void setNotifyCreatorOnRegistration(Boolean notifycreatoronregistration) { + this.NotifyCreatorOnRegistration = notifycreatoronregistration; + } + /** + * Unique identifier of the folder whose invite has been created or edited + */ + public String getFolderId() { + return this.FolderId; + } + + /** + * Unique identifier of the folder whose invite has been created or edited + */ + public void setFolderId(String folderid) { + this.FolderId = folderid; + } + /** + * Indicates whether the recipient of the invite can download files from the folder. + */ + public Boolean getCanDownload() { + return this.CanDownload; + } + + /** + * Indicates whether the recipient of the invite can download files from the folder. + */ + public void setCanDownload(Boolean candownload) { + this.CanDownload = candownload; + } + /** + * Indicates whether the recipient of the invite can view files of the folder. + */ + public Boolean getCanView() { + return this.CanView; + } + + /** + * Indicates whether the recipient of the invite can view files of the folder. + */ + public void setCanView(Boolean canview) { + this.CanView = canview; + } + /** + * Indicates whether the recipient of the invite can upload files to the folder. + */ + public Boolean getCanUpload() { + return this.CanUpload; + } + + /** + * Indicates whether the recipient of the invite can upload files to the folder. + */ + public void setCanUpload(Boolean canupload) { + this.CanUpload = canupload; + } + /** + * Indicates whether the recipient of the invite can delete files from the folder. + */ + public Boolean getCanDelete() { + return this.CanDelete; + } + + /** + * Indicates whether the recipient of the invite can delete files from the folder. + */ + public void setCanDelete(Boolean candelete) { + this.CanDelete = candelete; + } + /** + * Indicates whether the recipient of the invite can get notified when uploding files to the folder. + */ + public Boolean getNotifyOnUpload() { + return this.NotifyOnUpload; + } + + /** + * Indicates whether the recipient of the invite can get notified when uploding files to the folder. + */ + public void setNotifyOnUpload(Boolean notifyonupload) { + this.NotifyOnUpload = notifyonupload; + } + /** + * Indicates whether the recipient of the invite can get notified when downloading files from the folder. + */ + public Boolean getNotifyOnDownload() { + return this.NotifyOnDownload; + } + + /** + * Indicates whether the recipient of the invite can get notified when downloading files from the folder. + */ + public void setNotifyOnDownload(Boolean notifyondownload) { + this.NotifyOnDownload = notifyondownload; + } + /** + * Url that redirects the user to registration page. + */ + public String getInviteUrl() { + return this.InviteUrl; + } + + /** + * Url that redirects the user to registration page. + */ + public void setInviteUrl(String inviteurl) { + this.InviteUrl = inviteurl; + } + /** + * User exists. + */ + public Boolean getIsExistingUser() { + return this.IsExistingUser; + } + + /** + * User exists. + */ + public void setIsExistingUser(Boolean isexistinguser) { + this.IsExistingUser = isexistinguser; + } + /** + * User exists and already confirmed. + */ + public Boolean getIsConfirmed() { + return this.IsConfirmed; + } + + /** + * User exists and already confirmed. + */ + public void setIsConfirmed(Boolean isconfirmed) { + this.IsConfirmed = isconfirmed; + } + /** + * Has exceeded Maximum failed attempts. + */ + public Boolean getHasExceededMaxFailedAttempts() { + return this.HasExceededMaxFailedAttempts; + } + + /** + * Has exceeded Maximum failed attempts. + */ + public void setHasExceededMaxFailedAttempts(Boolean hasexceededmaxfailedattempts) { + this.HasExceededMaxFailedAttempts = hasexceededmaxfailedattempts; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolderOption.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolderOption.java index 77a737a..0432761 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolderOption.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolderOption.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolderTemplate.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolderTemplate.java index 700fa22..4425587 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolderTemplate.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolderTemplate.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolderTemplateItem.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolderTemplateItem.java index 96485bb..94096b4 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolderTemplateItem.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolderTemplateItem.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFForbiddenOAuthClientNameWords.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFForbiddenOAuthClientNameWords.java new file mode 100644 index 0000000..5dc0428 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFForbiddenOAuthClientNameWords.java @@ -0,0 +1,40 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFForbiddenOAuthClientNameWords extends SFODataObject { + + @SerializedName("Words") + private ArrayList Words; + + public ArrayList getWords() { + return this.Words; + } + + public void setWords(ArrayList words) { + this.Words = words; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFGenericConfig.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFGenericConfig.java index bf87b79..49a9da1 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFGenericConfig.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFGenericConfig.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFGroup.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFGroup.java index a12c3b5..b5f122c 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFGroup.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFGroup.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -32,34 +32,73 @@ public class SFGroup extends SFPrincipal { private SFAccount Account; @SerializedName("IsShared") private Boolean IsShared; + @SerializedName("NumberOfContacts") + private Integer NumberOfContacts; @SerializedName("Contacts") private ArrayList Contacts; + /** + * The group's owner + */ public SFUser getOwner() { return this.Owner; } + /** + * The group's owner + */ public void setOwner(SFUser owner) { this.Owner = owner; } + /** + * Account + */ public SFAccount getAccount() { return this.Account; } + /** + * Account + */ public void setAccount(SFAccount account) { this.Account = account; } + /** + * Whether this group is public + */ public Boolean getIsShared() { return this.IsShared; } + /** + * Whether this group is public + */ public void setIsShared(Boolean isshared) { this.IsShared = isshared; } + /** + * Number of group contacts + */ + public Integer getNumberOfContacts() { + return this.NumberOfContacts; + } + + /** + * Number of group contacts + */ + public void setNumberOfContacts(Integer numberofcontacts) { + this.NumberOfContacts = numberofcontacts; + } + /** + * List of group contacts + */ public ArrayList getContacts() { return this.Contacts; } + /** + * List of group contacts + */ public void setContacts(ArrayList contacts) { this.Contacts = contacts; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFImage32Action.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFImage32Action.java new file mode 100644 index 0000000..fa7988e --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFImage32Action.java @@ -0,0 +1,22 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFImage32Action { + View, + ViewThumbnail +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFInboxMetadata.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFInboxMetadata.java index 769dd24..4fc9692 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFInboxMetadata.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFInboxMetadata.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIndustry.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIndustry.java index 7c1adc4..2acd3ca 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIndustry.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIndustry.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIntegrationProvider.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIntegrationProvider.java index 6cb7f41..2a12ea3 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIntegrationProvider.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIntegrationProvider.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -20,5 +20,6 @@ public enum SFIntegrationProvider { RightSignature, RightSignature4, DocumentApprovalWorkflow, - Image32 + Image32, + ContentViewer } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIrmClassification.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIrmClassification.java index 6553503..15ae473 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIrmClassification.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIrmClassification.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIrmPrimaryAccessRightParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIrmPrimaryAccessRightParams.java index ae4ac0d..c94cdb4 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIrmPrimaryAccessRightParams.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFIrmPrimaryAccessRightParams.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItem.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItem.java index 38d0317..a2a246e 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItem.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItem.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -98,188 +98,384 @@ public class SFItem extends SFODataObject { private Boolean HasMultipleVersions; @SerializedName("HasPendingAsyncOp") private Boolean HasPendingAsyncOp; + @SerializedName("ItemOperations") + private SFSafeEnumFlags ItemOperations; @SerializedName("Metadata") private ArrayList Metadata; - + @SerializedName("Statuses") + private ArrayList Statuses; + @SerializedName("Favorite") + private SFFavorite Favorite; + + /** + * Item Name + */ public String getName() { return this.Name; } + /** + * Item Name + */ public void setName(String name) { this.Name = name; } + /** + * Item File Name. ShareFile allows Items to have different Display and File names: display + * names are shown during client navigation, while file names are used when the item is + * downloaded. + */ public String getFileName() { return this.FileName; } + /** + * Item File Name. ShareFile allows Items to have different Display and File names: display + * names are shown during client navigation, while file names are used when the item is + * downloaded. + */ public void setFileName(String filename) { this.FileName = filename; } + /** + * User that Created this Item + */ public SFUser getCreator() { return this.Creator; } + /** + * User that Created this Item + */ public void setCreator(SFUser creator) { this.Creator = creator; } + /** + * Parent container of the Item. A container is usually a Folder object, with a few exceptions - + * the "Account" is the container of top-level folders. + */ public SFItem getParent() { return this.Parent; } + /** + * Parent container of the Item. A container is usually a Folder object, with a few exceptions - + * the "Account" is the container of top-level folders. + */ public void setParent(SFItem parent) { this.Parent = parent; } + /** + * List of Access Controls for this Item. This is not the effective ACL on the Item, just the + * ACLs directly attached to this Item. Use the "Info" reference to retrieve effective ACL + */ public ArrayList getAccessControls() { return this.AccessControls; } + /** + * List of Access Controls for this Item. This is not the effective ACL on the Item, just the + * ACLs directly attached to this Item. Use the "Info" reference to retrieve effective ACL + */ public void setAccessControls(ArrayList accesscontrols) { this.AccessControls = accesscontrols; } + /** + * The Storage Zone that contains this Item. + */ public SFZone getZone() { return this.Zone; } + /** + * The Storage Zone that contains this Item. + */ public void setZone(SFZone zone) { this.Zone = zone; } + /** + * Item Creation Date. + */ public Date getCreationDate() { return this.CreationDate; } + /** + * Item Creation Date. + */ public void setCreationDate(Date creationdate) { this.CreationDate = creationdate; } + /** + * The last modified date of this item and all of its children, recursively. This parameter + * is not supported in all ShareFile providers - it is always set in sharefile.com hosting, but + * not in some StorageZone connectors. The Capability object of the provider indicates whether + * the provider supports this field or not. + */ public Date getProgenyEditDate() { return this.ProgenyEditDate; } + /** + * The last modified date of this item and all of its children, recursively. This parameter + * is not supported in all ShareFile providers - it is always set in sharefile.com hosting, but + * not in some StorageZone connectors. The Capability object of the provider indicates whether + * the provider supports this field or not. + */ public void setProgenyEditDate(Date progenyeditdate) { this.ProgenyEditDate = progenyeditdate; } + /** + * Client device filesystem Created Date of this Item. + */ public Date getClientCreatedDate() { return this.ClientCreatedDate; } + /** + * Client device filesystem Created Date of this Item. + */ public void setClientCreatedDate(Date clientcreateddate) { this.ClientCreatedDate = clientcreateddate; } + /** + * Client device filesystem last Modified Date of this Item. + */ public Date getClientModifiedDate() { return this.ClientModifiedDate; } + /** + * Client device filesystem last Modified Date of this Item. + */ public void setClientModifiedDate(Date clientmodifieddate) { this.ClientModifiedDate = clientmodifieddate; } + /** + * Defines the Retention Policy for this Item. After this date, the item is automatically moved + * to recycle bin. + */ public Date getExpirationDate() { return this.ExpirationDate; } + /** + * Defines the Retention Policy for this Item. After this date, the item is automatically moved + * to recycle bin. + */ public void setExpirationDate(Date expirationdate) { this.ExpirationDate = expirationdate; } + /** + * Item description + */ public String getDescription() { return this.Description; } + /** + * Item description + */ public void setDescription(String description) { this.Description = description; } + /** + * Disk space limit for the Item. Define the maximum amount of bytes that this container can + * hold at any given time. + */ public Integer getDiskSpaceLimit() { return this.DiskSpaceLimit; } + /** + * Disk space limit for the Item. Define the maximum amount of bytes that this container can + * hold at any given time. + */ public void setDiskSpaceLimit(Integer diskspacelimit) { this.DiskSpaceLimit = diskspacelimit; } + /** + * Defines whether the Item has a 'hidden' flag. + */ public Boolean getIsHidden() { return this.IsHidden; } + /** + * Defines whether the Item has a 'hidden' flag. + */ public void setIsHidden(Boolean ishidden) { this.IsHidden = ishidden; } + /** + * Bandwidth limit for the Item. Define the maximum amount of bytes that can be added and + * retrieved from this item. + */ public Integer getBandwidthLimitInMB() { return this.BandwidthLimitInMB; } + /** + * Bandwidth limit for the Item. Define the maximum amount of bytes that can be added and + * retrieved from this item. + */ public void setBandwidthLimitInMB(Integer bandwidthlimitinmb) { this.BandwidthLimitInMB = bandwidthlimitinmb; } + /** + * User Owner of this Item. + */ public SFUser getOwner() { return this.Owner; } + /** + * User Owner of this Item. + */ public void setOwner(SFUser owner) { this.Owner = owner; } + /** + * ShareFile Account containing this item. + */ public SFAccount getAccount() { return this.Account; } + /** + * ShareFile Account containing this item. + */ public void setAccount(SFAccount account) { this.Account = account; } + /** + * Item size in Kilobytes. For containers, this field includes all children sizes, recursively. + */ public Integer getFileSizeInKB() { return this.FileSizeInKB; } + /** + * Item size in Kilobytes. For containers, this field includes all children sizes, recursively. + */ public void setFileSizeInKB(Integer filesizeinkb) { this.FileSizeInKB = filesizeinkb; } + /** + * Contains a ItemID path, separated by /, from the virtual root to this given file. Example + * /accountID/folderID/folderID/itemID + */ public String getPath() { return this.Path; } + /** + * Contains a ItemID path, separated by /, from the virtual root to this given file. Example + * /accountID/folderID/folderID/itemID + */ public void setPath(String path) { this.Path = path; } + /** + * First name of the user that created this item + */ public String getCreatorFirstName() { return this.CreatorFirstName; } + /** + * First name of the user that created this item + */ public void setCreatorFirstName(String creatorfirstname) { this.CreatorFirstName = creatorfirstname; } + /** + * Last name of the user that created this item + */ public String getCreatorLastName() { return this.CreatorLastName; } + /** + * Last name of the user that created this item + */ public void setCreatorLastName(String creatorlastname) { this.CreatorLastName = creatorlastname; } + /** + * Amount of days until this item expireses (see ExpirationDate) + */ public Integer getExpirationDays() { return this.ExpirationDays; } + /** + * Amount of days until this item expireses (see ExpirationDate) + */ public void setExpirationDays(Integer expirationdays) { this.ExpirationDays = expirationdays; } + /** + * Item size in bytes. For containers, this field will include all children sizes, recursively. + */ public Long getFileSizeBytes() { return this.FileSizeBytes; } + /** + * Item size in bytes. For containers, this field will include all children sizes, recursively. + */ public void setFileSizeBytes(Long filesizebytes) { this.FileSizeBytes = filesizebytes; } + /** + * Indicates whether a preview image is available for this Item. + * + * ShareFile.com always create previews for known file types, although there is a delay from the file + * creation until the preview is available. Some Storage Zones Providers do not create previews, depending + * on version and deployment options. + * + * Previews are not created for unknown file types + */ public SFSafeEnumFlags getPreviewStatus() { return this.PreviewStatus; } + /** + * Indicates whether a preview image is available for this Item. + * + * ShareFile.com always create previews for known file types, although there is a delay from the file + * creation until the preview is available. Some Storage Zones Providers do not create previews, depending + * on version and deployment options. + * + * Previews are not created for unknown file types + */ public void setPreviewStatus(SFSafeEnumFlags previewstatus) { this.PreviewStatus = previewstatus; } + /** + * Indicates a list of PreviewPlatforms supported for this item. + */ public ArrayList getPreviewPlatformsSupported() { return this.PreviewPlatformsSupported; } + /** + * Indicates a list of PreviewPlatforms supported for this item. + */ public void setPreviewPlatformsSupported(ArrayList previewplatformssupported) { this.PreviewPlatformsSupported = previewplatformssupported; } + /** + * Indicates a list of EditingPlatforms supported for this item. + */ public ArrayList getEditingPlatformsSupported() { return this.EditingPlatformsSupported; } + /** + * Indicates a list of EditingPlatforms supported for this item. + */ public void setEditingPlatformsSupported(ArrayList editingplatformssupported) { this.EditingPlatformsSupported = editingplatformssupported; } @@ -290,24 +486,60 @@ public Integer getMaxPreviewSize() { public void setMaxPreviewSize(Integer maxpreviewsize) { this.MaxPreviewSize = maxpreviewsize; } + /** + * Indicates that the Item is pending for removal. At the next execution of the Cleanup process, the data + * blob associated with this item will be removed. This parameter is not used for certain Storage Zone + * Providers. For example, in CIFS and SharePoint connectors, removals are performed imediately. The + * Capability "HasRecycleBin" indicates whether this field is used or not in the provider. + */ public Boolean getHasPendingDeletion() { return this.HasPendingDeletion; } + /** + * Indicates that the Item is pending for removal. At the next execution of the Cleanup process, the data + * blob associated with this item will be removed. This parameter is not used for certain Storage Zone + * Providers. For example, in CIFS and SharePoint connectors, removals are performed imediately. The + * Capability "HasRecycleBin" indicates whether this field is used or not in the provider. + */ public void setHasPendingDeletion(Boolean haspendingdeletion) { this.HasPendingDeletion = haspendingdeletion; } + /** + * Folder Template reference. If set, it indicates that this Item was created from a Folder Template. Modifications + * to the folder template are propagated to the associated items. + * + * The Capability FolderTemplate indicates whether the provider supports Folder Templates. + */ public String getAssociatedFolderTemplateID() { return this.AssociatedFolderTemplateID; } + /** + * Folder Template reference. If set, it indicates that this Item was created from a Folder Template. Modifications + * to the folder template are propagated to the associated items. + * + * The Capability FolderTemplate indicates whether the provider supports Folder Templates. + */ public void setAssociatedFolderTemplateID(String associatedfoldertemplateid) { this.AssociatedFolderTemplateID = associatedfoldertemplateid; } + /** + * Indicates whether the item is owned by a Folder Template. If set, it indicates that this Item was created from a + * Folder Template. Modifications to the folder template are propagated to the associated items. + * + * The Capability FolderTemplate indicates whether the provider supports Folder Templates. + */ public Boolean getIsTemplateOwned() { return this.IsTemplateOwned; } + /** + * Indicates whether the item is owned by a Folder Template. If set, it indicates that this Item was created from a + * Folder Template. Modifications to the folder template are propagated to the associated items. + * + * The Capability FolderTemplate indicates whether the provider supports Folder Templates. + */ public void setIsTemplateOwned(Boolean istemplateowned) { this.IsTemplateOwned = istemplateowned; } @@ -325,40 +557,119 @@ public Integer getState() { public void setState(Integer state) { this.State = state; } + /** + * Identifier for the Item stream. An Item represents a single version of a file system object. The stream identifies + * all versions of the same file system object. For example, when users upload or modify an existing file, a new Item + * is created with the same StreamID. All Item enumerations return only the latest version of a given stream. You can + * access the previous versions of a file using the StreamID reference. + */ public String getStreamID() { return this.StreamID; } + /** + * Identifier for the Item stream. An Item represents a single version of a file system object. The stream identifies + * all versions of the same file system object. For example, when users upload or modify an existing file, a new Item + * is created with the same StreamID. All Item enumerations return only the latest version of a given stream. You can + * access the previous versions of a file using the StreamID reference. + */ public void setStreamID(String streamid) { this.StreamID = streamid; } + /** + * Short version of items creator's name. E.g., J. Doe. + */ public String getCreatorNameShort() { return this.CreatorNameShort; } + /** + * Short version of items creator's name. E.g., J. Doe. + */ public void setCreatorNameShort(String creatornameshort) { this.CreatorNameShort = creatornameshort; } + /** + * Specifies whether there are other versions of this item. Not all providers support file versioning. The + * Capability FileVersioning indicates whether the provider supports file versions. + */ public Boolean getHasMultipleVersions() { return this.HasMultipleVersions; } + /** + * Specifies whether there are other versions of this item. Not all providers support file versioning. The + * Capability FileVersioning indicates whether the provider supports file versions. + */ public void setHasMultipleVersions(Boolean hasmultipleversions) { this.HasMultipleVersions = hasmultipleversions; } + /** + * Specifies whether or not an Item has a pending async operation. + */ public Boolean getHasPendingAsyncOp() { return this.HasPendingAsyncOp; } + /** + * Specifies whether or not an Item has a pending async operation. + */ public void setHasPendingAsyncOp(Boolean haspendingasyncop) { this.HasPendingAsyncOp = haspendingasyncop; } + /** + * Bitmask of operations allowed on a given Item. More granular (and often accurate, as it takes into account + * capabilities, account settings, file lock status, etc.) than what's on ItemInfo object. + */ + public SFSafeEnumFlags getItemOperations() { + return this.ItemOperations; + } + + /** + * Bitmask of operations allowed on a given Item. More granular (and often accurate, as it takes into account + * capabilities, account settings, file lock status, etc.) than what's on ItemInfo object. + */ + public void setItemOperations(SFSafeEnumFlags itemoperations) { + this.ItemOperations = itemoperations; + } + /** + * List of custom metadata object associated with this item + */ public ArrayList getMetadata() { return this.Metadata; } + /** + * List of custom metadata object associated with this item + */ public void setMetadata(ArrayList metadata) { this.Metadata = metadata; } + /** + * List of external statuses associated with this Item + */ + public ArrayList getStatuses() { + return this.Statuses; + } + + /** + * List of external statuses associated with this Item + */ + public void setStatuses(ArrayList statuses) { + this.Statuses = statuses; + } + /** + * Favorite item object associated with the item + */ + public SFFavorite getFavorite() { + return this.Favorite; + } + + /** + * Favorite item object associated with the item + */ + public void setFavorite(SFFavorite favorite) { + this.Favorite = favorite; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemAction.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemAction.java index d542b90..d8af67d 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemAction.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemAction.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemDlpInfo.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemDlpInfo.java index dcb1644..b0cc7ef 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemDlpInfo.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemDlpInfo.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemInfo.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemInfo.java index ed4b955..f5cacef 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemInfo.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemInfo.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -76,6 +76,16 @@ public class SFItemInfo extends SFODataObject { private Boolean CanEditFolderOpts; @SerializedName("CanEditRetentionPolicy") private Boolean CanEditRetentionPolicy; + @SerializedName("CanEditFolderExpirationDays") + private Boolean CanEditFolderExpirationDays; + @SerializedName("CanEditFolderExpirationDate") + private Boolean CanEditFolderExpirationDate; + @SerializedName("CanEditFolderMaxVersions") + private Boolean CanEditFolderMaxVersions; + @SerializedName("CanEditFolderVersioning") + private Boolean CanEditFolderVersioning; + @SerializedName("CanCreateOfficeDocuments") + private Boolean CanCreateOfficeDocuments; @SerializedName("FolderPayID") private String FolderPayID; @SerializedName("ShowFolderPayBuyButton") @@ -106,6 +116,8 @@ public class SFItemInfo extends SFODataObject { private SFSafeEnum SortField; @SerializedName("SortDirection") private SFSafeEnum SortDirection; + @SerializedName("CanCreateRequestList") + private Boolean CanCreateRequestList; public SFAccessControl getCurrentAccessControl() { return this.CurrentAccessControl; @@ -275,13 +287,54 @@ public Boolean getCanEditFolderOpts() { public void setCanEditFolderOpts(Boolean caneditfolderopts) { this.CanEditFolderOpts = caneditfolderopts; } + /** + * Indicates whether the current user has permission to change folder retention policies (ExpirationDays) + */ public Boolean getCanEditRetentionPolicy() { return this.CanEditRetentionPolicy; } + /** + * Indicates whether the current user has permission to change folder retention policies (ExpirationDays) + */ public void setCanEditRetentionPolicy(Boolean caneditretentionpolicy) { this.CanEditRetentionPolicy = caneditretentionpolicy; } + public Boolean getCanEditFolderExpirationDays() { + return this.CanEditFolderExpirationDays; + } + + public void setCanEditFolderExpirationDays(Boolean caneditfolderexpirationdays) { + this.CanEditFolderExpirationDays = caneditfolderexpirationdays; + } + public Boolean getCanEditFolderExpirationDate() { + return this.CanEditFolderExpirationDate; + } + + public void setCanEditFolderExpirationDate(Boolean caneditfolderexpirationdate) { + this.CanEditFolderExpirationDate = caneditfolderexpirationdate; + } + public Boolean getCanEditFolderMaxVersions() { + return this.CanEditFolderMaxVersions; + } + + public void setCanEditFolderMaxVersions(Boolean caneditfoldermaxversions) { + this.CanEditFolderMaxVersions = caneditfoldermaxversions; + } + public Boolean getCanEditFolderVersioning() { + return this.CanEditFolderVersioning; + } + + public void setCanEditFolderVersioning(Boolean caneditfolderversioning) { + this.CanEditFolderVersioning = caneditfolderversioning; + } + public Boolean getCanCreateOfficeDocuments() { + return this.CanCreateOfficeDocuments; + } + + public void setCanCreateOfficeDocuments(Boolean cancreateofficedocuments) { + this.CanCreateOfficeDocuments = cancreateofficedocuments; + } public String getFolderPayID() { return this.FolderPayID; } @@ -387,5 +440,18 @@ public SFSafeEnum getSortDirection() { public void setSortDirection(SFSafeEnum sortdirection) { this.SortDirection = sortdirection; } + /** + * Info on a folder to create a request list bundle + */ + public Boolean getCanCreateRequestList() { + return this.CanCreateRequestList; + } + + /** + * Info on a folder to create a request list bundle + */ + public void setCanCreateRequestList(Boolean cancreaterequestlist) { + this.CanCreateRequestList = cancreaterequestlist; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemOperations.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemOperations.java new file mode 100644 index 0000000..d9fd8d0 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemOperations.java @@ -0,0 +1,38 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFItemOperations { + None, + CanDownload, + CanShareEmail, + CanShareLink, + CanDelete, + CanViewDetails, + CanMove, + CanCopy, + CanEditDocument, + CanSignRS3, + CanSignRS4, + CanCheckOut, + CanCheckIn, + CanDiscardCheckout, + CanToggleFavorite, + CanInitiateApproval, + CanCreateOfficeDocuments, + CanUnzipFiles +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemOrderingMode.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemOrderingMode.java index 7e455e2..d14d04b 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemOrderingMode.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemOrderingMode.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemProtocolLink.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemProtocolLink.java index 1e1bc2e..eb93c1c 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemProtocolLink.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemProtocolLink.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFLink.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFLink.java index b082eda..ad6973d 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFLink.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFLink.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMarketAnalytics.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMarketAnalytics.java index 753c025..46258b7 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMarketAnalytics.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMarketAnalytics.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMetadata.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMetadata.java index bcb76ab..9c0cee0 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMetadata.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMetadata.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMobileSecuritySettings.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMobileSecuritySettings.java index b2298e8..41cc458 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMobileSecuritySettings.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMobileSecuritySettings.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNote.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNote.java index b5b4c3f..a47821f 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNote.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNote.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNotification.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNotification.java index 22a2cfb..d0991f2 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNotification.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNotification.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNotificationLocale.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNotificationLocale.java index 31dff97..80703e2 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNotificationLocale.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNotificationLocale.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNotifyUsersParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNotifyUsersParams.java index fbeb87e..42b0bad 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNotifyUsersParams.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFNotifyUsersParams.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFODataFeed.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFODataFeed.java index 7aa0fbf..2ee3ea2 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFODataFeed.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFODataFeed.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFODataObject.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFODataObject.java index c6d3eae..725fb13 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFODataObject.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFODataObject.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFODataObjectType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFODataObjectType.java index 0531f77..0297563 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFODataObjectType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFODataObjectType.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOutlookInformation.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOutlookInformation.java index ce279a1..ea7032a 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOutlookInformation.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOutlookInformation.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -59,115 +59,211 @@ public class SFOutlookInformation extends SFODataObject { @SerializedName("EncryptedEmailNotifyOnRead") private SFOutlookInformationOptionBool EncryptedEmailNotifyOnRead; + /** + * DownloadInfo Level + */ public SFOutlookInformationOptionString getDownloadInfoLevel() { return this.DownloadInfoLevel; } + /** + * DownloadInfo Level + */ public void setDownloadInfoLevel(SFOutlookInformationOptionString downloadinfolevel) { this.DownloadInfoLevel = downloadinfolevel; } + /** + * UploadInfo Level + */ public SFOutlookInformationOptionString getUploadInfoLevel() { return this.UploadInfoLevel; } + /** + * UploadInfo Level + */ public void setUploadInfoLevel(SFOutlookInformationOptionString uploadinfolevel) { this.UploadInfoLevel = uploadinfolevel; } + /** + * Notify on download of Share + */ public SFOutlookInformationOptionBool getNotifyOnDownload() { return this.NotifyOnDownload; } + /** + * Notify on download of Share + */ public void setNotifyOnDownload(SFOutlookInformationOptionBool notifyondownload) { this.NotifyOnDownload = notifyondownload; } + /** + * Notify on upload of Share + */ public SFOutlookInformationOptionBool getNotifyOnUpload() { return this.NotifyOnUpload; } + /** + * Notify on upload of Share + */ public void setNotifyOnUpload(SFOutlookInformationOptionBool notifyonupload) { this.NotifyOnUpload = notifyonupload; } + /** + * Max downloads + */ public SFOutlookInformationOptionInt getMaxDownloads() { return this.MaxDownloads; } + /** + * Max downloads + */ public void setMaxDownloads(SFOutlookInformationOptionInt maxdownloads) { this.MaxDownloads = maxdownloads; } + /** + * Link expiration + */ public SFOutlookInformationOptionString getLinkExpiration() { return this.LinkExpiration; } + /** + * Link expiration + */ public void setLinkExpiration(SFOutlookInformationOptionString linkexpiration) { this.LinkExpiration = linkexpiration; } + /** + * Default text when requesting files + */ public SFOutlookInformationOptionString getRequestText() { return this.RequestText; } + /** + * Default text when requesting files + */ public void setRequestText(SFOutlookInformationOptionString requesttext) { this.RequestText = requesttext; } + /** + * Default text when sending files + */ public SFOutlookInformationOptionString getSendText() { return this.SendText; } + /** + * Default text when sending files + */ public void setSendText(SFOutlookInformationOptionString sendtext) { this.SendText = sendtext; } + /** + * Banner HTML + */ public SFOutlookInformationOptionString getBannerHTML() { return this.BannerHTML; } + /** + * Banner HTML + */ public void setBannerHTML(SFOutlookInformationOptionString bannerhtml) { this.BannerHTML = bannerhtml; } + /** + * Use banner + */ public SFOutlookInformationOptionBool getUseBanner() { return this.UseBanner; } + /** + * Use banner + */ public void setUseBanner(SFOutlookInformationOptionBool usebanner) { this.UseBanner = usebanner; } + /** + * Auto convert + */ public SFOutlookInformationOptionBool getAutoConvert() { return this.AutoConvert; } + /** + * Auto convert + */ public void setAutoConvert(SFOutlookInformationOptionBool autoconvert) { this.AutoConvert = autoconvert; } + /** + * Auto convert + */ public SFOutlookInformationOptionInt getConvertAbove() { return this.ConvertAbove; } + /** + * Auto convert + */ public void setConvertAbove(SFOutlookInformationOptionInt convertabove) { this.ConvertAbove = convertabove; } + /** + * Attach paperclip + */ public SFOutlookInformationOptionBool getAttachPaperclip() { return this.AttachPaperclip; } + /** + * Attach paperclip + */ public void setAttachPaperclip(SFOutlookInformationOptionBool attachpaperclip) { this.AttachPaperclip = attachpaperclip; } + /** + * Encrypted Email Recipient Verification + */ public SFOutlookInformationOptionString getEncryptedEmailRecipientVerification() { return this.EncryptedEmailRecipientVerification; } + /** + * Encrypted Email Recipient Verification + */ public void setEncryptedEmailRecipientVerification(SFOutlookInformationOptionString encryptedemailrecipientverification) { this.EncryptedEmailRecipientVerification = encryptedemailrecipientverification; } + /** + * Default Encrypted Email Expiration + */ public SFOutlookInformationOptionString getEncryptedEmailExpiration() { return this.EncryptedEmailExpiration; } + /** + * Default Encrypted Email Expiration + */ public void setEncryptedEmailExpiration(SFOutlookInformationOptionString encryptedemailexpiration) { this.EncryptedEmailExpiration = encryptedemailexpiration; } + /** + * Default Encrypted Email Notify on Read + */ public SFOutlookInformationOptionBool getEncryptedEmailNotifyOnRead() { return this.EncryptedEmailNotifyOnRead; } + /** + * Default Encrypted Email Notify on Read + */ public void setEncryptedEmailNotifyOnRead(SFOutlookInformationOptionBool encryptedemailnotifyonread) { this.EncryptedEmailNotifyOnRead = encryptedemailnotifyonread; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOutlookInformationOptionBool.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOutlookInformationOptionBool.java index 8d780f6..76e068d 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOutlookInformationOptionBool.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOutlookInformationOptionBool.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -31,17 +31,29 @@ public class SFOutlookInformationOptionBool extends SFODataObject { @SerializedName("Value") private Boolean Value; + /** + * Setting is locked. + */ public Boolean getLocked() { return this.Locked; } + /** + * Setting is locked. + */ public void setLocked(Boolean locked) { this.Locked = locked; } + /** + * Value + */ public Boolean getValue() { return this.Value; } + /** + * Value + */ public void setValue(Boolean value) { this.Value = value; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOutlookInformationOptionInt.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOutlookInformationOptionInt.java index dd18ad3..cd766f5 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOutlookInformationOptionInt.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOutlookInformationOptionInt.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -31,17 +31,29 @@ public class SFOutlookInformationOptionInt extends SFODataObject { @SerializedName("Value") private Integer Value; + /** + * Setting is locked. + */ public Boolean getLocked() { return this.Locked; } + /** + * Setting is locked. + */ public void setLocked(Boolean locked) { this.Locked = locked; } + /** + * Value + */ public Integer getValue() { return this.Value; } + /** + * Value + */ public void setValue(Integer value) { this.Value = value; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOutlookInformationOptionString.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOutlookInformationOptionString.java index 9de4cef..69fecc6 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOutlookInformationOptionString.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOutlookInformationOptionString.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -31,17 +31,29 @@ public class SFOutlookInformationOptionString extends SFODataObject { @SerializedName("Value") private String Value; + /** + * Setting is locked. + */ public Boolean getLocked() { return this.Locked; } + /** + * Setting is locked. + */ public void setLocked(Boolean locked) { this.Locked = locked; } + /** + * Value + */ public String getValue() { return this.Value; } + /** + * Value + */ public void setValue(String value) { this.Value = value; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPasswordPolicy.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPasswordPolicy.java index 734baa4..1e9367c 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPasswordPolicy.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPasswordPolicy.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPinLockType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPinLockType.java index 81a30f6..0bf83d9 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPinLockType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPinLockType.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPlanFeatures.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPlanFeatures.java index 30d43d5..8894794 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPlanFeatures.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPlanFeatures.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -91,220 +91,406 @@ public class SFPlanFeatures extends SFODataObject { @SerializedName("EnableTopLevelView") private Boolean EnableTopLevelView; + /** + * PlanType + */ public String getPlanType() { return this.PlanType; } + /** + * PlanType + */ public void setPlanType(String plantype) { this.PlanType = plantype; } + /** + * API + */ public Boolean getAPI() { return this.API; } + /** + * API + */ public void setAPI(Boolean api) { this.API = api; } + /** + * Outlook enabled + */ public Boolean getOutlook() { return this.Outlook; } + /** + * Outlook enabled + */ public void setOutlook(Boolean outlook) { this.Outlook = outlook; } + /** + * DriveMapping enabled + */ public Boolean getDriveMapping() { return this.DriveMapping; } + /** + * DriveMapping enabled + */ public void setDriveMapping(Boolean drivemapping) { this.DriveMapping = drivemapping; } + /** + * ShareFile CLI enabled + */ public Boolean getCLI() { return this.CLI; } + /** + * ShareFile CLI enabled + */ public void setCLI(Boolean cli) { this.CLI = cli; } + /** + * FTP access enabled + */ public Boolean getFTP() { return this.FTP; } + /** + * FTP access enabled + */ public void setFTP(Boolean ftp) { this.FTP = ftp; } + /** + * FTPS access enabled + */ public Boolean getFTPS() { return this.FTPS; } + /** + * FTPS access enabled + */ public void setFTPS(Boolean ftps) { this.FTPS = ftps; } + /** + * Sync tool enabled + */ public Boolean getSync() { return this.Sync; } + /** + * Sync tool enabled + */ public void setSync(Boolean sync) { this.Sync = sync; } + /** + * Virus scanning enabled + */ public Boolean getAntiVirus() { return this.AntiVirus; } + /** + * Virus scanning enabled + */ public void setAntiVirus(Boolean antivirus) { this.AntiVirus = antivirus; } + /** + * Require login on share downloads + */ public Boolean getRequireLoginOnDownload() { return this.RequireLoginOnDownload; } + /** + * Require login on share downloads + */ public void setRequireLoginOnDownload(Boolean requireloginondownload) { this.RequireLoginOnDownload = requireloginondownload; } + /** + * Max File Size supported in megabytes + */ public Integer getMaxFileMB() { return this.MaxFileMB; } + /** + * Max File Size supported in megabytes + */ public void setMaxFileMB(Integer maxfilemb) { this.MaxFileMB = maxfilemb; } + /** + * Max plan storage in megabytes + */ public Integer getPlanStorMB() { return this.PlanStorMB; } + /** + * Max plan storage in megabytes + */ public void setPlanStorMB(Integer planstormb) { this.PlanStorMB = planstormb; } + /** + * Max plan bandwidth in megabytes + */ public Integer getPlanBandMB() { return this.PlanBandMB; } + /** + * Max plan bandwidth in megabytes + */ public void setPlanBandMB(Integer planbandmb) { this.PlanBandMB = planbandmb; } + /** + * SystemName + */ public String getSystemName() { return this.SystemName; } + /** + * SystemName + */ public void setSystemName(String systemname) { this.SystemName = systemname; } + /** + * SystemType + */ public String getSystemType() { return this.SystemType; } + /** + * SystemType + */ public void setSystemType(String systemtype) { this.SystemType = systemtype; } + /** + * HasOutlookOptions configured + */ public Boolean getHasOutlookOptions() { return this.HasOutlookOptions; } + /** + * HasOutlookOptions configured + */ public void setHasOutlookOptions(Boolean hasoutlookoptions) { this.HasOutlookOptions = hasoutlookoptions; } + /** + * Outlook Options - SimpleMAPI + */ public Boolean getSimpleMAPI() { return this.SimpleMAPI; } + /** + * Outlook Options - SimpleMAPI + */ public void setSimpleMAPI(Boolean simplemapi) { this.SimpleMAPI = simplemapi; } + /** + * Outlook Options - Force Attach Links + */ public Boolean getForceAttachLink() { return this.ForceAttachLink; } + /** + * Outlook Options - Force Attach Links + */ public void setForceAttachLink(Boolean forceattachlink) { this.ForceAttachLink = forceattachlink; } + /** + * Current storage used in megabytes + */ public String getUsedStorMB() { return this.UsedStorMB; } + /** + * Current storage used in megabytes + */ public void setUsedStorMB(String usedstormb) { this.UsedStorMB = usedstormb; } + /** + * Last time storage used calculated. + */ public String getUsedStorUtcTicks() { return this.UsedStorUtcTicks; } + /** + * Last time storage used calculated. + */ public void setUsedStorUtcTicks(String usedstorutcticks) { this.UsedStorUtcTicks = usedstorutcticks; } + /** + * Current storage used in bytes. + */ public String getUsedStorBytes() { return this.UsedStorBytes; } + /** + * Current storage used in bytes. + */ public void setUsedStorBytes(String usedstorbytes) { this.UsedStorBytes = usedstorbytes; } + /** + * User is Employee + */ public Boolean getIsEmployee() { return this.IsEmployee; } + /** + * User is Employee + */ public void setIsEmployee(Boolean isemployee) { this.IsEmployee = isemployee; } + /** + * User is Administrator + */ public Boolean getIsAdministrator() { return this.IsAdministrator; } + /** + * User is Administrator + */ public void setIsAdministrator(Boolean isadministrator) { this.IsAdministrator = isadministrator; } + /** + * Can create root folders + */ public Boolean getCanCreateRootFolders() { return this.CanCreateRootFolders; } + /** + * Can create root folders + */ public void setCanCreateRootFolders(Boolean cancreaterootfolders) { this.CanCreateRootFolders = cancreaterootfolders; } + /** + * Can use file box + */ public Boolean getCanUseFileBox() { return this.CanUseFileBox; } + /** + * Can use file box + */ public void setCanUseFileBox(Boolean canusefilebox) { this.CanUseFileBox = canusefilebox; } + /** + * User is confirmed + */ public Boolean getIsConfirmed() { return this.IsConfirmed; } + /** + * User is confirmed + */ public void setIsConfirmed(Boolean isconfirmed) { this.IsConfirmed = isconfirmed; } + /** + * Can reset password + */ public Boolean getCanResetPassword() { return this.CanResetPassword; } + /** + * Can reset password + */ public void setCanResetPassword(Boolean canresetpassword) { this.CanResetPassword = canresetpassword; } + /** + * Password requirements as regular expression + */ public String getPasswordRegEx() { return this.PasswordRegEx; } + /** + * Password requirements as regular expression + */ public void setPasswordRegEx(String passwordregex) { this.PasswordRegEx = passwordregex; } + /** + * Can manage my settings + */ public Boolean getCanManageMySettings() { return this.CanManageMySettings; } + /** + * Can manage my settings + */ public void setCanManageMySettings(Boolean canmanagemysettings) { this.CanManageMySettings = canmanagemysettings; } + /** + * Home Folder Id + */ public String getHomeFolder() { return this.HomeFolder; } + /** + * Home Folder Id + */ public void setHomeFolder(String homefolder) { this.HomeFolder = homefolder; } + /** + * Enable Auto Update for tools + */ public Boolean getEnableAutoUpdate() { return this.EnableAutoUpdate; } + /** + * Enable Auto Update for tools + */ public void setEnableAutoUpdate(Boolean enableautoupdate) { this.EnableAutoUpdate = enableautoupdate; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPolicy.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPolicy.java new file mode 100644 index 0000000..e9cb2b8 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPolicy.java @@ -0,0 +1,152 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; +import com.citrix.sharefile.api.internal.models.*; + +public class SFPolicy extends SFODataObject { + + @SerializedName("Name") + private String Name; + @SerializedName("Category") + private SFSafeEnum Category; + @SerializedName("IsDefault") + private Boolean IsDefault; + @SerializedName("CreatedBy") + private SFUser CreatedBy; + @SerializedName("CreationDate") + private Date CreationDate; + @SerializedName("UpdatedBy") + private SFUser UpdatedBy; + @SerializedName("UpdatedDate") + private Date UpdatedDate; + @SerializedName("Usage") + private SFPolicyUsage Usage; + + /** + * Name of Policy + */ + public String getName() { + return this.Name; + } + + /** + * Name of Policy + */ + public void setName(String name) { + this.Name = name; + } + /** + * UserAccess, FileAndFolder, Storage + */ + public SFSafeEnum getCategory() { + return this.Category; + } + + /** + * UserAccess, FileAndFolder, Storage + */ + public void setCategory(SFSafeEnum category) { + this.Category = category; + } + /** + * Indicates this is the default policy for the category specified + */ + public Boolean getIsDefault() { + return this.IsDefault; + } + + /** + * Indicates this is the default policy for the category specified + */ + public void setIsDefault(Boolean isdefault) { + this.IsDefault = isdefault; + } + /** + * Creator of Policy + */ + public SFUser getCreatedBy() { + return this.CreatedBy; + } + + /** + * Creator of Policy + */ + public void setCreatedBy(SFUser createdby) { + this.CreatedBy = createdby; + } + /** + * Created Date + */ + public Date getCreationDate() { + return this.CreationDate; + } + + /** + * Created Date + */ + public void setCreationDate(Date creationdate) { + this.CreationDate = creationdate; + } + /** + * User who last modified Policy or Policy Settings + */ + public SFUser getUpdatedBy() { + return this.UpdatedBy; + } + + /** + * User who last modified Policy or Policy Settings + */ + public void setUpdatedBy(SFUser updatedby) { + this.UpdatedBy = updatedby; + } + /** + * Date Policy or Policy Settings were last modified + */ + public Date getUpdatedDate() { + return this.UpdatedDate; + } + + /** + * Date Policy or Policy Settings were last modified + */ + public void setUpdatedDate(Date updateddate) { + this.UpdatedDate = updateddate; + } + /** + * Metrics of Users attached to policy + */ + public SFPolicyUsage getUsage() { + return this.Usage; + } + + /** + * Metrics of Users attached to policy + */ + public void setUsage(SFPolicyUsage usage) { + this.Usage = usage; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPolicyUsage.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPolicyUsage.java new file mode 100644 index 0000000..9bc2930 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPolicyUsage.java @@ -0,0 +1,49 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFPolicyUsage extends SFODataObject { + + @SerializedName("ActiveUsersCount") + private Integer ActiveUsersCount; + @SerializedName("InactiveUsersCount") + private Integer InactiveUsersCount; + + public Integer getActiveUsersCount() { + return this.ActiveUsersCount; + } + + public void setActiveUsersCount(Integer activeuserscount) { + this.ActiveUsersCount = activeuserscount; + } + public Integer getInactiveUsersCount() { + return this.InactiveUsersCount; + } + + public void setInactiveUsersCount(Integer inactiveuserscount) { + this.InactiveUsersCount = inactiveuserscount; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPowerTools.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPowerTools.java index d42be0d..4631e67 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPowerTools.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPowerTools.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -28,10 +28,32 @@ public class SFPowerTools extends SFODataObject { @SerializedName("EnableDesktopToolsPage") private Boolean EnableDesktopToolsPage; - @SerializedName("EnableMobileApps") - private Boolean EnableMobileApps; @SerializedName("ShowMobileTools") private Boolean ShowMobileTools; + @SerializedName("ShowApps") + private Boolean ShowApps; + @SerializedName("EnableShareConnect") + private Boolean EnableShareConnect; + @SerializedName("EnableCLI") + private Boolean EnableCLI; + @SerializedName("EnableOutlook") + private Boolean EnableOutlook; + @SerializedName("EnableRightSignature") + private Boolean EnableRightSignature; + @SerializedName("EnableFTP") + private Boolean EnableFTP; + @SerializedName("EnableSFTP") + private Boolean EnableSFTP; + @SerializedName("EnableSync") + private Boolean EnableSync; + @SerializedName("EnableSyncAutoUpdate") + private Boolean EnableSyncAutoUpdate; + @SerializedName("EnableDriveMapping") + private Boolean EnableDriveMapping; + @SerializedName("EnableWebDAV") + private Boolean EnableWebDAV; + @SerializedName("SyncOverrideKey") + private String SyncOverrideKey; public Boolean getEnableDesktopToolsPage() { return this.EnableDesktopToolsPage; @@ -40,13 +62,6 @@ public Boolean getEnableDesktopToolsPage() { public void setEnableDesktopToolsPage(Boolean enabledesktoptoolspage) { this.EnableDesktopToolsPage = enabledesktoptoolspage; } - public Boolean getEnableMobileApps() { - return this.EnableMobileApps; - } - - public void setEnableMobileApps(Boolean enablemobileapps) { - this.EnableMobileApps = enablemobileapps; - } public Boolean getShowMobileTools() { return this.ShowMobileTools; } @@ -54,5 +69,163 @@ public Boolean getShowMobileTools() { public void setShowMobileTools(Boolean showmobiletools) { this.ShowMobileTools = showmobiletools; } + /** + * This gives the ability to access Apps page in web app. + */ + public Boolean getShowApps() { + return this.ShowApps; + } + + /** + * This gives the ability to access Apps page in web app. + */ + public void setShowApps(Boolean showapps) { + this.ShowApps = showapps; + } + /** + * Access your computer files and apps on your tablet. + */ + public Boolean getEnableShareConnect() { + return this.EnableShareConnect; + } + + /** + * Access your computer files and apps on your tablet. + */ + public void setEnableShareConnect(Boolean enableshareconnect) { + this.EnableShareConnect = enableshareconnect; + } + /** + * SFCLI is a command-line interface to ShareFile. It can be used with a task scheduler to make regular backups or scheduled uploads to ShareFile. + */ + public Boolean getEnableCLI() { + return this.EnableCLI; + } + + /** + * SFCLI is a command-line interface to ShareFile. It can be used with a task scheduler to make regular backups or scheduled uploads to ShareFile. + */ + public void setEnableCLI(Boolean enablecli) { + this.EnableCLI = enablecli; + } + /** + * The ShareFile Outlook Plug-in integrates with Outlook 2007, 2010, 2013 and 2016 to provide an easy interface to ShareFile, allowing you to quickly send and request files through e-mail. + */ + public Boolean getEnableOutlook() { + return this.EnableOutlook; + } + + /** + * The ShareFile Outlook Plug-in integrates with Outlook 2007, 2010, 2013 and 2016 to provide an easy interface to ShareFile, allowing you to quickly send and request files through e-mail. + */ + public void setEnableOutlook(Boolean enableoutlook) { + this.EnableOutlook = enableoutlook; + } + /** + * Using Right Signature, you can send documents for signature online. + */ + public Boolean getEnableRightSignature() { + return this.EnableRightSignature; + } + + /** + * Using Right Signature, you can send documents for signature online. + */ + public void setEnableRightSignature(Boolean enablerightsignature) { + this.EnableRightSignature = enablerightsignature; + } + /** + * FTP Access allows you to connect to your ShareFile account and upload and download using a typical FTP client, useful if you have clients already familiar with FTP, or business processes scheduled to run over FTP. + */ + public Boolean getEnableFTP() { + return this.EnableFTP; + } + + /** + * FTP Access allows you to connect to your ShareFile account and upload and download using a typical FTP client, useful if you have clients already familiar with FTP, or business processes scheduled to run over FTP. + */ + public void setEnableFTP(Boolean enableftp) { + this.EnableFTP = enableftp; + } + /** + * FTPS Access allows you to use FTP with SSL/TLS encryption, for an extra layer of security. If FTPS is enabled but regular FTP Access is disabled, you can ensure that transfers over FTP will always be encrypted. + * Note: Connections using should be made using 'Implicit SSL/TLS' mode over Port 990. + */ + public Boolean getEnableSFTP() { + return this.EnableSFTP; + } + + /** + * FTPS Access allows you to use FTP with SSL/TLS encryption, for an extra layer of security. If FTPS is enabled but regular FTP Access is disabled, you can ensure that transfers over FTP will always be encrypted. + * Note: Connections using should be made using 'Implicit SSL/TLS' mode over Port 990. + */ + public void setEnableSFTP(Boolean enablesftp) { + this.EnableSFTP = enablesftp; + } + /** + * Enables sync access. + */ + public Boolean getEnableSync() { + return this.EnableSync; + } + + /** + * Enables sync access. + */ + public void setEnableSync(Boolean enablesync) { + this.EnableSync = enablesync; + } + /** + * Enables sync auto update. + */ + public Boolean getEnableSyncAutoUpdate() { + return this.EnableSyncAutoUpdate; + } + + /** + * Enables sync auto update. + */ + public void setEnableSyncAutoUpdate(Boolean enablesyncautoupdate) { + this.EnableSyncAutoUpdate = enablesyncautoupdate; + } + /** + * ShareFile Drive Mapper allows Employee users to connect their account as a mapped drive on the Windows file system, without performing a full sync of account content. + */ + public Boolean getEnableDriveMapping() { + return this.EnableDriveMapping; + } + + /** + * ShareFile Drive Mapper allows Employee users to connect their account as a mapped drive on the Windows file system, without performing a full sync of account content. + */ + public void setEnableDriveMapping(Boolean enabledrivemapping) { + this.EnableDriveMapping = enabledrivemapping; + } + /** + * WebDAV access allows you to connect to your ShareFile account through a WebDAV client on your computer or mobile device. Depending on the client, these files can then be edited, and directly saved back into ShareFile. + */ + public Boolean getEnableWebDAV() { + return this.EnableWebDAV; + } + + /** + * WebDAV access allows you to connect to your ShareFile account through a WebDAV client on your computer or mobile device. Depending on the client, these files can then be edited, and directly saved back into ShareFile. + */ + public void setEnableWebDAV(Boolean enablewebdav) { + this.EnableWebDAV = enablewebdav; + } + /** + * Provide or generate key to override Sync access control. + */ + public String getSyncOverrideKey() { + return this.SyncOverrideKey; + } + + /** + * Provide or generate key to override Sync access control. + */ + public void setSyncOverrideKey(String syncoverridekey) { + this.SyncOverrideKey = syncoverridekey; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPreviewPlatform.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPreviewPlatform.java index fb98b0b..133c3f7 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPreviewPlatform.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPreviewPlatform.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPreviewPlatformInfo.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPreviewPlatformInfo.java index c2f0c03..1053c06 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPreviewPlatformInfo.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPreviewPlatformInfo.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPreviewStatus.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPreviewStatus.java index 6b2f72e..5d12115 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPreviewStatus.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPreviewStatus.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPrincipal.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPrincipal.java index 9e41f70..342f617 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPrincipal.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPrincipal.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFProductDefaults.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFProductDefaults.java index 08fd9a7..bce7a05 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFProductDefaults.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFProductDefaults.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQuery.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQuery.java index 145689b..0cb3119 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQuery.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQuery.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQueryPaging.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQueryPaging.java index 21e12b7..3414d53 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQueryPaging.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQueryPaging.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQuerySorting.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQuerySorting.java index 70be8d2..9273bd4 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQuerySorting.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQuerySorting.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRedirection.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRedirection.java index 2a3ebd3..92c5811 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRedirection.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRedirection.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRemoteUpload.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRemoteUpload.java index d51bb1a..485ab90 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRemoteUpload.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRemoteUpload.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRemoteUploadRequestParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRemoteUploadRequestParams.java index dcf7ecd..5b6dc65 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRemoteUploadRequestParams.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRemoteUploadRequestParams.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReport.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReport.java index 22b946a..ea60f2b 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReport.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReport.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -79,197 +79,341 @@ public class SFReport extends SFODataObject { @SerializedName("EmailToNotify") private String EmailToNotify; + /** + * The Account ID associated with this Report + */ public String getAccountId() { return this.AccountId; } + /** + * The Account ID associated with this Report + */ public void setAccountId(String accountid) { this.AccountId = accountid; } + /** + * The name the Report will appear under in the Reporting UI + */ public String getTitle() { return this.Title; } + /** + * The name the Report will appear under in the Reporting UI + */ public void setTitle(String title) { this.Title = title; } + /** + * Access, Activity, Storage, Messaging, BandwidthDetail, or BandwidthSummary + */ public SFSafeEnum getReportType() { return this.ReportType; } + /** + * Access, Activity, Storage, Messaging, BandwidthDetail, or BandwidthSummary + */ public void setReportType(SFSafeEnum reporttype) { this.ReportType = reporttype; } + /** + * Account, Folder, or User + */ public SFSafeEnum getObjectType() { return this.ObjectType; } + /** + * Account, Folder, or User + */ public void setObjectType(SFSafeEnum objecttype) { this.ObjectType = objecttype; } + /** + * If ObjectType is specified, this is the Id of the object to run the Report against + */ public String getObjectId() { return this.ObjectId; } + /** + * If ObjectType is specified, this is the Id of the object to run the Report against + */ public void setObjectId(String objectid) { this.ObjectId = objectid; } + /** + * (For non-Access reports) Specific, Today, Yesterday, ThisWeek, LastWeek, ThisMonth, LastMonth, or Last30Days + */ public SFSafeEnum getDateOption() { return this.DateOption; } + /** + * (For non-Access reports) Specific, Today, Yesterday, ThisWeek, LastWeek, ThisMonth, LastMonth, or Last30Days + */ public void setDateOption(SFSafeEnum dateoption) { this.DateOption = dateoption; } + /** + * (For Activity reports) A comma-delimited list of Login, LoginFail, LoginLocked, Download, View, WatermarkDownload, Upload, ZipUpload, Item_Delete, Item_Edit, Move, Item_Restore, NewFolder, NewNote, NewLink, DLP_Scan_Accept, DLP_Scan_Reject, DLP_Share_Allow, DLP_Share_Deny, Item_Archive, TFA_Login, TFA_LoginFail, TFA_InvalidCode, LoginFail_OAuthTokenExpired + */ public String getActivityTypes() { return this.ActivityTypes; } + /** + * (For Activity reports) A comma-delimited list of Login, LoginFail, LoginLocked, Download, View, WatermarkDownload, Upload, ZipUpload, Item_Delete, Item_Edit, Move, Item_Restore, NewFolder, NewNote, NewLink, DLP_Scan_Accept, DLP_Scan_Reject, DLP_Share_Allow, DLP_Share_Deny, Item_Archive, TFA_Login, TFA_LoginFail, TFA_InvalidCode, LoginFail_OAuthTokenExpired + */ public void setActivityTypes(String activitytypes) { this.ActivityTypes = activitytypes; } /** - * The Start Date of the range the ReportRecord will be run against + * If Specific is the DateOption, the beginning of the date range to report on */ public Date getStartDate() { return this.StartDate; } /** - * The Start Date of the range the ReportRecord will be run against + * If Specific is the DateOption, the beginning of the date range to report on */ public void setStartDate(Date startdate) { this.StartDate = startdate; } /** - * The End Date of the range the ReportRecord will be run against + * If specific is the DateOption, the end of the data range to report on */ public Date getEndDate() { return this.EndDate; } /** - * The End Date of the range the ReportRecord will be run against + * If specific is the DateOption, the end of the data range to report on */ public void setEndDate(Date enddate) { this.EndDate = enddate; } + /** + * The last time this Report was run + */ public Date getLastRunDate() { return this.LastRunDate; } + /** + * The last time this Report was run + */ public void setLastRunDate(Date lastrundate) { this.LastRunDate = lastrundate; } + /** + * True if the Report should run regularly + */ public Boolean getIsRecurring() { return this.IsRecurring; } + /** + * True if the Report should run regularly + */ public void setIsRecurring(Boolean isrecurring) { this.IsRecurring = isrecurring; } + /** + * Should match IsRecurring + */ public Boolean getIsScheduled() { return this.IsScheduled; } + /** + * Should match IsRecurring + */ public void setIsScheduled(Boolean isscheduled) { this.IsScheduled = isscheduled; } + /** + * If the ObjectType selected is Folder, whether or not subfolders should be included in the Report + */ public Boolean getIncludeSubFolders() { return this.IncludeSubFolders; } + /** + * If the ObjectType selected is Folder, whether or not subfolders should be included in the Report + */ public void setIncludeSubFolders(Boolean includesubfolders) { this.IncludeSubFolders = includesubfolders; } + /** + * True if the result of this Report should be directly saved to a ShareFile folder + */ public Boolean getSaveToFolder() { return this.SaveToFolder; } + /** + * True if the result of this Report should be directly saved to a ShareFile folder + */ public void setSaveToFolder(Boolean savetofolder) { this.SaveToFolder = savetofolder; } + /** + * If SaveToFolder is true, the format the Report should be saved in + */ public String getSaveFormat() { return this.SaveFormat; } + /** + * If SaveToFolder is true, the format the Report should be saved in + */ public void setSaveFormat(String saveformat) { this.SaveFormat = saveformat; } + /** + * If SaveToFolder is true, the Id of the folder the Report should be saved in + */ public String getSaveFolderId() { return this.SaveFolderId; } + /** + * If SaveToFolder is true, the Id of the folder the Report should be saved in + */ public void setSaveFolderId(String savefolderid) { this.SaveFolderId = savefolderid; } + /** + * The Item object representing the folder selected with SaveFolderId + */ public SFItem getSaveFolder() { return this.SaveFolder; } + /** + * The Item object representing the folder selected with SaveFolderId + */ public void setSaveFolder(SFItem savefolder) { this.SaveFolder = savefolder; } + /** + * The creator of the report + */ public SFUser getCreator() { return this.Creator; } + /** + * The creator of the report + */ public void setCreator(SFUser creator) { this.Creator = creator; } + /** + * The user ID of the creator of the Report + */ public String getCreatorId() { return this.CreatorId; } + /** + * The user ID of the creator of the Report + */ public void setCreatorId(String creatorid) { this.CreatorId = creatorid; } + /** + * An expandable property that includes all the ReportRecord objects associated with this Report + */ public ArrayList getRecords() { return this.Records; } + /** + * An expandable property that includes all the ReportRecord objects associated with this Report + */ public void setRecords(ArrayList records) { this.Records = records; } + /** + * When this Report was originally created + */ public Date getCreateDate() { return this.CreateDate; } + /** + * When this Report was originally created + */ public void setCreateDate(Date createdate) { this.CreateDate = createdate; } + /** + * If this Report is scheduled and recurring, when the Report should be run again - Once, Daily, Weekly, or Monthly + */ public SFSafeEnum getFrequency() { return this.Frequency; } + /** + * If this Report is scheduled and recurring, when the Report should be run again - Once, Daily, Weekly, or Monthly + */ public void setFrequency(SFSafeEnum frequency) { this.Frequency = frequency; } + /** + * If the Report is scheduled to run weekly, the day of the week to run on (Sunday is 0, Saturday is 6) + */ public Integer getDayOfWeek() { return this.DayOfWeek; } + /** + * If the Report is scheduled to run weekly, the day of the week to run on (Sunday is 0, Saturday is 6) + */ public void setDayOfWeek(Integer dayofweek) { this.DayOfWeek = dayofweek; } + /** + * If the Report is scheduled to run monthly, the day of the month to run on + */ public Integer getDayOfMonth() { return this.DayOfMonth; } + /** + * If the Report is scheduled to run monthly, the day of the month to run on + */ public void setDayOfMonth(Integer dayofmonth) { this.DayOfMonth = dayofmonth; } + /** + * If true, the Report will send an email when it finishes executing + */ public Boolean getEmailNotice() { return this.EmailNotice; } + /** + * If true, the Report will send an email when it finishes executing + */ public void setEmailNotice(Boolean emailnotice) { this.EmailNotice = emailnotice; } + /** + * If EmailNotice is true, the email address to notify + */ public String getEmailToNotify() { return this.EmailToNotify; } + /** + * If EmailNotice is true, the email address to notify + */ public void setEmailToNotify(String emailtonotify) { this.EmailToNotify = emailtonotify; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportDateOption.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportDateOption.java index 9fd50de..5a52b45 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportDateOption.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportDateOption.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportObjectType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportObjectType.java index 9e1963c..f652221 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportObjectType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportObjectType.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRecord.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRecord.java index a56f86e..134b1d3 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRecord.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRecord.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRunFrequency.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRunFrequency.java index 13fca45..9a6b3a3 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRunFrequency.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRunFrequency.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRunStatus.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRunStatus.java index 4f011b9..cde8e4e 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRunStatus.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportRunStatus.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportType.java index faea41a..c193435 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReportType.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRequireSubdomainResult.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRequireSubdomainResult.java index 4091f38..4915d0b 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRequireSubdomainResult.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRequireSubdomainResult.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -29,10 +29,16 @@ public class SFRequireSubdomainResult extends SFODataObject { @SerializedName("RequireSubdomain") private Boolean RequireSubdomain; + /** + * Indicates if subdomain is required. + */ public Boolean getRequireSubdomain() { return this.RequireSubdomain; } + /** + * Indicates if subdomain is required. + */ public void setRequireSubdomain(Boolean requiresubdomain) { this.RequireSubdomain = requiresubdomain; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRequireWebPopResult.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRequireWebPopResult.java index f22d2ab..ce819d3 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRequireWebPopResult.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRequireWebPopResult.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -29,10 +29,16 @@ public class SFRequireWebPopResult extends SFODataObject { @SerializedName("RequireWebPop") private Boolean RequireWebPop; + /** + * Indicates if WebPop is required for authentication. + */ public Boolean getRequireWebPop() { return this.RequireWebPop; } + /** + * Indicates if WebPop is required for authentication. + */ public void setRequireWebPop(Boolean requirewebpop) { this.RequireWebPop = requirewebpop; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFResetPasswordRequest.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFResetPasswordRequest.java new file mode 100644 index 0000000..d6e066b --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFResetPasswordRequest.java @@ -0,0 +1,67 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFResetPasswordRequest extends SFODataObject { + + @SerializedName("Token") + private String Token; + @SerializedName("Password") + private String Password; + @SerializedName("Subdomain") + private String Subdomain; + @SerializedName("Tool") + private String Tool; + + public String getToken() { + return this.Token; + } + + public void setToken(String token) { + this.Token = token; + } + public String getPassword() { + return this.Password; + } + + public void setPassword(String password) { + this.Password = password; + } + public String getSubdomain() { + return this.Subdomain; + } + + public void setSubdomain(String subdomain) { + this.Subdomain = subdomain; + } + public String getTool() { + return this.Tool; + } + + public void setTool(String tool) { + this.Tool = tool; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSFTool.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSFTool.java index 8e04746..16ac687 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSFTool.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSFTool.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSSOAccountProvider.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSSOAccountProvider.java index 1a1f410..b342f6e 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSSOAccountProvider.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSSOAccountProvider.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSSOInfo.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSSOInfo.java index 355d3d0..95e614f 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSSOInfo.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSSOInfo.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -33,24 +33,42 @@ public class SFSSOInfo extends SFODataObject { @SerializedName("ApiControlPlane") private String ApiControlPlane; + /** + * Collection of entries + */ public ArrayList getInfo() { return this.Info; } + /** + * Collection of entries + */ public void setInfo(ArrayList info) { this.Info = info; } + /** + * Top level domain for ShareFile application + */ public String getAppControlPlane() { return this.AppControlPlane; } + /** + * Top level domain for ShareFile application + */ public void setAppControlPlane(String appcontrolplane) { this.AppControlPlane = appcontrolplane; } + /** + * Top level domain for ShareFile API + */ public String getApiControlPlane() { return this.ApiControlPlane; } + /** + * Top level domain for ShareFile API + */ public void setApiControlPlane(String apicontrolplane) { this.ApiControlPlane = apicontrolplane; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSSOInfoEntry.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSSOInfoEntry.java index d6c95d3..6a02b3e 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSSOInfoEntry.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSSOInfoEntry.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -31,17 +31,29 @@ public class SFSSOInfoEntry extends SFODataObject { @SerializedName("Value") private String Value; + /** + * Key + */ public String getKey() { return this.Key; } + /** + * Key + */ public void setKey(String key) { this.Key = key; } + /** + * Value + */ public String getValue() { return this.Value; } + /** + * Value + */ public void setValue(String value) { this.Value = value; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSalesTaxQuote.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSalesTaxQuote.java index f547663..5fc90ed 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSalesTaxQuote.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSalesTaxQuote.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -33,24 +33,42 @@ public class SFSalesTaxQuote extends SFODataObject { @SerializedName("ErrorMessage") private String ErrorMessage; + /** + * Tax rate used to calculate the Total Tax, in decimal form, e.g, 7% is 0.07 + */ public Double getTaxRate() { return this.TaxRate; } + /** + * Tax rate used to calculate the Total Tax, in decimal form, e.g, 7% is 0.07 + */ public void setTaxRate(Double taxrate) { this.TaxRate = taxrate; } + /** + * Total Tax quoted, in $US + */ public Double getTotalTax() { return this.TotalTax; } + /** + * Total Tax quoted, in $US + */ public void setTotalTax(Double totaltax) { this.TotalTax = totaltax; } + /** + * If Tax could not be calculated, this property will provide a message + */ public String getErrorMessage() { return this.ErrorMessage; } + /** + * If Tax could not be calculated, this property will provide a message + */ public void setErrorMessage(String errormessage) { this.ErrorMessage = errormessage; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchQuery.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchQuery.java index 6fade38..7e95e65 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchQuery.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchQuery.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchResult.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchResult.java index 8fa81a0..b0a9c03 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchResult.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchResult.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -53,7 +53,7 @@ public class SFSearchResult extends SFODataObject { @SerializedName("CreatorLastName") private String CreatorLastName; @SerializedName("CreationDate") - private String CreationDate; + private Date CreationDate; @SerializedName("Details") private String Details; @SerializedName("MD5") @@ -170,11 +170,11 @@ public String getCreatorLastName() { public void setCreatorLastName(String creatorlastname) { this.CreatorLastName = creatorlastname; } - public String getCreationDate() { + public Date getCreationDate() { return this.CreationDate; } - public void setCreationDate(String creationdate) { + public void setCreationDate(Date creationdate) { this.CreationDate = creationdate; } public String getDetails() { diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchResults.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchResults.java index 61265a5..d806c95 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchResults.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchResults.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSecurityQuestion.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSecurityQuestion.java index 8c5aa10..4521a6d 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSecurityQuestion.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSecurityQuestion.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -30,6 +30,8 @@ public class SFSecurityQuestion extends SFODataObject { private String Question; @SerializedName("Answer") private String Answer; + @SerializedName("IsResetRequired") + private Boolean IsResetRequired; public String getQuestion() { return this.Question; @@ -45,5 +47,12 @@ public String getAnswer() { public void setAnswer(String answer) { this.Answer = answer; } + public Boolean getIsResetRequired() { + return this.IsResetRequired; + } + + public void setIsResetRequired(Boolean isresetrequired) { + this.IsResetRequired = isresetrequired; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSentNotification.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSentNotification.java new file mode 100644 index 0000000..5d91384 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSentNotification.java @@ -0,0 +1,58 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFSentNotification extends SFODataObject { + + @SerializedName("DateSent") + private Date DateSent; + @SerializedName("Subject") + private String Subject; + @SerializedName("To") + private String To; + + public Date getDateSent() { + return this.DateSent; + } + + public void setDateSent(Date datesent) { + this.DateSent = datesent; + } + public String getSubject() { + return this.Subject; + } + + public void setSubject(String subject) { + this.Subject = subject; + } + public String getTo() { + return this.To; + } + + public void setTo(String to) { + this.To = to; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFService.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFService.java index bb56f81..e7ecc9f 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFService.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFService.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -30,6 +30,10 @@ public class SFService extends SFODataObject { private String AddOnCode; @SerializedName("Licenses") private Integer Licenses; + @SerializedName("PricePerLicense") + private Double PricePerLicense; + @SerializedName("PlanAddonBundleId") + private Integer PlanAddonBundleId; public String getAddOnCode() { return this.AddOnCode; @@ -45,5 +49,25 @@ public Integer getLicenses() { public void setLicenses(Integer licenses) { this.Licenses = licenses; } + /** + * Unit price per license, per billing cycle + */ + public Double getPricePerLicense() { + return this.PricePerLicense; + } + + /** + * Unit price per license, per billing cycle + */ + public void setPricePerLicense(Double priceperlicense) { + this.PricePerLicense = priceperlicense; + } + public Integer getPlanAddonBundleId() { + return this.PlanAddonBundleId; + } + + public void setPlanAddonBundleId(Integer planaddonbundleid) { + this.PlanAddonBundleId = planaddonbundleid; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFServicesCollection.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFServicesCollection.java index 3c998f1..d5df6d4 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFServicesCollection.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFServicesCollection.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -32,6 +32,8 @@ public class SFServicesCollection extends SFODataObject { private SFService ShareConnect; @SerializedName("ShareFileLegal") private SFService ShareFileLegal; + @SerializedName("Podio") + private SFService Podio; /** * RightSignature account service @@ -72,5 +74,18 @@ public SFService getShareFileLegal() { public void setShareFileLegal(SFService sharefilelegal) { this.ShareFileLegal = sharefilelegal; } + /** + * Podio account service + */ + public SFService getPodio() { + return this.Podio; + } + + /** + * Podio account service + */ + public void setPodio(SFService podio) { + this.Podio = podio; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSession.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSession.java index e0cf7c0..7020933 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSession.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSession.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShare.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShare.java index e118540..1320857 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShare.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShare.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -98,123 +98,239 @@ public class SFShare extends SFODataObject { private SFShareSettings Settings; @SerializedName("ShareAccessRight") private SFShareAccessRight ShareAccessRight; - + @SerializedName("IrmProtected") + private Boolean IrmProtected; + + /** + * When a Share is sent to multiple users, with RequireLogin or RequireUserInfo set, then a different + * Share Alias is created for each user. The email ShareFile sends to these users will contain different + * AliasIDs, allowing ShareFile to track the user activity on the share. + * For anonymous Shares, the AliasID will be the same as the Share ID. + */ public String getAliasID() { return this.AliasID; } + /** + * When a Share is sent to multiple users, with RequireLogin or RequireUserInfo set, then a different + * Share Alias is created for each user. The email ShareFile sends to these users will contain different + * AliasIDs, allowing ShareFile to track the user activity on the share. + * For anonymous Shares, the AliasID will be the same as the Share ID. + */ public void setAliasID(String aliasid) { this.AliasID = aliasid; } + /** + * Either "Send" or "Request". Send Shares are used to Send files and folders to the specified users. Request + * shares are used to allow users to upload files to the share owner chosen location. + */ public SFSafeEnum getShareType() { return this.ShareType; } + /** + * Either "Send" or "Request". Send Shares are used to Send files and folders to the specified users. Request + * shares are used to allow users to upload files to the share owner chosen location. + */ public void setShareType(SFSafeEnum sharetype) { this.ShareType = sharetype; } + /** + * Share title + */ public String getTitle() { return this.Title; } + /** + * Share title + */ public void setTitle(String title) { this.Title = title; } + /** + * Flag to indicate if ShareFile has sent email messages for this Share + */ public Boolean getHasSentMessage() { return this.HasSentMessage; } + /** + * Flag to indicate if ShareFile has sent email messages for this Share + */ public void setHasSentMessage(Boolean hassentmessage) { this.HasSentMessage = hassentmessage; } + /** + * Subject of Share email message + */ public String getSentMessageTitle() { return this.SentMessageTitle; } + /** + * Subject of Share email message + */ public void setSentMessageTitle(String sentmessagetitle) { this.SentMessageTitle = sentmessagetitle; } + /** + * If set, only authenticated users can download files from this share. + */ public Boolean getRequireLogin() { return this.RequireLogin; } + /** + * If set, only authenticated users can download files from this share. + */ public void setRequireLogin(Boolean requirelogin) { this.RequireLogin = requirelogin; } + /** + * If set, users must provide Name, Email and Company information to download files from the share. + */ public Boolean getRequireUserInfo() { return this.RequireUserInfo; } + /** + * If set, users must provide Name, Email and Company information to download files from the share. + */ public void setRequireUserInfo(Boolean requireuserinfo) { this.RequireUserInfo = requireuserinfo; } + /** + * Folder location that contain the share files (Send); or the folder were files will be uploaded to + * (Request). + */ public SFItem getParent() { return this.Parent; } + /** + * Folder location that contain the share files (Send); or the folder were files will be uploaded to + * (Request). + */ public void setParent(SFItem parent) { this.Parent = parent; } + /** + * User that created this Share. + */ public SFUser getCreator() { return this.Creator; } + /** + * User that created this Share. + */ public void setCreator(SFUser creator) { this.Creator = creator; } + /** + * User given permission to use this share - used for Aliases. + */ public SFUser getUser() { return this.User; } + /** + * User given permission to use this share - used for Aliases. + */ public void setUser(SFUser user) { this.User = user; } + /** + * List of shared Items (for Send Shares only) + */ public ArrayList getItems() { return this.Items; } + /** + * List of shared Items (for Send Shares only) + */ public void setItems(ArrayList items) { this.Items = items; } + /** + * Date the share was created + */ public Date getCreationDate() { return this.CreationDate; } + /** + * Date the share was created + */ public void setCreationDate(Date creationdate) { this.CreationDate = creationdate; } + /** + * Date the share expires + */ public Date getExpirationDate() { return this.ExpirationDate; } + /** + * Date the share expires + */ public void setExpirationDate(Date expirationdate) { this.ExpirationDate = expirationdate; } + /** + * Maximum number of downloads each user can perform. + */ public Integer getMaxDownloads() { return this.MaxDownloads; } + /** + * Maximum number of downloads each user can perform. + */ public void setMaxDownloads(Integer maxdownloads) { this.MaxDownloads = maxdownloads; } + /** + * Total number of times a share has been downloaded by a user. + */ public Integer getTotalDownloads() { return this.TotalDownloads; } + /** + * Total number of times a share has been downloaded by a user. + */ public void setTotalDownloads(Integer totaldownloads) { this.TotalDownloads = totaldownloads; } + /** + * Used for Virtual Data Room accounts - indicates the files in the share can only be + * downloaded with an applied watermark. + */ public Boolean getIsViewOnly() { return this.IsViewOnly; } + /** + * Used for Virtual Data Room accounts - indicates the files in the share can only be + * downloaded with an applied watermark. + */ public void setIsViewOnly(Boolean isviewonly) { this.IsViewOnly = isviewonly; } + /** + * User activity on this share will be tracked up to this date. + */ public Date getTrackUntilDate() { return this.TrackUntilDate; } + /** + * User activity on this share will be tracked up to this date. + */ public void setTrackUntilDate(Date trackuntildate) { this.TrackUntilDate = trackuntildate; } @@ -239,17 +355,29 @@ public Date getLastDateSent() { public void setLastDateSent(Date lastdatesent) { this.LastDateSent = lastdatesent; } + /** + * Indicates whether or not this Share has been downloaded + */ public Boolean getIsConsumed() { return this.IsConsumed; } + /** + * Indicates whether or not this Share has been downloaded + */ public void setIsConsumed(Boolean isconsumed) { this.IsConsumed = isconsumed; } + /** + * Indicates whether the contents of this share have been viewed by a valid, authenticated recipient + */ public Boolean getIsRead() { return this.IsRead; } + /** + * Indicates whether the contents of this share have been viewed by a valid, authenticated recipient + */ public void setIsRead(Boolean isread) { this.IsRead = isread; } @@ -274,52 +402,96 @@ public String getSendMethod() { public void setSendMethod(String sendmethod) { this.SendMethod = sendmethod; } + /** + * When enabled the items are identified by stream IDs instead of item IDs. + * Applies to Send Shares only. + */ public Boolean getUsesStreamIDs() { return this.UsesStreamIDs; } + /** + * When enabled the items are identified by stream IDs instead of item IDs. + * Applies to Send Shares only. + */ public void setUsesStreamIDs(Boolean usesstreamids) { this.UsesStreamIDs = usesstreamids; } + /** + * Uri to access the share through the Web portal + */ public URI getUri() { return this.Uri; } + /** + * Uri to access the share through the Web portal + */ public void setUri(URI uri) { this.Uri = uri; } + /** + * List of users that have access to this share. + */ public ArrayList getRecipients() { return this.Recipients; } + /** + * List of users that have access to this share. + */ public void setRecipients(ArrayList recipients) { this.Recipients = recipients; } + /** + * The Storage Zone that contains this Share. + */ public SFZone getZone() { return this.Zone; } + /** + * The Storage Zone that contains this Share. + */ public void setZone(SFZone zone) { this.Zone = zone; } + /** + * HMAC Signature for the Share data + */ public String getSignature() { return this.Signature; } + /** + * HMAC Signature for the Share data + */ public void setSignature(String signature) { this.Signature = signature; } + /** + * Defines whether the request to retrieve Share Items is to be navigated to a remote endpoint. + */ public Boolean getHasRemoteChildren() { return this.HasRemoteChildren; } + /** + * Defines whether the request to retrieve Share Items is to be navigated to a remote endpoint. + */ public void setHasRemoteChildren(Boolean hasremotechildren) { this.HasRemoteChildren = hasremotechildren; } + /** + * Redirection endpoint for this Share. + */ public SFRedirection getRedirection() { return this.Redirection; } + /** + * Redirection endpoint for this Share. + */ public void setRedirection(SFRedirection redirection) { this.Redirection = redirection; } @@ -330,26 +502,57 @@ public SFSafeEnum getShareSubType() { public void setShareSubType(SFSafeEnum sharesubtype) { this.ShareSubType = sharesubtype; } + /** + * Shared item history. + */ public ArrayList getShareItemHistory() { return this.ShareItemHistory; } + /** + * Shared item history. + */ public void setShareItemHistory(ArrayList shareitemhistory) { this.ShareItemHistory = shareitemhistory; } + /** + * Current Settings for the Share + */ public SFShareSettings getSettings() { return this.Settings; } + /** + * Current Settings for the Share + */ public void setSettings(SFShareSettings settings) { this.Settings = settings; } + /** + * Type of the Share + */ public SFShareAccessRight getShareAccessRight() { return this.ShareAccessRight; } + /** + * Type of the Share + */ public void setShareAccessRight(SFShareAccessRight shareaccessright) { this.ShareAccessRight = shareaccessright; } + /** + * Flag determining whether the share is protected through IRM (Information Rights Management) + */ + public Boolean getIrmProtected() { + return this.IrmProtected; + } + + /** + * Flag determining whether the share is protected through IRM (Information Rights Management) + */ + public void setIrmProtected(Boolean irmprotected) { + this.IrmProtected = irmprotected; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareAccessRight.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareAccessRight.java index 1e70c3c..62ad52a 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareAccessRight.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareAccessRight.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareAccessRightType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareAccessRightType.java index df8baa2..eaa8657 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareAccessRightType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareAccessRightType.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareActionType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareActionType.java index 962eb4b..488c28c 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareActionType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareActionType.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareAlias.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareAlias.java index a91fa73..e777b2c 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareAlias.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareAlias.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -43,52 +43,94 @@ public class SFShareAlias extends SFODataObject { @SerializedName("Uri") private URI Uri; + /** + * User to whom the share is associated. + */ public SFUser getUser() { return this.User; } + /** + * User to whom the share is associated. + */ public void setUser(SFUser user) { this.User = user; } + /** + * Share + */ public SFShare getShare() { return this.Share; } + /** + * Share + */ public void setShare(SFShare share) { this.Share = share; } + /** + * Email + */ public String getEmail() { return this.Email; } + /** + * Email + */ public void setEmail(String email) { this.Email = email; } + /** + * Number of downloads + */ public Integer getDownloads() { return this.Downloads; } + /** + * Number of downloads + */ public void setDownloads(Integer downloads) { this.Downloads = downloads; } + /** + * IsConsumed + */ public Boolean getIsConsumed() { return this.IsConsumed; } + /** + * IsConsumed + */ public void setIsConsumed(Boolean isconsumed) { this.IsConsumed = isconsumed; } + /** + * IsArchived + */ public Boolean getIsArchived() { return this.IsArchived; } + /** + * IsArchived + */ public void setIsArchived(Boolean isarchived) { this.IsArchived = isarchived; } + /** + * IsRead + */ public Boolean getIsRead() { return this.IsRead; } + /** + * IsRead + */ public void setIsRead(Boolean isread) { this.IsRead = isread; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareFileAccessRights.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareFileAccessRights.java index 12c844e..682ae49 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareFileAccessRights.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareFileAccessRights.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareItemHistory.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareItemHistory.java index 32a8aff..f617c4f 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareItemHistory.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareItemHistory.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareRequestParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareRequestParams.java index cedcb75..c8875d6 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareRequestParams.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareRequestParams.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareResendParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareResendParams.java index 957416f..a0b8a8e 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareResendParams.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareResendParams.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSendParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSendParams.java index 820ff36..35910e3 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSendParams.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSendParams.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSettings.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSettings.java index 2399601..834f528 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSettings.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSettings.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -29,10 +29,16 @@ public class SFShareSettings extends SFODataObject { @SerializedName("NotifyOnUse") private Boolean NotifyOnUse; + /** + * Notify the creator when Share is used. + */ public Boolean getNotifyOnUse() { return this.NotifyOnUse; } + /** + * Notify the creator when Share is used. + */ public void setNotifyOnUse(Boolean notifyonuse) { this.NotifyOnUse = notifyonuse; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSubType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSubType.java index 9b74850..fe37b40 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSubType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareSubType.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareType.java index 199d67b..7e5b481 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareType.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSimpleQuery.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSimpleQuery.java index 99b3b9f..11f7e02 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSimpleQuery.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSimpleQuery.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSimpleSearchQuery.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSimpleSearchQuery.java index 5b8fa2d..2cd9b3c 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSimpleSearchQuery.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSimpleSearchQuery.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSortDirection.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSortDirection.java index 5140254..41cc8c0 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSortDirection.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSortDirection.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSortField.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSortField.java index 8d99226..a96aaaa 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSortField.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSortField.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFStorageCenter.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFStorageCenter.java index 84002bb..6e8c8dc 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFStorageCenter.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFStorageCenter.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -146,10 +146,16 @@ public Date getLastPingBack() { public void setLastPingBack(Date lastpingback) { this.LastPingBack = lastpingback; } + /** + * List of metadata objects associated with this zone + */ public ArrayList getMetadata() { return this.Metadata; } + /** + * List of metadata objects associated with this zone + */ public void setMetadata(ArrayList metadata) { this.Metadata = metadata; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFStoragePolicy.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFStoragePolicy.java new file mode 100644 index 0000000..03f202d --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFStoragePolicy.java @@ -0,0 +1,46 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFStoragePolicy extends SFPolicy { + + @SerializedName("Settings") + private SFStorageSettings Settings; + + /** + * The settings managed for this Policy + */ + public SFStorageSettings getSettings() { + return this.Settings; + } + + /** + * The settings managed for this Policy + */ + public void setSettings(SFStorageSettings settings) { + this.Settings = settings; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFStorageSettings.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFStorageSettings.java new file mode 100644 index 0000000..9c661f5 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFStorageSettings.java @@ -0,0 +1,40 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFStorageSettings extends SFODataObject { + + @SerializedName("StorageZoneId") + private String StorageZoneId; + + public String getStorageZoneId() { + return this.StorageZoneId; + } + + public void setStorageZoneId(String storagezoneid) { + this.StorageZoneId = storagezoneid; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSubdomainAvailabilityResult.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSubdomainAvailabilityResult.java new file mode 100644 index 0000000..495e41e --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSubdomainAvailabilityResult.java @@ -0,0 +1,46 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFSubdomainAvailabilityResult extends SFODataObject { + + @SerializedName("IsSubdomainAvailable") + private Boolean IsSubdomainAvailable; + + /** + * Indicates if subdomain is available to claim for an account + */ + public Boolean getIsSubdomainAvailable() { + return this.IsSubdomainAvailable; + } + + /** + * Indicates if subdomain is available to claim for an account + */ + public void setIsSubdomainAvailable(Boolean issubdomainavailable) { + this.IsSubdomainAvailable = issubdomainavailable; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSubscribedResourceEvent.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSubscribedResourceEvent.java new file mode 100644 index 0000000..76e34e6 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSubscribedResourceEvent.java @@ -0,0 +1,61 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFSubscribedResourceEvent extends SFODataObject { + + @SerializedName("ResourceType") + private String ResourceType; + @SerializedName("OperationName") + private String OperationName; + + /** + * The Event Resource Type + */ + public String getResourceType() { + return this.ResourceType; + } + + /** + * The Event Resource Type + */ + public void setResourceType(String resourcetype) { + this.ResourceType = resourcetype; + } + /** + * The Event Operation Name + */ + public String getOperationName() { + return this.OperationName; + } + + /** + * The Event Operation Name + */ + public void setOperationName(String operationname) { + this.OperationName = operationname; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSubscriptionContext.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSubscriptionContext.java new file mode 100644 index 0000000..a7b8c87 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSubscriptionContext.java @@ -0,0 +1,61 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFSubscriptionContext extends SFODataObject { + + @SerializedName("ResourceType") + private String ResourceType; + @SerializedName("ResourceId") + private String ResourceId; + + /** + * The Context Resource Type + */ + public String getResourceType() { + return this.ResourceType; + } + + /** + * The Context Resource Type + */ + public void setResourceType(String resourcetype) { + this.ResourceType = resourcetype; + } + /** + * The Context Resource Id, Can only be empty for Account Context + */ + public String getResourceId() { + return this.ResourceId; + } + + /** + * The Context Resource Id, Can only be empty for Account Context + */ + public void setResourceId(String resourceid) { + this.ResourceId = resourceid; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSymbolicLink.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSymbolicLink.java index 30426b6..3b552c8 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSymbolicLink.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSymbolicLink.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTenantAccountCreationParameters.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTenantAccountCreationParameters.java new file mode 100644 index 0000000..31d497d --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTenantAccountCreationParameters.java @@ -0,0 +1,91 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFTenantAccountCreationParameters extends SFODataObject { + + @SerializedName("PartnerAccountId") + private String PartnerAccountId; + @SerializedName("TenantAccountId") + private String TenantAccountId; + @SerializedName("TenantAdminUserId") + private String TenantAdminUserId; + @SerializedName("MultiTenantZoneId") + private String MultiTenantZoneId; + + /** + * Account to be assigned as Partner + */ + public String getPartnerAccountId() { + return this.PartnerAccountId; + } + + /** + * Account to be assigned as Partner + */ + public void setPartnerAccountId(String partneraccountid) { + this.PartnerAccountId = partneraccountid; + } + /** + * AccountId to be added as Tenant - Required + */ + public String getTenantAccountId() { + return this.TenantAccountId; + } + + /** + * AccountId to be added as Tenant - Required + */ + public void setTenantAccountId(String tenantaccountid) { + this.TenantAccountId = tenantaccountid; + } + /** + * User from Partner Account to be added as Admin for the Tenant - Required + */ + public String getTenantAdminUserId() { + return this.TenantAdminUserId; + } + + /** + * User from Partner Account to be added as Admin for the Tenant - Required + */ + public void setTenantAdminUserId(String tenantadminuserid) { + this.TenantAdminUserId = tenantadminuserid; + } + /** + * MultiTenantZone to be added to Tenant - Optional + */ + public String getMultiTenantZoneId() { + return this.MultiTenantZoneId; + } + + /** + * MultiTenantZone to be added to Tenant - Optional + */ + public void setMultiTenantZoneId(String multitenantzoneid) { + this.MultiTenantZoneId = multitenantzoneid; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTenantZoneUsageReport.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTenantZoneUsageReport.java index fb673fa..ac626a8 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTenantZoneUsageReport.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTenantZoneUsageReport.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFToolInformation.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFToolInformation.java index e0dcee3..33c36f6 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFToolInformation.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFToolInformation.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -31,17 +31,29 @@ public class SFToolInformation extends SFODataObject { @SerializedName("Version") private String Version; + /** + * Tool Name + */ public String getToolName() { return this.ToolName; } + /** + * Tool Name + */ public void setToolName(String toolname) { this.ToolName = toolname; } + /** + * Tool Version + */ public String getVersion() { return this.Version; } + /** + * Tool Version + */ public void setVersion(String version) { this.Version = version; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTreeMode.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTreeMode.java index 4cc7d55..3f930ef 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTreeMode.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTreeMode.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTwoFactorAuthApp.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTwoFactorAuthApp.java new file mode 100644 index 0000000..f08a83b --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTwoFactorAuthApp.java @@ -0,0 +1,91 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFTwoFactorAuthApp extends SFODataObject { + + @SerializedName("Name") + private String Name; + @SerializedName("LastLoginDate") + private Date LastLoginDate; + @SerializedName("PasscodeType") + private SFSafeEnum PasscodeType; + @SerializedName("UserId") + private String UserId; + + /** + * TFA App Name + */ + public String getName() { + return this.Name; + } + + /** + * TFA App Name + */ + public void setName(String name) { + this.Name = name; + } + /** + * Last Login Date for the TFA App + */ + public Date getLastLoginDate() { + return this.LastLoginDate; + } + + /** + * Last Login Date for the TFA App + */ + public void setLastLoginDate(Date lastlogindate) { + this.LastLoginDate = lastlogindate; + } + /** + * The type of Passcode, such as Cookie, associated with this App + */ + public SFSafeEnum getPasscodeType() { + return this.PasscodeType; + } + + /** + * The type of Passcode, such as Cookie, associated with this App + */ + public void setPasscodeType(SFSafeEnum passcodetype) { + this.PasscodeType = passcodetype; + } + /** + * User associated with the TFA App + */ + public String getUserId() { + return this.UserId; + } + + /** + * User associated with the TFA App + */ + public void setUserId(String userid) { + this.UserId = userid; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTwoFactorAuthPasscodeType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTwoFactorAuthPasscodeType.java new file mode 100644 index 0000000..b40f10b --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTwoFactorAuthPasscodeType.java @@ -0,0 +1,23 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFTwoFactorAuthPasscodeType { + OneTime, + ApplicationSpecific, + Cookie +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTypeOfTour.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTypeOfTour.java index 5a6e361..22eda3f 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTypeOfTour.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTypeOfTour.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUXMode.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUXMode.java index 3701bd2..e4f210d 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUXMode.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUXMode.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUploadMethod.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUploadMethod.java index c7e9bf7..f524922 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUploadMethod.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUploadMethod.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUploadRequestParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUploadRequestParams.java index 16273b9..54fbce2 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUploadRequestParams.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUploadRequestParams.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -66,6 +66,8 @@ public class SFUploadRequestParams extends SFODataObject { private Date ClientCreatedDate; @SerializedName("ClientModifiedDate") private Date ClientModifiedDate; + @SerializedName("BaseFileId") + private String BaseFileId; public SFSafeEnum getMethod() { return this.Method; @@ -207,5 +209,22 @@ public Date getClientModifiedDate() { public void setClientModifiedDate(Date clientmodifieddate) { this.ClientModifiedDate = clientmodifieddate; } + /** + * BaseFileId is a used to check conflict in file during File Upload. + * BaseFileId is passed by client and contains value of their local copy itemId. + * API will check if the version passed is still current or someone else has updated file since clients last read. + */ + public String getBaseFileId() { + return this.BaseFileId; + } + + /** + * BaseFileId is a used to check conflict in file during File Upload. + * BaseFileId is passed by client and contains value of their local copy itemId. + * API will check if the version passed is still current or someone else has updated file since clients last read. + */ + public void setBaseFileId(String basefileid) { + this.BaseFileId = basefileid; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUploadSpecification.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUploadSpecification.java index 42584f5..432a88b 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUploadSpecification.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUploadSpecification.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -44,6 +44,8 @@ public class SFUploadSpecification extends SFODataObject { private Long ResumeOffset; @SerializedName("ResumeFileHash") private String ResumeFileHash; + @SerializedName("MaxNumberOfThreads") + private Integer MaxNumberOfThreads; /** * The Upload method that must be used for this upload @@ -162,5 +164,18 @@ public String getResumeFileHash() { public void setResumeFileHash(String resumefilehash) { this.ResumeFileHash = resumefilehash; } + /** + * Specifies the max number of chunks that can be sent simultaneously for threaded uploads + */ + public Integer getMaxNumberOfThreads() { + return this.MaxNumberOfThreads; + } + + /** + * Specifies the max number of chunks that can be sent simultaneously for threaded uploads + */ + public void setMaxNumberOfThreads(Integer maxnumberofthreads) { + this.MaxNumberOfThreads = maxnumberofthreads; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUser.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUser.java index 981f1f4..90ca936 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUser.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUser.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -23,6 +23,7 @@ import com.citrix.sharefile.api.*; import com.citrix.sharefile.api.enumerations.*; import com.citrix.sharefile.api.models.*; +import com.citrix.sharefile.api.internal.models.*; public class SFUser extends SFPrincipal { @@ -38,8 +39,6 @@ public class SFUser extends SFPrincipal { private String FullName; @SerializedName("ReferredBy") private String ReferredBy; - @SerializedName("Notifications") - private ArrayList Notifications; @SerializedName("DefaultZone") private SFZone DefaultZone; @SerializedName("FirstName") @@ -52,6 +51,8 @@ public class SFUser extends SFPrincipal { private String FullNameShort; @SerializedName("Emails") private ArrayList Emails; + @SerializedName("EmailAddresses") + private ArrayList EmailAddresses; @SerializedName("IsConfirmed") private Boolean IsConfirmed; @SerializedName("Password") @@ -76,6 +77,14 @@ public class SFUser extends SFPrincipal { private SFUserInfo Info; @SerializedName("AffiliatedPartnerUserId") private String AffiliatedPartnerUserId; + @SerializedName("Favorites") + private ArrayList Favorites; + @SerializedName("Groups") + private ArrayList Groups; + @SerializedName("CanAccessConnectors") + private Boolean CanAccessConnectors; + @SerializedName("IsBillingContact") + private Boolean IsBillingContact; public SFAccount getAccount() { return this.Account; @@ -105,10 +114,16 @@ public Integer getContacted() { public void setContacted(Integer contacted) { this.Contacted = contacted; } + /** + * The first and last name of the user + */ public String getFullName() { return this.FullName; } + /** + * The first and last name of the user + */ public void setFullName(String fullname) { this.FullName = fullname; } @@ -119,13 +134,6 @@ public String getReferredBy() { public void setReferredBy(String referredby) { this.ReferredBy = referredby; } - public ArrayList getNotifications() { - return this.Notifications; - } - - public void setNotifications(ArrayList notifications) { - this.Notifications = notifications; - } public SFZone getDefaultZone() { return this.DefaultZone; } @@ -168,6 +176,13 @@ public ArrayList getEmails() { public void setEmails(ArrayList emails) { this.Emails = emails; } + public ArrayList getEmailAddresses() { + return this.EmailAddresses; + } + + public void setEmailAddresses(ArrayList emailaddresses) { + this.EmailAddresses = emailaddresses; + } public Boolean getIsConfirmed() { return this.IsConfirmed; } @@ -196,10 +211,16 @@ public SFUserSecurity getSecurity() { public void setSecurity(SFUserSecurity security) { this.Security = security; } + /** + * This property would be deprecated in favor of the new property 'Favorites' + */ public ArrayList getFavoriteFolders() { return this.FavoriteFolders; } + /** + * This property would be deprecated in favor of the new property 'Favorites' + */ public void setFavoriteFolders(ArrayList favoritefolders) { this.FavoriteFolders = favoritefolders; } @@ -252,5 +273,57 @@ public String getAffiliatedPartnerUserId() { public void setAffiliatedPartnerUserId(String affiliatedpartneruserid) { this.AffiliatedPartnerUserId = affiliatedpartneruserid; } + /** + * List of Favorite items associated with the user + */ + public ArrayList getFavorites() { + return this.Favorites; + } + + /** + * List of Favorite items associated with the user + */ + public void setFavorites(ArrayList favorites) { + this.Favorites = favorites; + } + /** + * List of Groups the user belongs. Only available when authenticated user and user match. + */ + public ArrayList getGroups() { + return this.Groups; + } + + /** + * List of Groups the user belongs. Only available when authenticated user and user match. + */ + public void setGroups(ArrayList groups) { + this.Groups = groups; + } + /** + * This property is true if the user can create or has access to SymbolicLinks. + */ + public Boolean getCanAccessConnectors() { + return this.CanAccessConnectors; + } + + /** + * This property is true if the user can create or has access to SymbolicLinks. + */ + public void setCanAccessConnectors(Boolean canaccessconnectors) { + this.CanAccessConnectors = canaccessconnectors; + } + /** + * Whether or not this user is the account's billing contact + */ + public Boolean getIsBillingContact() { + return this.IsBillingContact; + } + + /** + * Whether or not this user is the account's billing contact + */ + public void setIsBillingContact(Boolean isbillingcontact) { + this.IsBillingContact = isbillingcontact; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserAccessPolicy.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserAccessPolicy.java new file mode 100644 index 0000000..772de7f --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserAccessPolicy.java @@ -0,0 +1,46 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFUserAccessPolicy extends SFPolicy { + + @SerializedName("Settings") + private SFUserAccessSettings Settings; + + /** + * The settings managed for this Policy + */ + public SFUserAccessSettings getSettings() { + return this.Settings; + } + + /** + * The settings managed for this Policy + */ + public void setSettings(SFUserAccessSettings settings) { + this.Settings = settings; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserAccessSettings.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserAccessSettings.java new file mode 100644 index 0000000..2315f70 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserAccessSettings.java @@ -0,0 +1,586 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFUserAccessSettings extends SFODataObject { + + @SerializedName("CanCreateFolders") + private Boolean CanCreateFolders; + @SerializedName("CanUseFileBox") + private Boolean CanUseFileBox; + @SerializedName("CanManageUsers") + private Boolean CanManageUsers; + @SerializedName("CanAdminSharedAddressBook") + private Boolean CanAdminSharedAddressBook; + @SerializedName("CanChangePassword") + private Boolean CanChangePassword; + @SerializedName("CanManageMySettings") + private Boolean CanManageMySettings; + @SerializedName("AddToSharedAddressBook") + private Boolean AddToSharedAddressBook; + @SerializedName("CanSelectFolderZone") + private Boolean CanSelectFolderZone; + @SerializedName("CreateNetworkShareConnectors") + private Boolean CreateNetworkShareConnectors; + @SerializedName("CreateSharePointConnectors") + private Boolean CreateSharePointConnectors; + @SerializedName("CanAdminAccountSettings") + private Boolean CanAdminAccountSettings; + @SerializedName("CanAdminBranding") + private Boolean CanAdminBranding; + @SerializedName("CanAdminFileBoxAccess") + private Boolean CanAdminFileBoxAccess; + @SerializedName("CanAdminEmailMessages") + private Boolean CanAdminEmailMessages; + @SerializedName("CanAdminManageEmployees") + private Boolean CanAdminManageEmployees; + @SerializedName("CanAdminRemoteUploadForms") + private Boolean CanAdminRemoteUploadForms; + @SerializedName("CanAdminReporting") + private Boolean CanAdminReporting; + @SerializedName("CanAdminCreateSharedGroups") + private Boolean CanAdminCreateSharedGroups; + @SerializedName("CanAdminSharedDistGroups") + private Boolean CanAdminSharedDistGroups; + @SerializedName("CanAdminViewReceipts") + private Boolean CanAdminViewReceipts; + @SerializedName("CanAdminBilling") + private Boolean CanAdminBilling; + @SerializedName("CanAdminChangePlan") + private Boolean CanAdminChangePlan; + @SerializedName("CanAdminSSO") + private Boolean CanAdminSSO; + @SerializedName("CanAdminSuperGroup") + private Boolean CanAdminSuperGroup; + @SerializedName("CanAdminDelegate") + private Boolean CanAdminDelegate; + @SerializedName("CanAdminZones") + private Boolean CanAdminZones; + @SerializedName("CanAdminConnectors") + private Boolean CanAdminConnectors; + @SerializedName("CanAdminCanAdministerCustomerAccount") + private Boolean CanAdminCanAdministerCustomerAccount; + @SerializedName("CanManageAccountPolicies") + private Boolean CanManageAccountPolicies; + @SerializedName("CanUseFileDrops") + private Boolean CanUseFileDrops; + @SerializedName("CanManageFileDrops") + private Boolean CanManageFileDrops; + @SerializedName("CanManageFolderTemplates") + private Boolean CanManageFolderTemplates; + @SerializedName("CanPerformArchivedSearch") + private Boolean CanPerformArchivedSearch; + @SerializedName("CanAdminCustomWorkflows") + private Boolean CanAdminCustomWorkflows; + @SerializedName("CanSendDocumentsForSignature") + private Boolean CanSendDocumentsForSignature; + @SerializedName("CanViewSignatureDocuments") + private Boolean CanViewSignatureDocuments; + @SerializedName("CanManageSignatureTemplates") + private Boolean CanManageSignatureTemplates; + + /** + * Create root-level folders + */ + public Boolean getCanCreateFolders() { + return this.CanCreateFolders; + } + + /** + * Create root-level folders + */ + public void setCanCreateFolders(Boolean cancreatefolders) { + this.CanCreateFolders = cancreatefolders; + } + /** + * Use Personal File Box + */ + public Boolean getCanUseFileBox() { + return this.CanUseFileBox; + } + + /** + * Use Personal File Box + */ + public void setCanUseFileBox(Boolean canusefilebox) { + this.CanUseFileBox = canusefilebox; + } + /** + * Manage Client Users + */ + public Boolean getCanManageUsers() { + return this.CanManageUsers; + } + + /** + * Manage Client Users + */ + public void setCanManageUsers(Boolean canmanageusers) { + this.CanManageUsers = canmanageusers; + } + /** + * Edit the shared address book + */ + public Boolean getCanAdminSharedAddressBook() { + return this.CanAdminSharedAddressBook; + } + + /** + * Edit the shared address book + */ + public void setCanAdminSharedAddressBook(Boolean canadminsharedaddressbook) { + this.CanAdminSharedAddressBook = canadminsharedaddressbook; + } + /** + * Change his/her password + */ + public Boolean getCanChangePassword() { + return this.CanChangePassword; + } + + /** + * Change his/her password + */ + public void setCanChangePassword(Boolean canchangepassword) { + this.CanChangePassword = canchangepassword; + } + /** + * See the ‘My settings’ link on the top navigation bar + */ + public Boolean getCanManageMySettings() { + return this.CanManageMySettings; + } + + /** + * See the ‘My settings’ link on the top navigation bar + */ + public void setCanManageMySettings(Boolean canmanagemysettings) { + this.CanManageMySettings = canmanagemysettings; + } + /** + * Whether or not a user created with this policy assigned should be added to shared company address book + */ + public Boolean getAddToSharedAddressBook() { + return this.AddToSharedAddressBook; + } + + /** + * Whether or not a user created with this policy assigned should be added to shared company address book + */ + public void setAddToSharedAddressBook(Boolean addtosharedaddressbook) { + this.AddToSharedAddressBook = addtosharedaddressbook; + } + /** + * Select storage zone for root-level folders + */ + public Boolean getCanSelectFolderZone() { + return this.CanSelectFolderZone; + } + + /** + * Select storage zone for root-level folders + */ + public void setCanSelectFolderZone(Boolean canselectfolderzone) { + this.CanSelectFolderZone = canselectfolderzone; + } + /** + * Create Network Share Connectors + */ + public Boolean getCreateNetworkShareConnectors() { + return this.CreateNetworkShareConnectors; + } + + /** + * Create Network Share Connectors + */ + public void setCreateNetworkShareConnectors(Boolean createnetworkshareconnectors) { + this.CreateNetworkShareConnectors = createnetworkshareconnectors; + } + /** + * Create SharePoint Connectors + */ + public Boolean getCreateSharePointConnectors() { + return this.CreateSharePointConnectors; + } + + /** + * Create SharePoint Connectors + */ + public void setCreateSharePointConnectors(Boolean createsharepointconnectors) { + this.CreateSharePointConnectors = createsharepointconnectors; + } + /** + * Modify account-wide Settings + */ + public Boolean getCanAdminAccountSettings() { + return this.CanAdminAccountSettings; + } + + /** + * Modify account-wide Settings + */ + public void setCanAdminAccountSettings(Boolean canadminaccountsettings) { + this.CanAdminAccountSettings = canadminaccountsettings; + } + /** + * Edit Account Appearance + */ + public Boolean getCanAdminBranding() { + return this.CanAdminBranding; + } + + /** + * Edit Account Appearance + */ + public void setCanAdminBranding(Boolean canadminbranding) { + this.CanAdminBranding = canadminbranding; + } + /** + * Access other users' File Boxes and Sent Items + */ + public Boolean getCanAdminFileBoxAccess() { + return this.CanAdminFileBoxAccess; + } + + /** + * Access other users' File Boxes and Sent Items + */ + public void setCanAdminFileBoxAccess(Boolean canadminfileboxaccess) { + this.CanAdminFileBoxAccess = canadminfileboxaccess; + } + /** + * View all emails + */ + public Boolean getCanAdminEmailMessages() { + return this.CanAdminEmailMessages; + } + + /** + * View all emails + */ + public void setCanAdminEmailMessages(Boolean canadminemailmessages) { + this.CanAdminEmailMessages = canadminemailmessages; + } + /** + * Manage employee users + */ + public Boolean getCanAdminManageEmployees() { + return this.CanAdminManageEmployees; + } + + /** + * Manage employee users + */ + public void setCanAdminManageEmployees(Boolean canadminmanageemployees) { + this.CanAdminManageEmployees = canadminmanageemployees; + } + /** + * Manage remote upload forms + */ + public Boolean getCanAdminRemoteUploadForms() { + return this.CanAdminRemoteUploadForms; + } + + /** + * Manage remote upload forms + */ + public void setCanAdminRemoteUploadForms(Boolean canadminremoteuploadforms) { + this.CanAdminRemoteUploadForms = canadminremoteuploadforms; + } + /** + * Access account-wide reporting + */ + public Boolean getCanAdminReporting() { + return this.CanAdminReporting; + } + + /** + * Access account-wide reporting + */ + public void setCanAdminReporting(Boolean canadminreporting) { + this.CanAdminReporting = canadminreporting; + } + /** + * Create shared distribution groups + */ + public Boolean getCanAdminCreateSharedGroups() { + return this.CanAdminCreateSharedGroups; + } + + /** + * Create shared distribution groups + */ + public void setCanAdminCreateSharedGroups(Boolean canadmincreatesharedgroups) { + this.CanAdminCreateSharedGroups = canadmincreatesharedgroups; + } + /** + * Edit shared distribution groups + */ + public Boolean getCanAdminSharedDistGroups() { + return this.CanAdminSharedDistGroups; + } + + /** + * Edit shared distribution groups + */ + public void setCanAdminSharedDistGroups(Boolean canadminshareddistgroups) { + this.CanAdminSharedDistGroups = canadminshareddistgroups; + } + /** + * View receipts/invoices + */ + public Boolean getCanAdminViewReceipts() { + return this.CanAdminViewReceipts; + } + + /** + * View receipts/invoices + */ + public void setCanAdminViewReceipts(Boolean canadminviewreceipts) { + this.CanAdminViewReceipts = canadminviewreceipts; + } + /** + * Edit billing information + */ + public Boolean getCanAdminBilling() { + return this.CanAdminBilling; + } + + /** + * Edit billing information + */ + public void setCanAdminBilling(Boolean canadminbilling) { + this.CanAdminBilling = canadminbilling; + } + /** + * Request plan changes + */ + public Boolean getCanAdminChangePlan() { + return this.CanAdminChangePlan; + } + + /** + * Request plan changes + */ + public void setCanAdminChangePlan(Boolean canadminchangeplan) { + this.CanAdminChangePlan = canadminchangeplan; + } + /** + * Configure single sign-on settings + */ + public Boolean getCanAdminSSO() { + return this.CanAdminSSO; + } + + /** + * Configure single sign-on settings + */ + public void setCanAdminSSO(Boolean canadminsso) { + this.CanAdminSSO = canadminsso; + } + /** + * Manage Super User Group membership + */ + public Boolean getCanAdminSuperGroup() { + return this.CanAdminSuperGroup; + } + + /** + * Manage Super User Group membership + */ + public void setCanAdminSuperGroup(Boolean canadminsupergroup) { + this.CanAdminSuperGroup = canadminsupergroup; + } + /** + * Delegate admin privileges to other employee users + */ + public Boolean getCanAdminDelegate() { + return this.CanAdminDelegate; + } + + /** + * Delegate admin privileges to other employee users + */ + public void setCanAdminDelegate(Boolean canadmindelegate) { + this.CanAdminDelegate = canadmindelegate; + } + /** + * Create and manage Zones + */ + public Boolean getCanAdminZones() { + return this.CanAdminZones; + } + + /** + * Create and manage Zones + */ + public void setCanAdminZones(Boolean canadminzones) { + this.CanAdminZones = canadminzones; + } + /** + * Create and manage Connectors + */ + public Boolean getCanAdminConnectors() { + return this.CanAdminConnectors; + } + + /** + * Create and manage Connectors + */ + public void setCanAdminConnectors(Boolean canadminconnectors) { + this.CanAdminConnectors = canadminconnectors; + } + /** + * Manage Tenants + */ + public Boolean getCanAdminCanAdministerCustomerAccount() { + return this.CanAdminCanAdministerCustomerAccount; + } + + /** + * Manage Tenants + */ + public void setCanAdminCanAdministerCustomerAccount(Boolean canadmincanadministercustomeraccount) { + this.CanAdminCanAdministerCustomerAccount = canadmincanadministercustomeraccount; + } + /** + * Create and manage account policies + */ + public Boolean getCanManageAccountPolicies() { + return this.CanManageAccountPolicies; + } + + /** + * Create and manage account policies + */ + public void setCanManageAccountPolicies(Boolean canmanageaccountpolicies) { + this.CanManageAccountPolicies = canmanageaccountpolicies; + } + /** + * Can be added to file drops (drop box) + */ + public Boolean getCanUseFileDrops() { + return this.CanUseFileDrops; + } + + /** + * Can be added to file drops (drop box) + */ + public void setCanUseFileDrops(Boolean canusefiledrops) { + this.CanUseFileDrops = canusefiledrops; + } + /** + * Create and manage file drops (drop box) + */ + public Boolean getCanManageFileDrops() { + return this.CanManageFileDrops; + } + + /** + * Create and manage file drops (drop box) + */ + public void setCanManageFileDrops(Boolean canmanagefiledrops) { + this.CanManageFileDrops = canmanagefiledrops; + } + /** + * Create and manage folder templates + */ + public Boolean getCanManageFolderTemplates() { + return this.CanManageFolderTemplates; + } + + /** + * Create and manage folder templates + */ + public void setCanManageFolderTemplates(Boolean canmanagefoldertemplates) { + this.CanManageFolderTemplates = canmanagefoldertemplates; + } + /** + * Perform archived search + */ + public Boolean getCanPerformArchivedSearch() { + return this.CanPerformArchivedSearch; + } + + /** + * Perform archived search + */ + public void setCanPerformArchivedSearch(Boolean canperformarchivedsearch) { + this.CanPerformArchivedSearch = canperformarchivedsearch; + } + /** + * Create and manage custom workflows + */ + public Boolean getCanAdminCustomWorkflows() { + return this.CanAdminCustomWorkflows; + } + + /** + * Create and manage custom workflows + */ + public void setCanAdminCustomWorkflows(Boolean canadmincustomworkflows) { + this.CanAdminCustomWorkflows = canadmincustomworkflows; + } + /** + * Can send documents for signature in RightSignature + */ + public Boolean getCanSendDocumentsForSignature() { + return this.CanSendDocumentsForSignature; + } + + /** + * Can send documents for signature in RightSignature + */ + public void setCanSendDocumentsForSignature(Boolean cansenddocumentsforsignature) { + this.CanSendDocumentsForSignature = cansenddocumentsforsignature; + } + /** + * Can view all RightSignature documents + */ + public Boolean getCanViewSignatureDocuments() { + return this.CanViewSignatureDocuments; + } + + /** + * Can view all RightSignature documents + */ + public void setCanViewSignatureDocuments(Boolean canviewsignaturedocuments) { + this.CanViewSignatureDocuments = canviewsignaturedocuments; + } + /** + * Can manage RightSignature templates + */ + public Boolean getCanManageSignatureTemplates() { + return this.CanManageSignatureTemplates; + } + + /** + * Can manage RightSignature templates + */ + public void setCanManageSignatureTemplates(Boolean canmanagesignaturetemplates) { + this.CanManageSignatureTemplates = canmanagesignaturetemplates; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserAuthenticationType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserAuthenticationType.java new file mode 100644 index 0000000..7798554 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserAuthenticationType.java @@ -0,0 +1,23 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFUserAuthenticationType { + Basic, + TwoFactor, + SAML +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserBulkDowngradeRequest.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserBulkDowngradeRequest.java new file mode 100644 index 0000000..0aeda43 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserBulkDowngradeRequest.java @@ -0,0 +1,61 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFUserBulkDowngradeRequest extends SFUserBulkOperationRequest { + + @SerializedName("ReassignItemsToId") + private String ReassignItemsToId; + @SerializedName("ReassignGroupsToId") + private String ReassignGroupsToId; + + /** + * If provided, all users in this bulk operation have their items reassigned to this user id + */ + public String getReassignItemsToId() { + return this.ReassignItemsToId; + } + + /** + * If provided, all users in this bulk operation have their items reassigned to this user id + */ + public void setReassignItemsToId(String reassignitemstoid) { + this.ReassignItemsToId = reassignitemstoid; + } + /** + * If provided, all users in this bulk operation have their groups reassigned to this user id + */ + public String getReassignGroupsToId() { + return this.ReassignGroupsToId; + } + + /** + * If provided, all users in this bulk operation have their groups reassigned to this user id + */ + public void setReassignGroupsToId(String reassigngroupstoid) { + this.ReassignGroupsToId = reassigngroupstoid; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserBulkOperationRequest.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserBulkOperationRequest.java new file mode 100644 index 0000000..73143b3 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserBulkOperationRequest.java @@ -0,0 +1,46 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFUserBulkOperationRequest extends SFODataObject { + + @SerializedName("UserIds") + private ArrayList UserIds; + + /** + * List of user ids to perform this operation on + */ + public ArrayList getUserIds() { + return this.UserIds; + } + + /** + * List of user ids to perform this operation on + */ + public void setUserIds(ArrayList userids) { + this.UserIds = userids; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserConfirmRequirement.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserConfirmRequirement.java index 862debc..7cded9b 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserConfirmRequirement.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserConfirmRequirement.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -36,6 +36,10 @@ public class SFUserConfirmRequirement extends SFODataObject { private String ADUserName; @SerializedName("TempPassword") private String TempPassword; + @SerializedName("IsUnlicensedUser") + private Boolean IsUnlicensedUser; + @SerializedName("ClientUpgradeWeb") + private SFClientUpgradeWeb ClientUpgradeWeb; @SerializedName("User") private SFUser User; @@ -74,6 +78,20 @@ public String getTempPassword() { public void setTempPassword(String temppassword) { this.TempPassword = temppassword; } + public Boolean getIsUnlicensedUser() { + return this.IsUnlicensedUser; + } + + public void setIsUnlicensedUser(Boolean isunlicenseduser) { + this.IsUnlicensedUser = isunlicenseduser; + } + public SFClientUpgradeWeb getClientUpgradeWeb() { + return this.ClientUpgradeWeb; + } + + public void setClientUpgradeWeb(SFClientUpgradeWeb clientupgradeweb) { + this.ClientUpgradeWeb = clientupgradeweb; + } public SFUser getUser() { return this.User; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserConfirmationSettings.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserConfirmationSettings.java index 5f906b5..1f3e6ec 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserConfirmationSettings.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserConfirmationSettings.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -50,81 +50,151 @@ public class SFUserConfirmationSettings extends SFODataObject { private Integer EmailInterval; @SerializedName("UserNotificationLocale") private SFSafeEnum UserNotificationLocale; + @SerializedName("OAuthClientId") + private String OAuthClientId; + @SerializedName("Email") + private String Email; + /** + * First Name + */ public String getFirstName() { return this.FirstName; } + /** + * First Name + */ public void setFirstName(String firstname) { this.FirstName = firstname; } + /** + * Last Name + */ public String getLastName() { return this.LastName; } + /** + * Last Name + */ public void setLastName(String lastname) { this.LastName = lastname; } + /** + * Company + */ public String getCompany() { return this.Company; } + /** + * Company + */ public void setCompany(String company) { this.Company = company; } + /** + * Password + */ public String getPassword() { return this.Password; } + /** + * Password + */ public void setPassword(String password) { this.Password = password; } + /** + * Security Question + */ public String getSecurityQuestion() { return this.SecurityQuestion; } + /** + * Security Question + */ public void setSecurityQuestion(String securityquestion) { this.SecurityQuestion = securityquestion; } + /** + * Answer for Security Question + */ public String getSecurityQuestionAnswer() { return this.SecurityQuestionAnswer; } + /** + * Answer for Security Question + */ public void setSecurityQuestionAnswer(String securityquestionanswer) { this.SecurityQuestionAnswer = securityquestionanswer; } + /** + * DayLightName + */ public String getDayLightName() { return this.DayLightName; } + /** + * DayLightName + */ public void setDayLightName(String daylightname) { this.DayLightName = daylightname; } + /** + * UTC Offset + */ public String getUTCOffset() { return this.UTCOffset; } + /** + * UTC Offset + */ public void setUTCOffset(String utcoffset) { this.UTCOffset = utcoffset; } + /** + * Preferred Date Format + */ public String getDateFormat() { return this.DateFormat; } + /** + * Preferred Date Format + */ public void setDateFormat(String dateformat) { this.DateFormat = dateformat; } + /** + * Preferred Time Format + */ public String getTimeFormat() { return this.TimeFormat; } + /** + * Preferred Time Format + */ public void setTimeFormat(String timeformat) { this.TimeFormat = timeformat; } + /** + * Email notification interval for activities + */ public Integer getEmailInterval() { return this.EmailInterval; } + /** + * Email notification interval for activities + */ public void setEmailInterval(Integer emailinterval) { this.EmailInterval = emailinterval; } @@ -141,5 +211,31 @@ public SFSafeEnum getUserNotificationLocale() { public void setUserNotificationLocale(SFSafeEnum usernotificationlocale) { this.UserNotificationLocale = usernotificationlocale; } + /** + * Webpop ClientId + */ + public String getOAuthClientId() { + return this.OAuthClientId; + } + + /** + * Webpop ClientId + */ + public void setOAuthClientId(String oauthclientid) { + this.OAuthClientId = oauthclientid; + } + /** + * Email address of the user + */ + public String getEmail() { + return this.Email; + } + + /** + * Email address of the user + */ + public void setEmail(String email) { + this.Email = email; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserInfo.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserInfo.java index 4112d91..6d4c131 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserInfo.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserInfo.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -37,38 +37,68 @@ public class SFUserInfo extends SFODataObject { @SerializedName("StorageCenterUrl") private String StorageCenterUrl; + /** + * Company Name + */ public String getCompanyName() { return this.CompanyName; } + /** + * Company Name + */ public void setCompanyName(String companyname) { this.CompanyName = companyname; } + /** + * Plan Name + */ public String getPlanName() { return this.PlanName; } + /** + * Plan Name + */ public void setPlanName(String planname) { this.PlanName = planname; } + /** + * Plan Features + */ public SFPlanFeatures getPlanFeatures() { return this.PlanFeatures; } + /** + * Plan Features + */ public void setPlanFeatures(SFPlanFeatures planfeatures) { this.PlanFeatures = planfeatures; } + /** + * Application URL + */ public String getApplicationUrl() { return this.ApplicationUrl; } + /** + * Application URL + */ public void setApplicationUrl(String applicationurl) { this.ApplicationUrl = applicationurl; } + /** + * Default Storage Center Url + */ public String getStorageCenterUrl() { return this.StorageCenterUrl; } + /** + * Default Storage Center Url + */ public void setStorageCenterUrl(String storagecenterurl) { this.StorageCenterUrl = storagecenterurl; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserPolicy.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserPolicy.java new file mode 100644 index 0000000..da7d78c --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserPolicy.java @@ -0,0 +1,76 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFUserPolicy extends SFODataObject { + + @SerializedName("UserId") + private String UserId; + @SerializedName("Active") + private Boolean Active; + @SerializedName("Policy") + private SFPolicy Policy; + + /** + * User Identifier + */ + public String getUserId() { + return this.UserId; + } + + /** + * User Identifier + */ + public void setUserId(String userid) { + this.UserId = userid; + } + /** + * Flag to indicate if this Policy is turned on for this User + */ + public Boolean getActive() { + return this.Active; + } + + /** + * Flag to indicate if this Policy is turned on for this User + */ + public void setActive(Boolean active) { + this.Active = active; + } + /** + * The Policy assigned + */ + public SFPolicy getPolicy() { + return this.Policy; + } + + /** + * The Policy assigned + */ + public void setPolicy(SFPolicy policy) { + this.Policy = policy; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserPreferences.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserPreferences.java index 7dbe966..2a1ad52 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserPreferences.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserPreferences.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -263,10 +263,16 @@ public Boolean getEnablePromotions() { public void setEnablePromotions(Boolean enablepromotions) { this.EnablePromotions = enablepromotions; } + /** + * Email notification locale. Values: Invariant, English, German, Spanish, French, Dutch, Chinese, Russian, Japanese, Korean, or Portuguese + */ public SFSafeEnum getUserNotificationLocale() { return this.UserNotificationLocale; } + /** + * Email notification locale. Values: Invariant, English, German, Spanish, French, Dutch, Chinese, Russian, Japanese, Korean, or Portuguese + */ public void setUserNotificationLocale(SFSafeEnum usernotificationlocale) { this.UserNotificationLocale = usernotificationlocale; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserRole.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserRole.java index cda0bd0..b6756e7 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserRole.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserRole.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -37,6 +37,9 @@ public enum SFUserRole { CreateDropboxConnectors, CreateGoogleDriveConnectors, CreateOneDriveBusinessConnectors, + CanSendDocumentsForSignature, + CanViewSignatureDocuments, + CanManageSignatureTemplates, AdminAccountPolicies, AdminBilling, AdminBranding, @@ -61,5 +64,7 @@ public enum SFUserRole { AdminArchivedSearch, AdminConnectors, AdminEmailArchiver, - AdminCanAdministerCustomerAccount + AdminCanAdministerCustomerAccount, + AdminPolicyDefinitions, + AdminCustomWorkflow } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserSecurity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserSecurity.java index a712da8..431e22b 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserSecurity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserSecurity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -58,6 +58,8 @@ public class SFUserSecurity extends SFODataObject { private String LastFailedLoginIP; @SerializedName("FailedLoginCount") private Integer FailedLoginCount; + @SerializedName("UserAuthenticationType") + private SFSafeEnum UserAuthenticationType; public Boolean getIsDisabled() { return this.IsDisabled; @@ -171,5 +173,18 @@ public Integer getFailedLoginCount() { public void setFailedLoginCount(Integer failedlogincount) { this.FailedLoginCount = failedlogincount; } + /** + * Calculated value for how the user should authenticate + */ + public SFSafeEnum getUserAuthenticationType() { + return this.UserAuthenticationType; + } + + /** + * Calculated value for how the user should authenticate + */ + public void setUserAuthenticationType(SFSafeEnum userauthenticationtype) { + this.UserAuthenticationType = userauthenticationtype; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserUsage.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserUsage.java index b702be5..8f50a33 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserUsage.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUserUsage.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -33,24 +33,42 @@ public class SFUserUsage extends SFODataObject { @SerializedName("ClientCount") private Integer ClientCount; + /** + * Max number of employee users. + */ public Integer getEmployeeMax() { return this.EmployeeMax; } + /** + * Max number of employee users. + */ public void setEmployeeMax(Integer employeemax) { this.EmployeeMax = employeemax; } + /** + * Current number of employee users. + */ public Integer getEmployeeCount() { return this.EmployeeCount; } + /** + * Current number of employee users. + */ public void setEmployeeCount(Integer employeecount) { this.EmployeeCount = employeecount; } + /** + * Current number of client users. + */ public Integer getClientCount() { return this.ClientCount; } + /** + * Current number of client users. + */ public void setClientCount(Integer clientcount) { this.ClientCount = clientcount; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFVRootType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFVRootType.java index 58edca1..f2da7ff 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFVRootType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFVRootType.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFVersioning.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFVersioning.java index 6c736a3..c483416 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFVersioning.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFVersioning.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWatermarkedDownloads.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWatermarkedDownloads.java index a634a5d..43c1be8 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWatermarkedDownloads.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWatermarkedDownloads.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWebhookCapabilities.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWebhookCapabilities.java new file mode 100644 index 0000000..3b31838 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWebhookCapabilities.java @@ -0,0 +1,40 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFWebhookCapabilities extends SFODataObject { + + @SerializedName("SupportedContexts") + private ArrayList SupportedContexts; + + public ArrayList getSupportedContexts() { + return this.SupportedContexts; + } + + public void setSupportedContexts(ArrayList supportedcontexts) { + this.SupportedContexts = supportedcontexts; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWebhookClient.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWebhookClient.java new file mode 100644 index 0000000..a87ba72 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWebhookClient.java @@ -0,0 +1,61 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFWebhookClient extends SFODataObject { + + @SerializedName("OAuthClientId") + private String OAuthClientId; + @SerializedName("SignatureKeys") + private SFWebhookSignatureKeys SignatureKeys; + + /** + * ShareFile Client Identifier + */ + public String getOAuthClientId() { + return this.OAuthClientId; + } + + /** + * ShareFile Client Identifier + */ + public void setOAuthClientId(String oauthclientid) { + this.OAuthClientId = oauthclientid; + } + /** + * The keys used to sign webhook payloads to verify ShareFile is the sender + */ + public SFWebhookSignatureKeys getSignatureKeys() { + return this.SignatureKeys; + } + + /** + * The keys used to sign webhook payloads to verify ShareFile is the sender + */ + public void setSignatureKeys(SFWebhookSignatureKeys signaturekeys) { + this.SignatureKeys = signaturekeys; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWebhookSignatureKeys.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWebhookSignatureKeys.java new file mode 100644 index 0000000..a6224e0 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWebhookSignatureKeys.java @@ -0,0 +1,61 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFWebhookSignatureKeys extends SFODataObject { + + @SerializedName("PrimaryKey") + private String PrimaryKey; + @SerializedName("SecondaryKey") + private String SecondaryKey; + + /** + * The key used to sign the payload and placed in the SF-WEBHOOK-PRIMARY-SIGNATURE header + */ + public String getPrimaryKey() { + return this.PrimaryKey; + } + + /** + * The key used to sign the payload and placed in the SF-WEBHOOK-PRIMARY-SIGNATURE header + */ + public void setPrimaryKey(String primarykey) { + this.PrimaryKey = primarykey; + } + /** + * The key used to sign the payload and placed in the SF-WEBHOOK-SECONDARY-SIGNATURE header + */ + public String getSecondaryKey() { + return this.SecondaryKey; + } + + /** + * The key used to sign the payload and placed in the SF-WEBHOOK-SECONDARY-SIGNATURE header + */ + public void setSecondaryKey(String secondarykey) { + this.SecondaryKey = secondarykey; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWebhookSubscription.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWebhookSubscription.java new file mode 100644 index 0000000..5083591 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWebhookSubscription.java @@ -0,0 +1,95 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; +import com.citrix.sharefile.api.internal.models.*; + +public class SFWebhookSubscription extends SFODataObject { + + @SerializedName("ResourceType") + private String ResourceType; + @SerializedName("ResourceId") + private String ResourceId; + @SerializedName("WebhookUrl") + private String WebhookUrl; + @SerializedName("SubscriptionContext") + private SFSubscriptionContext SubscriptionContext; + @SerializedName("Events") + private ArrayList Events; + + public String getResourceType() { + return this.ResourceType; + } + + public void setResourceType(String resourcetype) { + this.ResourceType = resourcetype; + } + public String getResourceId() { + return this.ResourceId; + } + + public void setResourceId(String resourceid) { + this.ResourceId = resourceid; + } + /** + * Url where the Event payload will be posted to. + */ + public String getWebhookUrl() { + return this.WebhookUrl; + } + + /** + * Url where the Event payload will be posted to. + */ + public void setWebhookUrl(String webhookurl) { + this.WebhookUrl = webhookurl; + } + /** + * The Context of the Events to trigger upon + */ + public SFSubscriptionContext getSubscriptionContext() { + return this.SubscriptionContext; + } + + /** + * The Context of the Events to trigger upon + */ + public void setSubscriptionContext(SFSubscriptionContext subscriptioncontext) { + this.SubscriptionContext = subscriptioncontext; + } + /** + * List of events to trigger upon + */ + public ArrayList getEvents() { + return this.Events; + } + + /** + * List of events to trigger upon + */ + public void setEvents(ArrayList events) { + this.Events = events; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWebhookSupportedContext.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWebhookSupportedContext.java new file mode 100644 index 0000000..d1c5c84 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWebhookSupportedContext.java @@ -0,0 +1,49 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFWebhookSupportedContext extends SFODataObject { + + @SerializedName("ResourceType") + private String ResourceType; + @SerializedName("Events") + private ArrayList Events; + + public String getResourceType() { + return this.ResourceType; + } + + public void setResourceType(String resourcetype) { + this.ResourceType = resourcetype; + } + public ArrayList getEvents() { + return this.Events; + } + + public void setEvents(ArrayList events) { + this.Events = events; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWebhookSupportedEvents.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWebhookSupportedEvents.java new file mode 100644 index 0000000..359b5a5 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWebhookSupportedEvents.java @@ -0,0 +1,49 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFWebhookSupportedEvents extends SFODataObject { + + @SerializedName("ResourceType") + private String ResourceType; + @SerializedName("OperationName") + private String OperationName; + + public String getResourceType() { + return this.ResourceType; + } + + public void setResourceType(String resourcetype) { + this.ResourceType = resourcetype; + } + public String getOperationName() { + return this.OperationName; + } + + public void setOperationName(String operationname) { + this.OperationName = operationname; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWorkflow.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWorkflow.java new file mode 100644 index 0000000..01613c1 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWorkflow.java @@ -0,0 +1,148 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFWorkflow extends SFODataObject { + + @SerializedName("Created") + private Date Created; + @SerializedName("Due") + private Date Due; + @SerializedName("LastComment") + private Date LastComment; + @SerializedName("StreamId") + private String StreamId; + @SerializedName("FileName") + private String FileName; + @SerializedName("DisplayName") + private String DisplayName; + @SerializedName("Item") + private SFItem Item; + @SerializedName("Status") + private SFSafeEnum Status; + @SerializedName("LastStatusUpdate") + private Date LastStatusUpdate; + @SerializedName("Participants") + private ArrayList Participants; + @SerializedName("WorkflowType") + private SFSafeEnum WorkflowType; + @SerializedName("ShareableLinkUrl") + private URI ShareableLinkUrl; + @SerializedName("Version") + private Integer Version; + + public Date getCreated() { + return this.Created; + } + + public void setCreated(Date created) { + this.Created = created; + } + public Date getDue() { + return this.Due; + } + + public void setDue(Date due) { + this.Due = due; + } + public Date getLastComment() { + return this.LastComment; + } + + public void setLastComment(Date lastcomment) { + this.LastComment = lastcomment; + } + public String getStreamId() { + return this.StreamId; + } + + public void setStreamId(String streamid) { + this.StreamId = streamid; + } + public String getFileName() { + return this.FileName; + } + + public void setFileName(String filename) { + this.FileName = filename; + } + public String getDisplayName() { + return this.DisplayName; + } + + public void setDisplayName(String displayname) { + this.DisplayName = displayname; + } + public SFItem getItem() { + return this.Item; + } + + public void setItem(SFItem item) { + this.Item = item; + } + public SFSafeEnum getStatus() { + return this.Status; + } + + public void setStatus(SFSafeEnum status) { + this.Status = status; + } + public Date getLastStatusUpdate() { + return this.LastStatusUpdate; + } + + public void setLastStatusUpdate(Date laststatusupdate) { + this.LastStatusUpdate = laststatusupdate; + } + public ArrayList getParticipants() { + return this.Participants; + } + + public void setParticipants(ArrayList participants) { + this.Participants = participants; + } + public SFSafeEnum getWorkflowType() { + return this.WorkflowType; + } + + public void setWorkflowType(SFSafeEnum workflowtype) { + this.WorkflowType = workflowtype; + } + public URI getShareableLinkUrl() { + return this.ShareableLinkUrl; + } + + public void setShareableLinkUrl(URI shareablelinkurl) { + this.ShareableLinkUrl = shareablelinkurl; + } + public Integer getVersion() { + return this.Version; + } + + public void setVersion(Integer version) { + this.Version = version; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWorkflowParticipant.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWorkflowParticipant.java new file mode 100644 index 0000000..a383f03 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWorkflowParticipant.java @@ -0,0 +1,76 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFWorkflowParticipant extends SFODataObject { + + @SerializedName("Ordinal") + private Integer Ordinal; + @SerializedName("Role") + private SFSafeEnum Role; + @SerializedName("Contact") + private SFContact Contact; + @SerializedName("Status") + private SFSafeEnum Status; + @SerializedName("LastStatusUpdate") + private Date LastStatusUpdate; + + public Integer getOrdinal() { + return this.Ordinal; + } + + public void setOrdinal(Integer ordinal) { + this.Ordinal = ordinal; + } + public SFSafeEnum getRole() { + return this.Role; + } + + public void setRole(SFSafeEnum role) { + this.Role = role; + } + public SFContact getContact() { + return this.Contact; + } + + public void setContact(SFContact contact) { + this.Contact = contact; + } + public SFSafeEnum getStatus() { + return this.Status; + } + + public void setStatus(SFSafeEnum status) { + this.Status = status; + } + public Date getLastStatusUpdate() { + return this.LastStatusUpdate; + } + + public void setLastStatusUpdate(Date laststatusupdate) { + this.LastStatusUpdate = laststatusupdate; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWorkflowRole.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWorkflowRole.java new file mode 100644 index 0000000..5b31ec1 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWorkflowRole.java @@ -0,0 +1,23 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFWorkflowRole { + Unknown, + Active, + Passive +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWorkflowStatus.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWorkflowStatus.java new file mode 100644 index 0000000..23269d6 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWorkflowStatus.java @@ -0,0 +1,27 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFWorkflowStatus { + Unknown, + Draft, + InProgress, + Completed, + Rejected, + Cancelled, + RequestedChange +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWorkflowType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWorkflowType.java new file mode 100644 index 0000000..8d4e1a0 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWorkflowType.java @@ -0,0 +1,23 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFWorkflowType { + Approval, + Feedback, + RequestList +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZone.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZone.java index 4aac2a2..9ffe734 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZone.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZone.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -49,80 +49,160 @@ public class SFZone extends SFPrincipal { @SerializedName("Metadata") private ArrayList Metadata; + /** + * Zone secret used for securing communications. + */ public String getSecret() { return this.Secret; } + /** + * Zone secret used for securing communications. + */ public void setSecret(String secret) { this.Secret = secret; } + /** + * Zone type + */ public SFSafeEnum getZoneType() { return this.ZoneType; } + /** + * Zone type + */ public void setZoneType(SFSafeEnum zonetype) { this.ZoneType = zonetype; } + /** + * Zone account - only set on Private zones + */ public SFAccount getAccount() { return this.Account; } + /** + * Zone account - only set on Private zones + */ public void setAccount(SFAccount account) { this.Account = account; } + /** + * Specifies how much time between heartbeats before sharefile.com will remove + * a Storage Center from load balancing + */ public Integer getHeartBeatTolerance() { return this.HeartBeatTolerance; } + /** + * Specifies how much time between heartbeats before sharefile.com will remove + * a Storage Center from load balancing + */ public void setHeartBeatTolerance(Integer heartbeattolerance) { this.HeartBeatTolerance = heartbeattolerance; } + /** + * Specifies how often sharefile.com will attempt to connect back to the Zone + * and determine if the zone is healthy. + */ public Integer getPingBackInterval() { return this.PingBackInterval; } + /** + * Specifies how often sharefile.com will attempt to connect back to the Zone + * and determine if the zone is healthy. + */ public void setPingBackInterval(Integer pingbackinterval) { this.PingBackInterval = pingbackinterval; } + /** + * Zone version - this parameter cannot be set, it is determined from the version + * of its storage centers. A zone version is the lowest version of a storage center + * in that zone + */ public String getVersion() { return this.Version; } + /** + * Zone version - this parameter cannot be set, it is determined from the version + * of its storage centers. A zone version is the lowest version of a storage center + * in that zone + */ public void setVersion(String version) { this.Version = version; } + /** + * Comma-delimited list of services enabled in this zone. + */ public SFSafeEnumFlags getZoneServices() { return this.ZoneServices; } + /** + * Comma-delimited list of services enabled in this zone. + */ public void setZoneServices(SFSafeEnumFlags zoneservices) { this.ZoneServices = zoneservices; } + /** + * Specifies if the zone is a HIPAA zone + */ public Boolean getIsHIPAAZone() { return this.IsHIPAAZone; } + /** + * Specifies if the zone is a HIPAA zone + */ public void setIsHIPAAZone(Boolean ishipaazone) { this.IsHIPAAZone = ishipaazone; } + /** + * Specifies if the zone is a multi-tenant zone + */ public Boolean getIsMultiTenant() { return this.IsMultiTenant; } + /** + * Specifies if the zone is a multi-tenant zone + */ public void setIsMultiTenant(Boolean ismultitenant) { this.IsMultiTenant = ismultitenant; } + /** + * List of Storage Centers created on this zone. A Storage Center is a stateless + * server that performs the zone services. Operations to this zone will be + * redirected to one of the storage centers - using the configured external + * address. + */ public ArrayList getStorageCenters() { return this.StorageCenters; } + /** + * List of Storage Centers created on this zone. A Storage Center is a stateless + * server that performs the zone services. Operations to this zone will be + * redirected to one of the storage centers - using the configured external + * address. + */ public void setStorageCenters(ArrayList storagecenters) { this.StorageCenters = storagecenters; } + /** + * List of metadata objects associated with this zone + */ public ArrayList getMetadata() { return this.Metadata; } + /** + * List of metadata objects associated with this zone + */ public void setMetadata(ArrayList metadata) { this.Metadata = metadata; } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneService.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneService.java index 7830d2a..6af0dc8 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneService.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneService.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -37,5 +37,6 @@ public enum SFZoneService { DocumentumConnector, AlfrescoConnector, OpenTextConnector, - FileNetConnector + FileNetConnector, + Editing } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneType.java index 801dff2..22a0617 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneType.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneUsageBreakdown.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneUsageBreakdown.java index a964a59..37c010d 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneUsageBreakdown.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneUsageBreakdown.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/utils/SFDateFormat.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/utils/SFDateFormat.java index 131f347..c653a77 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/utils/SFDateFormat.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/utils/SFDateFormat.java @@ -6,6 +6,7 @@ import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.TimeZone; public class SFDateFormat @@ -20,11 +21,31 @@ public class SFDateFormat //private static final SimpleDateFormat v3SimpleDateFormat = new SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ss.SSSSSSSSSSZ"); private static final SimpleDateFormat simpleDateFormat = new SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ss"); private static final SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("EEEE, dd MMM yyyy HH:mm:ss z"); - + /** + * Date format pattern used to parse HTTP date headers in RFC 1123 format. + */ + private static final SimpleDateFormat PATTERN_RFC1123 = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz"); + + /** + * Date format pattern used to parse HTTP date headers in RFC 1036 format. + */ + private static final SimpleDateFormat PATTERN_RFC1036 = new SimpleDateFormat("EEEE, dd-MMM-yy HH:mm:ss zzz"); + + /** + * Date format pattern used to parse HTTP date headers in ANSI C + */ + private static final SimpleDateFormat PATTERN_ASCTIME = new SimpleDateFormat("EEE MMM d HH:mm:ss yyyy"); + + private static final TimeZone utcTimezone = TimeZone.getTimeZone("UTC"); + private static final SFDateFormat[] mSFDateFormats = new SFDateFormat[] { - new SFDateFormat(simpleDateFormat), - new SFDateFormat(simpleDateFormat2) + new SFDateFormat(simpleDateFormat), //Main format for proginey edit/creation dates + new SFDateFormat(PATTERN_RFC1123), //Main format for cookie expirations + new SFDateFormat(simpleDateFormat2), + new SFDateFormat(PATTERN_RFC1036), //Obsolete cookie expirations format + new SFDateFormat(PATTERN_ASCTIME), //Obsolete cookie expirations format + }; private final SimpleDateFormat mFormat; @@ -32,6 +53,7 @@ public class SFDateFormat public SFDateFormat(SimpleDateFormat sf) { mFormat = sf; + mFormat.setTimeZone(utcTimezone); } private static Date parse(SFDateFormat format, String str) diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/utils/Utils.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/utils/Utils.java index 2baa212..adb8943 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/utils/Utils.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/utils/Utils.java @@ -1,27 +1,60 @@ package com.citrix.sharefile.api.utils; +import com.citrix.sharefile.api.SFConfiguration; +import com.citrix.sharefile.api.SFProvider; +import com.citrix.sharefile.api.constants.SFSdkGlobals; +import com.citrix.sharefile.api.exceptions.SFSDKException; +import com.citrix.sharefile.api.interfaces.ISFApiResultCallback; +import com.citrix.sharefile.api.interfaces.ISFQuery; + import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.net.URI; import java.net.URISyntaxException; +import java.net.URLEncoder; import java.util.ArrayList; import java.util.Locale; -import com.citrix.sharefile.api.constants.SFSdkGlobals; -import com.citrix.sharefile.api.SFProvider; -import com.citrix.sharefile.api.exceptions.SFSDKException; -import com.citrix.sharefile.api.interfaces.ISFApiResultCallback; -import com.citrix.sharefile.api.interfaces.ISFQuery; - -public class Utils +public class Utils { private static final String FORMAT_GET_TOP_FOLDER = "https://%s.%s/"+ SFProvider.PROVIDER_TYPE_SF+"/v3/Items(%s)"; private static final String FORMAT_GET_DEVICES = "https://%s.%s/"+SFProvider.PROVIDER_TYPE_SF+"/v3/Devices(%s)"; + public static String getAcceptLanguageString(boolean resolveLocaleToSFApi) + { + return getDefaultLocale(resolveLocaleToSFApi).toString().replace('_', '-') + ";q=0.8,en;q=0.6"; + } + public static String getAcceptLanguageString() { - Locale currentLocale = Locale.getDefault(); - return currentLocale.toString().replace('_', '-') + ";q=0.8,en;q=0.6"; + return getAcceptLanguageString(SFConfiguration.RESOLVE_LOCALE); + } + + /** + * Returns default Locale resolved to the closer supported SF-API when true is passed in. + * Returns the default system Locale otherwise. + */ + public static Locale getDefaultLocale(boolean resolveLocaleToSFApi) + { + return resolveLocaleToSFApi ? resolveLocale(Locale.getDefault()) : Locale.getDefault(); + } + + /** + * Resolve the Locale associated to the closer Locale supported by the SF-API. + * @return the closer Locale supported. + */ + public static Locale resolveLocale(Locale locale) + { + Locale.Builder localeBuilder = new Locale.Builder().setLanguage(locale.getLanguage()); + + if (SFConfiguration.LOCALE_COUNTRY_SUPPORT) + localeBuilder.setRegion(locale.getCountry()); + if (SFConfiguration.LOCALE_VARIANT_SUPPORT) + localeBuilder.setVariant(locale.getVariant()); + if (SFConfiguration.LOCALE_SCRIPT_SUPPORT) + localeBuilder.setScript(locale.getScript()); + + return localeBuilder.build(); } public static void safeCallErrorListener(ISFApiResultCallback mListener, SFSDKException error, ISFQuery sfapiApiqueri) @@ -124,7 +157,14 @@ public static final URI getDeviceURL(final String subdomain, String hostname, fi public static URI getURIFromString(String urlSpec) throws UnsupportedEncodingException, URISyntaxException, MalformedURLException { - return new URI(urlSpec.trim().replace(" ", "%20")); //trim spaces and replace middle spaces by url-encoded spaces + final String trimmedUrlSpec = urlSpec.trim().replace(" ", "%20"); + try { + return new URI(trimmedUrlSpec); + } + catch(URISyntaxException e) { + return new URI(URLEncoder.encode(trimmedUrlSpec, "UTF-8")); + } + //trim spaces and replace middle spaces by url-encoded spaces //Don't break the URI in components. On a certain ZK zones we are getting h-params during upload. } } \ No newline at end of file From c6612aaa707e471b43e1cfe7b7ecdd1826a00e4e Mon Sep 17 00:00:00 2001 From: Nilesh Date: Thu, 27 Jul 2017 14:43:01 +0530 Subject: [PATCH 54/70] Move all the internal models to public models. --- .../sharefile/api/models/SFAccessLevel.java | 23 + .../sharefile/api/models/SFAccount.java | 10 +- .../api/models/SFAccountFeatures.java | 28 ++ .../models/SFAccountItemStatusProvider.java | 46 ++ .../api/models/SFAccountPreferences.java | 1 - .../sharefile/api/models/SFAccountStatus.java | 121 +++++ .../api/models/SFAccountSubType.java | 4 + .../api/models/SFAcknowledgementType.java | 24 + .../api/models/SFActiveDirectoryGroup.java | 49 ++ .../api/models/SFActiveDirectoryUser.java | 112 +++++ .../sharefile/api/models/SFAddonField.java | 23 + .../sharefile/api/models/SFAddress.java | 94 ++++ .../api/models/SFApiRegulatorPolicy.java | 76 ++++ .../sharefile/api/models/SFAppStore.java | 23 + .../api/models/SFAppliedPlanAddOns.java | 58 +++ .../api/models/SFAsyncOperationBatch.java | 243 ++++++++++ .../models/SFAsyncOperationSubjectType.java | 23 + .../models/SFAzureSBTopicsEndPointInfo.java | 58 +++ .../api/models/SFAzureSBTopicsResponse.java | 40 ++ .../sharefile/api/models/SFBilling.java | 67 +++ .../sharefile/api/models/SFBillingAddOn.java | 208 +++++++++ .../api/models/SFBillingCycleMonths.java | 23 + .../sharefile/api/models/SFBillingLog.java | 301 +++++++++++++ .../api/models/SFBillingPreferences.java | 58 +++ .../api/models/SFBulkProvisionResults.java | 76 ++++ .../citrix/sharefile/api/models/SFBundle.java | 40 ++ .../sharefile/api/models/SFBundleType.java | 25 ++ .../api/models/SFCitrixCloudAccountInfo.java | 127 ++++++ .../api/models/SFCitrixCloudCredential.java | 76 ++++ .../api/models/SFCitrixCloudSession.java | 106 +++++ .../api/models/SFClickTrailEvent.java | 103 +++++ .../api/models/SFClickTrailSession.java | 112 +++++ .../api/models/SFCloudStorageType.java | 23 + .../sharefile/api/models/SFContact.java | 1 - .../api/models/SFContactListType.java | 29 ++ .../SFContactsAdvancedSearchParams.java | 76 ++++ .../models/SFContactsAutocompleteParams.java | 76 ++++ .../models/SFContactsListSelectionParams.java | 166 +++++++ .../api/models/SFContactsSearchParams.java | 91 ++++ .../models/SFContentViewerLinkRequest.java | 58 +++ .../api/models/SFContentViewerParams.java | 58 +++ .../api/models/SFCreateWorkflowParams.java | 1 - .../sharefile/api/models/SFCreditCard.java | 166 +++++++ .../api/models/SFCustomWorkflowBundle.java | 49 ++ .../api/models/SFDailyAvailability.java | 76 ++++ .../sharefile/api/models/SFDataCenter.java | 40 ++ .../sharefile/api/models/SFDatabaseLevel.java | 23 + .../api/models/SFDeletedAccount.java | 61 +++ .../sharefile/api/models/SFDlpPolicy.java | 151 +++++++ .../SFDocumentApprovalWorkflowAction.java | 26 ++ .../sharefile/api/models/SFDocumentType.java | 23 + .../api/models/SFDocumentViewEvent.java | 61 +++ .../api/models/SFDocumentViewPageData.java | 61 +++ .../SFEditingProhibitedDefaultSetting.java | 49 ++ .../models/SFEmailAttachmentConversion.java | 23 + .../SFEmailAttachmentConversionSetting.java | 49 ++ .../models/SFEmailBannerCustomization.java | 76 ++++ .../models/SFEmailLinkInsertionMethod.java | 22 + .../sharefile/api/models/SFEmailMessage.java | 130 ++++++ .../api/models/SFEmailPluginSettings.java | 258 +++++++++++ .../sharefile/api/models/SFEmailSupport.java | 40 ++ .../sharefile/api/models/SFEncodedJwt.java | 40 ++ .../api/models/SFEncryptedEmail.java | 196 ++++++++ .../models/SFEncryptedEmailCreateParams.java | 49 ++ .../api/models/SFEncryptedEmailParams.java | 73 +++ .../api/models/SFEncryptedEmailRecipient.java | 85 ++++ .../models/SFEncryptedEmailReplyParams.java | 58 +++ .../models/SFEncryptedEmailSendParams.java | 49 ++ .../api/models/SFEnterpriseOrder.java | 193 ++++++++ .../api/models/SFEnterpriseReseller.java | 112 +++++ .../sharefile/api/models/SFEntityTypeMap.java | 173 ++++++++ .../sharefile/api/models/SFFileAction.java | 23 + .../sharefile/api/models/SFFileLock.java | 1 - .../citrix/sharefile/api/models/SFFolder.java | 1 - .../api/models/SFFreeTrialAccount.java | 411 +++++++++++++++++ .../sharefile/api/models/SFFreeTrialType.java | 32 ++ .../api/models/SFHttpResponseCode.java | 22 + .../sharefile/api/models/SFInAppPurchase.java | 85 ++++ .../sharefile/api/models/SFItemStatus.java | 88 ++++ .../api/models/SFItemStatusProvider.java | 103 +++++ .../api/models/SFLimitingFactor.java | 24 + .../sharefile/api/models/SFLockType.java | 2 +- .../sharefile/api/models/SFLoginPageType.java | 24 + .../api/models/SFMedicalStudyBundle.java | 139 ++++++ .../sharefile/api/models/SFMetadataTag.java | 271 ++++++++++++ .../api/models/SFMetadataTagType.java | 31 ++ .../api/models/SFMobileUserRole.java | 23 + .../api/models/SFOAuthAuthorizationCode.java | 67 +++ .../sharefile/api/models/SFOAuthClient.java | 283 ++++++++++++ .../api/models/SFOAuthClientPermissions.java | 23 + .../sharefile/api/models/SFOAuthCode.java | 40 ++ .../sharefile/api/models/SFOAuthState.java | 23 + .../api/models/SFOrderUpdateNotification.java | 139 ++++++ .../sharefile/api/models/SFPhoneSupport.java | 76 ++++ .../sharefile/api/models/SFPlanAddon.java | 76 ++++ .../sharefile/api/models/SFPlanAddonUser.java | 49 ++ .../api/models/SFPlanAddonsStatus.java | 26 ++ .../citrix/sharefile/api/models/SFPolicy.java | 1 - .../api/models/SFPolicyCategory.java | 23 + .../citrix/sharefile/api/models/SFQueue.java | 40 ++ .../sharefile/api/models/SFQueueEntry.java | 121 +++++ .../sharefile/api/models/SFQueueStatus.java | 25 ++ .../citrix/sharefile/api/models/SFQuote.java | 211 +++++++++ .../sharefile/api/models/SFRepRole.java | 77 ++++ .../api/models/SFRepresentativeType.java | 39 ++ .../api/models/SFRequestListBundle.java | 31 ++ .../sharefile/api/models/SFReseller.java | 220 +++++++++ .../api/models/SFSFObjectItemStatus.java | 142 ++++++ .../sharefile/api/models/SFSFObjectType.java | 22 + .../sharefile/api/models/SFSearchField.java | 46 ++ .../SFSearchIndexAllocationDetails.java | 76 ++++ .../api/models/SFSearchProvider.java | 112 +++++ .../api/models/SFSearchTextFieldSelector.java | 91 ++++ .../SFSearchTextFieldSelectorFlags.java | 91 ++++ .../sharefile/api/models/SFSearchType.java | 22 + .../sharefile/api/models/SFServerInfo.java | 67 +++ .../sharefile/api/models/SFServerTag.java | 85 ++++ .../models/SFShareFileCitrixCloudSession.java | 61 +++ .../api/models/SFShareFileRepresentative.java | 184 ++++++++ .../api/models/SFSmartFolderOptions.java | 40 ++ .../api/models/SFSmartFolderType.java | 21 + .../api/models/SFSmtpAuthMethod.java | 26 ++ .../sharefile/api/models/SFSmtpSettings.java | 196 ++++++++ .../sharefile/api/models/SFSmtpSslMode.java | 23 + .../models/SFStructuredDownloadFolder.java | 49 ++ .../api/models/SFStructuredDownloadItem.java | 31 ++ .../sharefile/api/models/SFSupport.java | 112 +++++ .../sharefile/api/models/SFSupportFlag.java | 148 +++++++ .../api/models/SFSupportFlagStatus.java | 29 ++ .../api/models/SFSupportFlagType.java | 43 ++ .../sharefile/api/models/SFSupportMethod.java | 76 ++++ .../sharefile/api/models/SFToolSurvey.java | 153 +++++++ .../sharefile/api/models/SFTrialPeriod.java | 67 +++ .../sharefile/api/models/SFUrlLink.java | 49 ++ .../sharefile/api/models/SFUsagePlan.java | 417 ++++++++++++++++++ .../api/models/SFUsagePlanAddOn.java | 139 ++++++ .../citrix/sharefile/api/models/SFUser.java | 1 - .../api/models/SFWebhookSubscription.java | 1 - .../api/models/SFWorkflowBundle.java | 106 +++++ .../api/models/SFWorkflowBundleStatus.java | 26 ++ .../api/models/SFWorkflowBundleType.java | 23 + .../api/models/SFZoneDeployment.java | 151 +++++++ .../api/models/SFZoneLoadBalanceType.java | 22 + .../sharefile/api/models/SFZoneRegion.java | 27 ++ 144 files changed, 11204 insertions(+), 10 deletions(-) create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessLevel.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountFeatures.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountItemStatusProvider.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountStatus.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAcknowledgementType.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFActiveDirectoryGroup.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFActiveDirectoryUser.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAddonField.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAddress.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFApiRegulatorPolicy.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAppStore.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAppliedPlanAddOns.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAsyncOperationBatch.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAsyncOperationSubjectType.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAzureSBTopicsEndPointInfo.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAzureSBTopicsResponse.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBilling.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBillingAddOn.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBillingCycleMonths.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBillingLog.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBillingPreferences.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBulkProvisionResults.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBundle.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBundleType.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCitrixCloudAccountInfo.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCitrixCloudCredential.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCitrixCloudSession.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFClickTrailEvent.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFClickTrailSession.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCloudStorageType.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContactListType.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContactsAdvancedSearchParams.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContactsAutocompleteParams.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContactsListSelectionParams.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContactsSearchParams.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContentViewerLinkRequest.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContentViewerParams.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCreditCard.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCustomWorkflowBundle.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDailyAvailability.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDataCenter.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDatabaseLevel.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeletedAccount.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDlpPolicy.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDocumentApprovalWorkflowAction.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDocumentType.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDocumentViewEvent.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDocumentViewPageData.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEditingProhibitedDefaultSetting.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEmailAttachmentConversion.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEmailAttachmentConversionSetting.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEmailBannerCustomization.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEmailLinkInsertionMethod.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEmailMessage.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEmailPluginSettings.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEmailSupport.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEncodedJwt.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEncryptedEmail.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEncryptedEmailCreateParams.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEncryptedEmailParams.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEncryptedEmailRecipient.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEncryptedEmailReplyParams.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEncryptedEmailSendParams.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnterpriseOrder.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnterpriseReseller.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileAction.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFreeTrialAccount.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFreeTrialType.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFHttpResponseCode.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFInAppPurchase.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemStatus.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemStatusProvider.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFLimitingFactor.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFLoginPageType.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMedicalStudyBundle.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMetadataTag.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMetadataTagType.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMobileUserRole.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOAuthAuthorizationCode.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOAuthClient.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOAuthClientPermissions.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOAuthCode.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOAuthState.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOrderUpdateNotification.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPhoneSupport.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPlanAddon.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPlanAddonUser.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPlanAddonsStatus.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPolicyCategory.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQueue.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQueueEntry.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQueueStatus.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQuote.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRepRole.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRepresentativeType.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRequestListBundle.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReseller.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSFObjectItemStatus.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSFObjectType.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchField.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchIndexAllocationDetails.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchProvider.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchTextFieldSelector.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchTextFieldSelectorFlags.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchType.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFServerInfo.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFServerTag.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareFileCitrixCloudSession.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareFileRepresentative.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSmartFolderOptions.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSmartFolderType.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSmtpAuthMethod.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSmtpSettings.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSmtpSslMode.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFStructuredDownloadFolder.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFStructuredDownloadItem.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSupport.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSupportFlag.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSupportFlagStatus.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSupportFlagType.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSupportMethod.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFToolSurvey.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTrialPeriod.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUrlLink.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUsagePlan.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUsagePlanAddOn.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWorkflowBundle.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWorkflowBundleStatus.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWorkflowBundleType.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneDeployment.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneLoadBalanceType.java create mode 100644 ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneRegion.java diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessLevel.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessLevel.java new file mode 100644 index 0000000..bdc93d8 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccessLevel.java @@ -0,0 +1,23 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFAccessLevel { + Anonymous, + NameAndEmail, + Login +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccount.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccount.java index 0256117..e9037e9 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccount.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccount.java @@ -23,7 +23,6 @@ import com.citrix.sharefile.api.*; import com.citrix.sharefile.api.enumerations.*; import com.citrix.sharefile.api.models.*; -import com.citrix.sharefile.api.internal.models.*; public class SFAccount extends SFODataObject { @@ -211,6 +210,8 @@ public class SFAccount extends SFODataObject { private SFSafeEnum CloudStorageType; @SerializedName("IsSolutionOffering") private Boolean IsSolutionOffering; + @SerializedName("SupportInfo") + private SFSupport SupportInfo; public String getCompanyName() { return this.CompanyName; @@ -970,5 +971,12 @@ public Boolean getIsSolutionOffering() { public void setIsSolutionOffering(Boolean issolutionoffering) { this.IsSolutionOffering = issolutionoffering; } + public SFSupport getSupportInfo() { + return this.SupportInfo; + } + + public void setSupportInfo(SFSupport supportinfo) { + this.SupportInfo = supportinfo; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountFeatures.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountFeatures.java new file mode 100644 index 0000000..1188d9c --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountFeatures.java @@ -0,0 +1,28 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFAccountFeatures { + NotSet, + Quota, + ClientLogin, + Groups, + SharedFolders, + UnlimitedSendEmail, + IsPlanTrackFreemium, + LimitedSend +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountItemStatusProvider.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountItemStatusProvider.java new file mode 100644 index 0000000..9cf51c2 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountItemStatusProvider.java @@ -0,0 +1,46 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFAccountItemStatusProvider extends SFODataObject { + + @SerializedName("Active") + private Boolean Active; + + /** + * True if the current ShareFile account is enabled to use the specific + */ + public Boolean getActive() { + return this.Active; + } + + /** + * True if the current ShareFile account is enabled to use the specific + */ + public void setActive(Boolean active) { + this.Active = active; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountPreferences.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountPreferences.java index 278b4ee..f156d1e 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountPreferences.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountPreferences.java @@ -23,7 +23,6 @@ import com.citrix.sharefile.api.*; import com.citrix.sharefile.api.enumerations.*; import com.citrix.sharefile.api.models.*; -import com.citrix.sharefile.api.internal.models.*; public class SFAccountPreferences extends SFODataObject { diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountStatus.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountStatus.java new file mode 100644 index 0000000..043b154 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountStatus.java @@ -0,0 +1,121 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFAccountStatus extends SFODataObject { + + @SerializedName("IsLockedForMaintenance") + private Boolean IsLockedForMaintenance; + @SerializedName("LockedForMaintenanceDate") + private Date LockedForMaintenanceDate; + @SerializedName("Database") + private String Database; + @SerializedName("Subdomains") + private ArrayList Subdomains; + @SerializedName("TopLevelDomain") + private String TopLevelDomain; + @SerializedName("APITopLevelDomain") + private String APITopLevelDomain; + + /** + * If true, indicates account is currently unavailable due to maintenance + */ + public Boolean getIsLockedForMaintenance() { + return this.IsLockedForMaintenance; + } + + /** + * If true, indicates account is currently unavailable due to maintenance + */ + public void setIsLockedForMaintenance(Boolean islockedformaintenance) { + this.IsLockedForMaintenance = islockedformaintenance; + } + /** + * Time account entered maintenance mode + */ + public Date getLockedForMaintenanceDate() { + return this.LockedForMaintenanceDate; + } + + /** + * Time account entered maintenance mode + */ + public void setLockedForMaintenanceDate(Date lockedformaintenancedate) { + this.LockedForMaintenanceDate = lockedformaintenancedate; + } + /** + * Account's primary DB + */ + public String getDatabase() { + return this.Database; + } + + /** + * Account's primary DB + */ + public void setDatabase(String database) { + this.Database = database; + } + /** + * Account's subdomains + */ + public ArrayList getSubdomains() { + return this.Subdomains; + } + + /** + * Account's subdomains + */ + public void setSubdomains(ArrayList subdomains) { + this.Subdomains = subdomains; + } + /** + * Account's website domain (eg, sharefile.eu) + */ + public String getTopLevelDomain() { + return this.TopLevelDomain; + } + + /** + * Account's website domain (eg, sharefile.eu) + */ + public void setTopLevelDomain(String topleveldomain) { + this.TopLevelDomain = topleveldomain; + } + /** + * Account's api domain (eg, sf-api.edu) + */ + public String getAPITopLevelDomain() { + return this.APITopLevelDomain; + } + + /** + * Account's api domain (eg, sf-api.edu) + */ + public void setAPITopLevelDomain(String apitopleveldomain) { + this.APITopLevelDomain = apitopleveldomain; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountSubType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountSubType.java index cb8aa32..5bc6edc 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountSubType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAccountSubType.java @@ -12,6 +12,10 @@ package com.citrix.sharefile.api.models; +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + public enum SFAccountSubType { None, Partner, diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAcknowledgementType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAcknowledgementType.java new file mode 100644 index 0000000..30ff87c --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAcknowledgementType.java @@ -0,0 +1,24 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFAcknowledgementType { + Customer, + SalesOrder, + BillingDocument, + PaymentNotification +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFActiveDirectoryGroup.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFActiveDirectoryGroup.java new file mode 100644 index 0000000..a791344 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFActiveDirectoryGroup.java @@ -0,0 +1,49 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFActiveDirectoryGroup extends SFODataObject { + + @SerializedName("Group") + private SFGroup Group; + @SerializedName("ADGuid") + private String ADGuid; + + public SFGroup getGroup() { + return this.Group; + } + + public void setGroup(SFGroup group) { + this.Group = group; + } + public String getADGuid() { + return this.ADGuid; + } + + public void setADGuid(String adguid) { + this.ADGuid = adguid; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFActiveDirectoryUser.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFActiveDirectoryUser.java new file mode 100644 index 0000000..d03cbaf --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFActiveDirectoryUser.java @@ -0,0 +1,112 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFActiveDirectoryUser extends SFODataObject { + + @SerializedName("Contact") + private SFContact Contact; + @SerializedName("ADGuid") + private String ADGuid; + @SerializedName("IsMasterAdmin") + private Boolean IsMasterAdmin; + @SerializedName("IsDisabled") + private Boolean IsDisabled; + @SerializedName("Emails") + private ArrayList Emails; + @SerializedName("Policies") + private ArrayList Policies; + @SerializedName("StorageQuotaLimitGB") + private Integer StorageQuotaLimitGB; + @SerializedName("StorageQuotaPercent") + private Integer StorageQuotaPercent; + @SerializedName("EnableHardLimit") + private Boolean EnableHardLimit; + + public SFContact getContact() { + return this.Contact; + } + + public void setContact(SFContact contact) { + this.Contact = contact; + } + public String getADGuid() { + return this.ADGuid; + } + + public void setADGuid(String adguid) { + this.ADGuid = adguid; + } + public Boolean getIsMasterAdmin() { + return this.IsMasterAdmin; + } + + public void setIsMasterAdmin(Boolean ismasteradmin) { + this.IsMasterAdmin = ismasteradmin; + } + public Boolean getIsDisabled() { + return this.IsDisabled; + } + + public void setIsDisabled(Boolean isdisabled) { + this.IsDisabled = isdisabled; + } + public ArrayList getEmails() { + return this.Emails; + } + + public void setEmails(ArrayList emails) { + this.Emails = emails; + } + public ArrayList getPolicies() { + return this.Policies; + } + + public void setPolicies(ArrayList policies) { + this.Policies = policies; + } + public Integer getStorageQuotaLimitGB() { + return this.StorageQuotaLimitGB; + } + + public void setStorageQuotaLimitGB(Integer storagequotalimitgb) { + this.StorageQuotaLimitGB = storagequotalimitgb; + } + public Integer getStorageQuotaPercent() { + return this.StorageQuotaPercent; + } + + public void setStorageQuotaPercent(Integer storagequotapercent) { + this.StorageQuotaPercent = storagequotapercent; + } + public Boolean getEnableHardLimit() { + return this.EnableHardLimit; + } + + public void setEnableHardLimit(Boolean enablehardlimit) { + this.EnableHardLimit = enablehardlimit; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAddonField.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAddonField.java new file mode 100644 index 0000000..29c99a7 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAddonField.java @@ -0,0 +1,23 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFAddonField { + Employees, + StorageGB, + BandwidthGB +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAddress.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAddress.java new file mode 100644 index 0000000..2be8d94 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAddress.java @@ -0,0 +1,94 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFAddress extends SFODataObject { + + @SerializedName("StreetAddress1") + private String StreetAddress1; + @SerializedName("StreetAddress2") + private String StreetAddress2; + @SerializedName("City") + private String City; + @SerializedName("StateOrProvince") + private String StateOrProvince; + @SerializedName("PostalCode") + private String PostalCode; + @SerializedName("Country") + private String Country; + @SerializedName("TaxAreaId") + private String TaxAreaId; + + public String getStreetAddress1() { + return this.StreetAddress1; + } + + public void setStreetAddress1(String streetaddress1) { + this.StreetAddress1 = streetaddress1; + } + public String getStreetAddress2() { + return this.StreetAddress2; + } + + public void setStreetAddress2(String streetaddress2) { + this.StreetAddress2 = streetaddress2; + } + public String getCity() { + return this.City; + } + + public void setCity(String city) { + this.City = city; + } + public String getStateOrProvince() { + return this.StateOrProvince; + } + + public void setStateOrProvince(String stateorprovince) { + this.StateOrProvince = stateorprovince; + } + public String getPostalCode() { + return this.PostalCode; + } + + public void setPostalCode(String postalcode) { + this.PostalCode = postalcode; + } + public String getCountry() { + return this.Country; + } + + public void setCountry(String country) { + this.Country = country; + } + public String getTaxAreaId() { + return this.TaxAreaId; + } + + public void setTaxAreaId(String taxareaid) { + this.TaxAreaId = taxareaid; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFApiRegulatorPolicy.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFApiRegulatorPolicy.java new file mode 100644 index 0000000..5610f4b --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFApiRegulatorPolicy.java @@ -0,0 +1,76 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFApiRegulatorPolicy extends SFODataObject { + + @SerializedName("OAuthClientId") + private String OAuthClientId; + @SerializedName("AccountId") + private String AccountId; + @SerializedName("UserId") + private String UserId; + @SerializedName("HttpResponseCode") + private SFSafeEnum HttpResponseCode; + @SerializedName("ResponseMessage") + private String ResponseMessage; + + public String getOAuthClientId() { + return this.OAuthClientId; + } + + public void setOAuthClientId(String oauthclientid) { + this.OAuthClientId = oauthclientid; + } + public String getAccountId() { + return this.AccountId; + } + + public void setAccountId(String accountid) { + this.AccountId = accountid; + } + public String getUserId() { + return this.UserId; + } + + public void setUserId(String userid) { + this.UserId = userid; + } + public SFSafeEnum getHttpResponseCode() { + return this.HttpResponseCode; + } + + public void setHttpResponseCode(SFSafeEnum httpresponsecode) { + this.HttpResponseCode = httpresponsecode; + } + public String getResponseMessage() { + return this.ResponseMessage; + } + + public void setResponseMessage(String responsemessage) { + this.ResponseMessage = responsemessage; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAppStore.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAppStore.java new file mode 100644 index 0000000..055c37e --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAppStore.java @@ -0,0 +1,23 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFAppStore { + iOS, + Android, + Web +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAppliedPlanAddOns.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAppliedPlanAddOns.java new file mode 100644 index 0000000..399b60e --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAppliedPlanAddOns.java @@ -0,0 +1,58 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFAppliedPlanAddOns extends SFODataObject { + + @SerializedName("AdditionalBandwidthGB") + private Integer AdditionalBandwidthGB; + @SerializedName("AdditionalStorageGB") + private Integer AdditionalStorageGB; + @SerializedName("AdditionalEmployees") + private Integer AdditionalEmployees; + + public Integer getAdditionalBandwidthGB() { + return this.AdditionalBandwidthGB; + } + + public void setAdditionalBandwidthGB(Integer additionalbandwidthgb) { + this.AdditionalBandwidthGB = additionalbandwidthgb; + } + public Integer getAdditionalStorageGB() { + return this.AdditionalStorageGB; + } + + public void setAdditionalStorageGB(Integer additionalstoragegb) { + this.AdditionalStorageGB = additionalstoragegb; + } + public Integer getAdditionalEmployees() { + return this.AdditionalEmployees; + } + + public void setAdditionalEmployees(Integer additionalemployees) { + this.AdditionalEmployees = additionalemployees; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAsyncOperationBatch.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAsyncOperationBatch.java new file mode 100644 index 0000000..7b0fc15 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAsyncOperationBatch.java @@ -0,0 +1,243 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFAsyncOperationBatch extends SFODataObject { + + @SerializedName("SubjectType") + private SFSafeEnum SubjectType; + @SerializedName("Operation") + private SFSafeEnum Operation; + @SerializedName("State") + private SFSafeEnum State; + @SerializedName("StartDate") + private Date StartDate; + @SerializedName("Source") + private SFItem Source; + @SerializedName("Destination") + private SFItem Destination; + @SerializedName("SourceZone") + private SFZone SourceZone; + @SerializedName("DestinationZone") + private SFZone DestinationZone; + @SerializedName("InitiatedBy") + private SFUser InitiatedBy; + @SerializedName("TotalSizeInBytes") + private Long TotalSizeInBytes; + @SerializedName("ProcessedBytes") + private Long ProcessedBytes; + @SerializedName("TotalItemCount") + private Long TotalItemCount; + @SerializedName("ProcessedItemCount") + private Long ProcessedItemCount; + @SerializedName("FailedItemCount") + private Long FailedItemCount; + + /** + * Async operation subject type. + */ + public SFSafeEnum getSubjectType() { + return this.SubjectType; + } + + /** + * Async operation subject type. + */ + public void setSubjectType(SFSafeEnum subjecttype) { + this.SubjectType = subjecttype; + } + /** + * Operation type. + */ + public SFSafeEnum getOperation() { + return this.Operation; + } + + /** + * Operation type. + */ + public void setOperation(SFSafeEnum operation) { + this.Operation = operation; + } + /** + * Batch state. States 'Created' and 'Scheduled' indicate the operation is + * in progress; States 'Success' and 'Failure' indicate the operation is finished. + */ + public SFSafeEnum getState() { + return this.State; + } + + /** + * Batch state. States 'Created' and 'Scheduled' indicate the operation is + * in progress; States 'Success' and 'Failure' indicate the operation is finished. + */ + public void setState(SFSafeEnum state) { + this.State = state; + } + /** + * Batch start date. + */ + public Date getStartDate() { + return this.StartDate; + } + + /** + * Batch start date. + */ + public void setStartDate(Date startdate) { + this.StartDate = startdate; + } + /** + * Source item for the operations batch. + */ + public SFItem getSource() { + return this.Source; + } + + /** + * Source item for the operations batch. + */ + public void setSource(SFItem source) { + this.Source = source; + } + /** + * Destination item for the operations batch (will be the same as Source for changezone operations). + */ + public SFItem getDestination() { + return this.Destination; + } + + /** + * Destination item for the operations batch (will be the same as Source for changezone operations). + */ + public void setDestination(SFItem destination) { + this.Destination = destination; + } + /** + * Source zone for the operations batch. + */ + public SFZone getSourceZone() { + return this.SourceZone; + } + + /** + * Source zone for the operations batch. + */ + public void setSourceZone(SFZone sourcezone) { + this.SourceZone = sourcezone; + } + /** + * Destination zone for the operations batch. + */ + public SFZone getDestinationZone() { + return this.DestinationZone; + } + + /** + * Destination zone for the operations batch. + */ + public void setDestinationZone(SFZone destinationzone) { + this.DestinationZone = destinationzone; + } + /** + * User who initiated the batch. + */ + public SFUser getInitiatedBy() { + return this.InitiatedBy; + } + + /** + * User who initiated the batch. + */ + public void setInitiatedBy(SFUser initiatedby) { + this.InitiatedBy = initiatedby; + } + /** + * Total size of the operations batch in bytes. + */ + public Long getTotalSizeInBytes() { + return this.TotalSizeInBytes; + } + + /** + * Total size of the operations batch in bytes. + */ + public void setTotalSizeInBytes(Long totalsizeinbytes) { + this.TotalSizeInBytes = totalsizeinbytes; + } + /** + * The number of processed bytes in the batch. + */ + public Long getProcessedBytes() { + return this.ProcessedBytes; + } + + /** + * The number of processed bytes in the batch. + */ + public void setProcessedBytes(Long processedbytes) { + this.ProcessedBytes = processedbytes; + } + /** + * The total number of items in the batch. + */ + public Long getTotalItemCount() { + return this.TotalItemCount; + } + + /** + * The total number of items in the batch. + */ + public void setTotalItemCount(Long totalitemcount) { + this.TotalItemCount = totalitemcount; + } + /** + * The number of processed items in the batch. + */ + public Long getProcessedItemCount() { + return this.ProcessedItemCount; + } + + /** + * The number of processed items in the batch. + */ + public void setProcessedItemCount(Long processeditemcount) { + this.ProcessedItemCount = processeditemcount; + } + /** + * The number of processed items in the batch. + */ + public Long getFailedItemCount() { + return this.FailedItemCount; + } + + /** + * The number of processed items in the batch. + */ + public void setFailedItemCount(Long faileditemcount) { + this.FailedItemCount = faileditemcount; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAsyncOperationSubjectType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAsyncOperationSubjectType.java new file mode 100644 index 0000000..7f58bf9 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAsyncOperationSubjectType.java @@ -0,0 +1,23 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFAsyncOperationSubjectType { + Folder, + File, + User +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAzureSBTopicsEndPointInfo.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAzureSBTopicsEndPointInfo.java new file mode 100644 index 0000000..83cd3f2 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAzureSBTopicsEndPointInfo.java @@ -0,0 +1,58 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFAzureSBTopicsEndPointInfo extends SFODataObject { + + @SerializedName("Key") + private String Key; + @SerializedName("Secret") + private String Secret; + @SerializedName("EndPoint") + private String EndPoint; + + public String getKey() { + return this.Key; + } + + public void setKey(String key) { + this.Key = key; + } + public String getSecret() { + return this.Secret; + } + + public void setSecret(String secret) { + this.Secret = secret; + } + public String getEndPoint() { + return this.EndPoint; + } + + public void setEndPoint(String endpoint) { + this.EndPoint = endpoint; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAzureSBTopicsResponse.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAzureSBTopicsResponse.java new file mode 100644 index 0000000..6f695e3 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFAzureSBTopicsResponse.java @@ -0,0 +1,40 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFAzureSBTopicsResponse extends SFODataObject { + + @SerializedName("Success") + private String Success; + + public String getSuccess() { + return this.Success; + } + + public void setSuccess(String success) { + this.Success = success; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBilling.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBilling.java new file mode 100644 index 0000000..6a24e08 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBilling.java @@ -0,0 +1,67 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFBilling extends SFODataObject { + + @SerializedName("TotalBillingAmount") + private Double TotalBillingAmount; + @SerializedName("GrossBillingAmount") + private Double GrossBillingAmount; + @SerializedName("BillingCycle") + private String BillingCycle; + @SerializedName("AccountID") + private String AccountID; + + public Double getTotalBillingAmount() { + return this.TotalBillingAmount; + } + + public void setTotalBillingAmount(Double totalbillingamount) { + this.TotalBillingAmount = totalbillingamount; + } + public Double getGrossBillingAmount() { + return this.GrossBillingAmount; + } + + public void setGrossBillingAmount(Double grossbillingamount) { + this.GrossBillingAmount = grossbillingamount; + } + public String getBillingCycle() { + return this.BillingCycle; + } + + public void setBillingCycle(String billingcycle) { + this.BillingCycle = billingcycle; + } + public String getAccountID() { + return this.AccountID; + } + + public void setAccountID(String accountid) { + this.AccountID = accountid; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBillingAddOn.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBillingAddOn.java new file mode 100644 index 0000000..a3e9610 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBillingAddOn.java @@ -0,0 +1,208 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFBillingAddOn extends SFODataObject { + + @SerializedName("Account") + private SFAccount Account; + @SerializedName("PlanAddOnsTypeCode") + private String PlanAddOnsTypeCode; + @SerializedName("PlanAddOnsCode") + private String PlanAddOnsCode; + @SerializedName("UnitPrice") + private String UnitPrice; + @SerializedName("LimitingFactor") + private String LimitingFactor; + @SerializedName("LowerLimit") + private Integer LowerLimit; + @SerializedName("UpperLimit") + private Integer UpperLimit; + @SerializedName("AddonField") + private String AddonField; + @SerializedName("IncreaseInterval") + private Integer IncreaseInterval; + @SerializedName("CreatedBy") + private SFUser CreatedBy; + @SerializedName("CreationDate") + private Date CreationDate; + @SerializedName("UpdatedBy") + private SFUser UpdatedBy; + @SerializedName("UpdatedDate") + private Date UpdatedDate; + @SerializedName("PurchaseDate") + private Date PurchaseDate; + @SerializedName("ExpirationDate") + private Date ExpirationDate; + @SerializedName("IsActive") + private Boolean IsActive; + @SerializedName("NumberofLicenses") + private Integer NumberofLicenses; + @SerializedName("PlanAddonBundleId") + private Integer PlanAddonBundleId; + @SerializedName("ProductCodeName") + private String ProductCodeName; + + public SFAccount getAccount() { + return this.Account; + } + + public void setAccount(SFAccount account) { + this.Account = account; + } + public String getPlanAddOnsTypeCode() { + return this.PlanAddOnsTypeCode; + } + + public void setPlanAddOnsTypeCode(String planaddonstypecode) { + this.PlanAddOnsTypeCode = planaddonstypecode; + } + public String getPlanAddOnsCode() { + return this.PlanAddOnsCode; + } + + public void setPlanAddOnsCode(String planaddonscode) { + this.PlanAddOnsCode = planaddonscode; + } + public String getUnitPrice() { + return this.UnitPrice; + } + + public void setUnitPrice(String unitprice) { + this.UnitPrice = unitprice; + } + public String getLimitingFactor() { + return this.LimitingFactor; + } + + public void setLimitingFactor(String limitingfactor) { + this.LimitingFactor = limitingfactor; + } + public Integer getLowerLimit() { + return this.LowerLimit; + } + + public void setLowerLimit(Integer lowerlimit) { + this.LowerLimit = lowerlimit; + } + public Integer getUpperLimit() { + return this.UpperLimit; + } + + public void setUpperLimit(Integer upperlimit) { + this.UpperLimit = upperlimit; + } + public String getAddonField() { + return this.AddonField; + } + + public void setAddonField(String addonfield) { + this.AddonField = addonfield; + } + public Integer getIncreaseInterval() { + return this.IncreaseInterval; + } + + public void setIncreaseInterval(Integer increaseinterval) { + this.IncreaseInterval = increaseinterval; + } + public SFUser getCreatedBy() { + return this.CreatedBy; + } + + public void setCreatedBy(SFUser createdby) { + this.CreatedBy = createdby; + } + public Date getCreationDate() { + return this.CreationDate; + } + + public void setCreationDate(Date creationdate) { + this.CreationDate = creationdate; + } + public SFUser getUpdatedBy() { + return this.UpdatedBy; + } + + public void setUpdatedBy(SFUser updatedby) { + this.UpdatedBy = updatedby; + } + public Date getUpdatedDate() { + return this.UpdatedDate; + } + + public void setUpdatedDate(Date updateddate) { + this.UpdatedDate = updateddate; + } + public Date getPurchaseDate() { + return this.PurchaseDate; + } + + public void setPurchaseDate(Date purchasedate) { + this.PurchaseDate = purchasedate; + } + public Date getExpirationDate() { + return this.ExpirationDate; + } + + public void setExpirationDate(Date expirationdate) { + this.ExpirationDate = expirationdate; + } + public Boolean getIsActive() { + return this.IsActive; + } + + public void setIsActive(Boolean isactive) { + this.IsActive = isactive; + } + public Integer getNumberofLicenses() { + return this.NumberofLicenses; + } + + public void setNumberofLicenses(Integer numberoflicenses) { + this.NumberofLicenses = numberoflicenses; + } + public Integer getPlanAddonBundleId() { + return this.PlanAddonBundleId; + } + + public void setPlanAddonBundleId(Integer planaddonbundleid) { + this.PlanAddonBundleId = planaddonbundleid; + } + /** + * Name of the product, e.g, RightSignature, ShareConnect, etc. + */ + public String getProductCodeName() { + return this.ProductCodeName; + } + + /** + * Name of the product, e.g, RightSignature, ShareConnect, etc. + */ + public void setProductCodeName(String productcodename) { + this.ProductCodeName = productcodename; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBillingCycleMonths.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBillingCycleMonths.java new file mode 100644 index 0000000..19ea276 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBillingCycleMonths.java @@ -0,0 +1,23 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFBillingCycleMonths { + Month, + Quarter, + Year +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBillingLog.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBillingLog.java new file mode 100644 index 0000000..8b64137 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBillingLog.java @@ -0,0 +1,301 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFBillingLog extends SFODataObject { + + @SerializedName("Amount") + private Double Amount; + @SerializedName("BillDate") + private Date BillDate; + @SerializedName("CreatedBy") + private String CreatedBy; + @SerializedName("CreatedDate") + private Date CreatedDate; + @SerializedName("UpdatedBy") + private String UpdatedBy; + @SerializedName("UpdatedDate") + private Date UpdatedDate; + @SerializedName("IsPaid") + private Boolean IsPaid; + @SerializedName("CreditCardName") + private String CreditCardName; + @SerializedName("CreditCardNumber") + private String CreditCardNumber; + @SerializedName("CreditCardExpiration") + private String CreditCardExpiration; + @SerializedName("Status") + private String Status; + @SerializedName("ConfirmationNumber") + private String ConfirmationNumber; + @SerializedName("Memo") + private String Memo; + @SerializedName("TaxAmount") + private Double TaxAmount; + @SerializedName("TaxAreaCode") + private String TaxAreaCode; + @SerializedName("HasPostedToVertex") + private Boolean HasPostedToVertex; + @SerializedName("SAPOrderNumber") + private String SAPOrderNumber; + @SerializedName("PurchaseOrderNumber") + private String PurchaseOrderNumber; + + /** + * Total billing amount + */ + public Double getAmount() { + return this.Amount; + } + + /** + * Total billing amount + */ + public void setAmount(Double amount) { + this.Amount = amount; + } + /** + * Bill date + */ + public Date getBillDate() { + return this.BillDate; + } + + /** + * Bill date + */ + public void setBillDate(Date billdate) { + this.BillDate = billdate; + } + /** + * Creator user Id + */ + public String getCreatedBy() { + return this.CreatedBy; + } + + /** + * Creator user Id + */ + public void setCreatedBy(String createdby) { + this.CreatedBy = createdby; + } + /** + * Created date + */ + public Date getCreatedDate() { + return this.CreatedDate; + } + + /** + * Created date + */ + public void setCreatedDate(Date createddate) { + this.CreatedDate = createddate; + } + /** + * User Id of last principal that updated the log + */ + public String getUpdatedBy() { + return this.UpdatedBy; + } + + /** + * User Id of last principal that updated the log + */ + public void setUpdatedBy(String updatedby) { + this.UpdatedBy = updatedby; + } + /** + * Date of last update + */ + public Date getUpdatedDate() { + return this.UpdatedDate; + } + + /** + * Date of last update + */ + public void setUpdatedDate(Date updateddate) { + this.UpdatedDate = updateddate; + } + /** + * Whether or not this log representes a Paid charge + */ + public Boolean getIsPaid() { + return this.IsPaid; + } + + /** + * Whether or not this log representes a Paid charge + */ + public void setIsPaid(Boolean ispaid) { + this.IsPaid = ispaid; + } + /** + * Credit card full name + */ + public String getCreditCardName() { + return this.CreditCardName; + } + + /** + * Credit card full name + */ + public void setCreditCardName(String creditcardname) { + this.CreditCardName = creditcardname; + } + /** + * Credit card number, obfuscated + */ + public String getCreditCardNumber() { + return this.CreditCardNumber; + } + + /** + * Credit card number, obfuscated + */ + public void setCreditCardNumber(String creditcardnumber) { + this.CreditCardNumber = creditcardnumber; + } + /** + * Full expiration date in MM/YY format + */ + public String getCreditCardExpiration() { + return this.CreditCardExpiration; + } + + /** + * Full expiration date in MM/YY format + */ + public void setCreditCardExpiration(String creditcardexpiration) { + this.CreditCardExpiration = creditcardexpiration; + } + /** + * Status of this log + */ + public String getStatus() { + return this.Status; + } + + /** + * Status of this log + */ + public void setStatus(String status) { + this.Status = status; + } + /** + * Confirmation number, if paid + */ + public String getConfirmationNumber() { + return this.ConfirmationNumber; + } + + /** + * Confirmation number, if paid + */ + public void setConfirmationNumber(String confirmationnumber) { + this.ConfirmationNumber = confirmationnumber; + } + /** + * Short description of the charges in this log + */ + public String getMemo() { + return this.Memo; + } + + /** + * Short description of the charges in this log + */ + public void setMemo(String memo) { + this.Memo = memo; + } + /** + * Total tax charged in this log + */ + public Double getTaxAmount() { + return this.TaxAmount; + } + + /** + * Total tax charged in this log + */ + public void setTaxAmount(Double taxamount) { + this.TaxAmount = taxamount; + } + /** + * Tax area code of the Account at the time of this charge + */ + public String getTaxAreaCode() { + return this.TaxAreaCode; + } + + /** + * Tax area code of the Account at the time of this charge + */ + public void setTaxAreaCode(String taxareacode) { + this.TaxAreaCode = taxareacode; + } + /** + * Whether or not the tax charged has been submitted to the 3rd Party Tax Service + */ + public Boolean getHasPostedToVertex() { + return this.HasPostedToVertex; + } + + /** + * Whether or not the tax charged has been submitted to the 3rd Party Tax Service + */ + public void setHasPostedToVertex(Boolean haspostedtovertex) { + this.HasPostedToVertex = haspostedtovertex; + } + /** + * SAP Order Number for this invoice + */ + public String getSAPOrderNumber() { + return this.SAPOrderNumber; + } + + /** + * SAP Order Number for this invoice + */ + public void setSAPOrderNumber(String sapordernumber) { + this.SAPOrderNumber = sapordernumber; + } + /** + * Purchase Order Number for this invoice + */ + public String getPurchaseOrderNumber() { + return this.PurchaseOrderNumber; + } + + /** + * Purchase Order Number for this invoice + */ + public void setPurchaseOrderNumber(String purchaseordernumber) { + this.PurchaseOrderNumber = purchaseordernumber; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBillingPreferences.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBillingPreferences.java new file mode 100644 index 0000000..8b3dbbe --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBillingPreferences.java @@ -0,0 +1,58 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFBillingPreferences extends SFODataObject { + + @SerializedName("SendBillingNotifications") + private Boolean SendBillingNotifications; + @SerializedName("SendBillingPDF") + private Boolean SendBillingPDF; + @SerializedName("AdditionalBillingAddresses") + private String AdditionalBillingAddresses; + + public Boolean getSendBillingNotifications() { + return this.SendBillingNotifications; + } + + public void setSendBillingNotifications(Boolean sendbillingnotifications) { + this.SendBillingNotifications = sendbillingnotifications; + } + public Boolean getSendBillingPDF() { + return this.SendBillingPDF; + } + + public void setSendBillingPDF(Boolean sendbillingpdf) { + this.SendBillingPDF = sendbillingpdf; + } + public String getAdditionalBillingAddresses() { + return this.AdditionalBillingAddresses; + } + + public void setAdditionalBillingAddresses(String additionalbillingaddresses) { + this.AdditionalBillingAddresses = additionalbillingaddresses; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBulkProvisionResults.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBulkProvisionResults.java new file mode 100644 index 0000000..e6a996e --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBulkProvisionResults.java @@ -0,0 +1,76 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFBulkProvisionResults extends SFODataObject { + + @SerializedName("BilledAddons") + private ArrayList BilledAddons; + @SerializedName("ProvisionedAddons") + private ArrayList ProvisionedAddons; + @SerializedName("DeprovisionedAddons") + private ArrayList DeprovisionedAddons; + @SerializedName("BillingAmount") + private Double BillingAmount; + @SerializedName("IsEmailSent") + private Boolean IsEmailSent; + + public ArrayList getBilledAddons() { + return this.BilledAddons; + } + + public void setBilledAddons(ArrayList billedaddons) { + this.BilledAddons = billedaddons; + } + public ArrayList getProvisionedAddons() { + return this.ProvisionedAddons; + } + + public void setProvisionedAddons(ArrayList provisionedaddons) { + this.ProvisionedAddons = provisionedaddons; + } + public ArrayList getDeprovisionedAddons() { + return this.DeprovisionedAddons; + } + + public void setDeprovisionedAddons(ArrayList deprovisionedaddons) { + this.DeprovisionedAddons = deprovisionedaddons; + } + public Double getBillingAmount() { + return this.BillingAmount; + } + + public void setBillingAmount(Double billingamount) { + this.BillingAmount = billingamount; + } + public Boolean getIsEmailSent() { + return this.IsEmailSent; + } + + public void setIsEmailSent(Boolean isemailsent) { + this.IsEmailSent = isemailsent; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBundle.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBundle.java new file mode 100644 index 0000000..b027bab --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBundle.java @@ -0,0 +1,40 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFBundle extends SFODataObject { + + @SerializedName("BundleType") + private SFSafeEnum BundleType; + + public SFSafeEnum getBundleType() { + return this.BundleType; + } + + public void setBundleType(SFSafeEnum bundletype) { + this.BundleType = bundletype; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBundleType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBundleType.java new file mode 100644 index 0000000..345fdc7 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFBundleType.java @@ -0,0 +1,25 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFBundleType { + MedicalStudy, + RequestList, + ApplicationFolder, + Workflow, + CustomWorkflow +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCitrixCloudAccountInfo.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCitrixCloudAccountInfo.java new file mode 100644 index 0000000..a87d3eb --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCitrixCloudAccountInfo.java @@ -0,0 +1,127 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFCitrixCloudAccountInfo extends SFODataObject { + + @SerializedName("EnableCwc") + private Boolean EnableCwc; + @SerializedName("Subdomain") + private String Subdomain; + @SerializedName("CompanyName") + private String CompanyName; + @SerializedName("AccountId") + private String AccountId; + @SerializedName("AppControlPlane") + private String AppControlPlane; + @SerializedName("ApiControlPlane") + private String ApiControlPlane; + @SerializedName("IsDemo") + private Boolean IsDemo; + @SerializedName("CustomerOrgId") + private String CustomerOrgId; + + /** + * Indicates if EnableCWC is present on the account + */ + public Boolean getEnableCwc() { + return this.EnableCwc; + } + + /** + * Indicates if EnableCWC is present on the account + */ + public void setEnableCwc(Boolean enablecwc) { + this.EnableCwc = enablecwc; + } + /** + * Primary (first) subdomain + */ + public String getSubdomain() { + return this.Subdomain; + } + + /** + * Primary (first) subdomain + */ + public void setSubdomain(String subdomain) { + this.Subdomain = subdomain; + } + public String getCompanyName() { + return this.CompanyName; + } + + public void setCompanyName(String companyname) { + this.CompanyName = companyname; + } + public String getAccountId() { + return this.AccountId; + } + + public void setAccountId(String accountid) { + this.AccountId = accountid; + } + /** + * Account's website domain (eg, sharefile.eu) + */ + public String getAppControlPlane() { + return this.AppControlPlane; + } + + /** + * Account's website domain (eg, sharefile.eu) + */ + public void setAppControlPlane(String appcontrolplane) { + this.AppControlPlane = appcontrolplane; + } + /** + * Account's api domain (eg, sf-api.edu) + */ + public String getApiControlPlane() { + return this.ApiControlPlane; + } + + /** + * Account's api domain (eg, sf-api.edu) + */ + public void setApiControlPlane(String apicontrolplane) { + this.ApiControlPlane = apicontrolplane; + } + public Boolean getIsDemo() { + return this.IsDemo; + } + + public void setIsDemo(Boolean isdemo) { + this.IsDemo = isdemo; + } + public String getCustomerOrgId() { + return this.CustomerOrgId; + } + + public void setCustomerOrgId(String customerorgid) { + this.CustomerOrgId = customerorgid; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCitrixCloudCredential.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCitrixCloudCredential.java new file mode 100644 index 0000000..05f7f08 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCitrixCloudCredential.java @@ -0,0 +1,76 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFCitrixCloudCredential extends SFODataObject { + + @SerializedName("CitrixCloudCustomerId") + private String CitrixCloudCustomerId; + @SerializedName("OneTimePassword") + private String OneTimePassword; + @SerializedName("CitrixCloudControlPlaneGeoId") + private String CitrixCloudControlPlaneGeoId; + + /** + * Customer identifier in Citrix Cloud + */ + public String getCitrixCloudCustomerId() { + return this.CitrixCloudCustomerId; + } + + /** + * Customer identifier in Citrix Cloud + */ + public void setCitrixCloudCustomerId(String citrixcloudcustomerid) { + this.CitrixCloudCustomerId = citrixcloudcustomerid; + } + /** + * One time password issued by Citrix Cloud + */ + public String getOneTimePassword() { + return this.OneTimePassword; + } + + /** + * One time password issued by Citrix Cloud + */ + public void setOneTimePassword(String onetimepassword) { + this.OneTimePassword = onetimepassword; + } + /** + * Citrix Cloud control plane identifier + */ + public String getCitrixCloudControlPlaneGeoId() { + return this.CitrixCloudControlPlaneGeoId; + } + + /** + * Citrix Cloud control plane identifier + */ + public void setCitrixCloudControlPlaneGeoId(String citrixcloudcontrolplanegeoid) { + this.CitrixCloudControlPlaneGeoId = citrixcloudcontrolplanegeoid; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCitrixCloudSession.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCitrixCloudSession.java new file mode 100644 index 0000000..e8fe3f3 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCitrixCloudSession.java @@ -0,0 +1,106 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFCitrixCloudSession extends SFODataObject { + + @SerializedName("SessionId") + private String SessionId; + @SerializedName("BearerToken") + private String BearerToken; + @SerializedName("OpenIdToken") + private String OpenIdToken; + @SerializedName("LifeTime") + private Long LifeTime; + @SerializedName("Locale") + private String Locale; + + /** + * Athena Session Id + */ + public String getSessionId() { + return this.SessionId; + } + + /** + * Athena Session Id + */ + public void setSessionId(String sessionid) { + this.SessionId = sessionid; + } + /** + * Athena Bearer Token + */ + public String getBearerToken() { + return this.BearerToken; + } + + /** + * Athena Bearer Token + */ + public void setBearerToken(String bearertoken) { + this.BearerToken = bearertoken; + } + /** + * Athena OpenIdtoken + */ + public String getOpenIdToken() { + return this.OpenIdToken; + } + + /** + * Athena OpenIdtoken + */ + public void setOpenIdToken(String openidtoken) { + this.OpenIdToken = openidtoken; + } + /** + * Athena Token Expiration + */ + public Long getLifeTime() { + return this.LifeTime; + } + + /** + * Athena Token Expiration + */ + public void setLifeTime(Long lifetime) { + this.LifeTime = lifetime; + } + /** + * Athena Locale + */ + public String getLocale() { + return this.Locale; + } + + /** + * Athena Locale + */ + public void setLocale(String locale) { + this.Locale = locale; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFClickTrailEvent.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFClickTrailEvent.java new file mode 100644 index 0000000..99067fa --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFClickTrailEvent.java @@ -0,0 +1,103 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFClickTrailEvent extends SFODataObject { + + @SerializedName("ClickTrailSessionId") + private String ClickTrailSessionId; + @SerializedName("TimeStamp") + private Date TimeStamp; + @SerializedName("Action") + private String Action; + @SerializedName("ItemId") + private String ItemId; + @SerializedName("ItemName") + private String ItemName; + @SerializedName("ItemType") + private String ItemType; + @SerializedName("Details") + private String Details; + @SerializedName("InternalData") + private String InternalData; + + public String getClickTrailSessionId() { + return this.ClickTrailSessionId; + } + + public void setClickTrailSessionId(String clicktrailsessionid) { + this.ClickTrailSessionId = clicktrailsessionid; + } + public Date getTimeStamp() { + return this.TimeStamp; + } + + public void setTimeStamp(Date timestamp) { + this.TimeStamp = timestamp; + } + public String getAction() { + return this.Action; + } + + public void setAction(String action) { + this.Action = action; + } + public String getItemId() { + return this.ItemId; + } + + public void setItemId(String itemid) { + this.ItemId = itemid; + } + public String getItemName() { + return this.ItemName; + } + + public void setItemName(String itemname) { + this.ItemName = itemname; + } + public String getItemType() { + return this.ItemType; + } + + public void setItemType(String itemtype) { + this.ItemType = itemtype; + } + public String getDetails() { + return this.Details; + } + + public void setDetails(String details) { + this.Details = details; + } + public String getInternalData() { + return this.InternalData; + } + + public void setInternalData(String internaldata) { + this.InternalData = internaldata; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFClickTrailSession.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFClickTrailSession.java new file mode 100644 index 0000000..3f43795 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFClickTrailSession.java @@ -0,0 +1,112 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFClickTrailSession extends SFODataObject { + + @SerializedName("AccountId") + private String AccountId; + @SerializedName("User") + private SFUser User; + @SerializedName("Browser") + private String Browser; + @SerializedName("IPAddress") + private String IPAddress; + @SerializedName("City") + private String City; + @SerializedName("Country") + private String Country; + @SerializedName("StartTime") + private Date StartTime; + @SerializedName("EndTime") + private Date EndTime; + @SerializedName("Events") + private ArrayList Events; + + public String getAccountId() { + return this.AccountId; + } + + public void setAccountId(String accountid) { + this.AccountId = accountid; + } + public SFUser getUser() { + return this.User; + } + + public void setUser(SFUser user) { + this.User = user; + } + public String getBrowser() { + return this.Browser; + } + + public void setBrowser(String browser) { + this.Browser = browser; + } + public String getIPAddress() { + return this.IPAddress; + } + + public void setIPAddress(String ipaddress) { + this.IPAddress = ipaddress; + } + public String getCity() { + return this.City; + } + + public void setCity(String city) { + this.City = city; + } + public String getCountry() { + return this.Country; + } + + public void setCountry(String country) { + this.Country = country; + } + public Date getStartTime() { + return this.StartTime; + } + + public void setStartTime(Date starttime) { + this.StartTime = starttime; + } + public Date getEndTime() { + return this.EndTime; + } + + public void setEndTime(Date endtime) { + this.EndTime = endtime; + } + public ArrayList getEvents() { + return this.Events; + } + + public void setEvents(ArrayList events) { + this.Events = events; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCloudStorageType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCloudStorageType.java new file mode 100644 index 0000000..667dd6c --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCloudStorageType.java @@ -0,0 +1,23 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFCloudStorageType { + None, + Amazon, + Azure +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContact.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContact.java index 9a9b05f..4f86c8c 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContact.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContact.java @@ -23,7 +23,6 @@ import com.citrix.sharefile.api.*; import com.citrix.sharefile.api.enumerations.*; import com.citrix.sharefile.api.models.*; -import com.citrix.sharefile.api.internal.models.*; public class SFContact extends SFPrincipal { diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContactListType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContactListType.java new file mode 100644 index 0000000..7e17852 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContactListType.java @@ -0,0 +1,29 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFContactListType { + Default, + PersonalAddressBook, + SharedAddressBook, + Clients, + Employees, + AllUsers, + SharedAddressBookAndClients, + AllUsersWithGroups, + Groups +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContactsAdvancedSearchParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContactsAdvancedSearchParams.java new file mode 100644 index 0000000..14d1400 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContactsAdvancedSearchParams.java @@ -0,0 +1,76 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFContactsAdvancedSearchParams extends SFODataObject { + + @SerializedName("SearchText") + private String SearchText; + @SerializedName("FieldSelector") + private SFSearchTextFieldSelector FieldSelector; + @SerializedName("ListSelectionParams") + private SFContactsListSelectionParams ListSelectionParams; + + /** + * Search text + */ + public String getSearchText() { + return this.SearchText; + } + + /** + * Search text + */ + public void setSearchText(String searchtext) { + this.SearchText = searchtext; + } + /** + * Fields to search + */ + public SFSearchTextFieldSelector getFieldSelector() { + return this.FieldSelector; + } + + /** + * Fields to search + */ + public void setFieldSelector(SFSearchTextFieldSelector fieldselector) { + this.FieldSelector = fieldselector; + } + /** + * Types of contact lists to filter on + */ + public SFContactsListSelectionParams getListSelectionParams() { + return this.ListSelectionParams; + } + + /** + * Types of contact lists to filter on + */ + public void setListSelectionParams(SFContactsListSelectionParams listselectionparams) { + this.ListSelectionParams = listselectionparams; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContactsAutocompleteParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContactsAutocompleteParams.java new file mode 100644 index 0000000..b00e9e0 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContactsAutocompleteParams.java @@ -0,0 +1,76 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFContactsAutocompleteParams extends SFODataObject { + + @SerializedName("SearchText") + private String SearchText; + @SerializedName("ListType") + private SFSafeEnum ListType; + @SerializedName("ListSelectionParams") + private SFContactsListSelectionParams ListSelectionParams; + + /** + * SearchText + */ + public String getSearchText() { + return this.SearchText; + } + + /** + * SearchText + */ + public void setSearchText(String searchtext) { + this.SearchText = searchtext; + } + /** + * ListType + */ + public SFSafeEnum getListType() { + return this.ListType; + } + + /** + * ListType + */ + public void setListType(SFSafeEnum listtype) { + this.ListType = listtype; + } + /** + * ListSelectionParams + */ + public SFContactsListSelectionParams getListSelectionParams() { + return this.ListSelectionParams; + } + + /** + * ListSelectionParams + */ + public void setListSelectionParams(SFContactsListSelectionParams listselectionparams) { + this.ListSelectionParams = listselectionparams; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContactsListSelectionParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContactsListSelectionParams.java new file mode 100644 index 0000000..6bfca1b --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContactsListSelectionParams.java @@ -0,0 +1,166 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFContactsListSelectionParams extends SFODataObject { + + @SerializedName("IncludeAllClients") + private Boolean IncludeAllClients; + @SerializedName("IncludeClientsInPersonalAddressBook") + private Boolean IncludeClientsInPersonalAddressBook; + @SerializedName("IncludeClientsInSharedAddressBook") + private Boolean IncludeClientsInSharedAddressBook; + @SerializedName("IncludeAllEmployees") + private Boolean IncludeAllEmployees; + @SerializedName("IncludeEmployeesInPersonalAddressBook") + private Boolean IncludeEmployeesInPersonalAddressBook; + @SerializedName("IncludeEmployeesInSharedAddressBook") + private Boolean IncludeEmployeesInSharedAddressBook; + @SerializedName("IncludeSharedAddressBook") + private Boolean IncludeSharedAddressBook; + @SerializedName("IncludePersonalAddressBook") + private Boolean IncludePersonalAddressBook; + @SerializedName("IncludeGroups") + private Boolean IncludeGroups; + + /** + * IncludeAllClients + */ + public Boolean getIncludeAllClients() { + return this.IncludeAllClients; + } + + /** + * IncludeAllClients + */ + public void setIncludeAllClients(Boolean includeallclients) { + this.IncludeAllClients = includeallclients; + } + /** + * IncludeClientsInPersonalAddressBook + */ + public Boolean getIncludeClientsInPersonalAddressBook() { + return this.IncludeClientsInPersonalAddressBook; + } + + /** + * IncludeClientsInPersonalAddressBook + */ + public void setIncludeClientsInPersonalAddressBook(Boolean includeclientsinpersonaladdressbook) { + this.IncludeClientsInPersonalAddressBook = includeclientsinpersonaladdressbook; + } + /** + * IncludeClientsInSharedAddressBook + */ + public Boolean getIncludeClientsInSharedAddressBook() { + return this.IncludeClientsInSharedAddressBook; + } + + /** + * IncludeClientsInSharedAddressBook + */ + public void setIncludeClientsInSharedAddressBook(Boolean includeclientsinsharedaddressbook) { + this.IncludeClientsInSharedAddressBook = includeclientsinsharedaddressbook; + } + /** + * IncludeAllEmployees + */ + public Boolean getIncludeAllEmployees() { + return this.IncludeAllEmployees; + } + + /** + * IncludeAllEmployees + */ + public void setIncludeAllEmployees(Boolean includeallemployees) { + this.IncludeAllEmployees = includeallemployees; + } + /** + * IncludeEmployeesInPersonalAddressBook + */ + public Boolean getIncludeEmployeesInPersonalAddressBook() { + return this.IncludeEmployeesInPersonalAddressBook; + } + + /** + * IncludeEmployeesInPersonalAddressBook + */ + public void setIncludeEmployeesInPersonalAddressBook(Boolean includeemployeesinpersonaladdressbook) { + this.IncludeEmployeesInPersonalAddressBook = includeemployeesinpersonaladdressbook; + } + /** + * IncludeEmployeesInSharedAddressBook + */ + public Boolean getIncludeEmployeesInSharedAddressBook() { + return this.IncludeEmployeesInSharedAddressBook; + } + + /** + * IncludeEmployeesInSharedAddressBook + */ + public void setIncludeEmployeesInSharedAddressBook(Boolean includeemployeesinsharedaddressbook) { + this.IncludeEmployeesInSharedAddressBook = includeemployeesinsharedaddressbook; + } + /** + * IncludeSharedAddressBook + */ + public Boolean getIncludeSharedAddressBook() { + return this.IncludeSharedAddressBook; + } + + /** + * IncludeSharedAddressBook + */ + public void setIncludeSharedAddressBook(Boolean includesharedaddressbook) { + this.IncludeSharedAddressBook = includesharedaddressbook; + } + /** + * IncludePersonalAddressBook + */ + public Boolean getIncludePersonalAddressBook() { + return this.IncludePersonalAddressBook; + } + + /** + * IncludePersonalAddressBook + */ + public void setIncludePersonalAddressBook(Boolean includepersonaladdressbook) { + this.IncludePersonalAddressBook = includepersonaladdressbook; + } + /** + * Include distribution groups + */ + public Boolean getIncludeGroups() { + return this.IncludeGroups; + } + + /** + * Include distribution groups + */ + public void setIncludeGroups(Boolean includegroups) { + this.IncludeGroups = includegroups; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContactsSearchParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContactsSearchParams.java new file mode 100644 index 0000000..5b36d60 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContactsSearchParams.java @@ -0,0 +1,91 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFContactsSearchParams extends SFODataObject { + + @SerializedName("SearchText") + private String SearchText; + @SerializedName("FieldSelector") + private SFSearchTextFieldSelectorFlags FieldSelector; + @SerializedName("ListType") + private SFSafeEnum ListType; + @SerializedName("ListSelectionParams") + private SFContactsListSelectionParams ListSelectionParams; + + /** + * SearchText + */ + public String getSearchText() { + return this.SearchText; + } + + /** + * SearchText + */ + public void setSearchText(String searchtext) { + this.SearchText = searchtext; + } + /** + * FieldSelector + */ + public SFSearchTextFieldSelectorFlags getFieldSelector() { + return this.FieldSelector; + } + + /** + * FieldSelector + */ + public void setFieldSelector(SFSearchTextFieldSelectorFlags fieldselector) { + this.FieldSelector = fieldselector; + } + /** + * ListType. mutually exclusive with ListSelectionParams + */ + public SFSafeEnum getListType() { + return this.ListType; + } + + /** + * ListType. mutually exclusive with ListSelectionParams + */ + public void setListType(SFSafeEnum listtype) { + this.ListType = listtype; + } + /** + * ListSelectionParams. mutually exclusive with ListType + */ + public SFContactsListSelectionParams getListSelectionParams() { + return this.ListSelectionParams; + } + + /** + * ListSelectionParams. mutually exclusive with ListType + */ + public void setListSelectionParams(SFContactsListSelectionParams listselectionparams) { + this.ListSelectionParams = listselectionparams; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContentViewerLinkRequest.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContentViewerLinkRequest.java new file mode 100644 index 0000000..8d3eba4 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContentViewerLinkRequest.java @@ -0,0 +1,58 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFContentViewerLinkRequest extends SFODataObject { + + @SerializedName("ItemUrl") + private String ItemUrl; + @SerializedName("Action") + private SFSafeEnum Action; + @SerializedName("FileName") + private String FileName; + + public String getItemUrl() { + return this.ItemUrl; + } + + public void setItemUrl(String itemurl) { + this.ItemUrl = itemurl; + } + public SFSafeEnum getAction() { + return this.Action; + } + + public void setAction(SFSafeEnum action) { + this.Action = action; + } + public String getFileName() { + return this.FileName; + } + + public void setFileName(String filename) { + this.FileName = filename; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContentViewerParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContentViewerParams.java new file mode 100644 index 0000000..0c72e22 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFContentViewerParams.java @@ -0,0 +1,58 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFContentViewerParams extends SFODataObject { + + @SerializedName("DocumentViewId") + private String DocumentViewId; + @SerializedName("ViewOnly") + private Boolean ViewOnly; + @SerializedName("Watermark") + private String Watermark; + + public String getDocumentViewId() { + return this.DocumentViewId; + } + + public void setDocumentViewId(String documentviewid) { + this.DocumentViewId = documentviewid; + } + public Boolean getViewOnly() { + return this.ViewOnly; + } + + public void setViewOnly(Boolean viewonly) { + this.ViewOnly = viewonly; + } + public String getWatermark() { + return this.Watermark; + } + + public void setWatermark(String watermark) { + this.Watermark = watermark; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCreateWorkflowParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCreateWorkflowParams.java index 3fdbafb..9e84571 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCreateWorkflowParams.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCreateWorkflowParams.java @@ -23,7 +23,6 @@ import com.citrix.sharefile.api.*; import com.citrix.sharefile.api.enumerations.*; import com.citrix.sharefile.api.models.*; -import com.citrix.sharefile.api.internal.models.*; public class SFCreateWorkflowParams extends SFODataObject { diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCreditCard.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCreditCard.java new file mode 100644 index 0000000..c4d57a4 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCreditCard.java @@ -0,0 +1,166 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFCreditCard extends SFODataObject { + + @SerializedName("FirstName") + private String FirstName; + @SerializedName("LastName") + private String LastName; + @SerializedName("CardType") + private String CardType; + @SerializedName("Number") + private String Number; + @SerializedName("Token") + private String Token; + @SerializedName("ExpirationMonth") + private String ExpirationMonth; + @SerializedName("ExpirationYear") + private String ExpirationYear; + @SerializedName("SecurityCode") + private String SecurityCode; + @SerializedName("BillingAddress") + private SFAddress BillingAddress; + + /** + * First Name on the Credit Card + */ + public String getFirstName() { + return this.FirstName; + } + + /** + * First Name on the Credit Card + */ + public void setFirstName(String firstname) { + this.FirstName = firstname; + } + /** + * Last Name on the Credit Card + */ + public String getLastName() { + return this.LastName; + } + + /** + * Last Name on the Credit Card + */ + public void setLastName(String lastname) { + this.LastName = lastname; + } + /** + * Visa, MasterCard, Discover, etc. + */ + public String getCardType() { + return this.CardType; + } + + /** + * Visa, MasterCard, Discover, etc. + */ + public void setCardType(String cardtype) { + this.CardType = cardtype; + } + /** + * Credit Card Number + */ + public String getNumber() { + return this.Number; + } + + /** + * Credit Card Number + */ + public void setNumber(String number) { + this.Number = number; + } + /** + * The Card Number, tokenized + */ + public String getToken() { + return this.Token; + } + + /** + * The Card Number, tokenized + */ + public void setToken(String token) { + this.Token = token; + } + /** + * Expiration Month's number, 1-12 + */ + public String getExpirationMonth() { + return this.ExpirationMonth; + } + + /** + * Expiration Month's number, 1-12 + */ + public void setExpirationMonth(String expirationmonth) { + this.ExpirationMonth = expirationmonth; + } + /** + * Expiration Year, in YYYY format + */ + public String getExpirationYear() { + return this.ExpirationYear; + } + + /** + * Expiration Year, in YYYY format + */ + public void setExpirationYear(String expirationyear) { + this.ExpirationYear = expirationyear; + } + /** + * Security Code in the back of the card + */ + public String getSecurityCode() { + return this.SecurityCode; + } + + /** + * Security Code in the back of the card + */ + public void setSecurityCode(String securitycode) { + this.SecurityCode = securitycode; + } + /** + * Billing Address + */ + public SFAddress getBillingAddress() { + return this.BillingAddress; + } + + /** + * Billing Address + */ + public void setBillingAddress(SFAddress billingaddress) { + this.BillingAddress = billingaddress; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCustomWorkflowBundle.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCustomWorkflowBundle.java new file mode 100644 index 0000000..049c9d7 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFCustomWorkflowBundle.java @@ -0,0 +1,49 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFCustomWorkflowBundle extends SFBundle { + + @SerializedName("WorkflowId") + private String WorkflowId; + @SerializedName("BundleSubType") + private SFSafeEnum BundleSubType; + + public String getWorkflowId() { + return this.WorkflowId; + } + + public void setWorkflowId(String workflowid) { + this.WorkflowId = workflowid; + } + public SFSafeEnum getBundleSubType() { + return this.BundleSubType; + } + + public void setBundleSubType(SFSafeEnum bundlesubtype) { + this.BundleSubType = bundlesubtype; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDailyAvailability.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDailyAvailability.java new file mode 100644 index 0000000..d6474c6 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDailyAvailability.java @@ -0,0 +1,76 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFDailyAvailability extends SFODataObject { + + @SerializedName("Days") + private String Days; + @SerializedName("StartHour") + private Integer StartHour; + @SerializedName("StartMin") + private Integer StartMin; + @SerializedName("EndHour") + private Integer EndHour; + @SerializedName("EndMin") + private Integer EndMin; + + public String getDays() { + return this.Days; + } + + public void setDays(String days) { + this.Days = days; + } + public Integer getStartHour() { + return this.StartHour; + } + + public void setStartHour(Integer starthour) { + this.StartHour = starthour; + } + public Integer getStartMin() { + return this.StartMin; + } + + public void setStartMin(Integer startmin) { + this.StartMin = startmin; + } + public Integer getEndHour() { + return this.EndHour; + } + + public void setEndHour(Integer endhour) { + this.EndHour = endhour; + } + public Integer getEndMin() { + return this.EndMin; + } + + public void setEndMin(Integer endmin) { + this.EndMin = endmin; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDataCenter.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDataCenter.java new file mode 100644 index 0000000..440b883 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDataCenter.java @@ -0,0 +1,40 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFDataCenter { + Hosted, + Amazon_US_VA, + Amazon_US_CA, + Amazon_EU_IE, + Amazon_EU_IE_NoBackup, + Amazon_AP_SG, + Amazon_AP_JP, + Amazon_US_OR, + Amazon_SA_BR, + Amazon_AU_SYD, + Azure_US_East, + Amazon_HIPAA_East, + Amazon_HIPAA_West, + Azure_US_Central, + Azure_EU_IE, + Azure_AP, + Azure_US_USE, + Amazon_CA, + Azure_AU_SE, + Amazon_EU_DE +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDatabaseLevel.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDatabaseLevel.java new file mode 100644 index 0000000..93e5bc1 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDatabaseLevel.java @@ -0,0 +1,23 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFDatabaseLevel { + Standard, + Enterprise, + Automation +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeletedAccount.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeletedAccount.java new file mode 100644 index 0000000..56e2c2e --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDeletedAccount.java @@ -0,0 +1,61 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFDeletedAccount extends SFODataObject { + + @SerializedName("S3ActivityLogDeletionQueueDate") + private Date S3ActivityLogDeletionQueueDate; + @SerializedName("S3ActivityLogDeletionDate") + private Date S3ActivityLogDeletionDate; + + /** + * Indicates date when S3 deletion job was queued. + */ + public Date getS3ActivityLogDeletionQueueDate() { + return this.S3ActivityLogDeletionQueueDate; + } + + /** + * Indicates date when S3 deletion job was queued. + */ + public void setS3ActivityLogDeletionQueueDate(Date s3activitylogdeletionqueuedate) { + this.S3ActivityLogDeletionQueueDate = s3activitylogdeletionqueuedate; + } + /** + * Indicates date when S3 deletion job was completed. + */ + public Date getS3ActivityLogDeletionDate() { + return this.S3ActivityLogDeletionDate; + } + + /** + * Indicates date when S3 deletion job was completed. + */ + public void setS3ActivityLogDeletionDate(Date s3activitylogdeletiondate) { + this.S3ActivityLogDeletionDate = s3activitylogdeletiondate; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDlpPolicy.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDlpPolicy.java new file mode 100644 index 0000000..d6d6ac0 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDlpPolicy.java @@ -0,0 +1,151 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFDlpPolicy extends SFODataObject { + + @SerializedName("Name") + private String Name; + @SerializedName("Description") + private String Description; + @SerializedName("Status") + private SFSafeEnum Status; + @SerializedName("AnonymousUserCanDownload") + private Boolean AnonymousUserCanDownload; + @SerializedName("ClientUserCanDownload") + private Boolean ClientUserCanDownload; + @SerializedName("ClientUserCanShare") + private Boolean ClientUserCanShare; + @SerializedName("EmployeeUserCanDownload") + private Boolean EmployeeUserCanDownload; + @SerializedName("EmployeeUserCanShare") + private Boolean EmployeeUserCanShare; + + /** + * Localized display name of this policy. + */ + public String getName() { + return this.Name; + } + + /** + * Localized display name of this policy. + */ + public void setName(String name) { + this.Name = name; + } + /** + * Localized description of this policy. + */ + public String getDescription() { + return this.Description; + } + + /** + * Localized description of this policy. + */ + public void setDescription(String description) { + this.Description = description; + } + /** + * File scan status associated with this policy. + */ + public SFSafeEnum getStatus() { + return this.Status; + } + + /** + * File scan status associated with this policy. + */ + public void setStatus(SFSafeEnum status) { + this.Status = status; + } + /** + * If true, anonymous share recipients can download Items which have this policy. + */ + public Boolean getAnonymousUserCanDownload() { + return this.AnonymousUserCanDownload; + } + + /** + * If true, anonymous share recipients can download Items which have this policy. + */ + public void setAnonymousUserCanDownload(Boolean anonymoususercandownload) { + this.AnonymousUserCanDownload = anonymoususercandownload; + } + /** + * If true, Client users can download Items which have this policy. + */ + public Boolean getClientUserCanDownload() { + return this.ClientUserCanDownload; + } + + /** + * If true, Client users can download Items which have this policy. + */ + public void setClientUserCanDownload(Boolean clientusercandownload) { + this.ClientUserCanDownload = clientusercandownload; + } + /** + * If true, Client users can share Items which have this policy. + */ + public Boolean getClientUserCanShare() { + return this.ClientUserCanShare; + } + + /** + * If true, Client users can share Items which have this policy. + */ + public void setClientUserCanShare(Boolean clientusercanshare) { + this.ClientUserCanShare = clientusercanshare; + } + /** + * If true, Employee users can download Items which have this policy. + */ + public Boolean getEmployeeUserCanDownload() { + return this.EmployeeUserCanDownload; + } + + /** + * If true, Employee users can download Items which have this policy. + */ + public void setEmployeeUserCanDownload(Boolean employeeusercandownload) { + this.EmployeeUserCanDownload = employeeusercandownload; + } + /** + * If true, Employee users can share Items which have this policy. + */ + public Boolean getEmployeeUserCanShare() { + return this.EmployeeUserCanShare; + } + + /** + * If true, Employee users can share Items which have this policy. + */ + public void setEmployeeUserCanShare(Boolean employeeusercanshare) { + this.EmployeeUserCanShare = employeeusercanshare; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDocumentApprovalWorkflowAction.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDocumentApprovalWorkflowAction.java new file mode 100644 index 0000000..14447d5 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDocumentApprovalWorkflowAction.java @@ -0,0 +1,26 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFDocumentApprovalWorkflowAction { + ShowDashboard, + InitiateApproval, + CollectFeedback, + CreateRequestList, + ViewRequestList, + ViewWorkflow +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDocumentType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDocumentType.java new file mode 100644 index 0000000..0741eec --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDocumentType.java @@ -0,0 +1,23 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFDocumentType { + Xls, + Xlsx, + Csv +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDocumentViewEvent.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDocumentViewEvent.java new file mode 100644 index 0000000..59cdc59 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDocumentViewEvent.java @@ -0,0 +1,61 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFDocumentViewEvent extends SFODataObject { + + @SerializedName("AccountId") + private String AccountId; + @SerializedName("Data") + private ArrayList Data; + + /** + * Id of the account viewing the document + */ + public String getAccountId() { + return this.AccountId; + } + + /** + * Id of the account viewing the document + */ + public void setAccountId(String accountid) { + this.AccountId = accountid; + } + /** + * Data associated with the document view event + */ + public ArrayList getData() { + return this.Data; + } + + /** + * Data associated with the document view event + */ + public void setData(ArrayList data) { + this.Data = data; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDocumentViewPageData.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDocumentViewPageData.java new file mode 100644 index 0000000..cf9e518 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFDocumentViewPageData.java @@ -0,0 +1,61 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFDocumentViewPageData extends SFODataObject { + + @SerializedName("PageNumber") + private Integer PageNumber; + @SerializedName("Seconds") + private Integer Seconds; + + /** + * Number of the page + */ + public Integer getPageNumber() { + return this.PageNumber; + } + + /** + * Number of the page + */ + public void setPageNumber(Integer pagenumber) { + this.PageNumber = pagenumber; + } + /** + * Time in seconds + */ + public Integer getSeconds() { + return this.Seconds; + } + + /** + * Time in seconds + */ + public void setSeconds(Integer seconds) { + this.Seconds = seconds; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEditingProhibitedDefaultSetting.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEditingProhibitedDefaultSetting.java new file mode 100644 index 0000000..b33fbcc --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEditingProhibitedDefaultSetting.java @@ -0,0 +1,49 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFEditingProhibitedDefaultSetting extends SFODataObject { + + @SerializedName("HasDefaultValue") + private Boolean HasDefaultValue; + @SerializedName("ShouldPreventUserChanges") + private Boolean ShouldPreventUserChanges; + + public Boolean getHasDefaultValue() { + return this.HasDefaultValue; + } + + public void setHasDefaultValue(Boolean hasdefaultvalue) { + this.HasDefaultValue = hasdefaultvalue; + } + public Boolean getShouldPreventUserChanges() { + return this.ShouldPreventUserChanges; + } + + public void setShouldPreventUserChanges(Boolean shouldpreventuserchanges) { + this.ShouldPreventUserChanges = shouldpreventuserchanges; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEmailAttachmentConversion.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEmailAttachmentConversion.java new file mode 100644 index 0000000..9e9cbaa --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEmailAttachmentConversion.java @@ -0,0 +1,23 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFEmailAttachmentConversion { + Automatic, + Always, + Advanced +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEmailAttachmentConversionSetting.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEmailAttachmentConversionSetting.java new file mode 100644 index 0000000..84eb099 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEmailAttachmentConversionSetting.java @@ -0,0 +1,49 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFEmailAttachmentConversionSetting extends SFODataObject { + + @SerializedName("ConversionSetting") + private SFSafeEnum ConversionSetting; + @SerializedName("MinimumSizeInMb") + private Integer MinimumSizeInMb; + + public SFSafeEnum getConversionSetting() { + return this.ConversionSetting; + } + + public void setConversionSetting(SFSafeEnum conversionsetting) { + this.ConversionSetting = conversionsetting; + } + public Integer getMinimumSizeInMb() { + return this.MinimumSizeInMb; + } + + public void setMinimumSizeInMb(Integer minimumsizeinmb) { + this.MinimumSizeInMb = minimumsizeinmb; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEmailBannerCustomization.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEmailBannerCustomization.java new file mode 100644 index 0000000..67908e5 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEmailBannerCustomization.java @@ -0,0 +1,76 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFEmailBannerCustomization extends SFODataObject { + + @SerializedName("Title") + private String Title; + @SerializedName("ShouldDisplayShareFileText") + private Boolean ShouldDisplayShareFileText; + @SerializedName("FooterText") + private String FooterText; + @SerializedName("FooterLink") + private SFUrlLink FooterLink; + @SerializedName("Html") + private String Html; + + public String getTitle() { + return this.Title; + } + + public void setTitle(String title) { + this.Title = title; + } + public Boolean getShouldDisplayShareFileText() { + return this.ShouldDisplayShareFileText; + } + + public void setShouldDisplayShareFileText(Boolean shoulddisplaysharefiletext) { + this.ShouldDisplayShareFileText = shoulddisplaysharefiletext; + } + public String getFooterText() { + return this.FooterText; + } + + public void setFooterText(String footertext) { + this.FooterText = footertext; + } + public SFUrlLink getFooterLink() { + return this.FooterLink; + } + + public void setFooterLink(SFUrlLink footerlink) { + this.FooterLink = footerlink; + } + public String getHtml() { + return this.Html; + } + + public void setHtml(String html) { + this.Html = html; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEmailLinkInsertionMethod.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEmailLinkInsertionMethod.java new file mode 100644 index 0000000..fcb06b0 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEmailLinkInsertionMethod.java @@ -0,0 +1,22 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFEmailLinkInsertionMethod { + Banner, + TextLink +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEmailMessage.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEmailMessage.java new file mode 100644 index 0000000..9d2f785 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEmailMessage.java @@ -0,0 +1,130 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFEmailMessage extends SFODataObject { + + @SerializedName("To") + private ArrayList To; + @SerializedName("CC") + private ArrayList CC; + @SerializedName("BCC") + private ArrayList BCC; + @SerializedName("FromName") + private String FromName; + @SerializedName("FromEmail") + private String FromEmail; + @SerializedName("ReplyTo") + private String ReplyTo; + @SerializedName("Subject") + private String Subject; + @SerializedName("Html") + private String Html; + @SerializedName("PlainText") + private String PlainText; + @SerializedName("CustomHeader") + private String CustomHeader; + @SerializedName("CustomFooter") + private String CustomFooter; + + public ArrayList getTo() { + return this.To; + } + + public void setTo(ArrayList to) { + this.To = to; + } + public ArrayList getCC() { + return this.CC; + } + + public void setCC(ArrayList cc) { + this.CC = cc; + } + public ArrayList getBCC() { + return this.BCC; + } + + public void setBCC(ArrayList bcc) { + this.BCC = bcc; + } + public String getFromName() { + return this.FromName; + } + + public void setFromName(String fromname) { + this.FromName = fromname; + } + public String getFromEmail() { + return this.FromEmail; + } + + public void setFromEmail(String fromemail) { + this.FromEmail = fromemail; + } + public String getReplyTo() { + return this.ReplyTo; + } + + public void setReplyTo(String replyto) { + this.ReplyTo = replyto; + } + public String getSubject() { + return this.Subject; + } + + public void setSubject(String subject) { + this.Subject = subject; + } + public String getHtml() { + return this.Html; + } + + public void setHtml(String html) { + this.Html = html; + } + public String getPlainText() { + return this.PlainText; + } + + public void setPlainText(String plaintext) { + this.PlainText = plaintext; + } + public String getCustomHeader() { + return this.CustomHeader; + } + + public void setCustomHeader(String customheader) { + this.CustomHeader = customheader; + } + public String getCustomFooter() { + return this.CustomFooter; + } + + public void setCustomFooter(String customfooter) { + this.CustomFooter = customfooter; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEmailPluginSettings.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEmailPluginSettings.java new file mode 100644 index 0000000..74d70f7 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEmailPluginSettings.java @@ -0,0 +1,258 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFEmailPluginSettings extends SFODataObject { + + @SerializedName("AttachmentConversion") + private SFEditingProhibitedDefaultSetting AttachmentConversion; + @SerializedName("ShouldAttachPaperClip") + private SFEditingProhibitedDefaultSetting ShouldAttachPaperClip; + @SerializedName("FileAndLinkExpiration") + private SFEditingProhibitedDefaultSetting FileAndLinkExpiration; + @SerializedName("LinkInsertionMethod") + private SFEditingProhibitedDefaultSetting LinkInsertionMethod; + @SerializedName("BannerCustomization") + private SFEditingProhibitedDefaultSetting BannerCustomization; + @SerializedName("DownloadFilesText") + private SFEditingProhibitedDefaultSetting DownloadFilesText; + @SerializedName("RequestFilesText") + private SFEditingProhibitedDefaultSetting RequestFilesText; + @SerializedName("DownloadInfoLevel") + private SFEditingProhibitedDefaultSetting DownloadInfoLevel; + @SerializedName("ShouldNotifyOnDownload") + private SFEditingProhibitedDefaultSetting ShouldNotifyOnDownload; + @SerializedName("MaxDownloads") + private SFEditingProhibitedDefaultSetting MaxDownloads; + @SerializedName("UploadInfoLevel") + private SFEditingProhibitedDefaultSetting UploadInfoLevel; + @SerializedName("ShouldNotifyOnUpload") + private SFEditingProhibitedDefaultSetting ShouldNotifyOnUpload; + @SerializedName("EncryptedEmailAccessInfoLevel") + private SFEditingProhibitedDefaultSetting EncryptedEmailAccessInfoLevel; + @SerializedName("ShouldNotifyOnEncryptedEmailRead") + private SFEditingProhibitedDefaultSetting ShouldNotifyOnEncryptedEmailRead; + @SerializedName("EncryptedEmailExpiration") + private SFEditingProhibitedDefaultSetting EncryptedEmailExpiration; + + /** + * Describes if any attachments added to an email will be auto converted to a Sharefile file. Values include Automatic, Always, Advanced. + * For Automatic, a size parameter can be set, measuring the smallest a file size in MB will be converted. + */ + public SFEditingProhibitedDefaultSetting getAttachmentConversion() { + return this.AttachmentConversion; + } + + /** + * Describes if any attachments added to an email will be auto converted to a Sharefile file. Values include Automatic, Always, Advanced. + * For Automatic, a size parameter can be set, measuring the smallest a file size in MB will be converted. + */ + public void setAttachmentConversion(SFEditingProhibitedDefaultSetting attachmentconversion) { + this.AttachmentConversion = attachmentconversion; + } + /** + * Enable/Disable the paperclip icon on emails identifying the email has attachments. + */ + public SFEditingProhibitedDefaultSetting getShouldAttachPaperClip() { + return this.ShouldAttachPaperClip; + } + + /** + * Enable/Disable the paperclip icon on emails identifying the email has attachments. + */ + public void setShouldAttachPaperClip(SFEditingProhibitedDefaultSetting shouldattachpaperclip) { + this.ShouldAttachPaperClip = shouldattachpaperclip; + } + /** + * By default, files and links will be available for 6 months. This setting will override that. + */ + public SFEditingProhibitedDefaultSetting getFileAndLinkExpiration() { + return this.FileAndLinkExpiration; + } + + /** + * By default, files and links will be available for 6 months. This setting will override that. + */ + public void setFileAndLinkExpiration(SFEditingProhibitedDefaultSetting fileandlinkexpiration) { + this.FileAndLinkExpiration = fileandlinkexpiration; + } + /** + * Setting to determine how to display the link to the files. Values are Banner or TextLink. + */ + public SFEditingProhibitedDefaultSetting getLinkInsertionMethod() { + return this.LinkInsertionMethod; + } + + /** + * Setting to determine how to display the link to the files. Values are Banner or TextLink. + */ + public void setLinkInsertionMethod(SFEditingProhibitedDefaultSetting linkinsertionmethod) { + this.LinkInsertionMethod = linkinsertionmethod; + } + /** + * Settings to customize the banner for displaying file links + */ + public SFEditingProhibitedDefaultSetting getBannerCustomization() { + return this.BannerCustomization; + } + + /** + * Settings to customize the banner for displaying file links + */ + public void setBannerCustomization(SFEditingProhibitedDefaultSetting bannercustomization) { + this.BannerCustomization = bannercustomization; + } + /** + * The text to display for the Download Files link. Must contain two # symbols to identify that actual linked section of text. + */ + public SFEditingProhibitedDefaultSetting getDownloadFilesText() { + return this.DownloadFilesText; + } + + /** + * The text to display for the Download Files link. Must contain two # symbols to identify that actual linked section of text. + */ + public void setDownloadFilesText(SFEditingProhibitedDefaultSetting downloadfilestext) { + this.DownloadFilesText = downloadfilestext; + } + /** + * The text to display for the Request Files link. Must contain two # symbols to identify that actual linked section of text. + */ + public SFEditingProhibitedDefaultSetting getRequestFilesText() { + return this.RequestFilesText; + } + + /** + * The text to display for the Request Files link. Must contain two # symbols to identify that actual linked section of text. + */ + public void setRequestFilesText(SFEditingProhibitedDefaultSetting requestfilestext) { + this.RequestFilesText = requestfilestext; + } + /** + * Setting to determine the access level of the downloaded files. + */ + public SFEditingProhibitedDefaultSetting getDownloadInfoLevel() { + return this.DownloadInfoLevel; + } + + /** + * Setting to determine the access level of the downloaded files. + */ + public void setDownloadInfoLevel(SFEditingProhibitedDefaultSetting downloadinfolevel) { + this.DownloadInfoLevel = downloadinfolevel; + } + /** + * Setting to enable/disable sending email notifications upon file download. + */ + public SFEditingProhibitedDefaultSetting getShouldNotifyOnDownload() { + return this.ShouldNotifyOnDownload; + } + + /** + * Setting to enable/disable sending email notifications upon file download. + */ + public void setShouldNotifyOnDownload(SFEditingProhibitedDefaultSetting shouldnotifyondownload) { + this.ShouldNotifyOnDownload = shouldnotifyondownload; + } + /** + * Number of downloads available for each file. + */ + public SFEditingProhibitedDefaultSetting getMaxDownloads() { + return this.MaxDownloads; + } + + /** + * Number of downloads available for each file. + */ + public void setMaxDownloads(SFEditingProhibitedDefaultSetting maxdownloads) { + this.MaxDownloads = maxdownloads; + } + /** + * Setting to determine the access level required to upload files. + */ + public SFEditingProhibitedDefaultSetting getUploadInfoLevel() { + return this.UploadInfoLevel; + } + + /** + * Setting to determine the access level required to upload files. + */ + public void setUploadInfoLevel(SFEditingProhibitedDefaultSetting uploadinfolevel) { + this.UploadInfoLevel = uploadinfolevel; + } + /** + * Setting to enable/disable sending email notifications upon file upload. + */ + public SFEditingProhibitedDefaultSetting getShouldNotifyOnUpload() { + return this.ShouldNotifyOnUpload; + } + + /** + * Setting to enable/disable sending email notifications upon file upload. + */ + public void setShouldNotifyOnUpload(SFEditingProhibitedDefaultSetting shouldnotifyonupload) { + this.ShouldNotifyOnUpload = shouldnotifyonupload; + } + /** + * Setting to determine the access level required to view encrypted email. + */ + public SFEditingProhibitedDefaultSetting getEncryptedEmailAccessInfoLevel() { + return this.EncryptedEmailAccessInfoLevel; + } + + /** + * Setting to determine the access level required to view encrypted email. + */ + public void setEncryptedEmailAccessInfoLevel(SFEditingProhibitedDefaultSetting encryptedemailaccessinfolevel) { + this.EncryptedEmailAccessInfoLevel = encryptedemailaccessinfolevel; + } + /** + * Setting to enable/disable sending email notifications upon view of encrypted email. + */ + public SFEditingProhibitedDefaultSetting getShouldNotifyOnEncryptedEmailRead() { + return this.ShouldNotifyOnEncryptedEmailRead; + } + + /** + * Setting to enable/disable sending email notifications upon view of encrypted email. + */ + public void setShouldNotifyOnEncryptedEmailRead(SFEditingProhibitedDefaultSetting shouldnotifyonencryptedemailread) { + this.ShouldNotifyOnEncryptedEmailRead = shouldnotifyonencryptedemailread; + } + /** + * By default, encrypted emails will be available for 6 months. This setting will override that. + */ + public SFEditingProhibitedDefaultSetting getEncryptedEmailExpiration() { + return this.EncryptedEmailExpiration; + } + + /** + * By default, encrypted emails will be available for 6 months. This setting will override that. + */ + public void setEncryptedEmailExpiration(SFEditingProhibitedDefaultSetting encryptedemailexpiration) { + this.EncryptedEmailExpiration = encryptedemailexpiration; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEmailSupport.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEmailSupport.java new file mode 100644 index 0000000..7ca3121 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEmailSupport.java @@ -0,0 +1,40 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFEmailSupport extends SFSupportMethod { + + @SerializedName("Email") + private String Email; + + public String getEmail() { + return this.Email; + } + + public void setEmail(String email) { + this.Email = email; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEncodedJwt.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEncodedJwt.java new file mode 100644 index 0000000..3ecec0e --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEncodedJwt.java @@ -0,0 +1,40 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFEncodedJwt extends SFODataObject { + + @SerializedName("Token") + private String Token; + + public String getToken() { + return this.Token; + } + + public void setToken(String token) { + this.Token = token; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEncryptedEmail.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEncryptedEmail.java new file mode 100644 index 0000000..54aba4f --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEncryptedEmail.java @@ -0,0 +1,196 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFEncryptedEmail extends SFODataObject { + + @SerializedName("Subject") + private String Subject; + @SerializedName("ToRecipients") + private ArrayList ToRecipients; + @SerializedName("CcRecipients") + private ArrayList CcRecipients; + @SerializedName("BccRecipients") + private ArrayList BccRecipients; + @SerializedName("OriginalEncryptedEmail") + private SFEncryptedEmail OriginalEncryptedEmail; + @SerializedName("InReplyTo") + private SFEncryptedEmail InReplyTo; + @SerializedName("Sender") + private SFUser Sender; + @SerializedName("Share") + private SFShare Share; + @SerializedName("ShareAlias") + private SFShareAlias ShareAlias; + @SerializedName("Uri") + private URI Uri; + @SerializedName("SentDate") + private Date SentDate; + + /** + * Message subject + */ + public String getSubject() { + return this.Subject; + } + + /** + * Message subject + */ + public void setSubject(String subject) { + this.Subject = subject; + } + /** + * Direct To recipients + */ + public ArrayList getToRecipients() { + return this.ToRecipients; + } + + /** + * Direct To recipients + */ + public void setToRecipients(ArrayList torecipients) { + this.ToRecipients = torecipients; + } + /** + * Copied recipients + */ + public ArrayList getCcRecipients() { + return this.CcRecipients; + } + + /** + * Copied recipients + */ + public void setCcRecipients(ArrayList ccrecipients) { + this.CcRecipients = ccrecipients; + } + /** + * Only available to the sender. + */ + public ArrayList getBccRecipients() { + return this.BccRecipients; + } + + /** + * Only available to the sender. + */ + public void setBccRecipients(ArrayList bccrecipients) { + this.BccRecipients = bccrecipients; + } + /** + * Original encrypted email. + */ + public SFEncryptedEmail getOriginalEncryptedEmail() { + return this.OriginalEncryptedEmail; + } + + /** + * Original encrypted email. + */ + public void setOriginalEncryptedEmail(SFEncryptedEmail originalencryptedemail) { + this.OriginalEncryptedEmail = originalencryptedemail; + } + /** + * Encrypted email that this message is in reply to. + */ + public SFEncryptedEmail getInReplyTo() { + return this.InReplyTo; + } + + /** + * Encrypted email that this message is in reply to. + */ + public void setInReplyTo(SFEncryptedEmail inreplyto) { + this.InReplyTo = inreplyto; + } + /** + * Sender of the encrypted email + */ + public SFUser getSender() { + return this.Sender; + } + + /** + * Sender of the encrypted email + */ + public void setSender(SFUser sender) { + this.Sender = sender; + } + /** + * Only available to the sender. + */ + public SFShare getShare() { + return this.Share; + } + + /** + * Only available to the sender. + */ + public void setShare(SFShare share) { + this.Share = share; + } + /** + * Used to access the attachments. Only available for a recipient. + */ + public SFShareAlias getShareAlias() { + return this.ShareAlias; + } + + /** + * Used to access the attachments. Only available for a recipient. + */ + public void setShareAlias(SFShareAlias sharealias) { + this.ShareAlias = sharealias; + } + /** + * Link to view the email in the web portal. + */ + public URI getUri() { + return this.Uri; + } + + /** + * Link to view the email in the web portal. + */ + public void setUri(URI uri) { + this.Uri = uri; + } + /** + * Date the encrypted email was sent + */ + public Date getSentDate() { + return this.SentDate; + } + + /** + * Date the encrypted email was sent + */ + public void setSentDate(Date sentdate) { + this.SentDate = sentdate; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEncryptedEmailCreateParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEncryptedEmailCreateParams.java new file mode 100644 index 0000000..6ba7ce2 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEncryptedEmailCreateParams.java @@ -0,0 +1,49 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFEncryptedEmailCreateParams extends SFEncryptedEmailReplyParams { + + @SerializedName("RequireUserInfo") + private Boolean RequireUserInfo; + @SerializedName("RequireLogin") + private Boolean RequireLogin; + + public Boolean getRequireUserInfo() { + return this.RequireUserInfo; + } + + public void setRequireUserInfo(Boolean requireuserinfo) { + this.RequireUserInfo = requireuserinfo; + } + public Boolean getRequireLogin() { + return this.RequireLogin; + } + + public void setRequireLogin(Boolean requirelogin) { + this.RequireLogin = requirelogin; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEncryptedEmailParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEncryptedEmailParams.java new file mode 100644 index 0000000..344ffdb --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEncryptedEmailParams.java @@ -0,0 +1,73 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFEncryptedEmailParams extends SFODataObject { + + @SerializedName("Subject") + private String Subject; + @SerializedName("ExpirationDays") + private Integer ExpirationDays; + @SerializedName("NotifyOnUse") + private Boolean NotifyOnUse; + @SerializedName("SendSeparateActivation") + private Boolean SendSeparateActivation; + + public String getSubject() { + return this.Subject; + } + + public void setSubject(String subject) { + this.Subject = subject; + } + public Integer getExpirationDays() { + return this.ExpirationDays; + } + + public void setExpirationDays(Integer expirationdays) { + this.ExpirationDays = expirationdays; + } + public Boolean getNotifyOnUse() { + return this.NotifyOnUse; + } + + public void setNotifyOnUse(Boolean notifyonuse) { + this.NotifyOnUse = notifyonuse; + } + /** + * Set to false if will be sent via API/> + */ + public Boolean getSendSeparateActivation() { + return this.SendSeparateActivation; + } + + /** + * Set to false if will be sent via API/> + */ + public void setSendSeparateActivation(Boolean sendseparateactivation) { + this.SendSeparateActivation = sendseparateactivation; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEncryptedEmailRecipient.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEncryptedEmailRecipient.java new file mode 100644 index 0000000..5374be1 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEncryptedEmailRecipient.java @@ -0,0 +1,85 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFEncryptedEmailRecipient extends SFODataObject { + + @SerializedName("User") + private SFUser User; + @SerializedName("FirstName") + private String FirstName; + @SerializedName("LastName") + private String LastName; + @SerializedName("Company") + private String Company; + @SerializedName("Email") + private String Email; + @SerializedName("FullName") + private String FullName; + + public SFUser getUser() { + return this.User; + } + + public void setUser(SFUser user) { + this.User = user; + } + public String getFirstName() { + return this.FirstName; + } + + public void setFirstName(String firstname) { + this.FirstName = firstname; + } + public String getLastName() { + return this.LastName; + } + + public void setLastName(String lastname) { + this.LastName = lastname; + } + public String getCompany() { + return this.Company; + } + + public void setCompany(String company) { + this.Company = company; + } + public String getEmail() { + return this.Email; + } + + public void setEmail(String email) { + this.Email = email; + } + public String getFullName() { + return this.FullName; + } + + public void setFullName(String fullname) { + this.FullName = fullname; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEncryptedEmailReplyParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEncryptedEmailReplyParams.java new file mode 100644 index 0000000..98f478a --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEncryptedEmailReplyParams.java @@ -0,0 +1,58 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFEncryptedEmailReplyParams extends SFEncryptedEmailParams { + + @SerializedName("ToRecipients") + private ArrayList ToRecipients; + @SerializedName("CcRecipients") + private ArrayList CcRecipients; + @SerializedName("BccRecipients") + private ArrayList BccRecipients; + + public ArrayList getToRecipients() { + return this.ToRecipients; + } + + public void setToRecipients(ArrayList torecipients) { + this.ToRecipients = torecipients; + } + public ArrayList getCcRecipients() { + return this.CcRecipients; + } + + public void setCcRecipients(ArrayList ccrecipients) { + this.CcRecipients = ccrecipients; + } + public ArrayList getBccRecipients() { + return this.BccRecipients; + } + + public void setBccRecipients(ArrayList bccrecipients) { + this.BccRecipients = bccrecipients; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEncryptedEmailSendParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEncryptedEmailSendParams.java new file mode 100644 index 0000000..b74ba53 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEncryptedEmailSendParams.java @@ -0,0 +1,49 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFEncryptedEmailSendParams extends SFODataObject { + + @SerializedName("Message") + private SFItem Message; + @SerializedName("Attachments") + private ArrayList Attachments; + + public SFItem getMessage() { + return this.Message; + } + + public void setMessage(SFItem message) { + this.Message = message; + } + public ArrayList getAttachments() { + return this.Attachments; + } + + public void setAttachments(ArrayList attachments) { + this.Attachments = attachments; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnterpriseOrder.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnterpriseOrder.java new file mode 100644 index 0000000..955affa --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnterpriseOrder.java @@ -0,0 +1,193 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFEnterpriseOrder extends SFODataObject { + + @SerializedName("SapOrderNumber") + private String SapOrderNumber; + @SerializedName("VantiveOrgId") + private String VantiveOrgId; + @SerializedName("AccountId") + private String AccountId; + @SerializedName("Quantity") + private Integer Quantity; + @SerializedName("SkuNumber") + private Integer SkuNumber; + @SerializedName("NetPrice") + private Double NetPrice; + @SerializedName("StartDate") + private Date StartDate; + @SerializedName("EndDate") + private Date EndDate; + @SerializedName("EnteredDate") + private Date EnteredDate; + @SerializedName("EnteredBy") + private SFUser EnteredBy; + @SerializedName("UpdatedDate") + private Date UpdatedDate; + @SerializedName("UpdatedBy") + private SFUser UpdatedBy; + @SerializedName("IsCancelled") + private Boolean IsCancelled; + @SerializedName("ParentId") + private String ParentId; + @SerializedName("FullRepName") + private String FullRepName; + @SerializedName("Currency") + private String Currency; + @SerializedName("SkuDescription") + private String SkuDescription; + @SerializedName("EnterpriseResellers") + private SFEnterpriseReseller EnterpriseResellers; + + public String getSapOrderNumber() { + return this.SapOrderNumber; + } + + public void setSapOrderNumber(String sapordernumber) { + this.SapOrderNumber = sapordernumber; + } + public String getVantiveOrgId() { + return this.VantiveOrgId; + } + + public void setVantiveOrgId(String vantiveorgid) { + this.VantiveOrgId = vantiveorgid; + } + public String getAccountId() { + return this.AccountId; + } + + public void setAccountId(String accountid) { + this.AccountId = accountid; + } + public Integer getQuantity() { + return this.Quantity; + } + + public void setQuantity(Integer quantity) { + this.Quantity = quantity; + } + public Integer getSkuNumber() { + return this.SkuNumber; + } + + public void setSkuNumber(Integer skunumber) { + this.SkuNumber = skunumber; + } + public Double getNetPrice() { + return this.NetPrice; + } + + public void setNetPrice(Double netprice) { + this.NetPrice = netprice; + } + public Date getStartDate() { + return this.StartDate; + } + + public void setStartDate(Date startdate) { + this.StartDate = startdate; + } + public Date getEndDate() { + return this.EndDate; + } + + public void setEndDate(Date enddate) { + this.EndDate = enddate; + } + public Date getEnteredDate() { + return this.EnteredDate; + } + + public void setEnteredDate(Date entereddate) { + this.EnteredDate = entereddate; + } + public SFUser getEnteredBy() { + return this.EnteredBy; + } + + public void setEnteredBy(SFUser enteredby) { + this.EnteredBy = enteredby; + } + public Date getUpdatedDate() { + return this.UpdatedDate; + } + + public void setUpdatedDate(Date updateddate) { + this.UpdatedDate = updateddate; + } + public SFUser getUpdatedBy() { + return this.UpdatedBy; + } + + public void setUpdatedBy(SFUser updatedby) { + this.UpdatedBy = updatedby; + } + public Boolean getIsCancelled() { + return this.IsCancelled; + } + + public void setIsCancelled(Boolean iscancelled) { + this.IsCancelled = iscancelled; + } + public String getParentId() { + return this.ParentId; + } + + public void setParentId(String parentid) { + this.ParentId = parentid; + } + public String getFullRepName() { + return this.FullRepName; + } + + public void setFullRepName(String fullrepname) { + this.FullRepName = fullrepname; + } + public String getCurrency() { + return this.Currency; + } + + public void setCurrency(String currency) { + this.Currency = currency; + } + public String getSkuDescription() { + return this.SkuDescription; + } + + public void setSkuDescription(String skudescription) { + this.SkuDescription = skudescription; + } + public SFEnterpriseReseller getEnterpriseResellers() { + return this.EnterpriseResellers; + } + + public void setEnterpriseResellers(SFEnterpriseReseller enterpriseresellers) { + this.EnterpriseResellers = enterpriseresellers; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnterpriseReseller.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnterpriseReseller.java new file mode 100644 index 0000000..57ad290 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEnterpriseReseller.java @@ -0,0 +1,112 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFEnterpriseReseller extends SFODataObject { + + @SerializedName("City") + private String City; + @SerializedName("Country") + private String Country; + @SerializedName("CustomerNo") + private String CustomerNo; + @SerializedName("CompanyName") + private String CompanyName; + @SerializedName("Phone") + private String Phone; + @SerializedName("State") + private String State; + @SerializedName("Street") + private String Street; + @SerializedName("ZipCode") + private String ZipCode; + @SerializedName("OrgId") + private String OrgId; + + public String getCity() { + return this.City; + } + + public void setCity(String city) { + this.City = city; + } + public String getCountry() { + return this.Country; + } + + public void setCountry(String country) { + this.Country = country; + } + public String getCustomerNo() { + return this.CustomerNo; + } + + public void setCustomerNo(String customerno) { + this.CustomerNo = customerno; + } + public String getCompanyName() { + return this.CompanyName; + } + + public void setCompanyName(String companyname) { + this.CompanyName = companyname; + } + public String getPhone() { + return this.Phone; + } + + public void setPhone(String phone) { + this.Phone = phone; + } + public String getState() { + return this.State; + } + + public void setState(String state) { + this.State = state; + } + public String getStreet() { + return this.Street; + } + + public void setStreet(String street) { + this.Street = street; + } + public String getZipCode() { + return this.ZipCode; + } + + public void setZipCode(String zipcode) { + this.ZipCode = zipcode; + } + public String getOrgId() { + return this.OrgId; + } + + public void setOrgId(String orgid) { + this.OrgId = orgid; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEntityTypeMap.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEntityTypeMap.java index 9d296cd..c542c4b 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEntityTypeMap.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFEntityTypeMap.java @@ -28,24 +28,81 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("AccessControlsBulkParamss", SFAccessControlsBulkParams.class); _entityTypeMap.put("AccessControlParam", SFAccessControlParam.class); _entityTypeMap.put("AccessControlParams", SFAccessControlParam.class); + _entityTypeMap.put("AccountStatus", SFAccountStatus.class); + _entityTypeMap.put("AccountStatuss", SFAccountStatus.class); _entityTypeMap.put("AccountMessageCode", SFAccountMessageCode.class); _entityTypeMap.put("AccountMessageCodes", SFAccountMessageCode.class); _entityTypeMap.put("AccessControlsCloneParams", SFAccessControlsCloneParams.class); _entityTypeMap.put("AccessControlsCloneParamss", SFAccessControlsCloneParams.class); + _entityTypeMap.put("ActiveDirectoryGroup", SFActiveDirectoryGroup.class); + _entityTypeMap.put("ActiveDirectoryGroups", SFActiveDirectoryGroup.class); + _entityTypeMap.put("ActiveDirectoryUser", SFActiveDirectoryUser.class); + _entityTypeMap.put("ActiveDirectoryUsers", SFActiveDirectoryUser.class); + _entityTypeMap.put("Address", SFAddress.class); + _entityTypeMap.put("Addresses", SFAddress.class); + _entityTypeMap.put("AsyncOperationBatch", SFAsyncOperationBatch.class); + _entityTypeMap.put("AsyncOperationBatches", SFAsyncOperationBatch.class); _entityTypeMap.put("Bandwidth", SFBandwidth.class); _entityTypeMap.put("Bandwidths", SFBandwidth.class); + _entityTypeMap.put("BillingPreferences", SFBillingPreferences.class); + _entityTypeMap.put("BillingPreferencess", SFBillingPreferences.class); + _entityTypeMap.put("BulkProvisionResults", SFBulkProvisionResults.class); + _entityTypeMap.put("BulkProvisionResultss", SFBulkProvisionResults.class); _entityTypeMap.put("Cancellation", SFCancellation.class); _entityTypeMap.put("Cancellations", SFCancellation.class); + _entityTypeMap.put("Bundle", SFBundle.class); + _entityTypeMap.put("Bundles", SFBundle.class); + _entityTypeMap.put("CustomWorkflowBundle", SFCustomWorkflowBundle.class); + _entityTypeMap.put("CustomWorkflowBundles", SFCustomWorkflowBundle.class); + _entityTypeMap.put("MedicalStudyBundle", SFMedicalStudyBundle.class); + _entityTypeMap.put("MedicalStudyBundles", SFMedicalStudyBundle.class); + _entityTypeMap.put("RequestListBundle", SFRequestListBundle.class); + _entityTypeMap.put("RequestListBundles", SFRequestListBundle.class); + _entityTypeMap.put("WorkflowBundle", SFWorkflowBundle.class); + _entityTypeMap.put("WorkflowBundles", SFWorkflowBundle.class); + _entityTypeMap.put("ClickTrailEvent", SFClickTrailEvent.class); + _entityTypeMap.put("ClickTrailEvents", SFClickTrailEvent.class); + _entityTypeMap.put("ClickTrailSession", SFClickTrailSession.class); + _entityTypeMap.put("ClickTrailSessions", SFClickTrailSession.class); + _entityTypeMap.put("SearchField", SFSearchField.class); + _entityTypeMap.put("SearchFields", SFSearchField.class); + _entityTypeMap.put("SearchTextFieldSelector", SFSearchTextFieldSelector.class); + _entityTypeMap.put("SearchTextFieldSelectors", SFSearchTextFieldSelector.class); + _entityTypeMap.put("ContactsAdvancedSearchParams", SFContactsAdvancedSearchParams.class); + _entityTypeMap.put("ContentViewerParams", SFContentViewerParams.class); + _entityTypeMap.put("ContentViewerParamss", SFContentViewerParams.class); + _entityTypeMap.put("EmailMessage", SFEmailMessage.class); + _entityTypeMap.put("EmailMessages", SFEmailMessage.class); _entityTypeMap.put("CustomMessage", SFCustomMessage.class); _entityTypeMap.put("CustomMessages", SFCustomMessage.class); + _entityTypeMap.put("CitrixCloudCredential", SFCitrixCloudCredential.class); + _entityTypeMap.put("CitrixCloudCredentials", SFCitrixCloudCredential.class); + _entityTypeMap.put("CitrixCloudSession", SFCitrixCloudSession.class); + _entityTypeMap.put("CitrixCloudSessions", SFCitrixCloudSession.class); _entityTypeMap.put("EmailAddress", SFEmailAddress.class); _entityTypeMap.put("EmailAddresss", SFEmailAddress.class); + _entityTypeMap.put("CitrixCloudAccountInfo", SFCitrixCloudAccountInfo.class); + _entityTypeMap.put("CitrixCloudAccountInfos", SFCitrixCloudAccountInfo.class); + _entityTypeMap.put("DocumentViewEvent", SFDocumentViewEvent.class); + _entityTypeMap.put("DocumentViewEvents", SFDocumentViewEvent.class); + _entityTypeMap.put("DocumentViewPageData", SFDocumentViewPageData.class); + _entityTypeMap.put("DocumentViewPageDatas", SFDocumentViewPageData.class); + _entityTypeMap.put("EmailAttachmentConversionSetting", SFEmailAttachmentConversionSetting.class); + _entityTypeMap.put("EmailAttachmentConversionSettings", SFEmailAttachmentConversionSetting.class); + _entityTypeMap.put("EmailBannerCustomization", SFEmailBannerCustomization.class); + _entityTypeMap.put("EmailBannerCustomizations", SFEmailBannerCustomization.class); _entityTypeMap.put("Favorite", SFFavorite.class); _entityTypeMap.put("Favorites", SFFavorite.class); + _entityTypeMap.put("BillingLog", SFBillingLog.class); + _entityTypeMap.put("BillingLogs", SFBillingLog.class); + _entityTypeMap.put("ContentViewerLinkRequest", SFContentViewerLinkRequest.class); + _entityTypeMap.put("ContentViewerLinkRequests", SFContentViewerLinkRequest.class); _entityTypeMap.put("FileAndFolderSettingOptions", SFFileAndFolderSettingOptions.class); _entityTypeMap.put("FileAndFolderSettingOptionss", SFFileAndFolderSettingOptions.class); _entityTypeMap.put("ForbiddenOAuthClientNameWords", SFForbiddenOAuthClientNameWords.class); _entityTypeMap.put("ForbiddenOAuthClientNameWordss", SFForbiddenOAuthClientNameWords.class); + _entityTypeMap.put("SmartFolderOptions", SFSmartFolderOptions.class); + _entityTypeMap.put("EmailPluginSettings", SFEmailPluginSettings.class); _entityTypeMap.put("TenantAccountCreationParameters", SFTenantAccountCreationParameters.class); _entityTypeMap.put("TenantAccountCreationParameterss", SFTenantAccountCreationParameters.class); _entityTypeMap.put("UserBulkOperationRequest", SFUserBulkOperationRequest.class); @@ -54,14 +111,46 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("UserBulkDowngradeRequests", SFUserBulkDowngradeRequest.class); _entityTypeMap.put("ResetPasswordRequest", SFResetPasswordRequest.class); _entityTypeMap.put("ResetPasswordRequests", SFResetPasswordRequest.class); + _entityTypeMap.put("Quote", SFQuote.class); + _entityTypeMap.put("Quotes", SFQuote.class); + _entityTypeMap.put("ServerInfo", SFServerInfo.class); + _entityTypeMap.put("ServerInfos", SFServerInfo.class); + _entityTypeMap.put("ServerTag", SFServerTag.class); + _entityTypeMap.put("ServerTags", SFServerTag.class); + _entityTypeMap.put("ShareFileCitrixCloudSession", SFShareFileCitrixCloudSession.class); + _entityTypeMap.put("ShareFileCitrixCloudSessions", SFShareFileCitrixCloudSession.class); + _entityTypeMap.put("SmtpSettings", SFSmtpSettings.class); _entityTypeMap.put("SubdomainAvailabilityResult", SFSubdomainAvailabilityResult.class); _entityTypeMap.put("SubdomainAvailabilityResults", SFSubdomainAvailabilityResult.class); + _entityTypeMap.put("SupportFlag", SFSupportFlag.class); + _entityTypeMap.put("SupportFlags", SFSupportFlag.class); + _entityTypeMap.put("UrlLink", SFUrlLink.class); + _entityTypeMap.put("UrlLinks", SFUrlLink.class); + _entityTypeMap.put("OrderUpdateNotification", SFOrderUpdateNotification.class); + _entityTypeMap.put("OrderUpdateNotifications", SFOrderUpdateNotification.class); _entityTypeMap.put("BrandingLinks", SFBrandingLinks.class); _entityTypeMap.put("BrandingLinkss", SFBrandingLinks.class); + _entityTypeMap.put("EncodedJwt", SFEncodedJwt.class); + _entityTypeMap.put("EncodedJwts", SFEncodedJwt.class); _entityTypeMap.put("PolicyUsage", SFPolicyUsage.class); _entityTypeMap.put("PolicyUsages", SFPolicyUsage.class); + _entityTypeMap.put("StructuredDownloadItem", SFStructuredDownloadItem.class); + _entityTypeMap.put("StructuredDownloadItems", SFStructuredDownloadItem.class); + _entityTypeMap.put("StructuredDownloadFolder", SFStructuredDownloadFolder.class); + _entityTypeMap.put("StructuredDownloadFolders", SFStructuredDownloadFolder.class); _entityTypeMap.put("FileAndFolderSettings", SFFileAndFolderSettings.class); _entityTypeMap.put("FileAndFolderSettingss", SFFileAndFolderSettings.class); + _entityTypeMap.put("ApiRegulatorPolicy", SFApiRegulatorPolicy.class); + _entityTypeMap.put("ApiRegulatorPolicies", SFApiRegulatorPolicy.class); + _entityTypeMap.put("ContactsAutocompleteParams", SFContactsAutocompleteParams.class); + _entityTypeMap.put("ContactsSearchParams", SFContactsSearchParams.class); + _entityTypeMap.put("ContactsListSelectionParams", SFContactsListSelectionParams.class); + _entityTypeMap.put("SearchTextFieldSelectorFlags", SFSearchTextFieldSelectorFlags.class); + _entityTypeMap.put("SearchTextFieldSelectorFlagss", SFSearchTextFieldSelectorFlags.class); + _entityTypeMap.put("CreditCard", SFCreditCard.class); + _entityTypeMap.put("CreditCards", SFCreditCard.class); + _entityTypeMap.put("DeletedAccount", SFDeletedAccount.class); + _entityTypeMap.put("DeletedAccounts", SFDeletedAccount.class); _entityTypeMap.put("ConnectedApp", SFConnectedApp.class); _entityTypeMap.put("ConnectedApps", SFConnectedApp.class); _entityTypeMap.put("EditingPlatformInfo", SFEditingPlatformInfo.class); @@ -87,22 +176,40 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("RemoteUploads", SFRemoteUpload.class); _entityTypeMap.put("SalesTaxQuote", SFSalesTaxQuote.class); _entityTypeMap.put("SalesTaxQuotes", SFSalesTaxQuote.class); + _entityTypeMap.put("SearchIndexAllocationDetails", SFSearchIndexAllocationDetails.class); + _entityTypeMap.put("SearchIndexAllocationDetailss", SFSearchIndexAllocationDetails.class); + _entityTypeMap.put("SearchProvider", SFSearchProvider.class); + _entityTypeMap.put("SearchProviders", SFSearchProvider.class); _entityTypeMap.put("SecurityQuestion", SFSecurityQuestion.class); _entityTypeMap.put("SecurityQuestions", SFSecurityQuestion.class); _entityTypeMap.put("Service", SFService.class); _entityTypeMap.put("Services", SFService.class); _entityTypeMap.put("ServicesCollection", SFServicesCollection.class); _entityTypeMap.put("ServicesCollections", SFServicesCollection.class); + _entityTypeMap.put("AccountItemStatusProvider", SFAccountItemStatusProvider.class); + _entityTypeMap.put("AccountItemStatusProviders", SFAccountItemStatusProvider.class); + _entityTypeMap.put("ItemStatusProvider", SFItemStatusProvider.class); + _entityTypeMap.put("ItemStatusProviders", SFItemStatusProvider.class); + _entityTypeMap.put("ItemStatus", SFItemStatus.class); + _entityTypeMap.put("ItemStatuses", SFItemStatus.class); + _entityTypeMap.put("SFObjectItemStatus", SFSFObjectItemStatus.class); + _entityTypeMap.put("SFObjectItemStatuses", SFSFObjectItemStatus.class); _entityTypeMap.put("ShareAccessRight", SFShareAccessRight.class); _entityTypeMap.put("ShareAccessRights", SFShareAccessRight.class); _entityTypeMap.put("StorageSettings", SFStorageSettings.class); _entityTypeMap.put("StorageSettingss", SFStorageSettings.class); + _entityTypeMap.put("AppliedPlanAddOns", SFAppliedPlanAddOns.class); + _entityTypeMap.put("AppliedPlanAddOnss", SFAppliedPlanAddOns.class); + _entityTypeMap.put("Billing", SFBilling.class); + _entityTypeMap.put("Billings", SFBilling.class); _entityTypeMap.put("AccessControlBulkResult", SFAccessControlBulkResult.class); _entityTypeMap.put("AccessControlBulkResults", SFAccessControlBulkResult.class); _entityTypeMap.put("AccessControlFailedEntry", SFAccessControlFailedEntry.class); _entityTypeMap.put("AccessControlFailedEntrys", SFAccessControlFailedEntry.class); _entityTypeMap.put("ItemDlpInfo", SFItemDlpInfo.class); _entityTypeMap.put("ItemDlpInfos", SFItemDlpInfo.class); + _entityTypeMap.put("DlpPolicy", SFDlpPolicy.class); + _entityTypeMap.put("DlpPolicies", SFDlpPolicy.class); _entityTypeMap.put("ShareItemHistory", SFShareItemHistory.class); _entityTypeMap.put("ShareItemHistorys", SFShareItemHistory.class); _entityTypeMap.put("InboxMetadata", SFInboxMetadata.class); @@ -113,6 +220,8 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("FolderTemplateItems", SFFolderTemplateItem.class); _entityTypeMap.put("ShareSettings", SFShareSettings.class); _entityTypeMap.put("ShareSettingss", SFShareSettings.class); + _entityTypeMap.put("ToolSurvey", SFToolSurvey.class); + _entityTypeMap.put("ToolSurveys", SFToolSurvey.class); _entityTypeMap.put("TwoFactorAuthApp", SFTwoFactorAuthApp.class); _entityTypeMap.put("TwoFactorAuthApps", SFTwoFactorAuthApp.class); _entityTypeMap.put("UserAccessSettings", SFUserAccessSettings.class); @@ -127,18 +236,50 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("DiskSpaces", SFDiskSpace.class); _entityTypeMap.put("ReportRecord", SFReportRecord.class); _entityTypeMap.put("ReportRecords", SFReportRecord.class); + _entityTypeMap.put("BillingAddOn", SFBillingAddOn.class); + _entityTypeMap.put("BillingAddOns", SFBillingAddOn.class); + _entityTypeMap.put("EnterpriseOrder", SFEnterpriseOrder.class); + _entityTypeMap.put("EnterpriseOrders", SFEnterpriseOrder.class); + _entityTypeMap.put("EnterpriseReseller", SFEnterpriseReseller.class); + _entityTypeMap.put("EnterpriseResellers", SFEnterpriseReseller.class); _entityTypeMap.put("BillingInfo", SFBillingInfo.class); _entityTypeMap.put("BillingInfos", SFBillingInfo.class); _entityTypeMap.put("UploadRequestParams", SFUploadRequestParams.class); _entityTypeMap.put("UploadRequestParamss", SFUploadRequestParams.class); _entityTypeMap.put("RemoteUploadRequestParams", SFRemoteUploadRequestParams.class); _entityTypeMap.put("RemoteUploadRequestParamss", SFRemoteUploadRequestParams.class); + _entityTypeMap.put("EncryptedEmail", SFEncryptedEmail.class); + _entityTypeMap.put("EncryptedEmails", SFEncryptedEmail.class); + _entityTypeMap.put("EncryptedEmailParams", SFEncryptedEmailParams.class); + _entityTypeMap.put("EncryptedEmailParamss", SFEncryptedEmailParams.class); + _entityTypeMap.put("EncryptedEmailReplyParams", SFEncryptedEmailReplyParams.class); + _entityTypeMap.put("EncryptedEmailReplyParamss", SFEncryptedEmailReplyParams.class); + _entityTypeMap.put("EncryptedEmailCreateParams", SFEncryptedEmailCreateParams.class); + _entityTypeMap.put("EncryptedEmailCreateParamss", SFEncryptedEmailCreateParams.class); + _entityTypeMap.put("EncryptedEmailSendParams", SFEncryptedEmailSendParams.class); + _entityTypeMap.put("EncryptedEmailSendParamss", SFEncryptedEmailSendParams.class); + _entityTypeMap.put("EncryptedEmailRecipient", SFEncryptedEmailRecipient.class); + _entityTypeMap.put("EncryptedEmailRecipients", SFEncryptedEmailRecipient.class); _entityTypeMap.put("ESignature", SFESignature.class); _entityTypeMap.put("ESignatures", SFESignature.class); _entityTypeMap.put("MarketAnalytics", SFMarketAnalytics.class); _entityTypeMap.put("MarketAnalyticss", SFMarketAnalytics.class); + _entityTypeMap.put("OAuthCode", SFOAuthCode.class); + _entityTypeMap.put("OAuthCodes", SFOAuthCode.class); + _entityTypeMap.put("OAuthAuthorizationCode", SFOAuthAuthorizationCode.class); + _entityTypeMap.put("OAuthAuthorizationCodes", SFOAuthAuthorizationCode.class); _entityTypeMap.put("FileLock", SFFileLock.class); _entityTypeMap.put("FileLocks", SFFileLock.class); + _entityTypeMap.put("PlanAddon", SFPlanAddon.class); + _entityTypeMap.put("PlanAddons", SFPlanAddon.class); + _entityTypeMap.put("InAppPurchase", SFInAppPurchase.class); + _entityTypeMap.put("InAppPurchases", SFInAppPurchase.class); + _entityTypeMap.put("TrialPeriod", SFTrialPeriod.class); + _entityTypeMap.put("TrialPeriods", SFTrialPeriod.class); + _entityTypeMap.put("PlanAddonUser", SFPlanAddonUser.class); + _entityTypeMap.put("PlanAddonUsers", SFPlanAddonUser.class); + _entityTypeMap.put("OAuthClient", SFOAuthClient.class); + _entityTypeMap.put("OAuthClients", SFOAuthClient.class); _entityTypeMap.put("ClientUpgradeWeb", SFClientUpgradeWeb.class); _entityTypeMap.put("ClientUpgradeWebs", SFClientUpgradeWeb.class); _entityTypeMap.put("PowerTools", SFPowerTools.class); @@ -149,9 +290,21 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("ConnectorGroupAccessControls", SFConnectorGroupAccessControl.class); _entityTypeMap.put("Report", SFReport.class); _entityTypeMap.put("Reports", SFReport.class); + _entityTypeMap.put("Reseller", SFReseller.class); + _entityTypeMap.put("Resellers", SFReseller.class); _entityTypeMap.put("PreviewPlatformInfo", SFPreviewPlatformInfo.class); _entityTypeMap.put("PreviewPlatformInfos", SFPreviewPlatformInfo.class); _entityTypeMap.put("ShareResendParams", SFShareResendParams.class); + _entityTypeMap.put("Support", SFSupport.class); + _entityTypeMap.put("Supports", SFSupport.class); + _entityTypeMap.put("SupportMethod", SFSupportMethod.class); + _entityTypeMap.put("SupportMethods", SFSupportMethod.class); + _entityTypeMap.put("PhoneSupport", SFPhoneSupport.class); + _entityTypeMap.put("PhoneSupports", SFPhoneSupport.class); + _entityTypeMap.put("EmailSupport", SFEmailSupport.class); + _entityTypeMap.put("EmailSupports", SFEmailSupport.class); + _entityTypeMap.put("DailyAvailability", SFDailyAvailability.class); + _entityTypeMap.put("DailyAvailabilitys", SFDailyAvailability.class); _entityTypeMap.put("ToolInformation", SFToolInformation.class); _entityTypeMap.put("ToolInformations", SFToolInformation.class); _entityTypeMap.put("AccessControl", SFAccessControl.class); @@ -159,6 +312,8 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("AccessControlDomains", SFAccessControlDomains.class); _entityTypeMap.put("Account", SFAccount.class); _entityTypeMap.put("Accounts", SFAccount.class); + _entityTypeMap.put("FreeTrialAccount", SFFreeTrialAccount.class); + _entityTypeMap.put("FreeTrialAccounts", SFFreeTrialAccount.class); _entityTypeMap.put("AccountPreferences", SFAccountPreferences.class); _entityTypeMap.put("AsyncOperation", SFAsyncOperation.class); _entityTypeMap.put("AsyncOperations", SFAsyncOperation.class); @@ -213,6 +368,8 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("ItemProtocolLinks", SFItemProtocolLink.class); _entityTypeMap.put("Metadata", SFMetadata.class); _entityTypeMap.put("Metadatas", SFMetadata.class); + _entityTypeMap.put("MetadataTag", SFMetadataTag.class); + _entityTypeMap.put("MetadataTags", SFMetadataTag.class); _entityTypeMap.put("MobileSecuritySettings", SFMobileSecuritySettings.class); _entityTypeMap.put("SentNotification", SFSentNotification.class); _entityTypeMap.put("SentNotifications", SFSentNotification.class); @@ -226,6 +383,8 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("OutlookInformationOptionInts", SFOutlookInformationOptionInt.class); _entityTypeMap.put("Principal", SFPrincipal.class); _entityTypeMap.put("Principals", SFPrincipal.class); + _entityTypeMap.put("ShareFileRepresentative", SFShareFileRepresentative.class); + _entityTypeMap.put("ShareFileRepresentatives", SFShareFileRepresentative.class); _entityTypeMap.put("Contact", SFContact.class); _entityTypeMap.put("Contacts", SFContact.class); _entityTypeMap.put("Group", SFGroup.class); @@ -237,6 +396,10 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("Zone", SFZone.class); _entityTypeMap.put("Zones", SFZone.class); _entityTypeMap.put("ProductDefaults", SFProductDefaults.class); + _entityTypeMap.put("Queue", SFQueue.class); + _entityTypeMap.put("Queues", SFQueue.class); + _entityTypeMap.put("QueueEntry", SFQueueEntry.class); + _entityTypeMap.put("QueueEntries", SFQueueEntry.class); _entityTypeMap.put("Redirection", SFRedirection.class); _entityTypeMap.put("Redirections", SFRedirection.class); _entityTypeMap.put("RequireSubdomainResult", SFRequireSubdomainResult.class); @@ -258,6 +421,10 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("SearchResults", SFSearchResults.class); _entityTypeMap.put("AdvancedSearchResults", SFAdvancedSearchResults.class); _entityTypeMap.put("SearchResult", SFSearchResult.class); + _entityTypeMap.put("AzureSBTopicsEndPointInfo", SFAzureSBTopicsEndPointInfo.class); + _entityTypeMap.put("AzureSBTopicsEndPointInfos", SFAzureSBTopicsEndPointInfo.class); + _entityTypeMap.put("AzureSBTopicsResponse", SFAzureSBTopicsResponse.class); + _entityTypeMap.put("AzureSBTopicsResponses", SFAzureSBTopicsResponse.class); _entityTypeMap.put("Session", SFSession.class); _entityTypeMap.put("Sessions", SFSession.class); _entityTypeMap.put("Share", SFShare.class); @@ -276,6 +443,10 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("StorageCenters", SFStorageCenter.class); _entityTypeMap.put("UploadSpecification", SFUploadSpecification.class); _entityTypeMap.put("UploadSpecifications", SFUploadSpecification.class); + _entityTypeMap.put("UsagePlan", SFUsagePlan.class); + _entityTypeMap.put("UsagePlans", SFUsagePlan.class); + _entityTypeMap.put("UsagePlanAddOn", SFUsagePlanAddOn.class); + _entityTypeMap.put("UsagePlanAddOns", SFUsagePlanAddOn.class); _entityTypeMap.put("UserConfirmationSettings", SFUserConfirmationSettings.class); _entityTypeMap.put("UserInfo", SFUserInfo.class); _entityTypeMap.put("UserInfos", SFUserInfo.class); @@ -305,6 +476,8 @@ public static Map getEntityTypeMap() { _entityTypeMap.put("WorkflowParticipants", SFWorkflowParticipant.class); _entityTypeMap.put("Workflow", SFWorkflow.class); _entityTypeMap.put("Workflows", SFWorkflow.class); + _entityTypeMap.put("ZoneDeployment", SFZoneDeployment.class); + _entityTypeMap.put("ZoneDeployments", SFZoneDeployment.class); _entityTypeMap.put("AccountZoneUsage", SFAccountZoneUsage.class); _entityTypeMap.put("AccountZoneUsages", SFAccountZoneUsage.class); _entityTypeMap.put("TenantZoneUsageReport", SFTenantZoneUsageReport.class); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileAction.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileAction.java new file mode 100644 index 0000000..3f23cb3 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileAction.java @@ -0,0 +1,23 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFFileAction { + View, + Edit, + EditNew +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileLock.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileLock.java index ac01824..0c5a924 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileLock.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFileLock.java @@ -23,7 +23,6 @@ import com.citrix.sharefile.api.*; import com.citrix.sharefile.api.enumerations.*; import com.citrix.sharefile.api.models.*; -import com.citrix.sharefile.api.internal.models.*; public class SFFileLock extends SFODataObject { diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolder.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolder.java index 6321a2a..9bc2844 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolder.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFolder.java @@ -23,7 +23,6 @@ import com.citrix.sharefile.api.*; import com.citrix.sharefile.api.enumerations.*; import com.citrix.sharefile.api.models.*; -import com.citrix.sharefile.api.internal.models.*; public class SFFolder extends SFItem { diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFreeTrialAccount.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFreeTrialAccount.java new file mode 100644 index 0000000..b6517dd --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFreeTrialAccount.java @@ -0,0 +1,411 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFFreeTrialAccount extends SFAccount { + + @SerializedName("PromoCode") + private String PromoCode; + @SerializedName("EndDate") + private Date EndDate; + @SerializedName("IsValid") + private Boolean IsValid; + @SerializedName("HasFollowedUp") + private Boolean HasFollowedUp; + @SerializedName("FollowUpDate") + private Date FollowUpDate; + @SerializedName("CancellationReason") + private String CancellationReason; + @SerializedName("SignupProcess") + private String SignupProcess; + @SerializedName("ConversionIndex") + private Double ConversionIndex; + @SerializedName("ConversionIndexDay7") + private Double ConversionIndexDay7; + @SerializedName("ConversionIndexDay14") + private Double ConversionIndexDay14; + @SerializedName("LTVIndex") + private Double LTVIndex; + @SerializedName("AllSources") + private String AllSources; + @SerializedName("ReferralID") + private String ReferralID; + @SerializedName("TrialTypeID") + private Integer TrialTypeID; + @SerializedName("InitialCallRepID") + private String InitialCallRepID; + @SerializedName("InitialCallDate") + private Date InitialCallDate; + @SerializedName("DemoStatus") + private Integer DemoStatus; + @SerializedName("DemoDate") + private Date DemoDate; + @SerializedName("MarketoID") + private String MarketoID; + @SerializedName("IsResellerAccount") + private Boolean IsResellerAccount; + @SerializedName("IsAmazon") + private Boolean IsAmazon; + @SerializedName("BrandingStylesStr") + private String BrandingStylesStr; + @SerializedName("DatabaseLevel") + private SFSafeEnum DatabaseLevel; + @SerializedName("ResellerInfo") + private SFReseller ResellerInfo; + @SerializedName("TopLevelDomain") + private String TopLevelDomain; + @SerializedName("WebUserId") + private String WebUserId; + @SerializedName("RightSignatureAdmin") + private SFUser RightSignatureAdmin; + @SerializedName("OpportunityId") + private String OpportunityId; + @SerializedName("CreatedBy") + private SFShareFileRepresentative CreatedBy; + @SerializedName("RightSignatureShareFileRep") + private SFShareFileRepresentative RightSignatureShareFileRep; + @SerializedName("IsNewRightSignatureAdmin") + private Boolean IsNewRightSignatureAdmin; + @SerializedName("IsDemo") + private Boolean IsDemo; + @SerializedName("IsCardRequired") + private Boolean IsCardRequired; + @SerializedName("IsCMSZ") + private Boolean IsCMSZ; + @SerializedName("ProvisionedById") + private String ProvisionedById; + @SerializedName("TrialLengthInDays") + private Integer TrialLengthInDays; + @SerializedName("EnterpriseOrders") + private ArrayList EnterpriseOrders; + @SerializedName("IsHipaaBaa") + private Boolean IsHipaaBaa; + @SerializedName("ExternalId") + private String ExternalId; + @SerializedName("TenantOptions") + private SFTenantAccountCreationParameters TenantOptions; + + public String getPromoCode() { + return this.PromoCode; + } + + public void setPromoCode(String promocode) { + this.PromoCode = promocode; + } + public Date getEndDate() { + return this.EndDate; + } + + public void setEndDate(Date enddate) { + this.EndDate = enddate; + } + public Boolean getIsValid() { + return this.IsValid; + } + + public void setIsValid(Boolean isvalid) { + this.IsValid = isvalid; + } + public Boolean getHasFollowedUp() { + return this.HasFollowedUp; + } + + public void setHasFollowedUp(Boolean hasfollowedup) { + this.HasFollowedUp = hasfollowedup; + } + public Date getFollowUpDate() { + return this.FollowUpDate; + } + + public void setFollowUpDate(Date followupdate) { + this.FollowUpDate = followupdate; + } + public String getCancellationReason() { + return this.CancellationReason; + } + + public void setCancellationReason(String cancellationreason) { + this.CancellationReason = cancellationreason; + } + public String getSignupProcess() { + return this.SignupProcess; + } + + public void setSignupProcess(String signupprocess) { + this.SignupProcess = signupprocess; + } + public Double getConversionIndex() { + return this.ConversionIndex; + } + + public void setConversionIndex(Double conversionindex) { + this.ConversionIndex = conversionindex; + } + public Double getConversionIndexDay7() { + return this.ConversionIndexDay7; + } + + public void setConversionIndexDay7(Double conversionindexday7) { + this.ConversionIndexDay7 = conversionindexday7; + } + public Double getConversionIndexDay14() { + return this.ConversionIndexDay14; + } + + public void setConversionIndexDay14(Double conversionindexday14) { + this.ConversionIndexDay14 = conversionindexday14; + } + public Double getLTVIndex() { + return this.LTVIndex; + } + + public void setLTVIndex(Double ltvindex) { + this.LTVIndex = ltvindex; + } + public String getAllSources() { + return this.AllSources; + } + + public void setAllSources(String allsources) { + this.AllSources = allsources; + } + public String getReferralID() { + return this.ReferralID; + } + + public void setReferralID(String referralid) { + this.ReferralID = referralid; + } + public Integer getTrialTypeID() { + return this.TrialTypeID; + } + + public void setTrialTypeID(Integer trialtypeid) { + this.TrialTypeID = trialtypeid; + } + public String getInitialCallRepID() { + return this.InitialCallRepID; + } + + public void setInitialCallRepID(String initialcallrepid) { + this.InitialCallRepID = initialcallrepid; + } + public Date getInitialCallDate() { + return this.InitialCallDate; + } + + public void setInitialCallDate(Date initialcalldate) { + this.InitialCallDate = initialcalldate; + } + public Integer getDemoStatus() { + return this.DemoStatus; + } + + public void setDemoStatus(Integer demostatus) { + this.DemoStatus = demostatus; + } + public Date getDemoDate() { + return this.DemoDate; + } + + public void setDemoDate(Date demodate) { + this.DemoDate = demodate; + } + public String getMarketoID() { + return this.MarketoID; + } + + public void setMarketoID(String marketoid) { + this.MarketoID = marketoid; + } + public Boolean getIsResellerAccount() { + return this.IsResellerAccount; + } + + public void setIsResellerAccount(Boolean isreselleraccount) { + this.IsResellerAccount = isreselleraccount; + } + public Boolean getIsAmazon() { + return this.IsAmazon; + } + + public void setIsAmazon(Boolean isamazon) { + this.IsAmazon = isamazon; + } + public String getBrandingStylesStr() { + return this.BrandingStylesStr; + } + + public void setBrandingStylesStr(String brandingstylesstr) { + this.BrandingStylesStr = brandingstylesstr; + } + public SFSafeEnum getDatabaseLevel() { + return this.DatabaseLevel; + } + + public void setDatabaseLevel(SFSafeEnum databaselevel) { + this.DatabaseLevel = databaselevel; + } + public SFReseller getResellerInfo() { + return this.ResellerInfo; + } + + public void setResellerInfo(SFReseller resellerinfo) { + this.ResellerInfo = resellerinfo; + } + public String getTopLevelDomain() { + return this.TopLevelDomain; + } + + public void setTopLevelDomain(String topleveldomain) { + this.TopLevelDomain = topleveldomain; + } + public String getWebUserId() { + return this.WebUserId; + } + + public void setWebUserId(String webuserid) { + this.WebUserId = webuserid; + } + public SFUser getRightSignatureAdmin() { + return this.RightSignatureAdmin; + } + + public void setRightSignatureAdmin(SFUser rightsignatureadmin) { + this.RightSignatureAdmin = rightsignatureadmin; + } + public String getOpportunityId() { + return this.OpportunityId; + } + + public void setOpportunityId(String opportunityid) { + this.OpportunityId = opportunityid; + } + public SFShareFileRepresentative getCreatedBy() { + return this.CreatedBy; + } + + public void setCreatedBy(SFShareFileRepresentative createdby) { + this.CreatedBy = createdby; + } + public SFShareFileRepresentative getRightSignatureShareFileRep() { + return this.RightSignatureShareFileRep; + } + + public void setRightSignatureShareFileRep(SFShareFileRepresentative rightsignaturesharefilerep) { + this.RightSignatureShareFileRep = rightsignaturesharefilerep; + } + public Boolean getIsNewRightSignatureAdmin() { + return this.IsNewRightSignatureAdmin; + } + + public void setIsNewRightSignatureAdmin(Boolean isnewrightsignatureadmin) { + this.IsNewRightSignatureAdmin = isnewrightsignatureadmin; + } + public Boolean getIsDemo() { + return this.IsDemo; + } + + public void setIsDemo(Boolean isdemo) { + this.IsDemo = isdemo; + } + public Boolean getIsCardRequired() { + return this.IsCardRequired; + } + + public void setIsCardRequired(Boolean iscardrequired) { + this.IsCardRequired = iscardrequired; + } + public Boolean getIsCMSZ() { + return this.IsCMSZ; + } + + public void setIsCMSZ(Boolean iscmsz) { + this.IsCMSZ = iscmsz; + } + public String getProvisionedById() { + return this.ProvisionedById; + } + + public void setProvisionedById(String provisionedbyid) { + this.ProvisionedById = provisionedbyid; + } + /** + * trial length in days + */ + public Integer getTrialLengthInDays() { + return this.TrialLengthInDays; + } + + /** + * trial length in days + */ + public void setTrialLengthInDays(Integer triallengthindays) { + this.TrialLengthInDays = triallengthindays; + } + public ArrayList getEnterpriseOrders() { + return this.EnterpriseOrders; + } + + public void setEnterpriseOrders(ArrayList enterpriseorders) { + this.EnterpriseOrders = enterpriseorders; + } + public Boolean getIsHipaaBaa() { + return this.IsHipaaBaa; + } + + public void setIsHipaaBaa(Boolean ishipaabaa) { + this.IsHipaaBaa = ishipaabaa; + } + /** + * ID of company creating this free trial + */ + public String getExternalId() { + return this.ExternalId; + } + + /** + * ID of company creating this free trial + */ + public void setExternalId(String externalid) { + this.ExternalId = externalid; + } + /** + * Optional parameter used only during Account Creation. + * Allows the new account to be created as a Tenant + */ + public SFTenantAccountCreationParameters getTenantOptions() { + return this.TenantOptions; + } + + /** + * Optional parameter used only during Account Creation. + * Allows the new account to be created as a Tenant + */ + public void setTenantOptions(SFTenantAccountCreationParameters tenantoptions) { + this.TenantOptions = tenantoptions; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFreeTrialType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFreeTrialType.java new file mode 100644 index 0000000..56164af --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFFreeTrialType.java @@ -0,0 +1,32 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFFreeTrialType { + General, + CreditCard, + NoCreditCard, + Outbound, + TestDemo, + CreditCardManualConversion, + NoCreditCardSales, + PureNoCreditCard, + Enterprise, + OSDReferral, + Partner, + Freemium +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFHttpResponseCode.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFHttpResponseCode.java new file mode 100644 index 0000000..3868c40 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFHttpResponseCode.java @@ -0,0 +1,22 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFHttpResponseCode { + TooManyRequests, + ServiceUnavailable +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFInAppPurchase.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFInAppPurchase.java new file mode 100644 index 0000000..a71458d --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFInAppPurchase.java @@ -0,0 +1,85 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFInAppPurchase extends SFODataObject { + + @SerializedName("ProductID") + private String ProductID; + @SerializedName("AppStore") + private String AppStore; + @SerializedName("SharedSecret") + private String SharedSecret; + @SerializedName("ReceiptData") + private String ReceiptData; + @SerializedName("UnitPrice") + private Double UnitPrice; + @SerializedName("Currency") + private String Currency; + + public String getProductID() { + return this.ProductID; + } + + public void setProductID(String productid) { + this.ProductID = productid; + } + public String getAppStore() { + return this.AppStore; + } + + public void setAppStore(String appstore) { + this.AppStore = appstore; + } + public String getSharedSecret() { + return this.SharedSecret; + } + + public void setSharedSecret(String sharedsecret) { + this.SharedSecret = sharedsecret; + } + public String getReceiptData() { + return this.ReceiptData; + } + + public void setReceiptData(String receiptdata) { + this.ReceiptData = receiptdata; + } + public Double getUnitPrice() { + return this.UnitPrice; + } + + public void setUnitPrice(Double unitprice) { + this.UnitPrice = unitprice; + } + public String getCurrency() { + return this.Currency; + } + + public void setCurrency(String currency) { + this.Currency = currency; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemStatus.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemStatus.java new file mode 100644 index 0000000..ab305b5 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemStatus.java @@ -0,0 +1,88 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFItemStatus extends SFODataObject { + + @SerializedName("Provider") + private SFItemStatusProvider Provider; + @SerializedName("Name") + private String Name; + @SerializedName("Description") + private String Description; + @SerializedName("DefaultObjectInfo") + private String DefaultObjectInfo; + @SerializedName("Active") + private Boolean Active; + + /** + * The external party who defined this status value + */ + public SFItemStatusProvider getProvider() { + return this.Provider; + } + + /** + * The external party who defined this status value + */ + public void setProvider(SFItemStatusProvider provider) { + this.Provider = provider; + } + public String getName() { + return this.Name; + } + + public void setName(String name) { + this.Name = name; + } + public String getDescription() { + return this.Description; + } + + public void setDescription(String description) { + this.Description = description; + } + /** + * The default value to use for + */ + public String getDefaultObjectInfo() { + return this.DefaultObjectInfo; + } + + /** + * The default value to use for + */ + public void setDefaultObjectInfo(String defaultobjectinfo) { + this.DefaultObjectInfo = defaultobjectinfo; + } + public Boolean getActive() { + return this.Active; + } + + public void setActive(Boolean active) { + this.Active = active; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemStatusProvider.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemStatusProvider.java new file mode 100644 index 0000000..482efe4 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFItemStatusProvider.java @@ -0,0 +1,103 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFItemStatusProvider extends SFODataObject { + + @SerializedName("Name") + private String Name; + @SerializedName("Description") + private String Description; + @SerializedName("ThirdParty") + private Boolean ThirdParty; + @SerializedName("Active") + private Boolean Active; + @SerializedName("Account") + private SFAccountItemStatusProvider Account; + @SerializedName("Statuses") + private ArrayList Statuses; + + public String getName() { + return this.Name; + } + + public void setName(String name) { + this.Name = name; + } + public String getDescription() { + return this.Description; + } + + public void setDescription(String description) { + this.Description = description; + } + /** + * True if the external party is not Citrix-managed + */ + public Boolean getThirdParty() { + return this.ThirdParty; + } + + /** + * True if the external party is not Citrix-managed + */ + public void setThirdParty(Boolean thirdparty) { + this.ThirdParty = thirdparty; + } + public Boolean getActive() { + return this.Active; + } + + public void setActive(Boolean active) { + this.Active = active; + } + /** + * Configuration for the current ShareFile account in regards to this status provider + */ + public SFAccountItemStatusProvider getAccount() { + return this.Account; + } + + /** + * Configuration for the current ShareFile account in regards to this status provider + */ + public void setAccount(SFAccountItemStatusProvider account) { + this.Account = account; + } + /** + * List of all possible statuses defined by this status provider + */ + public ArrayList getStatuses() { + return this.Statuses; + } + + /** + * List of all possible statuses defined by this status provider + */ + public void setStatuses(ArrayList statuses) { + this.Statuses = statuses; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFLimitingFactor.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFLimitingFactor.java new file mode 100644 index 0000000..1ba3b19 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFLimitingFactor.java @@ -0,0 +1,24 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFLimitingFactor { + None, + Employees, + StorageGB, + BandwidthGB +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFLockType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFLockType.java index af86242..54ae869 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFLockType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFLockType.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFLoginPageType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFLoginPageType.java new file mode 100644 index 0000000..1ce9a0b --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFLoginPageType.java @@ -0,0 +1,24 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFLoginPageType { + Default, + RedirectToSAMLLogin, + CustomLoginPage, + SplitLogin +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMedicalStudyBundle.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMedicalStudyBundle.java new file mode 100644 index 0000000..84d3185 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMedicalStudyBundle.java @@ -0,0 +1,139 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFMedicalStudyBundle extends SFBundle { + + @SerializedName("PatientFirstName") + private String PatientFirstName; + @SerializedName("PatientLastName") + private String PatientLastName; + @SerializedName("Hospital") + private String Hospital; + @SerializedName("StudyDate") + private String StudyDate; + @SerializedName("StudyTime") + private String StudyTime; + @SerializedName("Age") + private String Age; + @SerializedName("Gender") + private String Gender; + @SerializedName("Description") + private String Description; + @SerializedName("Institution") + private String Institution; + @SerializedName("ReferringPhysician") + private String ReferringPhysician; + + public String getPatientFirstName() { + return this.PatientFirstName; + } + + public void setPatientFirstName(String patientfirstname) { + this.PatientFirstName = patientfirstname; + } + public String getPatientLastName() { + return this.PatientLastName; + } + + public void setPatientLastName(String patientlastname) { + this.PatientLastName = patientlastname; + } + public String getHospital() { + return this.Hospital; + } + + public void setHospital(String hospital) { + this.Hospital = hospital; + } + /** + * Formatted study date from DICOM + */ + public String getStudyDate() { + return this.StudyDate; + } + + /** + * Formatted study date from DICOM + */ + public void setStudyDate(String studydate) { + this.StudyDate = studydate; + } + /** + * Formatted study time from DICOM + */ + public String getStudyTime() { + return this.StudyTime; + } + + /** + * Formatted study time from DICOM + */ + public void setStudyTime(String studytime) { + this.StudyTime = studytime; + } + /** + * Formatted age from DICOM + */ + public String getAge() { + return this.Age; + } + + /** + * Formatted age from DICOM + */ + public void setAge(String age) { + this.Age = age; + } + public String getGender() { + return this.Gender; + } + + public void setGender(String gender) { + this.Gender = gender; + } + public String getDescription() { + return this.Description; + } + + public void setDescription(String description) { + this.Description = description; + } + public String getInstitution() { + return this.Institution; + } + + public void setInstitution(String institution) { + this.Institution = institution; + } + public String getReferringPhysician() { + return this.ReferringPhysician; + } + + public void setReferringPhysician(String referringphysician) { + this.ReferringPhysician = referringphysician; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMetadataTag.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMetadataTag.java new file mode 100644 index 0000000..8d7c7db --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMetadataTag.java @@ -0,0 +1,271 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFMetadataTag extends SFMetadata { + + @SerializedName("InternalName") + private String InternalName; + @SerializedName("DefaultValue") + private String DefaultValue; + @SerializedName("FieldType") + private SFSafeEnum FieldType; + @SerializedName("IsHidden") + private Boolean IsHidden; + @SerializedName("IsRequired") + private Boolean IsRequired; + @SerializedName("AllowUserInput") + private Boolean AllowUserInput; + @SerializedName("AllowMultipleValues") + private Boolean AllowMultipleValues; + @SerializedName("MaxLength") + private Integer MaxLength; + @SerializedName("LocaleId") + private Integer LocaleId; + @SerializedName("MinimumValue") + private String MinimumValue; + @SerializedName("MaximumValue") + private String MaximumValue; + @SerializedName("DecimalPlaces") + private Integer DecimalPlaces; + @SerializedName("IsPercentage") + private Boolean IsPercentage; + @SerializedName("ContentTypes") + private ArrayList ContentTypes; + @SerializedName("DateFormat") + private String DateFormat; + @SerializedName("Values") + private ArrayList Values; + + /** + * Internal name of the tag (which is not displayed to user) + */ + public String getInternalName() { + return this.InternalName; + } + + /** + * Internal name of the tag (which is not displayed to user) + */ + public void setInternalName(String internalname) { + this.InternalName = internalname; + } + /** + * Default value of the Metadata Tag (or column) + */ + public String getDefaultValue() { + return this.DefaultValue; + } + + /** + * Default value of the Metadata Tag (or column) + */ + public void setDefaultValue(String defaultvalue) { + this.DefaultValue = defaultvalue; + } + /** + * Type of Metadata Tag + */ + public SFSafeEnum getFieldType() { + return this.FieldType; + } + + /** + * Type of Metadata Tag + */ + public void setFieldType(SFSafeEnum fieldtype) { + this.FieldType = fieldtype; + } + /** + * Check to determine if the tag is hidden from being displayed + */ + public Boolean getIsHidden() { + return this.IsHidden; + } + + /** + * Check to determine if the tag is hidden from being displayed + */ + public void setIsHidden(Boolean ishidden) { + this.IsHidden = ishidden; + } + /** + * Check to determine if the tag should contain a value + */ + public Boolean getIsRequired() { + return this.IsRequired; + } + + /** + * Check to determine if the tag should contain a value + */ + public void setIsRequired(Boolean isrequired) { + this.IsRequired = isrequired; + } + /** + * Check to determine if the tag allows users to create custom input + */ + public Boolean getAllowUserInput() { + return this.AllowUserInput; + } + + /** + * Check to determine if the tag allows users to create custom input + */ + public void setAllowUserInput(Boolean allowuserinput) { + this.AllowUserInput = allowuserinput; + } + /** + * Check to determine if the tag allows selection / assignment of multiple values + */ + public Boolean getAllowMultipleValues() { + return this.AllowMultipleValues; + } + + /** + * Check to determine if the tag allows selection / assignment of multiple values + */ + public void setAllowMultipleValues(Boolean allowmultiplevalues) { + this.AllowMultipleValues = allowmultiplevalues; + } + /** + * Maximum length of the tag value in case the tag is of type string + */ + public Integer getMaxLength() { + return this.MaxLength; + } + + /** + * Maximum length of the tag value in case the tag is of type string + */ + public void setMaxLength(Integer maxlength) { + this.MaxLength = maxlength; + } + /** + * Current User locale id (e.g. 1033 for en-US) + */ + public Integer getLocaleId() { + return this.LocaleId; + } + + /** + * Current User locale id (e.g. 1033 for en-US) + */ + public void setLocaleId(Integer localeid) { + this.LocaleId = localeid; + } + /** + * Allowable minimum value for the tag + */ + public String getMinimumValue() { + return this.MinimumValue; + } + + /** + * Allowable minimum value for the tag + */ + public void setMinimumValue(String minimumvalue) { + this.MinimumValue = minimumvalue; + } + /** + * Allowable maximum value for the tag + */ + public String getMaximumValue() { + return this.MaximumValue; + } + + /** + * Allowable maximum value for the tag + */ + public void setMaximumValue(String maximumvalue) { + this.MaximumValue = maximumvalue; + } + /** + * Allowable number of decimal places for a number field + */ + public Integer getDecimalPlaces() { + return this.DecimalPlaces; + } + + /** + * Allowable number of decimal places for a number field + */ + public void setDecimalPlaces(Integer decimalplaces) { + this.DecimalPlaces = decimalplaces; + } + /** + * Check to determine if a number is represented as a percentage + */ + public Boolean getIsPercentage() { + return this.IsPercentage; + } + + /** + * Check to determine if a number is represented as a percentage + */ + public void setIsPercentage(Boolean ispercentage) { + this.IsPercentage = ispercentage; + } + /** + * The name of the content type associated with the tag + */ + public ArrayList getContentTypes() { + return this.ContentTypes; + } + + /** + * The name of the content type associated with the tag + */ + public void setContentTypes(ArrayList contenttypes) { + this.ContentTypes = contenttypes; + } + /** + * Date format of the field (if applicable) + */ + public String getDateFormat() { + return this.DateFormat; + } + + /** + * Date format of the field (if applicable) + */ + public void setDateFormat(String dateformat) { + this.DateFormat = dateformat; + } + /** + * List of custom metadata values, used only if the tag allows multiple values + */ + public ArrayList getValues() { + return this.Values; + } + + /** + * List of custom metadata values, used only if the tag allows multiple values + */ + public void setValues(ArrayList values) { + this.Values = values; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMetadataTagType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMetadataTagType.java new file mode 100644 index 0000000..68aa21f --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMetadataTagType.java @@ -0,0 +1,31 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFMetadataTagType { + Text, + File, + Number, + Note, + Currency, + ChoiceDropdown, + ChoiceRadio, + ChoiceCheckbox, + ChoiceManaged, + ChoiceMultiManaged, + Date +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMobileUserRole.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMobileUserRole.java new file mode 100644 index 0000000..2f50250 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFMobileUserRole.java @@ -0,0 +1,23 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFMobileUserRole { + SingleUser, + TeamUser, + TeamAdmin +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOAuthAuthorizationCode.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOAuthAuthorizationCode.java new file mode 100644 index 0000000..453aa82 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOAuthAuthorizationCode.java @@ -0,0 +1,67 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFOAuthAuthorizationCode extends SFODataObject { + + @SerializedName("Code") + private String Code; + @SerializedName("AppCp") + private String AppCp; + @SerializedName("ApiCp") + private String ApiCp; + @SerializedName("Subdomain") + private String Subdomain; + + public String getCode() { + return this.Code; + } + + public void setCode(String code) { + this.Code = code; + } + public String getAppCp() { + return this.AppCp; + } + + public void setAppCp(String appcp) { + this.AppCp = appcp; + } + public String getApiCp() { + return this.ApiCp; + } + + public void setApiCp(String apicp) { + this.ApiCp = apicp; + } + public String getSubdomain() { + return this.Subdomain; + } + + public void setSubdomain(String subdomain) { + this.Subdomain = subdomain; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOAuthClient.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOAuthClient.java new file mode 100644 index 0000000..f0c0242 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOAuthClient.java @@ -0,0 +1,283 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFOAuthClient extends SFODataObject { + + @SerializedName("ClientSecret") + private String ClientSecret; + @SerializedName("AccountID") + private String AccountID; + @SerializedName("Image") + private String Image; + @SerializedName("ImageSmall") + private String ImageSmall; + @SerializedName("State") + private SFSafeEnum State; + @SerializedName("Name") + private String Name; + @SerializedName("CompanyName") + private String CompanyName; + @SerializedName("ToolUrl") + private String ToolUrl; + @SerializedName("CreationDate") + private Date CreationDate; + @SerializedName("LastModifiedDate") + private Date LastModifiedDate; + @SerializedName("ServerFlow") + private Boolean ServerFlow; + @SerializedName("ClientFlow") + private Boolean ClientFlow; + @SerializedName("UsernamePasswordFlow") + private Boolean UsernamePasswordFlow; + @SerializedName("SamlFlow") + private Boolean SamlFlow; + @SerializedName("IsQA") + private Boolean IsQA; + @SerializedName("Impersonation") + private Boolean Impersonation; + @SerializedName("DeviceRegistration") + private Boolean DeviceRegistration; + @SerializedName("CanCreateFreemiumAccount") + private Boolean CanCreateFreemiumAccount; + @SerializedName("IsInternalAdmin") + private Boolean IsInternalAdmin; + @SerializedName("DisableAuthCookie") + private Boolean DisableAuthCookie; + @SerializedName("AccessFilesFolders") + private SFSafeEnum AccessFilesFolders; + @SerializedName("ModifyFilesFolders") + private SFSafeEnum ModifyFilesFolders; + @SerializedName("AdminUsers") + private SFSafeEnum AdminUsers; + @SerializedName("AdminAccounts") + private SFSafeEnum AdminAccounts; + @SerializedName("ChangeMySettings") + private SFSafeEnum ChangeMySettings; + @SerializedName("WebAppLogin") + private SFSafeEnum WebAppLogin; + @SerializedName("AppCode") + private SFSafeEnum AppCode; + @SerializedName("RedirectUrls") + private ArrayList RedirectUrls; + + public String getClientSecret() { + return this.ClientSecret; + } + + public void setClientSecret(String clientsecret) { + this.ClientSecret = clientsecret; + } + public String getAccountID() { + return this.AccountID; + } + + public void setAccountID(String accountid) { + this.AccountID = accountid; + } + public String getImage() { + return this.Image; + } + + public void setImage(String image) { + this.Image = image; + } + public String getImageSmall() { + return this.ImageSmall; + } + + public void setImageSmall(String imagesmall) { + this.ImageSmall = imagesmall; + } + public SFSafeEnum getState() { + return this.State; + } + + public void setState(SFSafeEnum state) { + this.State = state; + } + public String getName() { + return this.Name; + } + + public void setName(String name) { + this.Name = name; + } + public String getCompanyName() { + return this.CompanyName; + } + + public void setCompanyName(String companyname) { + this.CompanyName = companyname; + } + public String getToolUrl() { + return this.ToolUrl; + } + + public void setToolUrl(String toolurl) { + this.ToolUrl = toolurl; + } + public Date getCreationDate() { + return this.CreationDate; + } + + public void setCreationDate(Date creationdate) { + this.CreationDate = creationdate; + } + public Date getLastModifiedDate() { + return this.LastModifiedDate; + } + + public void setLastModifiedDate(Date lastmodifieddate) { + this.LastModifiedDate = lastmodifieddate; + } + public Boolean getServerFlow() { + return this.ServerFlow; + } + + public void setServerFlow(Boolean serverflow) { + this.ServerFlow = serverflow; + } + public Boolean getClientFlow() { + return this.ClientFlow; + } + + public void setClientFlow(Boolean clientflow) { + this.ClientFlow = clientflow; + } + public Boolean getUsernamePasswordFlow() { + return this.UsernamePasswordFlow; + } + + public void setUsernamePasswordFlow(Boolean usernamepasswordflow) { + this.UsernamePasswordFlow = usernamepasswordflow; + } + public Boolean getSamlFlow() { + return this.SamlFlow; + } + + public void setSamlFlow(Boolean samlflow) { + this.SamlFlow = samlflow; + } + public Boolean getIsQA() { + return this.IsQA; + } + + public void setIsQA(Boolean isqa) { + this.IsQA = isqa; + } + public Boolean getImpersonation() { + return this.Impersonation; + } + + public void setImpersonation(Boolean impersonation) { + this.Impersonation = impersonation; + } + public Boolean getDeviceRegistration() { + return this.DeviceRegistration; + } + + public void setDeviceRegistration(Boolean deviceregistration) { + this.DeviceRegistration = deviceregistration; + } + public Boolean getCanCreateFreemiumAccount() { + return this.CanCreateFreemiumAccount; + } + + public void setCanCreateFreemiumAccount(Boolean cancreatefreemiumaccount) { + this.CanCreateFreemiumAccount = cancreatefreemiumaccount; + } + public Boolean getIsInternalAdmin() { + return this.IsInternalAdmin; + } + + public void setIsInternalAdmin(Boolean isinternaladmin) { + this.IsInternalAdmin = isinternaladmin; + } + public Boolean getDisableAuthCookie() { + return this.DisableAuthCookie; + } + + public void setDisableAuthCookie(Boolean disableauthcookie) { + this.DisableAuthCookie = disableauthcookie; + } + public SFSafeEnum getAccessFilesFolders() { + return this.AccessFilesFolders; + } + + public void setAccessFilesFolders(SFSafeEnum accessfilesfolders) { + this.AccessFilesFolders = accessfilesfolders; + } + public SFSafeEnum getModifyFilesFolders() { + return this.ModifyFilesFolders; + } + + public void setModifyFilesFolders(SFSafeEnum modifyfilesfolders) { + this.ModifyFilesFolders = modifyfilesfolders; + } + public SFSafeEnum getAdminUsers() { + return this.AdminUsers; + } + + public void setAdminUsers(SFSafeEnum adminusers) { + this.AdminUsers = adminusers; + } + public SFSafeEnum getAdminAccounts() { + return this.AdminAccounts; + } + + public void setAdminAccounts(SFSafeEnum adminaccounts) { + this.AdminAccounts = adminaccounts; + } + public SFSafeEnum getChangeMySettings() { + return this.ChangeMySettings; + } + + public void setChangeMySettings(SFSafeEnum changemysettings) { + this.ChangeMySettings = changemysettings; + } + public SFSafeEnum getWebAppLogin() { + return this.WebAppLogin; + } + + public void setWebAppLogin(SFSafeEnum webapplogin) { + this.WebAppLogin = webapplogin; + } + public SFSafeEnum getAppCode() { + return this.AppCode; + } + + public void setAppCode(SFSafeEnum appcode) { + this.AppCode = appcode; + } + public ArrayList getRedirectUrls() { + return this.RedirectUrls; + } + + public void setRedirectUrls(ArrayList redirecturls) { + this.RedirectUrls = redirecturls; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOAuthClientPermissions.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOAuthClientPermissions.java new file mode 100644 index 0000000..f0e8d2d --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOAuthClientPermissions.java @@ -0,0 +1,23 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFOAuthClientPermissions { + NotWanted, + Required, + Optional +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOAuthCode.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOAuthCode.java new file mode 100644 index 0000000..f9e8d32 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOAuthCode.java @@ -0,0 +1,40 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFOAuthCode extends SFODataObject { + + @SerializedName("code") + private String Code; + + public String getCode() { + return this.Code; + } + + public void setCode(String code) { + this.Code = code; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOAuthState.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOAuthState.java new file mode 100644 index 0000000..ec73562 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOAuthState.java @@ -0,0 +1,23 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFOAuthState { + Inactive, + Authorized, + Revoked +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOrderUpdateNotification.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOrderUpdateNotification.java new file mode 100644 index 0000000..54285b0 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFOrderUpdateNotification.java @@ -0,0 +1,139 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFOrderUpdateNotification extends SFODataObject { + + @SerializedName("AcknowledgementType") + private SFSafeEnum AcknowledgementType; + @SerializedName("Status") + private String Status; + @SerializedName("ErrorMessage") + private String ErrorMessage; + @SerializedName("AccountId") + private String AccountId; + @SerializedName("BillingLogId") + private String BillingLogId; + @SerializedName("SAPCustomerNumber") + private String SAPCustomerNumber; + @SerializedName("SAPOrderNumber") + private String SAPOrderNumber; + @SerializedName("SAPInvoiceNumber") + private String SAPInvoiceNumber; + @SerializedName("PaymentCurrency") + private String PaymentCurrency; + @SerializedName("PaymentDate") + private Date PaymentDate; + @SerializedName("PaymentAmount") + private Double PaymentAmount; + @SerializedName("ProcessedTimeStamp") + private Date ProcessedTimeStamp; + + public SFSafeEnum getAcknowledgementType() { + return this.AcknowledgementType; + } + + public void setAcknowledgementType(SFSafeEnum acknowledgementtype) { + this.AcknowledgementType = acknowledgementtype; + } + public String getStatus() { + return this.Status; + } + + public void setStatus(String status) { + this.Status = status; + } + public String getErrorMessage() { + return this.ErrorMessage; + } + + public void setErrorMessage(String errormessage) { + this.ErrorMessage = errormessage; + } + public String getAccountId() { + return this.AccountId; + } + + public void setAccountId(String accountid) { + this.AccountId = accountid; + } + public String getBillingLogId() { + return this.BillingLogId; + } + + public void setBillingLogId(String billinglogid) { + this.BillingLogId = billinglogid; + } + public String getSAPCustomerNumber() { + return this.SAPCustomerNumber; + } + + public void setSAPCustomerNumber(String sapcustomernumber) { + this.SAPCustomerNumber = sapcustomernumber; + } + public String getSAPOrderNumber() { + return this.SAPOrderNumber; + } + + public void setSAPOrderNumber(String sapordernumber) { + this.SAPOrderNumber = sapordernumber; + } + public String getSAPInvoiceNumber() { + return this.SAPInvoiceNumber; + } + + public void setSAPInvoiceNumber(String sapinvoicenumber) { + this.SAPInvoiceNumber = sapinvoicenumber; + } + public String getPaymentCurrency() { + return this.PaymentCurrency; + } + + public void setPaymentCurrency(String paymentcurrency) { + this.PaymentCurrency = paymentcurrency; + } + public Date getPaymentDate() { + return this.PaymentDate; + } + + public void setPaymentDate(Date paymentdate) { + this.PaymentDate = paymentdate; + } + public Double getPaymentAmount() { + return this.PaymentAmount; + } + + public void setPaymentAmount(Double paymentamount) { + this.PaymentAmount = paymentamount; + } + public Date getProcessedTimeStamp() { + return this.ProcessedTimeStamp; + } + + public void setProcessedTimeStamp(Date processedtimestamp) { + this.ProcessedTimeStamp = processedtimestamp; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPhoneSupport.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPhoneSupport.java new file mode 100644 index 0000000..7bdeb24 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPhoneSupport.java @@ -0,0 +1,76 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFPhoneSupport extends SFSupportMethod { + + @SerializedName("CountryCode") + private String CountryCode; + @SerializedName("AreaCode") + private String AreaCode; + @SerializedName("Number") + private String Number; + @SerializedName("Availability") + private ArrayList Availability; + @SerializedName("UTCOffsetMins") + private Integer UTCOffsetMins; + + public String getCountryCode() { + return this.CountryCode; + } + + public void setCountryCode(String countrycode) { + this.CountryCode = countrycode; + } + public String getAreaCode() { + return this.AreaCode; + } + + public void setAreaCode(String areacode) { + this.AreaCode = areacode; + } + public String getNumber() { + return this.Number; + } + + public void setNumber(String number) { + this.Number = number; + } + public ArrayList getAvailability() { + return this.Availability; + } + + public void setAvailability(ArrayList availability) { + this.Availability = availability; + } + public Integer getUTCOffsetMins() { + return this.UTCOffsetMins; + } + + public void setUTCOffsetMins(Integer utcoffsetmins) { + this.UTCOffsetMins = utcoffsetmins; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPlanAddon.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPlanAddon.java new file mode 100644 index 0000000..613a5c0 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPlanAddon.java @@ -0,0 +1,76 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFPlanAddon extends SFODataObject { + + @SerializedName("PlanState") + private String PlanState; + @SerializedName("PlanInfo") + private Object PlanInfo; + @SerializedName("AvailablePlans") + private ArrayList AvailablePlans; + @SerializedName("Features") + private ArrayList Features; + @SerializedName("ProductCodeName") + private String ProductCodeName; + + public String getPlanState() { + return this.PlanState; + } + + public void setPlanState(String planstate) { + this.PlanState = planstate; + } + public Object getPlanInfo() { + return this.PlanInfo; + } + + public void setPlanInfo(Object planinfo) { + this.PlanInfo = planinfo; + } + public ArrayList getAvailablePlans() { + return this.AvailablePlans; + } + + public void setAvailablePlans(ArrayList availableplans) { + this.AvailablePlans = availableplans; + } + public ArrayList getFeatures() { + return this.Features; + } + + public void setFeatures(ArrayList features) { + this.Features = features; + } + public String getProductCodeName() { + return this.ProductCodeName; + } + + public void setProductCodeName(String productcodename) { + this.ProductCodeName = productcodename; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPlanAddonUser.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPlanAddonUser.java new file mode 100644 index 0000000..a843ee9 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPlanAddonUser.java @@ -0,0 +1,49 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFPlanAddonUser extends SFODataObject { + + @SerializedName("User") + private SFUser User; + @SerializedName("SpecialUserRole") + private ArrayList> SpecialUserRole; + + public SFUser getUser() { + return this.User; + } + + public void setUser(SFUser user) { + this.User = user; + } + public ArrayList> getSpecialUserRole() { + return this.SpecialUserRole; + } + + public void setSpecialUserRole(ArrayList> specialuserrole) { + this.SpecialUserRole = specialuserrole; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPlanAddonsStatus.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPlanAddonsStatus.java new file mode 100644 index 0000000..b146349 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPlanAddonsStatus.java @@ -0,0 +1,26 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFPlanAddonsStatus { + TrialNotStarted, + Trial, + TrialExpired, + Paid, + PaidExpired, + Disabled +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPolicy.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPolicy.java index e9cb2b8..2196d1b 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPolicy.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPolicy.java @@ -23,7 +23,6 @@ import com.citrix.sharefile.api.*; import com.citrix.sharefile.api.enumerations.*; import com.citrix.sharefile.api.models.*; -import com.citrix.sharefile.api.internal.models.*; public class SFPolicy extends SFODataObject { diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPolicyCategory.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPolicyCategory.java new file mode 100644 index 0000000..f091d9c --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFPolicyCategory.java @@ -0,0 +1,23 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFPolicyCategory { + UserAccess, + Storage, + FileAndFolder +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQueue.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQueue.java new file mode 100644 index 0000000..ece8762 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQueue.java @@ -0,0 +1,40 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFQueue extends SFODataObject { + + @SerializedName("Entries") + private ArrayList Entries; + + public ArrayList getEntries() { + return this.Entries; + } + + public void setEntries(ArrayList entries) { + this.Entries = entries; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQueueEntry.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQueueEntry.java new file mode 100644 index 0000000..1b85d5f --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQueueEntry.java @@ -0,0 +1,121 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFQueueEntry extends SFODataObject { + + @SerializedName("CreationDate") + private Date CreationDate; + @SerializedName("ModifiedDate") + private Date ModifiedDate; + @SerializedName("Status") + private SFSafeEnum Status; + @SerializedName("IsLocked") + private Boolean IsLocked; + @SerializedName("WorkerName") + private String WorkerName; + @SerializedName("Payload") + private Map Payload; + @SerializedName("ErrorCount") + private Integer ErrorCount; + @SerializedName("ErrorCode") + private Integer ErrorCode; + @SerializedName("ErrorMessage") + private String ErrorMessage; + @SerializedName("Queue") + private SFQueue Queue; + + public Date getCreationDate() { + return this.CreationDate; + } + + public void setCreationDate(Date creationdate) { + this.CreationDate = creationdate; + } + public Date getModifiedDate() { + return this.ModifiedDate; + } + + public void setModifiedDate(Date modifieddate) { + this.ModifiedDate = modifieddate; + } + public SFSafeEnum getStatus() { + return this.Status; + } + + public void setStatus(SFSafeEnum status) { + this.Status = status; + } + public Boolean getIsLocked() { + return this.IsLocked; + } + + public void setIsLocked(Boolean islocked) { + this.IsLocked = islocked; + } + public String getWorkerName() { + return this.WorkerName; + } + + public void setWorkerName(String workername) { + this.WorkerName = workername; + } + public Map getPayload() { + return this.Payload; + } + + public void setPayload(Map payload) { + this.Payload = payload; + } + public Integer getErrorCount() { + return this.ErrorCount; + } + + public void setErrorCount(Integer errorcount) { + this.ErrorCount = errorcount; + } + public Integer getErrorCode() { + return this.ErrorCode; + } + + public void setErrorCode(Integer errorcode) { + this.ErrorCode = errorcode; + } + public String getErrorMessage() { + return this.ErrorMessage; + } + + public void setErrorMessage(String errormessage) { + this.ErrorMessage = errormessage; + } + public SFQueue getQueue() { + return this.Queue; + } + + public void setQueue(SFQueue queue) { + this.Queue = queue; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQueueStatus.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQueueStatus.java new file mode 100644 index 0000000..e047401 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQueueStatus.java @@ -0,0 +1,25 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFQueueStatus { + Created, + Scheduled, + Success, + Failed, + Canceled +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQuote.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQuote.java new file mode 100644 index 0000000..f8d8099 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFQuote.java @@ -0,0 +1,211 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFQuote extends SFODataObject { + + @SerializedName("AccountId") + private String AccountId; + @SerializedName("CreatedBy") + private String CreatedBy; + @SerializedName("QuoteJson") + private String QuoteJson; + @SerializedName("SentToEmailAddress") + private String SentToEmailAddress; + @SerializedName("PersonalMessage") + private String PersonalMessage; + @SerializedName("UpdatedBy") + private String UpdatedBy; + @SerializedName("CreatedDate") + private Date CreatedDate; + @SerializedName("UpdateDate") + private Date UpdateDate; + @SerializedName("ExpirationDate") + private Date ExpirationDate; + @SerializedName("AcceptedDate") + private Date AcceptedDate; + @SerializedName("ProcessedDate") + private Date ProcessedDate; + @SerializedName("IsValid") + private Boolean IsValid; + + /** + * Account for which quote was created + */ + public String getAccountId() { + return this.AccountId; + } + + /** + * Account for which quote was created + */ + public void setAccountId(String accountid) { + this.AccountId = accountid; + } + /** + * Creator user Id + */ + public String getCreatedBy() { + return this.CreatedBy; + } + + /** + * Creator user Id + */ + public void setCreatedBy(String createdby) { + this.CreatedBy = createdby; + } + /** + * Json string capturing the account changes and other required information + */ + public String getQuoteJson() { + return this.QuoteJson; + } + + /** + * Json string capturing the account changes and other required information + */ + public void setQuoteJson(String quotejson) { + this.QuoteJson = quotejson; + } + /** + * Email address of the recipient + */ + public String getSentToEmailAddress() { + return this.SentToEmailAddress; + } + + /** + * Email address of the recipient + */ + public void setSentToEmailAddress(String senttoemailaddress) { + this.SentToEmailAddress = senttoemailaddress; + } + /** + * Message string that was send with quote + */ + public String getPersonalMessage() { + return this.PersonalMessage; + } + + /** + * Message string that was send with quote + */ + public void setPersonalMessage(String personalmessage) { + this.PersonalMessage = personalmessage; + } + /** + * Id of the user making the update + */ + public String getUpdatedBy() { + return this.UpdatedBy; + } + + /** + * Id of the user making the update + */ + public void setUpdatedBy(String updatedby) { + this.UpdatedBy = updatedby; + } + /** + * Time the quote was created + */ + public Date getCreatedDate() { + return this.CreatedDate; + } + + /** + * Time the quote was created + */ + public void setCreatedDate(Date createddate) { + this.CreatedDate = createddate; + } + /** + * Last time when the quote was updated + */ + public Date getUpdateDate() { + return this.UpdateDate; + } + + /** + * Last time when the quote was updated + */ + public void setUpdateDate(Date updatedate) { + this.UpdateDate = updatedate; + } + /** + * Time when the quote becomes invalid + */ + public Date getExpirationDate() { + return this.ExpirationDate; + } + + /** + * Time when the quote becomes invalid + */ + public void setExpirationDate(Date expirationdate) { + this.ExpirationDate = expirationdate; + } + /** + * Time when the quote was accepted by the customer + */ + public Date getAcceptedDate() { + return this.AcceptedDate; + } + + /** + * Time when the quote was accepted by the customer + */ + public void setAcceptedDate(Date accepteddate) { + this.AcceptedDate = accepteddate; + } + /** + * Time when the quote was processed by the bot + */ + public Date getProcessedDate() { + return this.ProcessedDate; + } + + /** + * Time when the quote was processed by the bot + */ + public void setProcessedDate(Date processeddate) { + this.ProcessedDate = processeddate; + } + /** + * Flag to define if the quote is still valid + */ + public Boolean getIsValid() { + return this.IsValid; + } + + /** + * Flag to define if the quote is still valid + */ + public void setIsValid(Boolean isvalid) { + this.IsValid = isvalid; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRepRole.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRepRole.java new file mode 100644 index 0000000..d1b0bdb --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRepRole.java @@ -0,0 +1,77 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFRepRole { + AccountManager, + AccountServices, + Branding, + CustomerSupport, + HR, + Impersonation, + InsideSales, + InternBranding, + InternDeveloper, + MasterAccountManager, + MasterBranding, + MasterDeveloper, + MasterSales, + OutboundSales, + Sales, + SeniorAccountManager, + SuccessManager, + InternalAppsDev, + SupportManager, + LevelISupport, + LevelIISupport, + LevelIIISupport, + Engineering, + Manager, + SalesDirector, + InboundSalesManager, + OutboundSalesManager, + Accounting, + ResellersManager, + TeamImpersonation, + ClientServicesManager, + BrandingManager, + OLMktg, + ExecTeam, + Other, + LoginAsSupport, + EnterpriseSalesmanager, + SSO, + ProjectManager, + QA, + TrialDispatcher, + TrialDispatcherVerticals, + ReadOnly, + AccountManagerAutoAssign, + AccountProvisioning, + CanDeleteAccounts, + SupportTriage, + OutboundCustomerCare, + SalesEngineer, + Release, + TechnicalServiceEngineer, + IT, + Database, + BillingAdmin, + SalesOps, + OAuthClientKeyAdmin, + EditMasterAdmin +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRepresentativeType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRepresentativeType.java new file mode 100644 index 0000000..fcb0c56 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRepresentativeType.java @@ -0,0 +1,39 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFRepresentativeType { + All, + MasterUser, + MasterAccountManager, + MasterBranding, + MasterDeveloper, + MasterSales, + AccountManager, + Branding, + Developer, + Sales, + HR, + Marketing, + InternAccountManager, + InternBranding, + InternDeveloper, + InternSales, + Default, + Astronaut, + EnterpriseSales +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRequestListBundle.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRequestListBundle.java new file mode 100644 index 0000000..bdb7555 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFRequestListBundle.java @@ -0,0 +1,31 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFRequestListBundle extends SFBundle { + + + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReseller.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReseller.java new file mode 100644 index 0000000..1e5e80f --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFReseller.java @@ -0,0 +1,220 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFReseller extends SFODataObject { + + @SerializedName("CompanyName") + private String CompanyName; + @SerializedName("CorporateOrganization") + private String CorporateOrganization; + @SerializedName("CheckTo") + private String CheckTo; + @SerializedName("FirstName") + private String FirstName; + @SerializedName("LastName") + private String LastName; + @SerializedName("Email") + private String Email; + @SerializedName("Phone") + private String Phone; + @SerializedName("CompanyUrl") + private String CompanyUrl; + @SerializedName("Address1") + private String Address1; + @SerializedName("Address2") + private String Address2; + @SerializedName("City") + private String City; + @SerializedName("State") + private String State; + @SerializedName("Zip") + private String Zip; + @SerializedName("Country") + private String Country; + @SerializedName("ResellerType") + private String ResellerType; + @SerializedName("CreationDate") + private Date CreationDate; + @SerializedName("DemoAccountId") + private String DemoAccountId; + @SerializedName("AccountBalance") + private Double AccountBalance; + @SerializedName("DefaultShowBillingInfo") + private Boolean DefaultShowBillingInfo; + @SerializedName("Note") + private String Note; + @SerializedName("ResellerAccountType") + private String ResellerAccountType; + + public String getCompanyName() { + return this.CompanyName; + } + + public void setCompanyName(String companyname) { + this.CompanyName = companyname; + } + public String getCorporateOrganization() { + return this.CorporateOrganization; + } + + public void setCorporateOrganization(String corporateorganization) { + this.CorporateOrganization = corporateorganization; + } + public String getCheckTo() { + return this.CheckTo; + } + + public void setCheckTo(String checkto) { + this.CheckTo = checkto; + } + public String getFirstName() { + return this.FirstName; + } + + public void setFirstName(String firstname) { + this.FirstName = firstname; + } + public String getLastName() { + return this.LastName; + } + + public void setLastName(String lastname) { + this.LastName = lastname; + } + public String getEmail() { + return this.Email; + } + + public void setEmail(String email) { + this.Email = email; + } + public String getPhone() { + return this.Phone; + } + + public void setPhone(String phone) { + this.Phone = phone; + } + public String getCompanyUrl() { + return this.CompanyUrl; + } + + public void setCompanyUrl(String companyurl) { + this.CompanyUrl = companyurl; + } + public String getAddress1() { + return this.Address1; + } + + public void setAddress1(String address1) { + this.Address1 = address1; + } + public String getAddress2() { + return this.Address2; + } + + public void setAddress2(String address2) { + this.Address2 = address2; + } + public String getCity() { + return this.City; + } + + public void setCity(String city) { + this.City = city; + } + public String getState() { + return this.State; + } + + public void setState(String state) { + this.State = state; + } + public String getZip() { + return this.Zip; + } + + public void setZip(String zip) { + this.Zip = zip; + } + public String getCountry() { + return this.Country; + } + + public void setCountry(String country) { + this.Country = country; + } + public String getResellerType() { + return this.ResellerType; + } + + public void setResellerType(String resellertype) { + this.ResellerType = resellertype; + } + public Date getCreationDate() { + return this.CreationDate; + } + + public void setCreationDate(Date creationdate) { + this.CreationDate = creationdate; + } + public String getDemoAccountId() { + return this.DemoAccountId; + } + + public void setDemoAccountId(String demoaccountid) { + this.DemoAccountId = demoaccountid; + } + public Double getAccountBalance() { + return this.AccountBalance; + } + + public void setAccountBalance(Double accountbalance) { + this.AccountBalance = accountbalance; + } + public Boolean getDefaultShowBillingInfo() { + return this.DefaultShowBillingInfo; + } + + public void setDefaultShowBillingInfo(Boolean defaultshowbillinginfo) { + this.DefaultShowBillingInfo = defaultshowbillinginfo; + } + public String getNote() { + return this.Note; + } + + public void setNote(String note) { + this.Note = note; + } + public String getResellerAccountType() { + return this.ResellerAccountType; + } + + public void setResellerAccountType(String reselleraccounttype) { + this.ResellerAccountType = reselleraccounttype; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSFObjectItemStatus.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSFObjectItemStatus.java new file mode 100644 index 0000000..4853bf6 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSFObjectItemStatus.java @@ -0,0 +1,142 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFSFObjectItemStatus extends SFODataObject { + + @SerializedName("SFObjectId") + private String SFObjectId; + @SerializedName("ObjectType") + private SFSafeEnum ObjectType; + @SerializedName("Status") + private SFItemStatus Status; + @SerializedName("ExternalReferenceId") + private String ExternalReferenceId; + @SerializedName("ObjectInfo") + private String ObjectInfo; + @SerializedName("CreatedBy") + private SFUser CreatedBy; + @SerializedName("CreatedDate") + private Date CreatedDate; + @SerializedName("UpdatedBy") + private SFUser UpdatedBy; + @SerializedName("UpdatedDate") + private Date UpdatedDate; + + /** + * The Id of the ShareFile object + */ + public String getSFObjectId() { + return this.SFObjectId; + } + + /** + * The Id of the ShareFile object + */ + public void setSFObjectId(String sfobjectid) { + this.SFObjectId = sfobjectid; + } + /** + * The type of the ShareFile object + */ + public SFSafeEnum getObjectType() { + return this.ObjectType; + } + + /** + * The type of the ShareFile object + */ + public void setObjectType(SFSafeEnum objecttype) { + this.ObjectType = objecttype; + } + /** + * The external party's status for the ShareFile object + */ + public SFItemStatus getStatus() { + return this.Status; + } + + /** + * The external party's status for the ShareFile object + */ + public void setStatus(SFItemStatus status) { + this.Status = status; + } + /** + * An Id generated by the external party for mapping to their own data store + */ + public String getExternalReferenceId() { + return this.ExternalReferenceId; + } + + /** + * An Id generated by the external party for mapping to their own data store + */ + public void setExternalReferenceId(String externalreferenceid) { + this.ExternalReferenceId = externalreferenceid; + } + /** + * Additional information for this status binding + */ + public String getObjectInfo() { + return this.ObjectInfo; + } + + /** + * Additional information for this status binding + */ + public void setObjectInfo(String objectinfo) { + this.ObjectInfo = objectinfo; + } + public SFUser getCreatedBy() { + return this.CreatedBy; + } + + public void setCreatedBy(SFUser createdby) { + this.CreatedBy = createdby; + } + public Date getCreatedDate() { + return this.CreatedDate; + } + + public void setCreatedDate(Date createddate) { + this.CreatedDate = createddate; + } + public SFUser getUpdatedBy() { + return this.UpdatedBy; + } + + public void setUpdatedBy(SFUser updatedby) { + this.UpdatedBy = updatedby; + } + public Date getUpdatedDate() { + return this.UpdatedDate; + } + + public void setUpdatedDate(Date updateddate) { + this.UpdatedDate = updateddate; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSFObjectType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSFObjectType.java new file mode 100644 index 0000000..16152be --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSFObjectType.java @@ -0,0 +1,22 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFSFObjectType { + File, + Folder +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchField.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchField.java new file mode 100644 index 0000000..7df16da --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchField.java @@ -0,0 +1,46 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFSearchField extends SFODataObject { + + @SerializedName("SearchType") + private SFSafeEnum SearchType; + + /** + * What type of search should be performed on this field. + */ + public SFSafeEnum getSearchType() { + return this.SearchType; + } + + /** + * What type of search should be performed on this field. + */ + public void setSearchType(SFSafeEnum searchtype) { + this.SearchType = searchtype; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchIndexAllocationDetails.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchIndexAllocationDetails.java new file mode 100644 index 0000000..465cc9a --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchIndexAllocationDetails.java @@ -0,0 +1,76 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFSearchIndexAllocationDetails extends SFODataObject { + + @SerializedName("AccountId") + private String AccountId; + @SerializedName("AccountType") + private String AccountType; + @SerializedName("Subdomain") + private String Subdomain; + @SerializedName("DbName") + private String DbName; + @SerializedName("UserCount") + private Integer UserCount; + + public String getAccountId() { + return this.AccountId; + } + + public void setAccountId(String accountid) { + this.AccountId = accountid; + } + public String getAccountType() { + return this.AccountType; + } + + public void setAccountType(String accounttype) { + this.AccountType = accounttype; + } + public String getSubdomain() { + return this.Subdomain; + } + + public void setSubdomain(String subdomain) { + this.Subdomain = subdomain; + } + public String getDbName() { + return this.DbName; + } + + public void setDbName(String dbname) { + this.DbName = dbname; + } + public Integer getUserCount() { + return this.UserCount; + } + + public void setUserCount(Integer usercount) { + this.UserCount = usercount; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchProvider.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchProvider.java new file mode 100644 index 0000000..0a582db --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchProvider.java @@ -0,0 +1,112 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFSearchProvider extends SFODataObject { + + @SerializedName("SearchQueryUrl") + private String SearchQueryUrl; + @SerializedName("QueueUrl") + private String QueueUrl; + @SerializedName("IsPrimary") + private Boolean IsPrimary; + @SerializedName("IsActive") + private Boolean IsActive; + @SerializedName("DisplayUI") + private Boolean DisplayUI; + @SerializedName("SearchProviderId") + private Integer SearchProviderId; + @SerializedName("AccountId") + private String AccountId; + @SerializedName("TypeName") + private String TypeName; + @SerializedName("ZoneId") + private String ZoneId; + + public String getSearchQueryUrl() { + return this.SearchQueryUrl; + } + + public void setSearchQueryUrl(String searchqueryurl) { + this.SearchQueryUrl = searchqueryurl; + } + public String getQueueUrl() { + return this.QueueUrl; + } + + public void setQueueUrl(String queueurl) { + this.QueueUrl = queueurl; + } + public Boolean getIsPrimary() { + return this.IsPrimary; + } + + public void setIsPrimary(Boolean isprimary) { + this.IsPrimary = isprimary; + } + public Boolean getIsActive() { + return this.IsActive; + } + + public void setIsActive(Boolean isactive) { + this.IsActive = isactive; + } + public Boolean getDisplayUI() { + return this.DisplayUI; + } + + public void setDisplayUI(Boolean displayui) { + this.DisplayUI = displayui; + } + public Integer getSearchProviderId() { + return this.SearchProviderId; + } + + public void setSearchProviderId(Integer searchproviderid) { + this.SearchProviderId = searchproviderid; + } + public String getAccountId() { + return this.AccountId; + } + + public void setAccountId(String accountid) { + this.AccountId = accountid; + } + public String getTypeName() { + return this.TypeName; + } + + public void setTypeName(String typename) { + this.TypeName = typename; + } + public String getZoneId() { + return this.ZoneId; + } + + public void setZoneId(String zoneid) { + this.ZoneId = zoneid; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchTextFieldSelector.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchTextFieldSelector.java new file mode 100644 index 0000000..ee8b043 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchTextFieldSelector.java @@ -0,0 +1,91 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFSearchTextFieldSelector extends SFODataObject { + + @SerializedName("FirstName") + private SFSearchField FirstName; + @SerializedName("LastName") + private SFSearchField LastName; + @SerializedName("Email") + private SFSearchField Email; + @SerializedName("Company") + private SFSearchField Company; + + /** + * FirstName + */ + public SFSearchField getFirstName() { + return this.FirstName; + } + + /** + * FirstName + */ + public void setFirstName(SFSearchField firstname) { + this.FirstName = firstname; + } + /** + * LastName + */ + public SFSearchField getLastName() { + return this.LastName; + } + + /** + * LastName + */ + public void setLastName(SFSearchField lastname) { + this.LastName = lastname; + } + /** + * Email + */ + public SFSearchField getEmail() { + return this.Email; + } + + /** + * Email + */ + public void setEmail(SFSearchField email) { + this.Email = email; + } + /** + * Company + */ + public SFSearchField getCompany() { + return this.Company; + } + + /** + * Company + */ + public void setCompany(SFSearchField company) { + this.Company = company; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchTextFieldSelectorFlags.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchTextFieldSelectorFlags.java new file mode 100644 index 0000000..bc8f7cd --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchTextFieldSelectorFlags.java @@ -0,0 +1,91 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFSearchTextFieldSelectorFlags extends SFODataObject { + + @SerializedName("FirstName") + private Boolean FirstName; + @SerializedName("LastName") + private Boolean LastName; + @SerializedName("Email") + private Boolean Email; + @SerializedName("Company") + private Boolean Company; + + /** + * FirstName + */ + public Boolean getFirstName() { + return this.FirstName; + } + + /** + * FirstName + */ + public void setFirstName(Boolean firstname) { + this.FirstName = firstname; + } + /** + * LastName + */ + public Boolean getLastName() { + return this.LastName; + } + + /** + * LastName + */ + public void setLastName(Boolean lastname) { + this.LastName = lastname; + } + /** + * Email + */ + public Boolean getEmail() { + return this.Email; + } + + /** + * Email + */ + public void setEmail(Boolean email) { + this.Email = email; + } + /** + * Company + */ + public Boolean getCompany() { + return this.Company; + } + + /** + * Company + */ + public void setCompany(Boolean company) { + this.Company = company; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchType.java new file mode 100644 index 0000000..2b1b268 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSearchType.java @@ -0,0 +1,22 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFSearchType { + Prefix, + Substring +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFServerInfo.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFServerInfo.java new file mode 100644 index 0000000..77fd887 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFServerInfo.java @@ -0,0 +1,67 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFServerInfo extends SFODataObject { + + @SerializedName("MachineName") + private String MachineName; + @SerializedName("Directory") + private String Directory; + @SerializedName("Date") + private String Date; + @SerializedName("Tag") + private SFServerTag Tag; + + public String getMachineName() { + return this.MachineName; + } + + public void setMachineName(String machinename) { + this.MachineName = machinename; + } + public String getDirectory() { + return this.Directory; + } + + public void setDirectory(String directory) { + this.Directory = directory; + } + public String getDate() { + return this.Date; + } + + public void setDate(String date) { + this.Date = date; + } + public SFServerTag getTag() { + return this.Tag; + } + + public void setTag(SFServerTag tag) { + this.Tag = tag; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFServerTag.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFServerTag.java new file mode 100644 index 0000000..2708a84 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFServerTag.java @@ -0,0 +1,85 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFServerTag extends SFODataObject { + + @SerializedName("Branch") + private String Branch; + @SerializedName("SFDllCommit") + private String SFDllCommit; + @SerializedName("SFDllVersion") + private String SFDllVersion; + @SerializedName("Build") + private String Build; + @SerializedName("Commit") + private String Commit; + @SerializedName("Service") + private String Service; + + public String getBranch() { + return this.Branch; + } + + public void setBranch(String branch) { + this.Branch = branch; + } + public String getSFDllCommit() { + return this.SFDllCommit; + } + + public void setSFDllCommit(String sfdllcommit) { + this.SFDllCommit = sfdllcommit; + } + public String getSFDllVersion() { + return this.SFDllVersion; + } + + public void setSFDllVersion(String sfdllversion) { + this.SFDllVersion = sfdllversion; + } + public String getBuild() { + return this.Build; + } + + public void setBuild(String build) { + this.Build = build; + } + public String getCommit() { + return this.Commit; + } + + public void setCommit(String commit) { + this.Commit = commit; + } + public String getService() { + return this.Service; + } + + public void setService(String service) { + this.Service = service; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareFileCitrixCloudSession.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareFileCitrixCloudSession.java new file mode 100644 index 0000000..a289567 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareFileCitrixCloudSession.java @@ -0,0 +1,61 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFShareFileCitrixCloudSession extends SFODataObject { + + @SerializedName("CitrixCloudSession") + private SFCitrixCloudSession CitrixCloudSession; + @SerializedName("SFSession") + private SFSession SFSession; + + /** + * Cwc Session Info + */ + public SFCitrixCloudSession getCitrixCloudSession() { + return this.CitrixCloudSession; + } + + /** + * Cwc Session Info + */ + public void setCitrixCloudSession(SFCitrixCloudSession citrixcloudsession) { + this.CitrixCloudSession = citrixcloudsession; + } + /** + * Associated ShareFile session + */ + public SFSession getSFSession() { + return this.SFSession; + } + + /** + * Associated ShareFile session + */ + public void setSFSession(SFSession sfsession) { + this.SFSession = sfsession; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareFileRepresentative.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareFileRepresentative.java new file mode 100644 index 0000000..9c287b3 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFShareFileRepresentative.java @@ -0,0 +1,184 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFShareFileRepresentative extends SFPrincipal { + + @SerializedName("User") + private SFUser User; + @SerializedName("UserType") + private SFSafeEnum UserType; + @SerializedName("CanViewStats") + private Boolean CanViewStats; + @SerializedName("CanPostNews") + private Boolean CanPostNews; + @SerializedName("CanPostFeatures") + private Boolean CanPostFeatures; + @SerializedName("CanPostBugs") + private Boolean CanPostBugs; + @SerializedName("RepresentativeName") + private String RepresentativeName; + @SerializedName("FirstName") + private String FirstName; + @SerializedName("LastName") + private String LastName; + @SerializedName("Extension") + private Integer Extension; + @SerializedName("CanBeTechnicalContact") + private Boolean CanBeTechnicalContact; + @SerializedName("IsPresent") + private Boolean IsPresent; + @SerializedName("IsSourceOption") + private Boolean IsSourceOption; + @SerializedName("MobilePhone") + private String MobilePhone; + @SerializedName("OfficePhone") + private String OfficePhone; + @SerializedName("EmailSignature") + private String EmailSignature; + @SerializedName("ShareFileRepresentativeImageFile") + private String ShareFileRepresentativeImageFile; + + public SFUser getUser() { + return this.User; + } + + public void setUser(SFUser user) { + this.User = user; + } + public SFSafeEnum getUserType() { + return this.UserType; + } + + public void setUserType(SFSafeEnum usertype) { + this.UserType = usertype; + } + public Boolean getCanViewStats() { + return this.CanViewStats; + } + + public void setCanViewStats(Boolean canviewstats) { + this.CanViewStats = canviewstats; + } + public Boolean getCanPostNews() { + return this.CanPostNews; + } + + public void setCanPostNews(Boolean canpostnews) { + this.CanPostNews = canpostnews; + } + public Boolean getCanPostFeatures() { + return this.CanPostFeatures; + } + + public void setCanPostFeatures(Boolean canpostfeatures) { + this.CanPostFeatures = canpostfeatures; + } + public Boolean getCanPostBugs() { + return this.CanPostBugs; + } + + public void setCanPostBugs(Boolean canpostbugs) { + this.CanPostBugs = canpostbugs; + } + public String getRepresentativeName() { + return this.RepresentativeName; + } + + public void setRepresentativeName(String representativename) { + this.RepresentativeName = representativename; + } + public String getFirstName() { + return this.FirstName; + } + + public void setFirstName(String firstname) { + this.FirstName = firstname; + } + public String getLastName() { + return this.LastName; + } + + public void setLastName(String lastname) { + this.LastName = lastname; + } + public Integer getExtension() { + return this.Extension; + } + + public void setExtension(Integer extension) { + this.Extension = extension; + } + public Boolean getCanBeTechnicalContact() { + return this.CanBeTechnicalContact; + } + + public void setCanBeTechnicalContact(Boolean canbetechnicalcontact) { + this.CanBeTechnicalContact = canbetechnicalcontact; + } + public Boolean getIsPresent() { + return this.IsPresent; + } + + public void setIsPresent(Boolean ispresent) { + this.IsPresent = ispresent; + } + public Boolean getIsSourceOption() { + return this.IsSourceOption; + } + + public void setIsSourceOption(Boolean issourceoption) { + this.IsSourceOption = issourceoption; + } + public String getMobilePhone() { + return this.MobilePhone; + } + + public void setMobilePhone(String mobilephone) { + this.MobilePhone = mobilephone; + } + public String getOfficePhone() { + return this.OfficePhone; + } + + public void setOfficePhone(String officephone) { + this.OfficePhone = officephone; + } + public String getEmailSignature() { + return this.EmailSignature; + } + + public void setEmailSignature(String emailsignature) { + this.EmailSignature = emailsignature; + } + public String getShareFileRepresentativeImageFile() { + return this.ShareFileRepresentativeImageFile; + } + + public void setShareFileRepresentativeImageFile(String sharefilerepresentativeimagefile) { + this.ShareFileRepresentativeImageFile = sharefilerepresentativeimagefile; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSmartFolderOptions.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSmartFolderOptions.java new file mode 100644 index 0000000..4f82f37 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSmartFolderOptions.java @@ -0,0 +1,40 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFSmartFolderOptions extends SFODataObject { + + @SerializedName("SmartFolderType") + private SFSafeEnum SmartFolderType; + + public SFSafeEnum getSmartFolderType() { + return this.SmartFolderType; + } + + public void setSmartFolderType(SFSafeEnum smartfoldertype) { + this.SmartFolderType = smartfoldertype; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSmartFolderType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSmartFolderType.java new file mode 100644 index 0000000..db51a68 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSmartFolderType.java @@ -0,0 +1,21 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFSmartFolderType { + Accounting +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSmtpAuthMethod.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSmtpAuthMethod.java new file mode 100644 index 0000000..9b78c8f --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSmtpAuthMethod.java @@ -0,0 +1,26 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFSmtpAuthMethod { + None, + Default, + CRAMMD5, + Login, + NTLM, + Plain +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSmtpSettings.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSmtpSettings.java new file mode 100644 index 0000000..a1fd5b5 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSmtpSettings.java @@ -0,0 +1,196 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFSmtpSettings extends SFODataObject { + + @SerializedName("IsEnabled") + private Boolean IsEnabled; + @SerializedName("Host") + private String Host; + @SerializedName("Username") + private String Username; + @SerializedName("Password") + private String Password; + @SerializedName("SenderEmail") + private String SenderEmail; + @SerializedName("SenderName") + private String SenderName; + @SerializedName("Port") + private Integer Port; + @SerializedName("AuthMethod") + private SFSafeEnum AuthMethod; + @SerializedName("SslMode") + private SFSafeEnum SslMode; + @SerializedName("FailureNotificationEmailAddress") + private String FailureNotificationEmailAddress; + @SerializedName("ShouldFallbackToShareFileSmtp") + private Boolean ShouldFallbackToShareFileSmtp; + + /** + * Flag representing if custom settings are enabled + */ + public Boolean getIsEnabled() { + return this.IsEnabled; + } + + /** + * Flag representing if custom settings are enabled + */ + public void setIsEnabled(Boolean isenabled) { + this.IsEnabled = isenabled; + } + /** + * Host address of Account's SMTP server + */ + public String getHost() { + return this.Host; + } + + /** + * Host address of Account's SMTP server + */ + public void setHost(String host) { + this.Host = host; + } + /** + * SMTP Server user name + */ + public String getUsername() { + return this.Username; + } + + /** + * SMTP Server user name + */ + public void setUsername(String username) { + this.Username = username; + } + /** + * Password for SMTP Server (write-only, will not return) + */ + public String getPassword() { + return this.Password; + } + + /** + * Password for SMTP Server (write-only, will not return) + */ + public void setPassword(String password) { + this.Password = password; + } + /** + * From Email Address + */ + public String getSenderEmail() { + return this.SenderEmail; + } + + /** + * From Email Address + */ + public void setSenderEmail(String senderemail) { + this.SenderEmail = senderemail; + } + /** + * Plain text name for From Address + */ + public String getSenderName() { + return this.SenderName; + } + + /** + * Plain text name for From Address + */ + public void setSenderName(String sendername) { + this.SenderName = sendername; + } + /** + * Port for connection to SMTP server + */ + public Integer getPort() { + return this.Port; + } + + /** + * Port for connection to SMTP server + */ + public void setPort(Integer port) { + this.Port = port; + } + /** + * Authentication Method to connect to SMTP Server (None, Default, CRAM-MD5, Login, NTLM, Plain) + */ + public SFSafeEnum getAuthMethod() { + return this.AuthMethod; + } + + /** + * Authentication Method to connect to SMTP Server (None, Default, CRAM-MD5, Login, NTLM, Plain) + */ + public void setAuthMethod(SFSafeEnum authmethod) { + this.AuthMethod = authmethod; + } + /** + * SSL Mode for connection to SMTP server (None, Implicit, Explicit) + */ + public SFSafeEnum getSslMode() { + return this.SslMode; + } + + /** + * SSL Mode for connection to SMTP server (None, Implicit, Explicit) + */ + public void setSslMode(SFSafeEnum sslmode) { + this.SslMode = sslmode; + } + /** + * Email address to notify when configured SMTP server is unreachable + */ + public String getFailureNotificationEmailAddress() { + return this.FailureNotificationEmailAddress; + } + + /** + * Email address to notify when configured SMTP server is unreachable + */ + public void setFailureNotificationEmailAddress(String failurenotificationemailaddress) { + this.FailureNotificationEmailAddress = failurenotificationemailaddress; + } + /** + * Flag to state whether email should be sent through ShareFile SMTP server if custom SMTP server fails + */ + public Boolean getShouldFallbackToShareFileSmtp() { + return this.ShouldFallbackToShareFileSmtp; + } + + /** + * Flag to state whether email should be sent through ShareFile SMTP server if custom SMTP server fails + */ + public void setShouldFallbackToShareFileSmtp(Boolean shouldfallbacktosharefilesmtp) { + this.ShouldFallbackToShareFileSmtp = shouldfallbacktosharefilesmtp; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSmtpSslMode.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSmtpSslMode.java new file mode 100644 index 0000000..3c858d5 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSmtpSslMode.java @@ -0,0 +1,23 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFSmtpSslMode { + None, + Implicit, + Explicit +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFStructuredDownloadFolder.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFStructuredDownloadFolder.java new file mode 100644 index 0000000..e07335c --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFStructuredDownloadFolder.java @@ -0,0 +1,49 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFStructuredDownloadFolder extends SFStructuredDownloadItem { + + @SerializedName("Children") + private ArrayList Children; + @SerializedName("Name") + private String Name; + + public ArrayList getChildren() { + return this.Children; + } + + public void setChildren(ArrayList children) { + this.Children = children; + } + public String getName() { + return this.Name; + } + + public void setName(String name) { + this.Name = name; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFStructuredDownloadItem.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFStructuredDownloadItem.java new file mode 100644 index 0000000..cdefec7 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFStructuredDownloadItem.java @@ -0,0 +1,31 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFStructuredDownloadItem extends SFODataObject { + + + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSupport.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSupport.java new file mode 100644 index 0000000..1370acd --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSupport.java @@ -0,0 +1,112 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFSupport extends SFODataObject { + + @SerializedName("EmailAddresses") + private ArrayList EmailAddresses; + @SerializedName("PhoneNumbers") + private ArrayList PhoneNumbers; + @SerializedName("KBUrl") + private String KBUrl; + @SerializedName("KBSearchUrl") + private String KBSearchUrl; + @SerializedName("ShowLiveChat") + private Boolean ShowLiveChat; + @SerializedName("ShowAccountManager") + private Boolean ShowAccountManager; + @SerializedName("TicketTarget") + private String TicketTarget; + @SerializedName("IsCustom") + private Boolean IsCustom; + @SerializedName("ShowFeedback") + private Boolean ShowFeedback; + + public ArrayList getEmailAddresses() { + return this.EmailAddresses; + } + + public void setEmailAddresses(ArrayList emailaddresses) { + this.EmailAddresses = emailaddresses; + } + public ArrayList getPhoneNumbers() { + return this.PhoneNumbers; + } + + public void setPhoneNumbers(ArrayList phonenumbers) { + this.PhoneNumbers = phonenumbers; + } + public String getKBUrl() { + return this.KBUrl; + } + + public void setKBUrl(String kburl) { + this.KBUrl = kburl; + } + public String getKBSearchUrl() { + return this.KBSearchUrl; + } + + public void setKBSearchUrl(String kbsearchurl) { + this.KBSearchUrl = kbsearchurl; + } + public Boolean getShowLiveChat() { + return this.ShowLiveChat; + } + + public void setShowLiveChat(Boolean showlivechat) { + this.ShowLiveChat = showlivechat; + } + public Boolean getShowAccountManager() { + return this.ShowAccountManager; + } + + public void setShowAccountManager(Boolean showaccountmanager) { + this.ShowAccountManager = showaccountmanager; + } + public String getTicketTarget() { + return this.TicketTarget; + } + + public void setTicketTarget(String tickettarget) { + this.TicketTarget = tickettarget; + } + public Boolean getIsCustom() { + return this.IsCustom; + } + + public void setIsCustom(Boolean iscustom) { + this.IsCustom = iscustom; + } + public Boolean getShowFeedback() { + return this.ShowFeedback; + } + + public void setShowFeedback(Boolean showfeedback) { + this.ShowFeedback = showfeedback; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSupportFlag.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSupportFlag.java new file mode 100644 index 0000000..6293474 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSupportFlag.java @@ -0,0 +1,148 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFSupportFlag extends SFODataObject { + + @SerializedName("UserId") + private String UserId; + @SerializedName("AccountId") + private String AccountId; + @SerializedName("RepresentativeId") + private String RepresentativeId; + @SerializedName("CreationDate") + private Date CreationDate; + @SerializedName("NotificationDate") + private Date NotificationDate; + @SerializedName("ExpirationDate") + private Date ExpirationDate; + @SerializedName("DueDate") + private Date DueDate; + @SerializedName("Title") + private String Title; + @SerializedName("Description") + private String Description; + @SerializedName("Status") + private SFSafeEnum Status; + @SerializedName("FlagType") + private SFSafeEnum FlagType; + @SerializedName("Action") + private String Action; + @SerializedName("BillingLogId") + private String BillingLogId; + + public String getUserId() { + return this.UserId; + } + + public void setUserId(String userid) { + this.UserId = userid; + } + public String getAccountId() { + return this.AccountId; + } + + public void setAccountId(String accountid) { + this.AccountId = accountid; + } + public String getRepresentativeId() { + return this.RepresentativeId; + } + + public void setRepresentativeId(String representativeid) { + this.RepresentativeId = representativeid; + } + public Date getCreationDate() { + return this.CreationDate; + } + + public void setCreationDate(Date creationdate) { + this.CreationDate = creationdate; + } + public Date getNotificationDate() { + return this.NotificationDate; + } + + public void setNotificationDate(Date notificationdate) { + this.NotificationDate = notificationdate; + } + public Date getExpirationDate() { + return this.ExpirationDate; + } + + public void setExpirationDate(Date expirationdate) { + this.ExpirationDate = expirationdate; + } + public Date getDueDate() { + return this.DueDate; + } + + public void setDueDate(Date duedate) { + this.DueDate = duedate; + } + public String getTitle() { + return this.Title; + } + + public void setTitle(String title) { + this.Title = title; + } + public String getDescription() { + return this.Description; + } + + public void setDescription(String description) { + this.Description = description; + } + public SFSafeEnum getStatus() { + return this.Status; + } + + public void setStatus(SFSafeEnum status) { + this.Status = status; + } + public SFSafeEnum getFlagType() { + return this.FlagType; + } + + public void setFlagType(SFSafeEnum flagtype) { + this.FlagType = flagtype; + } + public String getAction() { + return this.Action; + } + + public void setAction(String action) { + this.Action = action; + } + public String getBillingLogId() { + return this.BillingLogId; + } + + public void setBillingLogId(String billinglogid) { + this.BillingLogId = billinglogid; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSupportFlagStatus.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSupportFlagStatus.java new file mode 100644 index 0000000..5ac1c2a --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSupportFlagStatus.java @@ -0,0 +1,29 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFSupportFlagStatus { + Assigned, + Canceled, + Completed, + InProgress, + Irreconcilable, + New, + Scheduled, + Submitted, + Unassigned +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSupportFlagType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSupportFlagType.java new file mode 100644 index 0000000..d9a3774 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSupportFlagType.java @@ -0,0 +1,43 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFSupportFlagType { + AccountCreateRequest, + Automated, + Branding, + Bug, + CancellationRequest, + CCUpdate, + Discount, + Feature, + FollowUp, + GeneralSupport, + Generic, + InvalidTaxAreaId, + Invoice, + MonarchAccount, + PhoneCall, + PlanChange, + Reactivation, + ReviewPlanChange, + SAPInvoiceError, + SupportTicket, + SupportTicketReply, + TaxErrorResolved, + Welcome +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSupportMethod.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSupportMethod.java new file mode 100644 index 0000000..9fc2093 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFSupportMethod.java @@ -0,0 +1,76 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFSupportMethod extends SFODataObject { + + @SerializedName("Order") + private Integer Order; + @SerializedName("Name") + private String Name; + @SerializedName("Description") + private String Description; + @SerializedName("Region") + private String Region; + @SerializedName("ShowAlways") + private Boolean ShowAlways; + + public Integer getOrder() { + return this.Order; + } + + public void setOrder(Integer order) { + this.Order = order; + } + public String getName() { + return this.Name; + } + + public void setName(String name) { + this.Name = name; + } + public String getDescription() { + return this.Description; + } + + public void setDescription(String description) { + this.Description = description; + } + public String getRegion() { + return this.Region; + } + + public void setRegion(String region) { + this.Region = region; + } + public Boolean getShowAlways() { + return this.ShowAlways; + } + + public void setShowAlways(Boolean showalways) { + this.ShowAlways = showalways; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFToolSurvey.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFToolSurvey.java new file mode 100644 index 0000000..3ba5859 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFToolSurvey.java @@ -0,0 +1,153 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFToolSurvey extends SFODataObject { + + @SerializedName("SurveyURL") + private String SurveyURL; + @SerializedName("AppCode") + private SFSafeEnum AppCode; + @SerializedName("SurveyStartDate") + private Date SurveyStartDate; + @SerializedName("SurveyEndDate") + private Date SurveyEndDate; + @SerializedName("PercentUsersToDisplayTo") + private Double PercentUsersToDisplayTo; + @SerializedName("MaximumNumberOfResponses") + private Integer MaximumNumberOfResponses; + @SerializedName("CurrentNumberOfResponses") + private Integer CurrentNumberOfResponses; + @SerializedName("MinimumNumberOfDaysToSurveyUserAgain") + private Integer MinimumNumberOfDaysToSurveyUserAgain; + + /** + * The location of the survey to display. + */ + public String getSurveyURL() { + return this.SurveyURL; + } + + /** + * The location of the survey to display. + */ + public void setSurveyURL(String surveyurl) { + this.SurveyURL = surveyurl; + } + /** + * The tool whose users are being surveyed. + */ + public SFSafeEnum getAppCode() { + return this.AppCode; + } + + /** + * The tool whose users are being surveyed. + */ + public void setAppCode(SFSafeEnum appcode) { + this.AppCode = appcode; + } + /** + * The beginning of the survey period. + */ + public Date getSurveyStartDate() { + return this.SurveyStartDate; + } + + /** + * The beginning of the survey period. + */ + public void setSurveyStartDate(Date surveystartdate) { + this.SurveyStartDate = surveystartdate; + } + /** + * The end of the survey period. If not specified, the survey closes when CurrentNumberOfResponses == MaximumNumberOfResponses. + */ + public Date getSurveyEndDate() { + return this.SurveyEndDate; + } + + /** + * The end of the survey period. If not specified, the survey closes when CurrentNumberOfResponses == MaximumNumberOfResponses. + */ + public void setSurveyEndDate(Date surveyenddate) { + this.SurveyEndDate = surveyenddate; + } + /** + * The percentage of tool instances that should display this survey on a single day. + * Value is a percentage, ex. "14.5%" is 14.5, not .145. + */ + public Double getPercentUsersToDisplayTo() { + return this.PercentUsersToDisplayTo; + } + + /** + * The percentage of tool instances that should display this survey on a single day. + * Value is a percentage, ex. "14.5%" is 14.5, not .145. + */ + public void setPercentUsersToDisplayTo(Double percentuserstodisplayto) { + this.PercentUsersToDisplayTo = percentuserstodisplayto; + } + /** + * The number of survey responses after which the survey period is completed. + */ + public Integer getMaximumNumberOfResponses() { + return this.MaximumNumberOfResponses; + } + + /** + * The number of survey responses after which the survey period is completed. + */ + public void setMaximumNumberOfResponses(Integer maximumnumberofresponses) { + this.MaximumNumberOfResponses = maximumnumberofresponses; + } + /** + * The number of survey responses received to date. + */ + public Integer getCurrentNumberOfResponses() { + return this.CurrentNumberOfResponses; + } + + /** + * The number of survey responses received to date. + */ + public void setCurrentNumberOfResponses(Integer currentnumberofresponses) { + this.CurrentNumberOfResponses = currentnumberofresponses; + } + /** + * If a user has completed a survey within this number of days, they should not be prompted with this survey. + */ + public Integer getMinimumNumberOfDaysToSurveyUserAgain() { + return this.MinimumNumberOfDaysToSurveyUserAgain; + } + + /** + * If a user has completed a survey within this number of days, they should not be prompted with this survey. + */ + public void setMinimumNumberOfDaysToSurveyUserAgain(Integer minimumnumberofdaystosurveyuseragain) { + this.MinimumNumberOfDaysToSurveyUserAgain = minimumnumberofdaystosurveyuseragain; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTrialPeriod.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTrialPeriod.java new file mode 100644 index 0000000..7e08672 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFTrialPeriod.java @@ -0,0 +1,67 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFTrialPeriod extends SFODataObject { + + @SerializedName("ProductID") + private String ProductID; + @SerializedName("AppStore") + private String AppStore; + @SerializedName("DurationInDays") + private Integer DurationInDays; + @SerializedName("NumberOfLicenses") + private Integer NumberOfLicenses; + + public String getProductID() { + return this.ProductID; + } + + public void setProductID(String productid) { + this.ProductID = productid; + } + public String getAppStore() { + return this.AppStore; + } + + public void setAppStore(String appstore) { + this.AppStore = appstore; + } + public Integer getDurationInDays() { + return this.DurationInDays; + } + + public void setDurationInDays(Integer durationindays) { + this.DurationInDays = durationindays; + } + public Integer getNumberOfLicenses() { + return this.NumberOfLicenses; + } + + public void setNumberOfLicenses(Integer numberoflicenses) { + this.NumberOfLicenses = numberoflicenses; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUrlLink.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUrlLink.java new file mode 100644 index 0000000..e37ce3f --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUrlLink.java @@ -0,0 +1,49 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFUrlLink extends SFODataObject { + + @SerializedName("Url") + private String Url; + @SerializedName("DisplayText") + private String DisplayText; + + public String getUrl() { + return this.Url; + } + + public void setUrl(String url) { + this.Url = url; + } + public String getDisplayText() { + return this.DisplayText; + } + + public void setDisplayText(String displaytext) { + this.DisplayText = displaytext; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUsagePlan.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUsagePlan.java new file mode 100644 index 0000000..3dc7488 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUsagePlan.java @@ -0,0 +1,417 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFUsagePlan extends SFODataObject { + + @SerializedName("Name") + private String Name; + @SerializedName("PlanTrack") + private String PlanTrack; + @SerializedName("Code") + private String Code; + @SerializedName("AddonTypeCode") + private String AddonTypeCode; + @SerializedName("ProductClass") + private String ProductClass; + @SerializedName("CitrixSKU") + private String CitrixSKU; + @SerializedName("MonthlyPrice") + private Double MonthlyPrice; + @SerializedName("QuarterlyPrice") + private Double QuarterlyPrice; + @SerializedName("YearlyPrice") + private Double YearlyPrice; + @SerializedName("BasePrice") + private Double BasePrice; + @SerializedName("BaseBandwidth") + private Integer BaseBandwidth; + @SerializedName("BaseDiskSpace") + private Integer BaseDiskSpace; + @SerializedName("BaseUsers") + private Integer BaseUsers; + @SerializedName("AdditionalBandwidthPrice") + private Double AdditionalBandwidthPrice; + @SerializedName("AdditionalDiskSpacePrice") + private Double AdditionalDiskSpacePrice; + @SerializedName("AdditionalUserPrice") + private Double AdditionalUserPrice; + @SerializedName("AppliedAddOns") + private SFAppliedPlanAddOns AppliedAddOns; + @SerializedName("AvailableAddOns") + private ArrayList AvailableAddOns; + @SerializedName("UserMax") + private Integer UserMax; + @SerializedName("BandwidthMax") + private Integer BandwidthMax; + @SerializedName("DiskSpaceMax") + private Integer DiskSpaceMax; + @SerializedName("BillingRate") + private Double BillingRate; + @SerializedName("BillingCycle") + private String BillingCycle; + @SerializedName("TaxQuote") + private SFSalesTaxQuote TaxQuote; + + /** + * Name of the plan. + * This property maps to PlanName field of UsagePlan table + */ + public String getName() { + return this.Name; + } + + /** + * Name of the plan. + * This property maps to PlanName field of UsagePlan table + */ + public void setName(String name) { + this.Name = name; + } + /** + * Plan track of the usage plan. + * This property maps to PlanTrack field of UsagePlan table + */ + public String getPlanTrack() { + return this.PlanTrack; + } + + /** + * Plan track of the usage plan. + * This property maps to PlanTrack field of UsagePlan table + */ + public void setPlanTrack(String plantrack) { + this.PlanTrack = plantrack; + } + /** + * Usage plan's code. + * This property maps to Code field of UsagePlan table + */ + public String getCode() { + return this.Code; + } + + /** + * Usage plan's code. + * This property maps to Code field of UsagePlan table + */ + public void setCode(String code) { + this.Code = code; + } + /** + * Addon type code. + * This property maps to AddonTypeCode field of UsagePlan table + */ + public String getAddonTypeCode() { + return this.AddonTypeCode; + } + + /** + * Addon type code. + * This property maps to AddonTypeCode field of UsagePlan table + */ + public void setAddonTypeCode(String addontypecode) { + this.AddonTypeCode = addontypecode; + } + /** + * The Product Class, for tax purposes + */ + public String getProductClass() { + return this.ProductClass; + } + + /** + * The Product Class, for tax purposes + */ + public void setProductClass(String productclass) { + this.ProductClass = productclass; + } + /** + * Stock Keeping Unit for this plan + */ + public String getCitrixSKU() { + return this.CitrixSKU; + } + + /** + * Stock Keeping Unit for this plan + */ + public void setCitrixSKU(String citrixsku) { + this.CitrixSKU = citrixsku; + } + /** + * Price of the plan if the billing cycle is Month. + * This property maps to MonthlyPrice field of UsagePlan table + */ + public Double getMonthlyPrice() { + return this.MonthlyPrice; + } + + /** + * Price of the plan if the billing cycle is Month. + * This property maps to MonthlyPrice field of UsagePlan table + */ + public void setMonthlyPrice(Double monthlyprice) { + this.MonthlyPrice = monthlyprice; + } + /** + * Price of the plan if the billing cycle is Quarter. + * This property maps to QuarterlyPrice field of UsagePlan table + */ + public Double getQuarterlyPrice() { + return this.QuarterlyPrice; + } + + /** + * Price of the plan if the billing cycle is Quarter. + * This property maps to QuarterlyPrice field of UsagePlan table + */ + public void setQuarterlyPrice(Double quarterlyprice) { + this.QuarterlyPrice = quarterlyprice; + } + /** + * Price of the plan if the billing cycle is Year. + * This property maps to YearlyPrice field of UsagePlan table + */ + public Double getYearlyPrice() { + return this.YearlyPrice; + } + + /** + * Price of the plan if the billing cycle is Year. + * This property maps to YearlyPrice field of UsagePlan table + */ + public void setYearlyPrice(Double yearlyprice) { + this.YearlyPrice = yearlyprice; + } + /** + * Base price of the plan (not including add ons) + */ + public Double getBasePrice() { + return this.BasePrice; + } + + /** + * Base price of the plan (not including add ons) + */ + public void setBasePrice(Double baseprice) { + this.BasePrice = baseprice; + } + /** + * Bandwidth included in the base plan (in megabytes) + * This property maps to BaseBandwidth field of UsagePlan table + */ + public Integer getBaseBandwidth() { + return this.BaseBandwidth; + } + + /** + * Bandwidth included in the base plan (in megabytes) + * This property maps to BaseBandwidth field of UsagePlan table + */ + public void setBaseBandwidth(Integer basebandwidth) { + this.BaseBandwidth = basebandwidth; + } + /** + * Storage included in the base plan (in megabytes) + * This property maps to BaseStorage field of UsagePlan table + */ + public Integer getBaseDiskSpace() { + return this.BaseDiskSpace; + } + + /** + * Storage included in the base plan (in megabytes) + * This property maps to BaseStorage field of UsagePlan table + */ + public void setBaseDiskSpace(Integer basediskspace) { + this.BaseDiskSpace = basediskspace; + } + /** + * Users included in plan + * This property maps to EmployeeUsers field of UsagePlan table + */ + public Integer getBaseUsers() { + return this.BaseUsers; + } + + /** + * Users included in plan + * This property maps to EmployeeUsers field of UsagePlan table + */ + public void setBaseUsers(Integer baseusers) { + this.BaseUsers = baseusers; + } + /** + * Additional charge for bandwidth (price is given per gigabyte/month). + */ + public Double getAdditionalBandwidthPrice() { + return this.AdditionalBandwidthPrice; + } + + /** + * Additional charge for bandwidth (price is given per gigabyte/month). + */ + public void setAdditionalBandwidthPrice(Double additionalbandwidthprice) { + this.AdditionalBandwidthPrice = additionalbandwidthprice; + } + /** + * Additional charge for storage (price is given per gigabyte/month) + */ + public Double getAdditionalDiskSpacePrice() { + return this.AdditionalDiskSpacePrice; + } + + /** + * Additional charge for storage (price is given per gigabyte/month) + */ + public void setAdditionalDiskSpacePrice(Double additionaldiskspaceprice) { + this.AdditionalDiskSpacePrice = additionaldiskspaceprice; + } + /** + * Additional charge for users + */ + public Double getAdditionalUserPrice() { + return this.AdditionalUserPrice; + } + + /** + * Additional charge for users + */ + public void setAdditionalUserPrice(Double additionaluserprice) { + this.AdditionalUserPrice = additionaluserprice; + } + /** + * Any addons applied for the plan (additional users, additional storage, and additional bandwidth) + */ + public SFAppliedPlanAddOns getAppliedAddOns() { + return this.AppliedAddOns; + } + + /** + * Any addons applied for the plan (additional users, additional storage, and additional bandwidth) + */ + public void setAppliedAddOns(SFAppliedPlanAddOns appliedaddons) { + this.AppliedAddOns = appliedaddons; + } + /** + * List of available AddOns + */ + public ArrayList getAvailableAddOns() { + return this.AvailableAddOns; + } + + /** + * List of available AddOns + */ + public void setAvailableAddOns(ArrayList availableaddons) { + this.AvailableAddOns = availableaddons; + } + /** + * The total number of users (base users + additional users) + */ + public Integer getUserMax() { + return this.UserMax; + } + + /** + * The total number of users (base users + additional users) + */ + public void setUserMax(Integer usermax) { + this.UserMax = usermax; + } + /** + * Total bandwidth (base bandwidth + additional bandwidth) + */ + public Integer getBandwidthMax() { + return this.BandwidthMax; + } + + /** + * Total bandwidth (base bandwidth + additional bandwidth) + */ + public void setBandwidthMax(Integer bandwidthmax) { + this.BandwidthMax = bandwidthmax; + } + /** + * Total diskspace (base diskspace + additional diskspace) + */ + public Integer getDiskSpaceMax() { + return this.DiskSpaceMax; + } + + /** + * Total diskspace (base diskspace + additional diskspace) + */ + public void setDiskSpaceMax(Integer diskspacemax) { + this.DiskSpaceMax = diskspacemax; + } + /** + * Billing rate of the plan. This is the total of + * base price + (additional users * additional user price) + * + (additional bandwidth * additional bandwidth price) + * + (additional diskspace * additional diskspace price) + */ + public Double getBillingRate() { + return this.BillingRate; + } + + /** + * Billing rate of the plan. This is the total of + * base price + (additional users * additional user price) + * + (additional bandwidth * additional bandwidth price) + * + (additional diskspace * additional diskspace price) + */ + public void setBillingRate(Double billingrate) { + this.BillingRate = billingrate; + } + /** + * Plan's billing cycle: Month, Quarter, or Year + */ + public String getBillingCycle() { + return this.BillingCycle; + } + + /** + * Plan's billing cycle: Month, Quarter, or Year + */ + public void setBillingCycle(String billingcycle) { + this.BillingCycle = billingcycle; + } + /** + * Sales Tax quote for this plan. This property is only returned by the CalculateUsagePlanValues and GetUsagePlan endpoints + */ + public SFSalesTaxQuote getTaxQuote() { + return this.TaxQuote; + } + + /** + * Sales Tax quote for this plan. This property is only returned by the CalculateUsagePlanValues and GetUsagePlan endpoints + */ + public void setTaxQuote(SFSalesTaxQuote taxquote) { + this.TaxQuote = taxquote; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUsagePlanAddOn.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUsagePlanAddOn.java new file mode 100644 index 0000000..b11a715 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUsagePlanAddOn.java @@ -0,0 +1,139 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFUsagePlanAddOn extends SFODataObject { + + @SerializedName("TypeCode") + private String TypeCode; + @SerializedName("Code") + private String Code; + @SerializedName("LimitingFactor") + private SFSafeEnum LimitingFactor; + @SerializedName("LowerLimit") + private Integer LowerLimit; + @SerializedName("UpperLimit") + private Integer UpperLimit; + @SerializedName("Field") + private SFSafeEnum Field; + @SerializedName("Interval") + private Integer Interval; + @SerializedName("Price") + private Double Price; + @SerializedName("MonthlyPrice") + private Double MonthlyPrice; + @SerializedName("QuarterlyPrice") + private Double QuarterlyPrice; + @SerializedName("YearlyPrice") + private Double YearlyPrice; + @SerializedName("ProductClass") + private String ProductClass; + + public String getTypeCode() { + return this.TypeCode; + } + + public void setTypeCode(String typecode) { + this.TypeCode = typecode; + } + public String getCode() { + return this.Code; + } + + public void setCode(String code) { + this.Code = code; + } + public SFSafeEnum getLimitingFactor() { + return this.LimitingFactor; + } + + public void setLimitingFactor(SFSafeEnum limitingfactor) { + this.LimitingFactor = limitingfactor; + } + public Integer getLowerLimit() { + return this.LowerLimit; + } + + public void setLowerLimit(Integer lowerlimit) { + this.LowerLimit = lowerlimit; + } + public Integer getUpperLimit() { + return this.UpperLimit; + } + + public void setUpperLimit(Integer upperlimit) { + this.UpperLimit = upperlimit; + } + public SFSafeEnum getField() { + return this.Field; + } + + public void setField(SFSafeEnum field) { + this.Field = field; + } + public Integer getInterval() { + return this.Interval; + } + + public void setInterval(Integer interval) { + this.Interval = interval; + } + public Double getPrice() { + return this.Price; + } + + public void setPrice(Double price) { + this.Price = price; + } + public Double getMonthlyPrice() { + return this.MonthlyPrice; + } + + public void setMonthlyPrice(Double monthlyprice) { + this.MonthlyPrice = monthlyprice; + } + public Double getQuarterlyPrice() { + return this.QuarterlyPrice; + } + + public void setQuarterlyPrice(Double quarterlyprice) { + this.QuarterlyPrice = quarterlyprice; + } + public Double getYearlyPrice() { + return this.YearlyPrice; + } + + public void setYearlyPrice(Double yearlyprice) { + this.YearlyPrice = yearlyprice; + } + public String getProductClass() { + return this.ProductClass; + } + + public void setProductClass(String productclass) { + this.ProductClass = productclass; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUser.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUser.java index 90ca936..2ef1bc8 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUser.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFUser.java @@ -23,7 +23,6 @@ import com.citrix.sharefile.api.*; import com.citrix.sharefile.api.enumerations.*; import com.citrix.sharefile.api.models.*; -import com.citrix.sharefile.api.internal.models.*; public class SFUser extends SFPrincipal { diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWebhookSubscription.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWebhookSubscription.java index 5083591..c8c6b6f 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWebhookSubscription.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWebhookSubscription.java @@ -23,7 +23,6 @@ import com.citrix.sharefile.api.*; import com.citrix.sharefile.api.enumerations.*; import com.citrix.sharefile.api.models.*; -import com.citrix.sharefile.api.internal.models.*; public class SFWebhookSubscription extends SFODataObject { diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWorkflowBundle.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWorkflowBundle.java new file mode 100644 index 0000000..18457e1 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWorkflowBundle.java @@ -0,0 +1,106 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFWorkflowBundle extends SFBundle { + + @SerializedName("WorkflowId") + private String WorkflowId; + @SerializedName("WorkflowType") + private SFSafeEnum WorkflowType; + @SerializedName("Status") + private SFSafeEnum Status; + @SerializedName("CompletedDate") + private Date CompletedDate; + @SerializedName("Initiator") + private SFUser Initiator; + @SerializedName("ParticipantCount") + private Integer ParticipantCount; + @SerializedName("Participants") + private ArrayList Participants; + + public String getWorkflowId() { + return this.WorkflowId; + } + + public void setWorkflowId(String workflowid) { + this.WorkflowId = workflowid; + } + public SFSafeEnum getWorkflowType() { + return this.WorkflowType; + } + + public void setWorkflowType(SFSafeEnum workflowtype) { + this.WorkflowType = workflowtype; + } + public SFSafeEnum getStatus() { + return this.Status; + } + + public void setStatus(SFSafeEnum status) { + this.Status = status; + } + public Date getCompletedDate() { + return this.CompletedDate; + } + + public void setCompletedDate(Date completeddate) { + this.CompletedDate = completeddate; + } + public SFUser getInitiator() { + return this.Initiator; + } + + public void setInitiator(SFUser initiator) { + this.Initiator = initiator; + } + /** + * Total number of participants on the workflow + */ + public Integer getParticipantCount() { + return this.ParticipantCount; + } + + /** + * Total number of participants on the workflow + */ + public void setParticipantCount(Integer participantcount) { + this.ParticipantCount = participantcount; + } + /** + * Collection of a short list of particpants on the workflow. Intended to be used for presentation. If an accurate count is required, use ParticipantCount. + */ + public ArrayList getParticipants() { + return this.Participants; + } + + /** + * Collection of a short list of particpants on the workflow. Intended to be used for presentation. If an accurate count is required, use ParticipantCount. + */ + public void setParticipants(ArrayList participants) { + this.Participants = participants; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWorkflowBundleStatus.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWorkflowBundleStatus.java new file mode 100644 index 0000000..b1c6b85 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWorkflowBundleStatus.java @@ -0,0 +1,26 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFWorkflowBundleStatus { + Draft, + InProgress, + Completed, + Rejected, + Cancelled, + RequestedChange +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWorkflowBundleType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWorkflowBundleType.java new file mode 100644 index 0000000..f2f18ea --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFWorkflowBundleType.java @@ -0,0 +1,23 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFWorkflowBundleType { + Approval, + Feedback, + Signature +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneDeployment.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneDeployment.java new file mode 100644 index 0000000..c644cdb --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneDeployment.java @@ -0,0 +1,151 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.enumerations.*; +import com.citrix.sharefile.api.models.*; + +public class SFZoneDeployment extends SFODataObject { + + @SerializedName("Zone") + private SFZone Zone; + @SerializedName("Region") + private SFSafeEnum Region; + @SerializedName("StorageBasePath") + private String StorageBasePath; + @SerializedName("LoadBalancerType") + private SFSafeEnum LoadBalancerType; + @SerializedName("Description") + private String Description; + @SerializedName("IsVDREnalbed") + private Boolean IsVDREnalbed; + @SerializedName("IsTestZone") + private Boolean IsTestZone; + @SerializedName("AccountId") + private String AccountId; + + /** + * The new zone to be deployed. + */ + public SFZone getZone() { + return this.Zone; + } + + /** + * The new zone to be deployed. + */ + public void setZone(SFZone zone) { + this.Zone = zone; + } + /** + * The geographical region of the deployed zone (for grouping purposes). + */ + public SFSafeEnum getRegion() { + return this.Region; + } + + /** + * The geographical region of the deployed zone (for grouping purposes). + */ + public void setRegion(SFSafeEnum region) { + this.Region = region; + } + /** + * The base path used for storage in the deployed zone. + */ + public String getStorageBasePath() { + return this.StorageBasePath; + } + + /** + * The base path used for storage in the deployed zone. + */ + public void setStorageBasePath(String storagebasepath) { + this.StorageBasePath = storagebasepath; + } + /** + * The type of load balancer used for this zone. + */ + public SFSafeEnum getLoadBalancerType() { + return this.LoadBalancerType; + } + + /** + * The type of load balancer used for this zone. + */ + public void setLoadBalancerType(SFSafeEnum loadbalancertype) { + this.LoadBalancerType = loadbalancertype; + } + /** + * A description of this zone. + */ + public String getDescription() { + return this.Description; + } + + /** + * A description of this zone. + */ + public void setDescription(String description) { + this.Description = description; + } + /** + * Does this zone have VDR enabled? + */ + public Boolean getIsVDREnalbed() { + return this.IsVDREnalbed; + } + + /** + * Does this zone have VDR enabled? + */ + public void setIsVDREnalbed(Boolean isvdrenalbed) { + this.IsVDREnalbed = isvdrenalbed; + } + /** + * Is this a test zone? + */ + public Boolean getIsTestZone() { + return this.IsTestZone; + } + + /** + * Is this a test zone? + */ + public void setIsTestZone(Boolean istestzone) { + this.IsTestZone = istestzone; + } + /** + * The account to associate this zone with, if any. + */ + public String getAccountId() { + return this.AccountId; + } + + /** + * The account to associate this zone with, if any. + */ + public void setAccountId(String accountid) { + this.AccountId = accountid; + } + +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneLoadBalanceType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneLoadBalanceType.java new file mode 100644 index 0000000..280f588 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneLoadBalanceType.java @@ -0,0 +1,22 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFZoneLoadBalanceType { + Random, + Hash +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneRegion.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneRegion.java new file mode 100644 index 0000000..185f897 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/models/SFZoneRegion.java @@ -0,0 +1,27 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.models; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; + +public enum SFZoneRegion { + Unknown, + NorthAmerica, + SouthAmerica, + Europe, + Australia, + Asia, + Africa +} \ No newline at end of file From 9d154db8dee311a65a538e06b8d554834b80ed60 Mon Sep 17 00:00:00 2001 From: jon-kare-sorensen <88373451+jon-kare-sorensen@users.noreply.github.com> Date: Wed, 23 Mar 2022 13:26:09 +0100 Subject: [PATCH 55/70] Add changes required for usage in Lovisa --- ShareFileJavaSDK/build.gradle | 59 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../sharefile/api/SFApiQueryExecutor.java | 574 ++++++++---------- .../api/authentication/SFOAuthService.java | 100 ++- .../sharefile/api/https/SFHttpsCaller.java | 243 ++++---- .../upload/MultiThreadedUploadManager.java | 53 +- .../api/https/upload/SFUploadRunnable.java | 212 ++++--- .../api/https/upload/UploadHelper.java | 21 +- 8 files changed, 605 insertions(+), 659 deletions(-) diff --git a/ShareFileJavaSDK/build.gradle b/ShareFileJavaSDK/build.gradle index 0232de5..a24c39d 100644 --- a/ShareFileJavaSDK/build.gradle +++ b/ShareFileJavaSDK/build.gradle @@ -51,9 +51,9 @@ jar { version = shareFileJarVersion } -task wrapper(type: Wrapper) { - gradleVersion = '1.11' -} +//task wrapper(type: Wrapper) { + //gradleVersion = '6.7.1' +//} task javadocJar(type: Jar) { classifier = 'javadoc' @@ -71,34 +71,33 @@ artifacts { archives javadocJar, sourcesJar } -task writeNewPom << { - pom { - project { - inceptionYear '2015' - artifactId shareFileJarName - name 'ShareFile-Api' - description 'ShareFile Java SDK using the V3 API' - url 'https://github.com/citrix/ShareFile-Java' - - scm { - url 'https://github.com/citrix/ShareFile-Java.git' - } - - licenses { - license { - name 'The MIT License (MIT)' - url 'https://github.com/citrix/ShareFile-Java/blob/master/LICENSE.txt' +task writeNewPom { + doLast { + pom { + project { + inceptionYear '2015' + artifactId shareFileJarName + name 'ShareFile-Api' + description 'ShareFile Java SDK using the V3 API' + url 'https://github.com/citrix/ShareFile-Java' + scm { + url 'https://github.com/citrix/ShareFile-Java.git' } - } - - developers { - developer { - id 'nileshp' - name 'Nilesh Pawar' - email 'nilesh.pawar@citrix.com' + licenses { + license { + name 'The MIT License (MIT)' + url 'https://github.com/citrix/ShareFile-Java/blob/master/LICENSE.txt' + } + } + developers { + developer { + id 'nileshp' + name 'Nilesh Pawar' + email 'nilesh.pawar@citrix.com' + } } - } - } - }.writeTo(shareFilePomFileName) + } + }.writeTo(shareFilePomFileName) + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/gradle/wrapper/gradle-wrapper.properties b/ShareFileJavaSDK/gradle/wrapper/gradle-wrapper.properties index 0c71e76..c74df1e 100644 --- a/ShareFileJavaSDK/gradle/wrapper/gradle-wrapper.properties +++ b/ShareFileJavaSDK/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java index f2b1546..530baa3 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java @@ -1,5 +1,18 @@ package com.citrix.sharefile.api; +import java.io.IOException; +import java.io.InputStream; +import java.io.UnsupportedEncodingException; +import java.net.ConnectException; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URL; +import java.net.URLConnection; +import java.net.UnknownHostException; +import java.util.ArrayList; + +import javax.net.ssl.HttpsURLConnection; + import com.citrix.sharefile.api.authentication.SFOAuth2Token; import com.citrix.sharefile.api.authentication.SFOAuthTokenRenewer; import com.citrix.sharefile.api.constants.SFFolderID; @@ -29,85 +42,67 @@ import com.google.gson.JsonObject; import com.google.gson.JsonParser; -import java.io.IOException; -import java.io.InputStream; -import java.io.UnsupportedEncodingException; -import java.net.ConnectException; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.URL; -import java.net.URLConnection; -import java.net.UnknownHostException; -import java.util.ArrayList; - -import javax.net.ssl.HttpsURLConnection; - /** - * This class provides the bare-minimum functions to make the V3 API server calls and read + parse their responses. - *
These calls are blocking calls so that the application can use its own thread management. - * - *

The calls to be made are in this sequence:
- * - * - *
executeBlockingQuery(); - *
callresponseListeners(); - *
- * - *

Typical usage in Android AsyncTask would be :
- * - *
doInBackgrond() - *
{ - *
executeBlockingQuery(); - *
} - *
- *
onPostExecute() - *
{ - *
callresponseListeners(); - *
} - * + * This class provides the bare-minimum functions to make the V3 API server calls and read + parse their responses. + *
These calls are blocking calls so that the application can use its own thread management. + * + *

The calls to be made are in this sequence:
+ * + * + *
executeBlockingQuery(); + *
callresponseListeners(); + *
+ * + *

Typical usage in Android AsyncTask would be :
+ * + *
doInBackgrond() + *
{ + *
executeBlockingQuery(); + *
} + *
+ *
onPostExecute() + *
{ + *
callresponseListeners(); + *
} */ -@SFSDKDefaultAccessScope -class SFApiQueryExecutor implements ISFApiExecuteQuery -{ - private static final String TAG = SFKeywords.TAG + "-SFApiThread"; +@SuppressWarnings("unchecked") +@SFSDKDefaultAccessScope +class SFApiQueryExecutor implements ISFApiExecuteQuery { + private static final String TAG = SFKeywords.TAG + "-SFApiThread"; private static final String EMPTY_JSON = "{}"; - - private final ISFQuery mQuery; - private final ISFApiResultCallback mResponseListener; - private final SFCookieManager mCookieManager; - private final SFConfiguration mAppSpecificConfig; - private final SFOAuthTokenRenewer mAccessTokenRenewer; - private final ISFReAuthHandler mReauthHandler; - private final SFApiClient mSFApiClient; + + private final ISFQuery mQuery; + private final ISFApiResultCallback mResponseListener; + private final SFCookieManager mCookieManager; + private final SFConfiguration mAppSpecificConfig; + private final SFOAuthTokenRenewer mAccessTokenRenewer; + private final ISFReAuthHandler mReauthHandler; + private final SFApiClient mSFApiClient; private final SFReAuthContext mReAuthContext; - public SFApiQueryExecutor(SFApiClient apiClient, ISFQuery query, ISFApiResultCallback responseListener, SFCookieManager cookieManager, SFConfiguration config, SFOAuthTokenRenewer tokenRenewer, ISFReAuthHandler reauthHandler) throws SFInvalidStateException - { - mSFApiClient = apiClient; - mQuery = query; - mResponseListener = responseListener; - mCookieManager = cookieManager; - mAppSpecificConfig = config; - mAccessTokenRenewer = tokenRenewer; - mReauthHandler = reauthHandler; - - mReAuthContext = new SFReAuthContext<>(query,responseListener,reauthHandler,apiClient); - } - - private void handleHttPost(URLConnection conn) throws IOException - { + public SFApiQueryExecutor(SFApiClient apiClient, ISFQuery query, ISFApiResultCallback responseListener, SFCookieManager cookieManager, SFConfiguration config, SFOAuthTokenRenewer tokenRenewer, ISFReAuthHandler reauthHandler) throws SFInvalidStateException { + mSFApiClient = apiClient; + mQuery = query; + mResponseListener = responseListener; + mCookieManager = cookieManager; + mAppSpecificConfig = config; + mAccessTokenRenewer = tokenRenewer; + mReauthHandler = reauthHandler; + + mReAuthContext = new SFReAuthContext<>(query, responseListener, reauthHandler, apiClient); + } + + private void handleHttPost(URLConnection conn) throws IOException { //Don't do post for GET methods - if(SFHttpMethod.GET.toString().equalsIgnoreCase(mQuery.getHttpMethod())) - { + if (SFHttpMethod.GET.toString().equalsIgnoreCase(mQuery.getHttpMethod())) { return; } //Don't do post for empty DELETE methods //Certain Androids are giving errors on POST body. //https://jira.ops.expertcity.com/browse/SFAND-2873 - if(SFHttpMethod.DELETE.toString().equalsIgnoreCase(mQuery.getHttpMethod()) && Utils.isEmpty(mQuery.getBody())) - { - return; + if (SFHttpMethod.DELETE.toString().equalsIgnoreCase(mQuery.getHttpMethod()) && Utils.isEmpty(mQuery.getBody())) { + return; } String body = mQuery.getBody(); @@ -119,49 +114,44 @@ private void handleHttPost(URLConnection conn) throws IOException // NOTE: by this point we have already set the HTTP method on the connection to POST // and all the other verbs: DELETE, PATCH etc are passed as an HTTP_METHOD_OVERRIDE // so this should work on all systems. - if(Utils.isEmpty(body)) - { + if (Utils.isEmpty(body)) { body = EMPTY_JSON; } - conn.setRequestProperty(SFKeywords.CONTENT_LENGTH, ""+body.getBytes().length); + conn.setRequestProperty(SFKeywords.CONTENT_LENGTH, "" + body.getBytes(SFKeywords.UTF_8).length); conn.setRequestProperty(SFKeywords.CONTENT_TYPE, SFKeywords.APPLICATION_JSON); Logger.d(TAG, "Posting body = " + body); SFHttpsCaller.postBody(conn, body); - } + } - private boolean shouldGetInputStream() - { + private boolean shouldGetInputStream() { return (mQuery instanceof SFQueryStream); } private boolean closeTheConnection = true; - private InputStream getInputStream(URLConnection connection, int httpErrorCode) throws IOException - { + + private InputStream getInputStream(URLConnection connection, int httpErrorCode) throws IOException { // normally, 3xx is redirect - if (httpErrorCode != HttpsURLConnection.HTTP_OK) - { - if (httpErrorCode == HttpsURLConnection.HTTP_MOVED_TEMP + if (httpErrorCode != HttpsURLConnection.HTTP_OK) { + if (httpErrorCode == HttpsURLConnection.HTTP_MOVED_TEMP || httpErrorCode == HttpsURLConnection.HTTP_MOVED_PERM - || httpErrorCode == HttpsURLConnection.HTTP_SEE_OTHER) - { + || httpErrorCode == HttpsURLConnection.HTTP_SEE_OTHER) { String newUrl = connection.getHeaderField("Location"); - if(Utils.isEmpty(newUrl)) - { + if (Utils.isEmpty(newUrl)) { newUrl = connection.getHeaderField("location"); } - Logger.d(TAG, "Redirect to: "+ newUrl); + Logger.d(TAG, "Redirect to: " + newUrl); connection = SFConnectionManager.openConnection(new URL(newUrl)); SFHttpsCaller.addAuthenticationHeader(connection, - mSFApiClient.getOAuthToken(), - mQuery.getUserName(), - mQuery.getPassword(), - mCookieManager); + mSFApiClient.getOAuthToken(), + mQuery.getUserName(), + mQuery.getPassword(), + mCookieManager); SFConnectionManager.connect(connection); @@ -174,25 +164,19 @@ private InputStream getInputStream(URLConnection connection, int httpErrorCode) } private T executeQueryWithReAuthentication() throws SFServerException, - SFNotAuthorizedException, SFInvalidStateException, SFOAuthTokenRenewException, SFOtherException - { - if (mQuery.canReNewTokenInternally()) - { - if(mAccessTokenRenewer == null) - { + SFNotAuthorizedException, SFInvalidStateException, SFOAuthTokenRenewException, SFOtherException { + if (mQuery.canReNewTokenInternally()) { + if (mAccessTokenRenewer == null) { throw new SFNotAuthorizedException(SFKeywords.UN_AUTHORIZED, mReAuthContext); } return executeQueryAfterTokenRenew(); } - else - { - if(mReauthHandler != null) - { - SFCredential creds = mReauthHandler.getCredentials(mQuery.getLink().toString(),mSFApiClient); - if(creds!=null && creds.getUserName()!=null && creds.getPassword()!=null) - { - mQuery.setCredentials(creds.getUserName(),creds.getPassword()); + else { + if (mReauthHandler != null) { + SFCredential creds = mReauthHandler.getCredentials(mQuery.getLink().toString(), mSFApiClient); + if (creds != null && creds.getUserName() != null && creds.getPassword() != null) { + mQuery.setCredentials(creds.getUserName(), creds.getPassword()); return executeBlockingQuery(); } } @@ -201,16 +185,14 @@ private T executeQueryWithReAuthentication() throws SFServerException, } /** - This call has to be synchronized to protect from the OAuthToken renewal problems otherwise - it nmay happen that two parellel threads invoke this function, receive 401 for ShareFile - and one of them renews the OAuthToken leaving the other one with a stale copy. + * This call has to be synchronized to protect from the OAuthToken renewal problems otherwise + * it nmay happen that two parellel threads invoke this function, receive 401 for ShareFile + * and one of them renews the OAuthToken leaving the other one with a stale copy. */ - @Override - public T executeBlockingQuery() throws SFServerException, - SFInvalidStateException, SFOAuthTokenRenewException, SFNotAuthorizedException, SFOtherException - { - synchronized (mSFApiClient) - { + @Override + public T executeBlockingQuery() throws SFServerException, + SFInvalidStateException, SFOAuthTokenRenewException, SFNotAuthorizedException, SFOtherException { + synchronized (mSFApiClient) { mSFApiClient.validateClientState(); @@ -230,7 +212,7 @@ public T executeBlockingQuery() throws SFServerException, mAppSpecificConfig.setAddtionalHeaders(connection); SFHttpsCaller.addAuthenticationHeader(connection, mSFApiClient.getOAuthToken(), - mQuery.getUserName(), mQuery.getPassword(), mCookieManager); + mQuery.getUserName(), mQuery.getPassword(), mCookieManager); handleHttPost(connection); @@ -242,42 +224,37 @@ public T executeBlockingQuery() throws SFServerException, SFHttpsCaller.getAndStoreCookies(connection, url, mCookieManager); - if(shouldGetInputStream()) - { - return (T)getInputStream(connection,httpErrorCode); + if (shouldGetInputStream()) { + return (T) getInputStream(connection, httpErrorCode); } - switch (httpErrorCode) - { - case HttpsURLConnection.HTTP_OK: - { + switch (httpErrorCode) { + case HttpsURLConnection.HTTP_OK: { responseString = SFHttpsCaller.readResponse(connection); mQuery.setStringResponse(responseString); Logger.v(TAG, responseString); T ret = callSuccessResponseParser(responseString); callSaveCredentialsCallback(ret); - if(!SFCapabilityService.getInternal().providerCapabilitiesLoaded(urlstr)) { - SFCapabilityService.getInternal().getCapabilities(urlstr,mSFApiClient); + if (!SFCapabilityService.getInternal().providerCapabilitiesLoaded(urlstr)) { + SFCapabilityService.getInternal().getCapabilities(urlstr, mSFApiClient); } return ret; } //break; - case HttpsURLConnection.HTTP_NO_CONTENT: - { + case HttpsURLConnection.HTTP_NO_CONTENT: { return null; } //break; - case HttpsURLConnection.HTTP_UNAUTHORIZED: - { + case HttpsURLConnection.HTTP_UNAUTHORIZED: { Logger.d(TAG, "RESPONSE = AUTH ERROR"); callWipeCredentialsCallback(); SFFormsAuthenticationCookies formsAuthResponseCookies = SFHttpsCaller.getFormsAuthResponseCookies(url, connection, mCookieManager); - if(formsAuthResponseCookies != null) { + if (formsAuthResponseCookies != null) { throw new SFNotAuthorizedException(SFKeywords.UN_AUTHORIZED, formsAuthResponseCookies, mReAuthContext); } return executeQueryWithReAuthentication(); @@ -290,8 +267,7 @@ public T executeBlockingQuery() throws SFServerException, is ShareFile(404) vs Connectors(409). So attempt to parse the server response String for accurate error message. */ - case HttpsURLConnection.HTTP_NOT_FOUND: - { + case HttpsURLConnection.HTTP_NOT_FOUND: { responseString = SFHttpsCaller.readErrorResponse(connection); Logger.v(TAG, responseString); SFV3ErrorParser sfV3error = new SFV3ErrorParser(httpErrorCode, responseString, null); @@ -299,10 +275,8 @@ is ShareFile(404) vs Connectors(409). } //break; - default: - { - if(retryDeleteWithPostOverride(httpErrorCode)) - { + default: { + if (retryDeleteWithPostOverride(httpErrorCode)) { mQuery.setBody(EMPTY_JSON); //This wont cause infinite recursion since retryDeleteWithPostOverride returns false for empty String "" //and for the retry we have set the body to and empty json "{}". @@ -312,54 +286,46 @@ is ShareFile(404) vs Connectors(409). responseString = SFHttpsCaller.readErrorResponse(connection); Logger.v(TAG, responseString); SFV3ErrorParser sfV3error = new SFV3ErrorParser(httpErrorCode, responseString, null); - throw new SFServerException(httpErrorCode,sfV3error.errorDisplayString()); + throw new SFServerException(httpErrorCode, sfV3error.errorDisplayString()); } } } - catch (ConnectException | UnknownHostException ex) - { - Logger.e(TAG,ex); + catch (ConnectException | UnknownHostException ex) { + Logger.e(TAG, ex); throw new SFConnectionException(ex); } - catch (SFServerException| SFInvalidStateException | - SFOAuthTokenRenewException | SFNotAuthorizedException e) - { - Logger.e(TAG,e); + catch (SFServerException | SFInvalidStateException | + SFOAuthTokenRenewException | SFNotAuthorizedException e) { + Logger.e(TAG, e); throw e; } - catch (Throwable ex) - { - Logger.e(TAG,ex); + catch (Throwable ex) { + Logger.e(TAG, ex); throw new SFOtherException(ex); } - finally - { - if(closeTheConnection) { - SFHttpsCaller.disconnect(connection); + finally { + if (closeTheConnection) { + SFHttpsCaller.disconnect(connection); } } } - } + } - //On certain connectors , the DELETE verb is not accepted by the server. + //On certain connectors , the DELETE verb is not accepted by the server. //We need to pass the DELETE as POST override for them. - private boolean retryDeleteWithPostOverride(int httpErrorCode) - { + private boolean retryDeleteWithPostOverride(int httpErrorCode) { //Retry with POST only for DELETE methods if we receive BadMethod from server. - if(httpErrorCode != HttpsURLConnection.HTTP_BAD_METHOD || !SFHttpMethod.DELETE.toString().equalsIgnoreCase(mQuery.getHttpMethod())) - { + if (httpErrorCode != HttpsURLConnection.HTTP_BAD_METHOD || !SFHttpMethod.DELETE.toString().equalsIgnoreCase(mQuery.getHttpMethod())) { return false; } //For non-empty Bodies we anyway use POST. - if(!Utils.isEmpty(mQuery.getBody())) - { + if (!Utils.isEmpty(mQuery.getBody())) { return false; } //Apply only to non-SF providers. ShareFile server always supports DELETE. - if(SFProvider.PROVIDER_TYPE_SF.equalsIgnoreCase(SFProvider.getProviderType(mQuery.getLink()))) - { + if (SFProvider.PROVIDER_TYPE_SF.equalsIgnoreCase(SFProvider.getProviderType(mQuery.getLink()))) { return false; } @@ -368,311 +334,263 @@ private boolean retryDeleteWithPostOverride(int httpErrorCode) return true; } - private void callSaveCredentialsCallback(T sfobject) - { - if(mReauthHandler == null || sfobject==null) - { + private void callSaveCredentialsCallback(T sfobject) { + if (mReauthHandler == null || sfobject == null) { return; } //the auth was success. if the query had credentials, callback the caller to store those creds - if(!Utils.isEmpty(mQuery.getPassword())) - { - try - { + if (!Utils.isEmpty(mQuery.getPassword())) { + try { mReauthHandler.storeCredentials(new SFCredential(mQuery.getUserName(), - mQuery.getPassword()),mQuery.getLink().toString(),mSFApiClient); + mQuery.getPassword()), mQuery.getLink().toString(), mSFApiClient); } - catch (Exception e) - { - Logger.e(TAG, "This can be dangerous if the caller cant store the credentials he might get prompted when cookies expire",e); + catch (Exception e) { + Logger.e(TAG, "This can be dangerous if the caller cant store the credentials he might get prompted when cookies expire", e); } } } - private void callWipeCredentialsCallback() - { - if(mReauthHandler == null) - { + private void callWipeCredentialsCallback() { + if (mReauthHandler == null) { return; } //the auth was failure. if the query had credentials, callback the caller to wipe those creds. - if(!Utils.isEmpty(mQuery.getPassword())) - { - try - { + if (!Utils.isEmpty(mQuery.getPassword())) { + try { Logger.d(TAG, "The stored credentials don't work anymore! Wipe them!"); - mReauthHandler.wipeCredentials(mQuery.getLink().toString(),mSFApiClient); - mQuery.setCredentials(null,null); + mReauthHandler.wipeCredentials(mQuery.getLink().toString(), mSFApiClient); + mQuery.setCredentials(null, null); } - catch (Exception e) - { - Logger.e(TAG, "This can be dangerous if the caller cant store the credentials he might get prompted when cookies expire",e); + catch (Exception e) { + Logger.e(TAG, "This can be dangerous if the caller cant store the credentials he might get prompted when cookies expire", e); } } } - private void renewToken() throws SFOAuthTokenRenewException - { + private void renewToken() throws SFOAuthTokenRenewException { Logger.d(TAG, "!!!Trying to renew token"); - if(mAccessTokenRenewer==null) - { + if (mAccessTokenRenewer == null) { Logger.d(TAG, "!!!no token renewer"); - throw new SFOAuthTokenRenewException("No token Re-newer"); - } + throw new SFOAuthTokenRenewException("No token Re-newer"); + } - try - { + try { SFOAuth2Token newToken = mAccessTokenRenewer.getNewAccessToken(); mSFApiClient.storeNewToken(mSFApiClient, newToken);//this might seem redundant but we don't want to create a separate interface } - catch (SFOAuthTokenRenewException e) - { - mSFApiClient.tokenRenewFailed(mSFApiClient,e); + catch (SFOAuthTokenRenewException e) { + mSFApiClient.tokenRenewFailed(mSFApiClient, e); throw e; } - } + } //https://crashlytics.com/citrix2/android/apps/com.citrix.sharefile.mobile.tablet/issues/5486913f65f8dfea154945c8/sessions/54834f7502e400013d029118062ebeab private boolean alreadyRenewedToken = false; + private void logMultipleTokenRenewals() throws SFNotAuthorizedException { - if(!alreadyRenewedToken) - { - alreadyRenewedToken = true; - return; - } + if (!alreadyRenewedToken) { + alreadyRenewedToken = true; + return; + } //Token already renewed once before in this query. dump logs Logger.e(TAG, "!!Multiple token renewals in same query. Might lead to stack overflow " + "\n mCurrentUri = " + mCurrentUri - + "\nmLink = " + mQuery.getLink()); + + "\nmLink = " + mQuery.getLink(), new SFNotAuthorizedException("Account not authorized")); throw new SFNotAuthorizedException("Account not authorized"); } - private T executeQueryAfterTokenRenew() throws + private T executeQueryAfterTokenRenew() throws SFServerException, SFInvalidStateException, SFOAuthTokenRenewException, SFNotAuthorizedException, - SFOtherException - { - renewToken(); + SFOtherException { + renewToken(); logMultipleTokenRenewals(); return executeBlockingQuery(); } - private T executeQueryOnRedirectedObject(SFRedirection redirection) throws + private T executeQueryOnRedirectedObject(SFRedirection redirection) throws SFInvalidStateException, SFServerException, SFOAuthTokenRenewException, SFOtherException, - SFNotAuthorizedException - { - try - { + SFNotAuthorizedException { + try { URI redirectLink = redirection.getUri(); - Logger.d(TAG,"REDIRECT TO: " + redirectLink); + Logger.d(TAG, "REDIRECT TO: " + redirectLink); mQuery.setLinkAndAppendPreviousParameters(redirectLink); - if(mQuery.getBody() == null && redirection.getBody() != null) { + if (mQuery.getBody() == null && redirection.getBody() != null) { JsonParser parser = new JsonParser(); - JsonObject bodyJson = (JsonObject)parser.parse(redirection.getBody()); + JsonObject bodyJson = (JsonObject) parser.parse(redirection.getBody()); mQuery.setBody(bodyJson); } return executeBlockingQuery(); } - catch (NullPointerException e) - { - Logger.e(TAG,e); + catch (NullPointerException e) { + Logger.e(TAG, e); throw new SFOtherException("Server Bug: Redirection object or Uri is null"); } - catch (URISyntaxException e) - { - Logger.e(TAG,e); + catch (URISyntaxException e) { + Logger.e(TAG, e); throw new SFOtherException("Server Bug: Redirection object syntax error"); } - catch (UnsupportedEncodingException e) - { - Logger.e(TAG,e); + catch (UnsupportedEncodingException e) { + Logger.e(TAG, e); throw new SFOtherException("Server Bug: Redirection object unsupported encoding"); } - } + } private URI mCurrentUri = null; /** - Use this to keep track of the current Uri on which the executor made an https call - that way we can avoid making extra redirection calls. + * Use this to keep track of the current Uri on which the executor made an https call + * that way we can avoid making extra redirection calls. */ - private void setCurrentUri(String str) - { - try - { + private void setCurrentUri(String str) { + try { mCurrentUri = new URI(str); //Want to control max number of redirects here? } - catch(Exception e) - { - Logger.e(TAG,e); + catch (Exception e) { + Logger.e(TAG, e); } } - private boolean isNewRedirectionUri(SFRedirection redirection) - { - if(redirection == null) - { + private boolean isNewRedirectionUri(SFRedirection redirection) { + if (redirection == null) { return false; } - if(mCurrentUri ==null || redirection.getUri()==null) - { + if (mCurrentUri == null || redirection.getUri() == null) { return false; } - try - { + try { String currentHost = mCurrentUri.getHost(); String currentPath = mCurrentUri.getPath(); String targetHost = redirection.getUri().getHost(); String targetPath = redirection.getUri().getPath(); - if (currentHost.equalsIgnoreCase(targetHost) && currentPath.equalsIgnoreCase(targetPath)) - { + if (currentHost.equalsIgnoreCase(targetHost) && currentPath.equalsIgnoreCase(targetPath)) { Logger.v(TAG, "Don't Redirect. Already fetched response from link " + redirection.getUri()); return false; } } - catch (Exception e) - { - Logger.e(TAG, "ZK folder might not show up correctly.",e); + catch (Exception e) { + Logger.e(TAG, "ZK folder might not show up correctly.", e); return false; } return true; } - - private SFRedirection getRedirectionObject(T object) - { - if((object == null) ) - { + + private SFRedirection getRedirectionObject(T object) { + if ((object == null)) { return null; } - if(!mQuery.reDirectionAllowed()) - { - return null; - } - - if(object instanceof SFFolder) - { - SFFolder folder = (SFFolder) object; - - Boolean hasRemoteChildren = folder.getHasRemoteChildren(); - - if(hasRemoteChildren!=null && hasRemoteChildren && - isNewRedirectionUri(folder.getRedirection())) - { - return folder.getRedirection(); - } - } - else if(object instanceof SFRedirection) - { - return (SFRedirection)object; - } - - return null; - } + if (!mQuery.reDirectionAllowed()) { + return null; + } + + if (object instanceof SFFolder) { + SFFolder folder = (SFFolder) object; + + Boolean hasRemoteChildren = folder.getHasRemoteChildren(); + + if (hasRemoteChildren != null && hasRemoteChildren && + isNewRedirectionUri(folder.getRedirection())) { + return folder.getRedirection(); + } + } + else if (object instanceof SFRedirection) { + return (SFRedirection) object; + } + + return null; + } /** - * If an error happens during parsing the success response, - * we return the exception description + the original server response in V3Error Object - * @throws URISyntaxException - * @throws com.citrix.sharefile.api.exceptions.SFServerException - * @throws UnsupportedEncodingException - */ - protected T callSuccessResponseParser(String responseString) throws SFServerException, - SFInvalidStateException, SFOAuthTokenRenewException, SFNotAuthorizedException, SFOtherException - { - JsonParser jsonParser = new JsonParser(); - JsonElement jsonElement =jsonParser.parse(responseString); - T sfobject = (T)mSFApiClient.customParse(jsonElement,null); + * If an error happens during parsing the success response, + * we return the exception description + the original server response in V3Error Object + * + * @throws URISyntaxException + * @throws com.citrix.sharefile.api.exceptions.SFServerException + * @throws UnsupportedEncodingException + */ + protected T callSuccessResponseParser(String responseString) throws SFServerException, + SFInvalidStateException, SFOAuthTokenRenewException, SFNotAuthorizedException, SFOtherException { + JsonParser jsonParser = new JsonParser(); + JsonElement jsonElement = jsonParser.parse(responseString); + T sfobject = (T) mSFApiClient.customParse(jsonElement, null); SFRedirection redirection = getRedirectionObject(sfobject); - if(redirection != null) - { + if (redirection != null) { return executeQueryOnRedirectedObject(redirection); } URI link = getShareConnectRedirectLink(sfobject); - if(link != null) - { + if (link != null) { return executeQueryForShareConnectRead(link); } return sfobject; - } + } - private URI getFirstSymlinkChildURI(ArrayList feed) - { - if( feed!=null && feed.size()>0 && feed.get(0) instanceof SFSymbolicLink) - { + private URI getFirstSymlinkChildURI(ArrayList feed) { + if (feed != null && feed.size() > 0 && feed.get(0) instanceof SFSymbolicLink) { return ((SFSymbolicLink) feed.get(0)).geturl(); } return null; } - private static final String SHARE_CONNECT_ITEMS_QUERY_PART = "/Items("+SFFolderID.CONNECTOR_SHARE_CONNECT+")"; + private static final String SHARE_CONNECT_ITEMS_QUERY_PART = "/Items(" + SFFolderID.CONNECTOR_SHARE_CONNECT + ")"; - private URI getShareConnectRedirectLink(T sfobject) throws SFOtherException - { - if(!SFHttpMethod.GET.toString().equalsIgnoreCase(mQuery.getHttpMethod()) || mQuery.getLink() == null) - { + private URI getShareConnectRedirectLink(T sfobject) throws SFOtherException { + if (!SFHttpMethod.GET.toString().equalsIgnoreCase(mQuery.getHttpMethod()) || mQuery.getLink() == null) { return null; } String path = mQuery.getLink().getPath(); - if(path==null || !path.contains(SHARE_CONNECT_ITEMS_QUERY_PART)) - { + if (path == null || !path.contains(SHARE_CONNECT_ITEMS_QUERY_PART)) { return null; } - if(sfobject instanceof SFFolder) - { + if (sfobject instanceof SFFolder) { SFFolder folder = (SFFolder) sfobject; - if (SFFolderID.CONNECTOR_SHARE_CONNECT.equalsIgnoreCase(folder.getId())) - { + if (SFFolderID.CONNECTOR_SHARE_CONNECT.equalsIgnoreCase(folder.getId())) { return getFirstSymlinkChildURI(folder.getChildren()); } return null; } - if(sfobject instanceof SFODataFeed) - { + if (sfobject instanceof SFODataFeed) { URI uri = getFirstSymlinkChildURI(((SFODataFeed) sfobject).getFeed()); - if(uri !=null) - { + if (uri != null) { //For feed type reads the url needs to have /Children in the path. path = uri.getPath(); String uriStr = uri.toString(); - uriStr = uriStr.replace(path,path+"/Children"); - try - { + uriStr = uriStr.replace(path, path + "/Children"); + try { return new URI(uriStr); } - catch (URISyntaxException e) - { + catch (URISyntaxException e) { throw new SFOtherException("Invalid URI"); } } @@ -684,33 +602,27 @@ private URI getShareConnectRedirectLink(T sfobject) throws SFOtherException private T executeQueryForShareConnectRead(URI shareConnectLink) throws SFInvalidStateException, SFServerException, SFOAuthTokenRenewException, SFOtherException, - SFNotAuthorizedException - { - try - { - Logger.d(TAG,"ShareConnect read from: " + shareConnectLink); + SFNotAuthorizedException { + try { + Logger.d(TAG, "ShareConnect read from: " + shareConnectLink); mQuery.setLinkAndAppendPreviousParameters(shareConnectLink); return executeBlockingQuery(); } - catch (NullPointerException e) - { - Logger.e(TAG,e); + catch (NullPointerException e) { + Logger.e(TAG, e); throw new SFOtherException("Server Bug: Redirection object or Uri is null"); } - catch (URISyntaxException e) - { - Logger.e(TAG,e); + catch (URISyntaxException e) { + Logger.e(TAG, e); throw new SFOtherException("Server Bug: Redirection object syntax error"); } - catch (UnsupportedEncodingException e) - { - Logger.e(TAG,e); + catch (UnsupportedEncodingException e) { + Logger.e(TAG, e); throw new SFOtherException("Server Bug: Redirection object unsupported encoding"); } } - protected ISFApiResultCallback getResponseListener() - { - return mResponseListener; - } + protected ISFApiResultCallback getResponseListener() { + return mResponseListener; + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFOAuthService.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFOAuthService.java index e1109d9..675fdb1 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFOAuthService.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/authentication/SFOAuthService.java @@ -1,5 +1,16 @@ package com.citrix.sharefile.api.authentication; +import java.io.IOException; +import java.net.HttpURLConnection; +import java.net.URL; +import java.net.URLConnection; +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.List; + +import org.apache.http.NameValuePair; +import org.apache.http.message.BasicNameValuePair; + import com.citrix.sharefile.api.SFConnectionManager; import com.citrix.sharefile.api.SFSdk; import com.citrix.sharefile.api.constants.SFKeywords; @@ -19,46 +30,33 @@ import com.google.gson.JsonObject; import com.google.gson.JsonParser; -import org.apache.http.NameValuePair; -import org.apache.http.message.BasicNameValuePair; - -import java.io.IOException; -import java.net.HttpURLConnection; -import java.net.URL; -import java.net.URLConnection; -import java.net.URLEncoder; -import java.util.ArrayList; -import java.util.List; - -import javax.net.ssl.HttpsURLConnection; - public class SFOAuthService implements ISFOAuthService { - private static final String TAG = SFKeywords.TAG + "-simpleauth"; + private static final String TAG = SFKeywords.TAG + "-simpleauth"; - /** - * Authenticate via username/password - * - * @param subDomain - * - hostname like "yourcompanyname" + /** + * Authenticate via username/password + * + * @param subDomain + * - hostname like "yourcompanyname" * @param apiControlPlane * - hostname like "sharefile.com" * @param clientId - * - your apiClient id - * @param clientSecret - * - your apiClient secret - * @param username - * - my@user.name - * @param password - * - mypassword - * @return an OAuth2Token instance - * @throws SFJsonException - */ - protected SFOAuth2Token authenticate(String subDomain, String apiControlPlane, String clientId,String clientSecret, String username, String password) - throws SFNotAuthorizedException, SFJsonException - { - HttpsURLConnection connection = null; + * - your apiClient id + * @param clientSecret + * - your apiClient secret + * @param username + * - my@user.name + * @param password + * - mypassword + * @return an OAuth2Token instance + * @throws SFJsonException + */ + protected SFOAuth2Token authenticate(String subDomain, String apiControlPlane, String clientId,String clientSecret, String username, String password) + throws SFNotAuthorizedException, SFJsonException + { + HttpURLConnection connection = null; try { URL grantUrl = new URL(oAuthTokenUrl(subDomain,apiControlPlane)); @@ -71,7 +69,7 @@ protected SFOAuth2Token authenticate(String subDomain, String apiControlPlane, S nvPairs.add(new BasicNameValuePair(SFKeywords.PASSWORD,password)); String body = SFHttpsCaller.getBodyForWebLogin(nvPairs); - connection = (HttpsURLConnection)SFConnectionManager.openConnection(grantUrl); + connection = (HttpURLConnection)SFConnectionManager.openConnection(grantUrl); connection.setRequestMethod(SFHttpMethod.POST.toString()); connection.setRequestProperty(SFKeywords.CONTENT_LENGTH, "" + body.length()); connection.addRequestProperty(SFKeywords.CONTENT_TYPE, SFKeywords.APPLICATION_FORM_URLENCODED); @@ -83,7 +81,7 @@ protected SFOAuth2Token authenticate(String subDomain, String apiControlPlane, S switch (SFHttpsCaller.safeGetResponseCode(connection)) { - case HttpsURLConnection.HTTP_OK: + case HttpURLConnection.HTTP_OK: String response = SFHttpsCaller.readResponse(connection); return new SFOAuth2Token(response); @@ -107,7 +105,7 @@ protected SFOAuth2Token authenticate(String subDomain, String apiControlPlane, S connection.disconnect(); } } - } + } /** * Authenticate via samlAssertion @@ -124,7 +122,7 @@ protected SFOAuth2Token authenticate(String subDomain, String apiControlPlane, S protected SFOAuth2Token authenticate(String subDomain,String apiControlPlane, String clientId, String clientSecret,String samlAssertion) throws SFNotAuthorizedException, SFJsonException { - HttpsURLConnection conn = null; + HttpURLConnection conn = null; URL url = null; @@ -133,7 +131,7 @@ protected SFOAuth2Token authenticate(String subDomain,String apiControlPlane, St url = new URL(oAuthTokenUrl(subDomain, apiControlPlane)); Logger.v(TAG, "Get AccessToken from: " + url); - conn = (HttpsURLConnection) url.openConnection(); + conn = (HttpURLConnection) url.openConnection(); SFHttpsCaller.setMethod(conn, "POST",null); @@ -155,19 +153,19 @@ protected SFOAuth2Token authenticate(String subDomain,String apiControlPlane, St switch (httpErrorCode ) { - case HttpsURLConnection.HTTP_OK: + case HttpURLConnection.HTTP_OK: String response = SFHttpsCaller.readResponse(conn); return new SFOAuth2Token(response); //break; case HttpURLConnection.HTTP_UNAUTHORIZED: throw new SFNotAuthorizedException(SFKeywords.UN_AUTHORIZED); - //break; + //break; default: String error = SFHttpsCaller.readErrorResponse(conn); throw new SFNotAuthorizedException(error); - //break; + //break; } } catch (IOException e) @@ -217,8 +215,8 @@ public SFOAuth2Token authenticate(String subDomain, SFSdk.validateInit(); return authenticate(subDomain,apiControlPlane, - SFSdk.getClientId(), - SFSdk.getClientSecret(),username,password); + SFSdk.getClientId(), + SFSdk.getClientSecret(),username,password); } @Override @@ -229,7 +227,7 @@ public SFOAuth2Token authenticate(String subDomain, { SFSdk.validateInit(); return authenticate(subDomain,apiControlPlane, - SFSdk.getClientId(),SFSdk.getClientSecret(),samlAssertion); + SFSdk.getClientId(),SFSdk.getClientSecret(),samlAssertion); } @Override @@ -243,9 +241,9 @@ public SFOAuth2Token refreshOAuthToken(SFOAuth2Token oldToken) @Override public void authenticateAsync(final String subDomain, - final String apiControlPlane, - final String username, - final String password, final IOAuthTokenCallback callback) + final String apiControlPlane, + final String username, + final String password, final IOAuthTokenCallback callback) { Thread thread = new Thread(new Runnable() { @@ -374,8 +372,8 @@ public void run() * This function converts the SFWebAuthCode obtained from the webpop * and returns the OAuthToken from the server for that code. * - The clientIDSecret is optional. Yf you don't pass these, the function will try to pick it up from - those which you set during the SFSdk.init() + The clientIDSecret is optional. Yf you don't pass these, the function will try to pick it up from + those which you set during the SFSdk.init() */ @Override public SFOAuth2Token getOAuthToken(SFWebAuthCode webAuthCode,String... clientIdSecret) throws SFServerException, SFOtherException @@ -398,7 +396,7 @@ public SFOAuth2Token getOAuthToken(SFWebAuthCode webAuthCode,String... clientIdS case 0: //do nothing - break; + break; default: throw new SFOtherException("You need to pass clientId/Secret ot nothing at all.\n In such case make sure to set the clientID/Secret from the SFSdk.init()"); @@ -431,7 +429,7 @@ public SFOAuth2Token getOAuthToken(SFWebAuthCode webAuthCode,String... clientIdS httpErrorCode = SFHttpsCaller.safeGetResponseCode(conn); - if (httpErrorCode == HttpsURLConnection.HTTP_OK) { + if (httpErrorCode == HttpURLConnection.HTTP_OK) { String response = SFHttpsCaller.readResponse(conn); JsonParser jsonParser = new JsonParser(); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFHttpsCaller.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFHttpsCaller.java index 411942f..3f1dbca 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFHttpsCaller.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/SFHttpsCaller.java @@ -1,18 +1,6 @@ package com.citrix.sharefile.api.https; -import com.citrix.sharefile.api.SFConnectionManager; -import com.citrix.sharefile.api.authentication.SFOAuth2Token; -import com.citrix.sharefile.api.constants.SFKeywords; -import com.citrix.sharefile.api.enumerations.SFHttpMethod; -import com.citrix.sharefile.api.SFProvider; -import com.citrix.sharefile.api.exceptions.SFFormsAuthenticationCookies; -import com.citrix.sharefile.api.utils.Utils; -import com.citrix.sharefile.api.log.Logger; - -import org.apache.commons.codec.binary.Base64; -import org.apache.http.NameValuePair; - import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; @@ -28,30 +16,43 @@ import java.net.URL; import java.net.URLConnection; import java.net.URLDecoder; +import java.nio.charset.StandardCharsets; import java.util.List; import javax.net.ssl.HttpsURLConnection; -public class SFHttpsCaller +import org.apache.commons.codec.binary.Base64; +import org.apache.http.NameValuePair; + +import com.citrix.sharefile.api.SFConnectionManager; +import com.citrix.sharefile.api.SFProvider; +import com.citrix.sharefile.api.authentication.SFOAuth2Token; +import com.citrix.sharefile.api.constants.SFKeywords; +import com.citrix.sharefile.api.enumerations.SFHttpMethod; +import com.citrix.sharefile.api.exceptions.SFFormsAuthenticationCookies; +import com.citrix.sharefile.api.log.Logger; +import com.citrix.sharefile.api.utils.Utils; + +public class SFHttpsCaller { private static final String TAG = SFKeywords.TAG + "-SFHttpCaller"; - + private static final String NO_AUTH_CHALLENGES = "No authentication challenges found"; private static final String OUT_OF_MEMORY = "memory"; private static final String ROOT_PARAM = "root"; private static final String REDIRECT_URL_PARAM = "redirect_url"; - + //private static CookieManager m_cookieManager = null; - + public static void setBasicAuth(URLConnection conn,String username,String password) - { + { String combinepass = username +SFKeywords.COLON + password; - String basicAuth = "Basic " + new String(Base64.encodeBase64(combinepass.getBytes())); + String basicAuth = "Basic " + new String(Base64.encodeBase64(combinepass.getBytes(StandardCharsets.ISO_8859_1))); conn.setRequestProperty("Authorization", basicAuth); } - + public static void postBody(URLConnection conn, String body) throws IOException - { + { OutputStream os = conn.getOutputStream(); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os, SFKeywords.UTF_8)); writer.write(body); @@ -60,38 +61,38 @@ public static void postBody(URLConnection conn, String body) throws IOException os.close(); } - /** - grant_type=authorization_code&code=CvJ4LMgMDHuZGLXgJgJdDYR17Hd3b5&client_id=xyz&client_secret=abc + /** + grant_type=authorization_code&code=CvJ4LMgMDHuZGLXgJgJdDYR17Hd3b5&client_id=xyz&client_secret=abc */ public static String getBodyForWebLogin(List params) throws UnsupportedEncodingException { - StringBuilder result = new StringBuilder(); - boolean first = true; - - for (NameValuePair pair : params) - { - if (first) - { - first = false; - } - else - { - result.append(SFKeywords.CHAR_AMPERSAND); - } - - result.append(pair.getName()); - result.append(SFKeywords.EQUALS); - result.append(pair.getValue()); - } - - return result.toString(); + StringBuilder result = new StringBuilder(); + boolean first = true; + + for (NameValuePair pair : params) + { + if (first) + { + first = false; + } + else + { + result.append(SFKeywords.CHAR_AMPERSAND); + } + + result.append(pair.getName()); + result.append(SFKeywords.EQUALS); + result.append(pair.getValue()); + } + + return result.toString(); } - + public static void setAcceptLanguage(URLConnection conn) { conn.setRequestProperty(SFKeywords.ACCEPT_LANGUAGE, Utils.getAcceptLanguageString()); } - + private static void setRequestMethod(URLConnection conn, String method) throws ProtocolException { if(conn instanceof HttpsURLConnection) @@ -101,33 +102,33 @@ private static void setRequestMethod(URLConnection conn, String method) throws P else if(conn instanceof HttpURLConnection) { ((HttpURLConnection) conn).setRequestMethod(method); - } + } } - + public static void setPostMethod(URLConnection conn) throws ProtocolException { setRequestMethod(conn,SFHttpMethod.POST.toString()); conn.setDoInput(true); conn.setDoOutput(true); } - + /** * PATCH is not recognized by android. Use POST as surrogate */ private static final boolean overridePatchMethod(URLConnection conn,String methodName) - { + { boolean ret = false; - + if(methodName.equalsIgnoreCase(SFHttpMethod.PATCH.toString())) - { + { conn.setRequestProperty(SFKeywords.HTTP_METHOD_OVERRIDE, SFHttpMethod.PATCH.toString()); - + ret = true; } - + return ret; } - + /** * DELETE does not support setOutputTrue on Android. Use POST as surrogate instead on all systems. */ @@ -147,7 +148,7 @@ private static final boolean overrideDeleteMethod(URLConnection conn,String meth } public static void setMethod(URLConnection conn,String methodName, String optionalBody) throws ProtocolException - { + { if(overridePatchMethod(conn, methodName)) { methodName = SFHttpMethod.POST.toString(); @@ -159,27 +160,27 @@ public static void setMethod(URLConnection conn,String methodName, String option } setRequestMethod(conn, methodName); - + if(methodName.equalsIgnoreCase(SFHttpMethod.GET.toString()) || - methodName.equalsIgnoreCase(SFHttpMethod.DELETE.toString())) + methodName.equalsIgnoreCase(SFHttpMethod.DELETE.toString())) { return; } - + conn.setDoInput(true); conn.setDoOutput(true); //POST, PUT, DELETE } - + public static int catchIfAuthException(IOException e) throws IOException { String errMessage = e.getLocalizedMessage(); - + if(errMessage!=null) { if(errMessage.contains(NO_AUTH_CHALLENGES)) { return HttpsURLConnection.HTTP_UNAUTHORIZED; - } + } else { throw e; @@ -189,38 +190,38 @@ public static int catchIfAuthException(IOException e) throws IOException { throw e; } - + //return 0; } - - public static int catchIfOutOfMemoryException(Exception e,int origcode) + + public static int catchIfOutOfMemoryException(Exception e,int origcode) { String errMessage = e.getLocalizedMessage(); - + if(errMessage!=null) { if(errMessage.contains(OUT_OF_MEMORY)) - { + { Logger.d(TAG, "Gracefull catching out of memmory"); return 500; - } - } - + } + } + return origcode; } - + /** * The http functions sometimes respond with 401 error or sometimes throw and exception *

depending on what the server returns. So we need a generic way to get the error code. - * @throws IOException - * + * @throws IOException + * */ public static int safeGetResponseCode(URLConnection conn) throws IOException { int httpErrorCode; - + try - { + { if(conn instanceof HttpsURLConnection) { httpErrorCode = ((HttpsURLConnection) conn).getResponseCode(); @@ -230,23 +231,23 @@ public static int safeGetResponseCode(URLConnection conn) throws IOException httpErrorCode = ((HttpURLConnection) conn).getResponseCode(); } } - catch (IOException e) //on wrong creds this throws exeption + catch (IOException e) //on wrong creds this throws exeption { httpErrorCode = catchIfAuthException(e); } - + Logger.d(TAG,"ERR_CODE: " + httpErrorCode); - - return httpErrorCode; + + return httpErrorCode; } - public static void getAndStoreCookies(URLConnection conn, URL url,SFCookieManager cookieManager) throws IOException + public static void getAndStoreCookies(URLConnection conn, URL url,SFCookieManager cookieManager) throws IOException { if(cookieManager!=null) - { + { cookieManager.readCookiesFromConnection(conn); - } + } } public static SFFormsAuthenticationCookies getFormsAuthResponseCookies(URL url, URLConnection connection, SFCookieManager cookieManager) throws IOException @@ -300,7 +301,7 @@ private static String addQueryParams(String url, String name, String value) thro } URI newUri = new URI(oldUri.getScheme(), oldUri.getAuthority(), - oldUri.getPath(), newQuery, oldUri.getFragment()); + oldUri.getPath(), newQuery, oldUri.getFragment()); return newUri.toString(); } @@ -309,47 +310,47 @@ private static String getRootQueryParamter(URL url) { //Root is the first query parameter int idx = pairs[0].indexOf("="); - return URLDecoder.decode(pairs[0].substring(idx + 1)); + return URLDecoder.decode(pairs[0].substring(idx + 1), StandardCharsets.UTF_8); } - - public static String readResponse(URLConnection conn) throws IOException + + public static String readResponse(URLConnection conn) throws IOException { StringBuilder sb = new StringBuilder(); - + InputStream is = SFConnectionManager.getInputStream(conn); - - BufferedReader urlstream = new BufferedReader(new InputStreamReader(is)); + + BufferedReader urlstream = new BufferedReader(new InputStreamReader(is, SFKeywords.UTF_8)); String inputLine; - + try { while ((inputLine = urlstream.readLine()) != null) { - sb.append(inputLine); + sb.append(inputLine); } } - catch (OutOfMemoryError e) + catch (OutOfMemoryError e) { Logger.d(TAG, "Error: " , e); - + throw new IOException("Out of memory"); } - + urlstream.close(); - + String response = sb.toString(); - + Logger.d(TAG, "SUCCESS RESPONSE size: " + response.length()); - + return response; } - + public static String readErrorResponse(URLConnection conn) throws IOException { StringBuilder sb = new StringBuilder(); - + BufferedReader urlstream; - + //type cast correctly. if(conn instanceof HttpsURLConnection) { @@ -363,21 +364,21 @@ else if(conn instanceof HttpURLConnection) { return ""; } - + String inputLine; - + while ((inputLine = urlstream.readLine()) != null) { sb.append(inputLine); } - + Logger.d(TAG, "ERROR RESPONSE SIZE: " + sb.length()); - + urlstream.close(); - + return sb.toString(); } - + public static void disconnect(URLConnection conn) { if(conn!=null) @@ -390,38 +391,38 @@ else if(conn instanceof HttpURLConnection) { ((HttpURLConnection) conn).disconnect(); } - + } } - - public static void addBearerAuthorizationHeader(URLConnection connection,SFOAuth2Token token) - { + + public static void addBearerAuthorizationHeader(URLConnection connection,SFOAuth2Token token) + { connection.addRequestProperty("Authorization",String.format("Bearer %s", token.getAccessToken())); - } - + } + /** - We need a separate auth manager here to handle the setting of correct auth header based on the provider type and well as the user. - * @throws IOException - */ + We need a separate auth manager here to handle the setting of correct auth header based on the provider type and well as the user. + * @throws IOException + */ public static void addAuthenticationHeader(URLConnection connection,SFOAuth2Token token,String userName,String password, SFCookieManager cookieManager) throws IOException { if(cookieManager!=null) - { + { cookieManager.setCookies(connection); } - switch(SFProvider.getProviderType(connection.getURL())) + switch(SFProvider.getProviderType(connection.getURL())) { case SFProvider.PROVIDER_TYPE_SF: SFHttpsCaller.addBearerAuthorizationHeader(connection, token); - break; - + break; + default: if(userName!=null && password!=null) - { - setBasicAuth(connection, userName, password); + { + setBasicAuth(connection, userName, password); } - break; - } + break; + } } } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/upload/MultiThreadedUploadManager.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/upload/MultiThreadedUploadManager.java index 97f689f..2bf4fd8 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/upload/MultiThreadedUploadManager.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/upload/MultiThreadedUploadManager.java @@ -1,27 +1,12 @@ package com.citrix.sharefile.api.https.upload; -import com.citrix.sharefile.api.SFApiClient; -import com.citrix.sharefile.api.SFConnectionManager; -import com.citrix.sharefile.api.constants.SFKeywords; -import com.citrix.sharefile.api.exceptions.SFCanceledException; -import com.citrix.sharefile.api.exceptions.SFNotAuthorizedException; -import com.citrix.sharefile.api.exceptions.SFSDKException; -import com.citrix.sharefile.api.exceptions.SFServerException; -import com.citrix.sharefile.api.https.SFCookieManager; -import com.citrix.sharefile.api.https.SFHttpsCaller; -import com.citrix.sharefile.api.log.Logger; -import com.citrix.sharefile.api.models.SFUploadSpecification; -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.google.gson.JsonElement; -import com.google.gson.JsonParser; - import java.io.ByteArrayInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.RandomAccessFile; +import java.net.HttpURLConnection; import java.net.URL; import java.security.MessageDigest; import java.util.concurrent.CountDownLatch; @@ -31,7 +16,21 @@ import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; -import javax.net.ssl.HttpsURLConnection; +import com.citrix.sharefile.api.SFApiClient; +import com.citrix.sharefile.api.SFConnectionManager; +import com.citrix.sharefile.api.constants.SFKeywords; +import com.citrix.sharefile.api.exceptions.SFCanceledException; +import com.citrix.sharefile.api.exceptions.SFNotAuthorizedException; +import com.citrix.sharefile.api.exceptions.SFSDKException; +import com.citrix.sharefile.api.exceptions.SFServerException; +import com.citrix.sharefile.api.https.SFCookieManager; +import com.citrix.sharefile.api.https.SFHttpsCaller; +import com.citrix.sharefile.api.log.Logger; +import com.citrix.sharefile.api.models.SFUploadSpecification; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonElement; +import com.google.gson.JsonParser; import static com.citrix.sharefile.api.https.upload.SFUploadRunnable.md5ToString; import static com.citrix.sharefile.api.https.upload.UploadHelper.closeStream; @@ -43,7 +42,7 @@ public class MultiThreadedUploadManager { private static final String TAG = MultiThreadedUploadManager.class.getSimpleName(); - + private final String mUsername; private final String mPassword; private final SFCookieManager mCookieManager; @@ -119,8 +118,8 @@ public MultiThreadedUploadManager(String username, String password, SFCookieMana } private void finalizeUpload() throws Exception { - HttpsURLConnection conn; - conn = (HttpsURLConnection) SFConnectionManager.openConnection(new URL(mSfUploadSpecification.getFinishUri().toString())); + HttpURLConnection conn; + conn = (HttpURLConnection) SFConnectionManager.openConnection(new URL(mSfUploadSpecification.getFinishUri().toString())); SFHttpsCaller.addAuthenticationHeader(conn, mSFSfApiClient.getOAuthToken(), mUsername, mPassword, mCookieManager); conn.setUseCaches(false); @@ -133,12 +132,12 @@ private void finalizeUpload() throws Exception { String responseString; switch(httpErrorCode) { - case HttpsURLConnection.HTTP_OK: + case HttpURLConnection.HTTP_OK: responseString = SFHttpsCaller.readResponse(conn); parseAndCompleteUpload(responseString); break; - case HttpsURLConnection.HTTP_UNAUTHORIZED: + case HttpURLConnection.HTTP_UNAUTHORIZED: throw new SFNotAuthorizedException(SFKeywords.UN_AUTHORIZED); //break; @@ -307,14 +306,14 @@ private int readFromFile(RandomAccessFile file, byte[] fileChunk, long index) th private void uploadChunk(byte[] fileChunk, int chunkLength, MessageDigest md, long index,long byteOffset) throws Exception { long bytesUploaded = 0; - HttpsURLConnection conn = null; + HttpURLConnection conn = null; String responseString; int httpErrorCode; OutputStream poster = null; try { md.update(fileChunk, 0, chunkLength); - + String append = UploadHelper.getAppendParams(md5ToString(md), index, byteOffset, mFileSize); final String finalURL = mSfUploadSpecification.getChunkUri() + append; @@ -343,11 +342,11 @@ private void uploadChunk(byte[] fileChunk, int chunkLength, MessageDigest md, lo switch(httpErrorCode ) { - case HttpsURLConnection.HTTP_OK: + case HttpURLConnection.HTTP_OK: updateProgress(index, bytesUploaded, threadNumber - 1); break; - case HttpsURLConnection.HTTP_UNAUTHORIZED: + case HttpURLConnection.HTTP_UNAUTHORIZED: throw new SFNotAuthorizedException(SFKeywords.UN_AUTHORIZED); //break; @@ -415,4 +414,4 @@ private void abortIfCancelledRequested() throws SFCanceledException } } } -} +} \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/upload/SFUploadRunnable.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/upload/SFUploadRunnable.java index 2a72bdf..fdf6879 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/upload/SFUploadRunnable.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/upload/SFUploadRunnable.java @@ -1,5 +1,19 @@ package com.citrix.sharefile.api.https.upload; +import java.io.ByteArrayInputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.HttpURLConnection; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URL; +import java.nio.charset.StandardCharsets; +import java.security.MessageDigest; +import java.util.Date; +import java.util.UUID; + import com.citrix.sharefile.api.SFApiClient; import com.citrix.sharefile.api.SFConnectionManager; import com.citrix.sharefile.api.SFSDKDefaultAccessScope; @@ -29,18 +43,6 @@ import com.google.gson.JsonObject; import com.google.gson.JsonParser; -import java.io.ByteArrayInputStream; -import java.io.DataOutputStream; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.URL; -import java.security.MessageDigest; -import java.util.Date; - -import javax.net.ssl.HttpsURLConnection; - import static com.citrix.sharefile.api.https.upload.UploadHelper.closeStream; /** @@ -92,6 +94,10 @@ public void setUploadSpec(String previousUploadSpec) mUploadSpecification = gson.fromJson(previousUploadSpec,SFUploadSpecification.class); } + public void setUploadSpec(SFUploadSpecification uploadSpecification) { + mUploadSpecification = uploadSpecification; + } + public String getUploadSpec() throws SFNotAuthorizedException, SFOAuthTokenRenewException, SFOtherException, SFInvalidStateException, SFServerException { if(mUploadSpecification == null) @@ -166,17 +172,9 @@ protected void runInThisThread() throws SFSDKException { mUploadSpecification = getSpecification();// get spec } - abortIfCancelledRequested(); - if(shouldUseThreadedUpload()) { - MultiThreadedUploadManager manager = new MultiThreadedUploadManager(mUsername, mPassword, mCookieManager, mUploadSpecification, - mResumeFromByteIndex, mFileInputStream, (IUploadProgress) mProgressListener, getNumberOfThreads(), mApiClient, mTotalBytes, cancelRequested, localFilePath); - manager.execute(); - } - else { - upload(); - } + uploadUsingSingleHTTPPost(); abortIfCancelledRequested(); } @@ -215,24 +213,24 @@ private SFUploadSpecification getStandardSpecification() throws SFInvalidStateEx Date now = new Date(); ISFQuery uploadQuery = mApiClient.items().upload(new URI(mV3Url) ,new SFSafeEnum(SFUploadMethod.Streamed), - true, - mDestinationFileName, - mTotalBytes, - "", - false, - true, - false, - false, - "SFJavaSDK", - mOverwrite, - mDestinationFileName, - mDetails, - false, - "", - "", - 1, - "json", - false, now,now); + true, + mDestinationFileName, + mTotalBytes, + "", + false, + true, + false, + false, + "SFJavaSDK", + mOverwrite, + mDestinationFileName, + mDetails, + false, + "", + "", + 1, + "json", + false, now,now); uploadQuery.setCredentials(mUsername,mPassword); @@ -253,17 +251,17 @@ private SFUploadSpecification getThreadedSpecification() throws SFInvalidStateEx SFOtherException { try { ISFQuery uploadQuery = mApiClient.items().upload(new URI(mV3Url), - new SFSafeEnum<>(SFUploadMethod.Threaded), - true, - mDestinationFileName, - mTotalBytes, - "", - false, - false, - false, - false, - "SFJavaSDK", - true); + new SFSafeEnum<>(SFUploadMethod.Threaded), + true, + mDestinationFileName, + mTotalBytes, + "", + false, + false, + false, + false, + "SFJavaSDK", + true); uploadQuery.setCredentials(mUsername, mPassword); @@ -395,7 +393,7 @@ else if (isLastChunk) private long uploadChunk(byte[] fileChunk,int chunkLength,long index,boolean isLast, MessageDigest md, long previousChunkTotal) throws SFSDKException { long bytesUploaded = 0; - HttpsURLConnection conn = null; + HttpURLConnection conn = null; String responseString = null; int httpErrorCode; @@ -406,9 +404,9 @@ private long uploadChunk(byte[] fileChunk,int chunkLength,long index,boolean isL //you need the RAW param or you'll have to do HTTP multi-part post... String append = UploadHelper.getAppendParams(mDestinationFileName, mDetails, mTotalBytes,isLast?1:0, isLast, md5ToString(md),index, previousChunkTotal); - final String finalURL = mUploadSpecification.getChunkUri() + append; + final URL finalURL = new URL( mUploadSpecification.getChunkUri() + append); - conn = UploadHelper.getChunkUploadConnection(finalURL, mApiClient, mUsername, mPassword, mCookieManager, chunkLength); + conn = UploadHelper.getChunkUploadConnection(finalURL.toString(), mApiClient, mUsername, mPassword, mCookieManager, chunkLength); SFConnectionManager.connect(conn); //small buffer between the chunk and the stream so we can interrupt and kill task quickly @@ -431,40 +429,7 @@ private long uploadChunk(byte[] fileChunk,int chunkLength,long index,boolean isL poster.close(); - httpErrorCode = SFHttpsCaller.safeGetResponseCode(conn); - - SFHttpsCaller.getAndStoreCookies(conn, new URL(finalURL),mCookieManager); - - switch(httpErrorCode ) - { - case HttpsURLConnection.HTTP_OK: - responseString = SFHttpsCaller.readResponse(conn); - Logger.d(TAG, "Upload Response: " + responseString); - - mChunkUploadResponse = new SFChunkUploadResponse(responseString, isLast); - if(!mChunkUploadResponse.mWasError) - { - mChunkUploadResponse.mBytesTransferedInChunk = (int) bytesUploaded; - mTotalBytesTransferredForThisFile +=bytesUploaded; - mItemId = mChunkUploadResponse.mItemId; - return bytesUploaded; - } - else - { - throw new SFServerException(httpErrorCode,mChunkUploadResponse.mErrorMessage); - } - //break; - - case HttpsURLConnection.HTTP_UNAUTHORIZED: - throw new SFNotAuthorizedException(SFKeywords.UN_AUTHORIZED); - //break; - - default: - responseString = SFHttpsCaller.readErrorResponse(conn); - Logger.d(TAG, "Upload Err Response: " + responseString); - throw new SFServerException(httpErrorCode,responseString); - //break - } + return handleResponse(isLast, bytesUploaded, conn, finalURL); } catch (SFSDKException e) { @@ -482,6 +447,79 @@ private long uploadChunk(byte[] fileChunk,int chunkLength,long index,boolean isL } } + private long handleResponse(boolean isLast, long bytesUploaded, HttpURLConnection conn, URL finalURL) throws IOException, SFServerException, SFNotAuthorizedException { + int httpErrorCode; + String responseString; + httpErrorCode = SFHttpsCaller.safeGetResponseCode(conn); + + SFHttpsCaller.getAndStoreCookies(conn, finalURL,mCookieManager); + + switch(httpErrorCode ) + { + case HttpURLConnection.HTTP_OK: + responseString = SFHttpsCaller.readResponse(conn); + Logger.d(TAG, "Upload Response: " + responseString); + + mChunkUploadResponse = new SFChunkUploadResponse(responseString, isLast); + if(!mChunkUploadResponse.mWasError) + { + mChunkUploadResponse.mBytesTransferedInChunk = (int) bytesUploaded; + mTotalBytesTransferredForThisFile +=bytesUploaded; + mItemId = mChunkUploadResponse.mItemId; + return bytesUploaded; + } + else + { + throw new SFServerException(httpErrorCode,mChunkUploadResponse.mErrorMessage); + } + //break; + + case HttpURLConnection.HTTP_UNAUTHORIZED: + throw new SFNotAuthorizedException(SFKeywords.UN_AUTHORIZED); + //break; + + default: + responseString = SFHttpsCaller.readErrorResponse(conn); + Logger.d(TAG, "Upload Err Response: " + responseString); + throw new SFServerException(httpErrorCode,responseString); + //break + } + } + + private void uploadUsingSingleHTTPPost() throws IOException, SFSDKException { + URL finalURL = new URL(mUploadSpecification.getChunkUri() + "&fmt=json"); + HttpURLConnection connection = (HttpURLConnection) finalURL.openConnection(); + String boundary = "--"+ UUID.randomUUID().toString(); + connection.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + boundary + "; charset=ISO-8859-1"); + connection.setDoOutput(true); + + StringBuffer header = new StringBuffer(); + header.append("--"+boundary+"\r\n"); + header.append("Content-Disposition: form-data; name=File1; filename=\""+mDestinationFileName+"\"\r\n"); + header.append("Content-Type: application/octet-stream\r\n\r\n"); + + OutputStream target = connection.getOutputStream(); + target.write(header.toString().getBytes(StandardCharsets.ISO_8859_1)); + + long bytesUploaded = 0; + byte[] buffer = new byte[1024*1024]; + int currentBytesRead; + while((currentBytesRead = mFileInputStream.read(buffer, 0, buffer.length)) >= 0) { + target.write(buffer, 0, currentBytesRead); + bytesUploaded += (long)currentBytesRead; + } + target.flush(); + + target.write(("\r\n--"+boundary+"--\r\n").getBytes(StandardCharsets.ISO_8859_1)); + target.close(); + + handleResponse(true, bytesUploaded, connection, finalURL); + + mProgressListener.onComplete(mTotalBytesTransferredForThisFile, mItemId); + connection.disconnect(); + } + + private void upload() throws SFSDKException { long startTime = System.currentTimeMillis(); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/upload/UploadHelper.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/upload/UploadHelper.java index 943e9d5..d381556 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/upload/UploadHelper.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/https/upload/UploadHelper.java @@ -1,19 +1,18 @@ package com.citrix.sharefile.api.https.upload; -import com.citrix.sharefile.api.SFApiClient; -import com.citrix.sharefile.api.SFConnectionManager; -import com.citrix.sharefile.api.constants.SFKeywords; -import com.citrix.sharefile.api.https.SFCookieManager; -import com.citrix.sharefile.api.https.SFHttpsCaller; -import com.citrix.sharefile.api.log.Logger; - import java.io.Closeable; import java.io.IOException; import java.io.UnsupportedEncodingException; +import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; -import javax.net.ssl.HttpsURLConnection; +import com.citrix.sharefile.api.SFApiClient; +import com.citrix.sharefile.api.SFConnectionManager; +import com.citrix.sharefile.api.constants.SFKeywords; +import com.citrix.sharefile.api.https.SFCookieManager; +import com.citrix.sharefile.api.https.SFHttpsCaller; +import com.citrix.sharefile.api.log.Logger; /** * Created by sai on 2/23/17. @@ -79,8 +78,8 @@ public static void closeStream(Closeable fis) { } } - public static HttpsURLConnection getChunkUploadConnection(String finalURL, SFApiClient mApiClient, String mUsername, String mPassword, SFCookieManager mCookieManager, long chunkLength) throws Exception{ - HttpsURLConnection conn = (HttpsURLConnection) SFConnectionManager.openConnection(new URL(finalURL)); + public static HttpURLConnection getChunkUploadConnection(String finalURL, SFApiClient mApiClient, String mUsername, String mPassword, SFCookieManager mCookieManager, long chunkLength) throws Exception{ + HttpURLConnection conn = (HttpURLConnection) SFConnectionManager.openConnection(new URL(finalURL)); SFHttpsCaller.addAuthenticationHeader(conn, mApiClient.getOAuthToken(), mUsername,mPassword,mCookieManager); conn.setUseCaches(false); @@ -91,4 +90,4 @@ public static HttpsURLConnection getChunkUploadConnection(String finalURL, SFApi return conn; } -} +} \ No newline at end of file From abae86ecb2dccc4f53374cd8f3cdbd62719369f2 Mon Sep 17 00:00:00 2001 From: jon-kare-sorensen <88373451+jon-kare-sorensen@users.noreply.github.com> Date: Wed, 23 Mar 2022 13:35:53 +0100 Subject: [PATCH 56/70] Delete Sample project and Maven scripts --- .../AndroidStudioProject/app/build.gradle | 33 - SDKSample/AndroidStudioProject/app/lint.xml | 3 - .../AndroidStudioProject/app/proguard.cfg | 48 -- .../app/src/main/AndroidManifest.xml | 51 -- .../main/assets/webviewerrors/offline.html | 42 -- .../java/com/sharefile/testv3/Core/Core.java | 102 --- .../testv3/Core/SampleAsyncTask.java | 32 - .../com/sharefile/testv3/FoldersActivity.java | 681 ------------------ .../sharefile/testv3/FullscreenActivity.java | 255 ------- .../com/sharefile/testv3/PersistantToken.java | 50 -- .../com/sharefile/testv3/SFApplication.java | 27 - .../testv3/SFItemListViewAdapter.java | 115 --- .../java/com/sharefile/testv3/SFLogger.java | 70 -- .../sharefile/testv3/SwipeListItemState.java | 15 - .../sharefile/testv3/upload/UploadInfo.java | 300 -------- .../sharefile/testv3/util/SystemUiHider.java | 178 ----- .../testv3/util/SystemUiHiderBase.java | 62 -- .../testv3/util/SystemUiHiderHoneycomb.java | 133 ---- .../app/src/main/res/anim/fadein_200.xml | 11 - .../app/src/main/res/anim/fadeout_200.xml | 11 - .../res/anim/file_preview_download_window.xml | 43 -- .../src/main/res/anim/modal_push_in_right.xml | 11 - .../main/res/anim/modal_push_out_right.xml | 12 - .../app/src/main/res/anim/push_in_left.xml | 9 - .../app/src/main/res/anim/push_in_right.xml | 9 - .../app/src/main/res/anim/push_out_left.xml | 9 - .../app/src/main/res/anim/push_out_right.xml | 9 - .../app/src/main/res/anim/searchview.xml | 13 - .../app/src/main/res/anim/slide_down.xml | 7 - .../app/src/main/res/anim/slide_up.xml | 7 - .../main/res/drawable-hdpi/account_switch.png | Bin 462 -> 0 bytes .../drawable-hdpi/actionbar_app_icon_dark.png | Bin 8535 -> 0 bytes .../actionbar_app_icon_light.png | Bin 8607 -> 0 bytes .../main/res/drawable-hdpi/actionbar_icon.png | Bin 5903 -> 0 bytes .../src/main/res/drawable-hdpi/add_user.png | Bin 740 -> 0 bytes .../main/res/drawable-hdpi/addressbook.png | Bin 476 -> 0 bytes .../src/main/res/drawable-hdpi/addtolist.png | Bin 1176 -> 0 bytes .../drawable-hdpi/btn_default_normal.9.png | Bin 927 -> 0 bytes .../btn_default_normal_disable.9.png | Bin 949 -> 0 bytes .../btn_default_normal_disable_focused.9.png | Bin 862 -> 0 bytes .../drawable-hdpi/btn_default_pressed.9.png | Bin 975 -> 0 bytes .../drawable-hdpi/btn_default_selected.9.png | Bin 579 -> 0 bytes .../btn_default_small_normal.9.png | Bin 774 -> 0 bytes .../btn_default_small_normal_disable.9.png | Bin 727 -> 0 bytes ...default_small_normal_disable_focused.9.png | Bin 792 -> 0 bytes .../btn_default_small_pressed.9.png | Bin 575 -> 0 bytes .../btn_default_small_selected.9.png | Bin 507 -> 0 bytes .../btn_default_transparent_normal.9.png | Bin 1633 -> 0 bytes .../main/res/drawable-hdpi/check_active.png | Bin 284 -> 0 bytes .../main/res/drawable-hdpi/check_inactive.png | Bin 297 -> 0 bytes .../res/drawable-hdpi/chooseaccount_caret.png | Bin 317 -> 0 bytes .../drawable-hdpi/chooseaccount_caret_add.png | Bin 158 -> 0 bytes .../res/drawable-hdpi/chooseaccount_green.png | Bin 251 -> 0 bytes .../res/drawable-hdpi/chooseaccount_grey.png | Bin 277 -> 0 bytes .../app/src/main/res/drawable-hdpi/close.png | Bin 335 -> 0 bytes .../main/res/drawable-hdpi/close_white.png | Bin 334 -> 0 bytes .../src/main/res/drawable-hdpi/contacts.png | Bin 1459 -> 0 bytes .../main/res/drawable-hdpi/create_folder.png | Bin 331 -> 0 bytes .../drawable-hdpi/create_folder_disabled.png | Bin 328 -> 0 bytes .../main/res/drawable-hdpi/dark_header.9.png | Bin 693 -> 0 bytes .../app/src/main/res/drawable-hdpi/delete.png | Bin 667 -> 0 bytes .../res/drawable-hdpi/delete_disabled.png | Bin 620 -> 0 bytes .../drawable-hdpi/dialog_full_holo_dark.9.png | Bin 1855 -> 0 bytes .../dialog_full_holo_light.9.png | Bin 1856 -> 0 bytes .../divider_horizontal_dim_dark.9.png | Bin 238 -> 0 bytes .../divider_horizontal_textfield.9.png | Bin 142 -> 0 bytes .../src/main/res/drawable-hdpi/download.png | Bin 548 -> 0 bytes .../res/drawable-hdpi/download_disabled.png | Bin 511 -> 0 bytes .../app/src/main/res/drawable-hdpi/edit.png | Bin 993 -> 0 bytes .../res/drawable-hdpi/filepicker_home.png | Bin 410 -> 0 bytes .../main/res/drawable-hdpi/folder_access.png | Bin 897 -> 0 bytes .../folder_actions_createfolder.png | Bin 4237 -> 0 bytes .../folder_actions_createfolder_disabled.png | Bin 4126 -> 0 bytes .../src/main/res/drawable-hdpi/folder_up.png | Bin 586 -> 0 bytes .../res/drawable-hdpi/folder_up_normal.png | Bin 4484 -> 0 bytes .../res/drawable-hdpi/folder_up_pressed.png | Bin 4478 -> 0 bytes .../res/drawable-hdpi/folder_up_white.png | Bin 573 -> 0 bytes .../app/src/main/res/drawable-hdpi/group.png | Bin 1830 -> 0 bytes .../src/main/res/drawable-hdpi/home_btn.png | Bin 649 -> 0 bytes .../main/res/drawable-hdpi/home_btn_white.png | Bin 582 -> 0 bytes .../res/drawable-hdpi/home_button_white.png | Bin 1352 -> 0 bytes .../drawable-hdpi/ic_ab_back_holo_dark.png | Bin 938 -> 0 bytes .../drawable-hdpi/ic_ab_back_holo_light.png | Bin 975 -> 0 bytes .../res/drawable-hdpi/ic_action_accounts.png | Bin 453 -> 0 bytes .../res/drawable-hdpi/ic_action_queue.png | Bin 606 -> 0 bytes .../res/drawable-hdpi/ic_action_settings.png | Bin 737 -> 0 bytes .../main/res/drawable-hdpi/ic_btn_search.png | Bin 1326 -> 0 bytes .../res/drawable-hdpi/ic_btn_search_go.png | Bin 1299 -> 0 bytes .../res/drawable-hdpi/ic_btn_speak_now.png | Bin 988 -> 0 bytes .../res/drawable-hdpi/ic_clear_disabled.png | Bin 1774 -> 0 bytes .../res/drawable-hdpi/ic_clear_normal.png | Bin 1945 -> 0 bytes ...c_clear_search_api_disabled_holo_light.png | Bin 1504 -> 0 bytes .../ic_clear_search_api_holo_light.png | Bin 1540 -> 0 bytes .../app/src/main/res/drawable-hdpi/ic_go.png | Bin 1415 -> 0 bytes .../ic_go_search_api_holo_light.png | Bin 1252 -> 0 bytes .../main/res/drawable-hdpi/ic_launcher.png | Bin 9397 -> 0 bytes .../main/res/drawable-hdpi/ic_menu_agenda.png | Bin 2016 -> 0 bytes .../res/drawable-hdpi/ic_menu_archive.png | Bin 1415 -> 0 bytes .../ic_menu_close_clear_cancel.png | Bin 3209 -> 0 bytes .../main/res/drawable-hdpi/ic_menu_delete.png | Bin 1752 -> 0 bytes .../res/drawable-hdpi/ic_menu_gallery.png | Bin 1690 -> 0 bytes .../main/res/drawable-hdpi/ic_menu_home.png | Bin 2466 -> 0 bytes .../drawable-hdpi/ic_menu_info_details.png | Bin 2311 -> 0 bytes .../main/res/drawable-hdpi/ic_menu_more.png | Bin 3515 -> 0 bytes .../res/drawable-hdpi/ic_menu_play_clip.png | Bin 3041 -> 0 bytes .../res/drawable-hdpi/ic_menu_preferences.png | Bin 2798 -> 0 bytes .../res/drawable-hdpi/ic_menu_refresh.png | Bin 3289 -> 0 bytes .../main/res/drawable-hdpi/ic_menu_search.png | Bin 2384 -> 0 bytes .../main/res/drawable-hdpi/ic_menu_send.png | Bin 2288 -> 0 bytes .../main/res/drawable-hdpi/ic_menu_upload.png | Bin 1947 -> 0 bytes .../drawable-hdpi/ic_menu_upload_you_tube.png | Bin 2847 -> 0 bytes .../drawable-hdpi/ic_pulltorefresh_arrow.png | Bin 463 -> 0 bytes .../src/main/res/drawable-hdpi/ic_search.png | Bin 2558 -> 0 bytes .../ic_search_api_holo_light.png | Bin 2271 -> 0 bytes .../ic_search_category_default.png | Bin 3808 -> 0 bytes .../app/src/main/res/drawable-hdpi/icon.png | Bin 4808 -> 0 bytes .../src/main/res/drawable-hdpi/icon_ai.png | Bin 584 -> 0 bytes .../src/main/res/drawable-hdpi/icon_air.png | Bin 610 -> 0 bytes .../src/main/res/drawable-hdpi/icon_aspx.png | Bin 594 -> 0 bytes .../src/main/res/drawable-hdpi/icon_audio.png | Bin 544 -> 0 bytes .../src/main/res/drawable-hdpi/icon_bat.png | Bin 477 -> 0 bytes .../src/main/res/drawable-hdpi/icon_bmp.png | Bin 517 -> 0 bytes .../app/src/main/res/drawable-hdpi/icon_c.png | Bin 366 -> 0 bytes .../main/res/drawable-hdpi/icon_csharp.png | Bin 504 -> 0 bytes .../src/main/res/drawable-hdpi/icon_css.png | Bin 657 -> 0 bytes .../src/main/res/drawable-hdpi/icon_dmg.png | Bin 569 -> 0 bytes .../src/main/res/drawable-hdpi/icon_doc.png | Bin 771 -> 0 bytes .../src/main/res/drawable-hdpi/icon_docx.png | Bin 771 -> 0 bytes .../src/main/res/drawable-hdpi/icon_dwf.png | Bin 541 -> 0 bytes .../src/main/res/drawable-hdpi/icon_dwfx.png | Bin 527 -> 0 bytes .../src/main/res/drawable-hdpi/icon_dwg.png | Bin 607 -> 0 bytes .../src/main/res/drawable-hdpi/icon_eps.png | Bin 505 -> 0 bytes .../src/main/res/drawable-hdpi/icon_exe.png | Bin 468 -> 0 bytes .../main/res/drawable-hdpi/icon_favorites.png | Bin 581 -> 0 bytes .../src/main/res/drawable-hdpi/icon_file.png | Bin 283 -> 0 bytes .../main/res/drawable-hdpi/icon_filebox.png | Bin 452 -> 0 bytes .../src/main/res/drawable-hdpi/icon_flash.png | Bin 339 -> 0 bytes .../main/res/drawable-hdpi/icon_folder.png | Bin 370 -> 0 bytes .../src/main/res/drawable-hdpi/icon_gif.png | Bin 451 -> 0 bytes .../drawable-hdpi/icon_highlight_square.9.png | Bin 1528 -> 0 bytes .../src/main/res/drawable-hdpi/icon_htm.png | Bin 405 -> 0 bytes .../src/main/res/drawable-hdpi/icon_html.png | Bin 400 -> 0 bytes .../src/main/res/drawable-hdpi/icon_ind.png | Bin 447 -> 0 bytes .../src/main/res/drawable-hdpi/icon_jpg.png | Bin 510 -> 0 bytes .../src/main/res/drawable-hdpi/icon_js.png | Bin 442 -> 0 bytes .../src/main/res/drawable-hdpi/icon_key.png | Bin 395 -> 0 bytes .../src/main/res/drawable-hdpi/icon_m4a.png | Bin 520 -> 0 bytes .../src/main/res/drawable-hdpi/icon_mdb.png | Bin 567 -> 0 bytes .../src/main/res/drawable-hdpi/icon_mov.png | Bin 585 -> 0 bytes .../src/main/res/drawable-hdpi/icon_movie.png | Bin 489 -> 0 bytes .../src/main/res/drawable-hdpi/icon_mp3.png | Bin 531 -> 0 bytes .../src/main/res/drawable-hdpi/icon_mp4.png | Bin 501 -> 0 bytes .../src/main/res/drawable-hdpi/icon_mpp.png | Bin 445 -> 0 bytes .../main/res/drawable-hdpi/icon_my_files.png | Bin 479 -> 0 bytes .../res/drawable-hdpi/icon_network_shares.png | Bin 367 -> 0 bytes .../src/main/res/drawable-hdpi/icon_note.png | Bin 274 -> 0 bytes .../main/res/drawable-hdpi/icon_numbers.png | Bin 326 -> 0 bytes .../src/main/res/drawable-hdpi/icon_nwc.png | Bin 1183 -> 0 bytes .../src/main/res/drawable-hdpi/icon_nwd.png | Bin 1217 -> 0 bytes .../src/main/res/drawable-hdpi/icon_nwf.png | Bin 1192 -> 0 bytes .../src/main/res/drawable-hdpi/icon_pages.png | Bin 575 -> 0 bytes .../src/main/res/drawable-hdpi/icon_pdf.png | Bin 633 -> 0 bytes .../main/res/drawable-hdpi/icon_picture.png | Bin 481 -> 0 bytes .../src/main/res/drawable-hdpi/icon_png.png | Bin 547 -> 0 bytes .../src/main/res/drawable-hdpi/icon_ppt.png | Bin 466 -> 0 bytes .../src/main/res/drawable-hdpi/icon_pptx.png | Bin 466 -> 0 bytes .../src/main/res/drawable-hdpi/icon_ps.png | Bin 591 -> 0 bytes .../main/res/drawable-hdpi/icon_publisher.png | Bin 468 -> 0 bytes .../src/main/res/drawable-hdpi/icon_qbb.png | Bin 886 -> 0 bytes .../src/main/res/drawable-hdpi/icon_qbw.png | Bin 755 -> 0 bytes .../src/main/res/drawable-hdpi/icon_raw.png | Bin 570 -> 0 bytes .../src/main/res/drawable-hdpi/icon_rvt.png | Bin 1023 -> 0 bytes .../res/drawable-hdpi/icon_shared_folders.png | Bin 548 -> 0 bytes .../res/drawable-hdpi/icon_sharepoint.png | Bin 820 -> 0 bytes .../main/res/drawable-hdpi/icon_uknown.png | Bin 464 -> 0 bytes .../src/main/res/drawable-hdpi/icon_url.png | Bin 435 -> 0 bytes .../src/main/res/drawable-hdpi/icon_vsd.png | Bin 550 -> 0 bytes .../src/main/res/drawable-hdpi/icon_wav.png | Bin 559 -> 0 bytes .../src/main/res/drawable-hdpi/icon_wmv.png | Bin 528 -> 0 bytes .../src/main/res/drawable-hdpi/icon_xls.png | Bin 672 -> 0 bytes .../src/main/res/drawable-hdpi/icon_xlsx.png | Bin 672 -> 0 bytes .../src/main/res/drawable-hdpi/icon_xml.png | Bin 460 -> 0 bytes .../src/main/res/drawable-hdpi/icon_zip.png | Bin 489 -> 0 bytes .../app/src/main/res/drawable-hdpi/info.png | Bin 484 -> 0 bytes .../keyboard_textfield_selected.9.png | Bin 955 -> 0 bytes .../list_selector_background_disabled.9.png | Bin 366 -> 0 bytes .../main_detail_toggle_arrow.png | Bin 512 -> 0 bytes .../main_detail_toggle_arrow_right.png | Bin 529 -> 0 bytes .../mainfiletreeswipemenu_delete.png | Bin 984 -> 0 bytes .../mainfiletreeswipemenu_delete_disabled.png | Bin 951 -> 0 bytes .../mainfiletreeswipemenu_downloadfile.png | Bin 1233 -> 0 bytes ...iletreeswipemenu_downloadfile_disabled.png | Bin 1216 -> 0 bytes .../mainfiletreeswipemenu_filepreferences.png | Bin 1929 -> 0 bytes ...treeswipemenu_filepreferences_disabled.png | Bin 1905 -> 0 bytes .../mainfiletreeswipemenu_foldersync.png | Bin 605 -> 0 bytes ...nfiletreeswipemenu_foldersync_disabled.png | Bin 611 -> 0 bytes .../mainfiletreeswipemenu_sharefile.png | Bin 1527 -> 0 bytes ...infiletreeswipemenu_sharefile_disabled.png | Bin 1500 -> 0 bytes .../mainfiletreetoolbar_folderpreferences.png | Bin 1963 -> 0 bytes ...treetoolbar_folderpreferences_disabled.png | Bin 1979 -> 0 bytes .../mainfiletreetoolbar_sharefolder.png | Bin 1399 -> 0 bytes ...infiletreetoolbar_sharefolder_disabled.png | Bin 1377 -> 0 bytes .../mainfiletreetoolbar_uploadfiles.png | Bin 1245 -> 0 bytes ...infiletreetoolbar_uploadfiles_disabled.png | Bin 1242 -> 0 bytes .../main/res/drawable-hdpi/menu_back.9.png | Bin 2840 -> 0 bytes .../menu_dropdown_panel_holo_light.9.png | Bin 815 -> 0 bytes .../res/drawable-hdpi/modal_topbar_dark.9.png | Bin 2877 -> 0 bytes .../src/main/res/drawable-hdpi/nav_back.png | Bin 252 -> 0 bytes .../src/main/res/drawable-hdpi/nav_next.png | Bin 3303 -> 0 bytes .../src/main/res/drawable-hdpi/open_in.png | Bin 288 -> 0 bytes .../src/main/res/drawable-hdpi/pin_delete.png | Bin 564 -> 0 bytes .../drawable-hdpi/previewpane_fullscrene.png | Bin 278 -> 0 bytes .../app/src/main/res/drawable-hdpi/queue.png | Bin 392 -> 0 bytes .../main/res/drawable-hdpi/request_file.png | Bin 676 -> 0 bytes .../app/src/main/res/drawable-hdpi/search.png | Bin 517 -> 0 bytes .../drawable-hdpi/search_plate_global.9.png | Bin 258 -> 0 bytes .../app/src/main/res/drawable-hdpi/send.png | Bin 393 -> 0 bytes .../main/res/drawable-hdpi/send_disabled.png | Bin 418 -> 0 bytes .../main/res/drawable-hdpi/settings_cog.png | Bin 529 -> 0 bytes .../drawable-hdpi/settings_cog_disabled.png | Bin 498 -> 0 bytes .../res/drawable-hdpi/settings_cog_grey.png | Bin 502 -> 0 bytes .../res/drawable-hdpi/settings_cog_white.png | Bin 529 -> 0 bytes .../src/main/res/drawable-hdpi/share_logo.png | Bin 1337 -> 0 bytes .../spinner_active_holo_dark.9.png | Bin 383 -> 0 bytes .../spinner_active_holo_light.9.png | Bin 383 -> 0 bytes .../spinner_cab_active_holo_dark.9.png | Bin 364 -> 0 bytes .../spinner_cab_active_holo_light.9.png | Bin 364 -> 0 bytes .../spinner_cab_default_holo_dark.9.png | Bin 364 -> 0 bytes .../spinner_cab_default_holo_light.9.png | Bin 364 -> 0 bytes .../spinner_cab_disabled_holo_dark.9.png | Bin 361 -> 0 bytes .../spinner_cab_disabled_holo_light.9.png | Bin 364 -> 0 bytes .../spinner_cab_focused_holo_dark.9.png | Bin 435 -> 0 bytes .../spinner_cab_focused_holo_light.9.png | Bin 431 -> 0 bytes .../spinner_cab_pressed_holo_dark.9.png | Bin 505 -> 0 bytes .../spinner_cab_pressed_holo_light.9.png | Bin 509 -> 0 bytes .../spinner_default_holo_dark.9.png | Bin 378 -> 0 bytes .../spinner_default_holo_light.9.png | Bin 378 -> 0 bytes .../spinner_disabled_holo_dark.9.png | Bin 382 -> 0 bytes .../spinner_disabled_holo_light.9.png | Bin 382 -> 0 bytes .../spinner_focused_holo_dark.9.png | Bin 396 -> 0 bytes .../spinner_focused_holo_light.9.png | Bin 532 -> 0 bytes .../spinner_pressed_holo_dark.9.png | Bin 530 -> 0 bytes .../spinner_pressed_holo_light.9.png | Bin 536 -> 0 bytes .../app/src/main/res/drawable-hdpi/star.png | Bin 1243 -> 0 bytes .../drawable-hdpi/stat_sys_download_anim0.png | Bin 799 -> 0 bytes .../drawable-hdpi/stat_sys_upload_anim0.png | Bin 815 -> 0 bytes .../src/main/res/drawable-hdpi/sync_icon.png | Bin 2146 -> 0 bytes .../main/res/drawable-hdpi/tab_downloads.png | Bin 1339 -> 0 bytes .../res/drawable-hdpi/tab_downloads_press.png | Bin 2280 -> 0 bytes .../src/main/res/drawable-hdpi/tab_home.png | Bin 1285 -> 0 bytes .../main/res/drawable-hdpi/tab_home_press.png | Bin 1955 -> 0 bytes .../src/main/res/drawable-hdpi/tab_search.png | Bin 1671 -> 0 bytes .../res/drawable-hdpi/tab_search_press.png | Bin 2812 -> 0 bytes .../textfield_activated_holo_dark.9.png | Bin 281 -> 0 bytes .../textfield_activated_holo_light.9.png | Bin 279 -> 0 bytes .../textfield_active_holo_dark.9.png | Bin 1095 -> 0 bytes .../textfield_active_holo_light.9.png | Bin 1095 -> 0 bytes .../res/drawable-hdpi/textfield_default.9.png | Bin 3731 -> 0 bytes .../textfield_default_holo_dark.9.png | Bin 281 -> 0 bytes .../textfield_default_holo_light.9.png | Bin 279 -> 0 bytes .../drawable-hdpi/textfield_disabled.9.png | Bin 3422 -> 0 bytes ...textfield_disabled_focused_holo_dark.9.png | Bin 285 -> 0 bytes ...extfield_disabled_focused_holo_light.9.png | Bin 285 -> 0 bytes .../textfield_disabled_holo_dark.9.png | Bin 282 -> 0 bytes .../textfield_disabled_holo_light.9.png | Bin 280 -> 0 bytes .../textfield_disabled_selected.9.png | Bin 3623 -> 0 bytes .../textfield_focused_holo_dark.9.png | Bin 284 -> 0 bytes .../textfield_focused_holo_light.9.png | Bin 285 -> 0 bytes .../textfield_longpress_holo.9.png | Bin 196 -> 0 bytes ...tfield_multiline_activated_holo_dark.9.png | Bin 320 -> 0 bytes ...field_multiline_activated_holo_light.9.png | Bin 314 -> 0 bytes ...textfield_multiline_active_holo_dark.9.png | Bin 1124 -> 0 bytes ...extfield_multiline_active_holo_light.9.png | Bin 1122 -> 0 bytes ...extfield_multiline_default_holo_dark.9.png | Bin 320 -> 0 bytes ...xtfield_multiline_default_holo_light.9.png | Bin 313 -> 0 bytes ...multiline_disabled_focused_holo_dark.9.png | Bin 325 -> 0 bytes ...ultiline_disabled_focused_holo_light.9.png | Bin 324 -> 0 bytes ...xtfield_multiline_disabled_holo_dark.9.png | Bin 320 -> 0 bytes ...tfield_multiline_disabled_holo_light.9.png | Bin 313 -> 0 bytes ...extfield_multiline_focused_holo_dark.9.png | Bin 325 -> 0 bytes ...xtfield_multiline_focused_holo_light.9.png | Bin 325 -> 0 bytes .../textfield_pressed_holo.9.png | Bin 192 -> 0 bytes .../textfield_search_default.9.png | Bin 790 -> 0 bytes .../textfield_search_default_holo_dark.9.png | Bin 215 -> 0 bytes .../textfield_search_default_holo_light.9.png | Bin 197 -> 0 bytes .../textfield_search_empty_default.9.png | Bin 3711 -> 0 bytes .../textfield_search_empty_pressed.9.png | Bin 3965 -> 0 bytes .../textfield_search_empty_selected.9.png | Bin 3733 -> 0 bytes .../textfield_search_pressed.9.png | Bin 1311 -> 0 bytes .../textfield_search_selected.9.png | Bin 873 -> 0 bytes .../textfield_search_selected_holo_dark.9.png | Bin 185 -> 0 bytes ...textfield_search_selected_holo_light.9.png | Bin 190 -> 0 bytes .../drawable-hdpi/textfield_selected.9.png | Bin 3754 -> 0 bytes .../app/src/main/res/drawable-hdpi/upload.png | Bin 516 -> 0 bytes .../drawable-hdpi/upload_capture_photo.png | Bin 669 -> 0 bytes .../drawable-hdpi/upload_capture_video.png | Bin 355 -> 0 bytes .../res/drawable-hdpi/upload_disabled.png | Bin 490 -> 0 bytes .../main/res/drawable-hdpi/upload_file.png | Bin 310 -> 0 bytes .../drawable-hdpi/upload_gallery_photo.png | Bin 389 -> 0 bytes .../drawable-hdpi/upload_gallery_video.png | Bin 392 -> 0 bytes .../main/res/drawable-hdpi/upload_note.png | Bin 261 -> 0 bytes .../main/res/drawable-hdpi/upload_request.png | Bin 390 -> 0 bytes .../app/src/main/res/drawable-hdpi/user.png | Bin 910 -> 0 bytes .../res/drawable-mdpi/home_button_white.png | Bin 1147 -> 0 bytes .../main/res/drawable-mdpi/ic_launcher.png | Bin 5237 -> 0 bytes .../res/drawable-xhdpi/account_switch.png | Bin 397 -> 0 bytes .../main/res/drawable-xhdpi/addressbook.png | Bin 502 -> 0 bytes .../main/res/drawable-xhdpi/check_active.png | Bin 297 -> 0 bytes .../res/drawable-xhdpi/check_inactive.png | Bin 335 -> 0 bytes .../drawable-xhdpi/chooseaccount_caret.png | Bin 379 -> 0 bytes .../chooseaccount_caret_add.png | Bin 179 -> 0 bytes .../drawable-xhdpi/chooseaccount_green.png | Bin 269 -> 0 bytes .../res/drawable-xhdpi/chooseaccount_grey.png | Bin 276 -> 0 bytes .../app/src/main/res/drawable-xhdpi/close.png | Bin 339 -> 0 bytes .../main/res/drawable-xhdpi/close_white.png | Bin 331 -> 0 bytes .../main/res/drawable-xhdpi/create_folder.png | Bin 296 -> 0 bytes .../drawable-xhdpi/create_folder_disabled.png | Bin 296 -> 0 bytes .../src/main/res/drawable-xhdpi/delete.png | Bin 372 -> 0 bytes .../res/drawable-xhdpi/delete_disabled.png | Bin 365 -> 0 bytes .../src/main/res/drawable-xhdpi/download.png | Bin 278 -> 0 bytes .../res/drawable-xhdpi/download_disabled.png | Bin 286 -> 0 bytes .../app/src/main/res/drawable-xhdpi/edit.png | Bin 422 -> 0 bytes .../res/drawable-xhdpi/filepicker_home.png | Bin 378 -> 0 bytes .../res/drawable-xhdpi/home_button_white.png | Bin 1377 -> 0 bytes .../res/drawable-xhdpi/ic_action_accounts.png | Bin 685 -> 0 bytes .../res/drawable-xhdpi/ic_action_queue.png | Bin 765 -> 0 bytes .../res/drawable-xhdpi/ic_action_settings.png | Bin 1164 -> 0 bytes .../main/res/drawable-xhdpi/ic_launcher.png | Bin 14383 -> 0 bytes .../app/src/main/res/drawable-xhdpi/icon.png | Bin 6922 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_ai.png | Bin 661 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_air.png | Bin 818 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_aspx.png | Bin 797 -> 0 bytes .../main/res/drawable-xhdpi/icon_audio.png | Bin 675 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_bat.png | Bin 605 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_bmp.png | Bin 632 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_c.png | Bin 464 -> 0 bytes .../main/res/drawable-xhdpi/icon_csharp.png | Bin 615 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_css.png | Bin 946 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_dmg.png | Bin 736 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_doc.png | Bin 846 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_docx.png | Bin 846 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_dwf.png | Bin 666 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_dwfx.png | Bin 723 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_dwg.png | Bin 805 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_eps.png | Bin 627 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_exe.png | Bin 560 -> 0 bytes .../res/drawable-xhdpi/icon_favorites.png | Bin 681 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_file.png | Bin 255 -> 0 bytes .../main/res/drawable-xhdpi/icon_filebox.png | Bin 486 -> 0 bytes .../main/res/drawable-xhdpi/icon_flash.png | Bin 327 -> 0 bytes .../main/res/drawable-xhdpi/icon_folder.png | Bin 342 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_gif.png | Bin 558 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_htm.png | Bin 532 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_html.png | Bin 492 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_ind.png | Bin 501 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_jpg.png | Bin 631 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_js.png | Bin 569 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_key.png | Bin 399 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_m4a.png | Bin 697 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_mdb.png | Bin 689 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_mov.png | Bin 764 -> 0 bytes .../main/res/drawable-xhdpi/icon_movie.png | Bin 521 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_mp3.png | Bin 705 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_mp4.png | Bin 623 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_mpp.png | Bin 473 -> 0 bytes .../main/res/drawable-xhdpi/icon_my_files.png | Bin 544 -> 0 bytes .../drawable-xhdpi/icon_network_shares.png | Bin 345 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_note.png | Bin 279 -> 0 bytes .../main/res/drawable-xhdpi/icon_numbers.png | Bin 229 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_nwc.png | Bin 1573 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_nwd.png | Bin 1585 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_nwf.png | Bin 1574 -> 0 bytes .../main/res/drawable-xhdpi/icon_pages.png | Bin 697 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_pdf.png | Bin 833 -> 0 bytes .../main/res/drawable-xhdpi/icon_picture.png | Bin 549 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_png.png | Bin 720 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_ppt.png | Bin 478 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_pptx.png | Bin 478 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_ps.png | Bin 710 -> 0 bytes .../res/drawable-xhdpi/icon_publisher.png | Bin 487 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_qbb.png | Bin 1103 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_qbw.png | Bin 904 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_raw.png | Bin 787 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_rvt.png | Bin 1416 -> 0 bytes .../drawable-xhdpi/icon_shared_folders.png | Bin 681 -> 0 bytes .../res/drawable-xhdpi/icon_sharepoint.png | Bin 1011 -> 0 bytes .../main/res/drawable-xhdpi/icon_uknown.png | Bin 516 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_url.png | Bin 613 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_vsd.png | Bin 653 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_wav.png | Bin 811 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_wmv.png | Bin 729 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_xls.png | Bin 823 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_xlsx.png | Bin 823 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_xml.png | Bin 609 -> 0 bytes .../src/main/res/drawable-xhdpi/icon_zip.png | Bin 497 -> 0 bytes .../app/src/main/res/drawable-xhdpi/info.png | Bin 617 -> 0 bytes .../src/main/res/drawable-xhdpi/nav_back.png | Bin 260 -> 0 bytes .../src/main/res/drawable-xhdpi/nav_next.png | Bin 3290 -> 0 bytes .../src/main/res/drawable-xhdpi/open_in.png | Bin 273 -> 0 bytes .../main/res/drawable-xhdpi/pin_delete.png | Bin 540 -> 0 bytes .../drawable-xhdpi/previewpane_fullscrene.png | Bin 260 -> 0 bytes .../app/src/main/res/drawable-xhdpi/queue.png | Bin 363 -> 0 bytes .../src/main/res/drawable-xhdpi/search.png | Bin 591 -> 0 bytes .../app/src/main/res/drawable-xhdpi/send.png | Bin 471 -> 0 bytes .../main/res/drawable-xhdpi/send_disabled.png | Bin 526 -> 0 bytes .../main/res/drawable-xhdpi/settings_cog.png | Bin 625 -> 0 bytes .../drawable-xhdpi/settings_cog_disabled.png | Bin 604 -> 0 bytes .../res/drawable-xhdpi/settings_cog_grey.png | Bin 602 -> 0 bytes .../res/drawable-xhdpi/settings_cog_white.png | Bin 625 -> 0 bytes .../main/res/drawable-xhdpi/share_logo.png | Bin 1771 -> 0 bytes .../src/main/res/drawable-xhdpi/upload.png | Bin 237 -> 0 bytes .../drawable-xhdpi/upload_capture_photo.png | Bin 829 -> 0 bytes .../drawable-xhdpi/upload_capture_video.png | Bin 402 -> 0 bytes .../res/drawable-xhdpi/upload_disabled.png | Bin 255 -> 0 bytes .../main/res/drawable-xhdpi/upload_file.png | Bin 293 -> 0 bytes .../drawable-xhdpi/upload_gallery_photo.png | Bin 443 -> 0 bytes .../drawable-xhdpi/upload_gallery_video.png | Bin 418 -> 0 bytes .../main/res/drawable-xhdpi/upload_note.png | Bin 280 -> 0 bytes .../res/drawable-xhdpi/upload_request.png | Bin 485 -> 0 bytes .../res/drawable-xxhdpi/account_switch.png | Bin 525 -> 0 bytes .../main/res/drawable-xxhdpi/addressbook.png | Bin 735 -> 0 bytes .../main/res/drawable-xxhdpi/check_active.png | Bin 409 -> 0 bytes .../res/drawable-xxhdpi/check_inactive.png | Bin 427 -> 0 bytes .../drawable-xxhdpi/chooseaccount_caret.png | Bin 542 -> 0 bytes .../chooseaccount_caret_add.png | Bin 205 -> 0 bytes .../drawable-xxhdpi/chooseaccount_green.png | Bin 379 -> 0 bytes .../drawable-xxhdpi/chooseaccount_grey.png | Bin 387 -> 0 bytes .../src/main/res/drawable-xxhdpi/close.png | Bin 527 -> 0 bytes .../main/res/drawable-xxhdpi/close_white.png | Bin 453 -> 0 bytes .../res/drawable-xxhdpi/create_folder.png | Bin 418 -> 0 bytes .../create_folder_disabled.png | Bin 418 -> 0 bytes .../src/main/res/drawable-xxhdpi/delete.png | Bin 521 -> 0 bytes .../res/drawable-xxhdpi/delete_disabled.png | Bin 522 -> 0 bytes .../src/main/res/drawable-xxhdpi/download.png | Bin 344 -> 0 bytes .../res/drawable-xxhdpi/download_disabled.png | Bin 343 -> 0 bytes .../app/src/main/res/drawable-xxhdpi/edit.png | Bin 585 -> 0 bytes .../res/drawable-xxhdpi/filepicker_home.png | Bin 617 -> 0 bytes .../res/drawable-xxhdpi/home_button_white.png | Bin 1660 -> 0 bytes .../app/src/main/res/drawable-xxhdpi/icon.png | Bin 10288 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_ai.png | Bin 956 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_air.png | Bin 1119 -> 0 bytes .../main/res/drawable-xxhdpi/icon_aspx.png | Bin 1156 -> 0 bytes .../main/res/drawable-xxhdpi/icon_audio.png | Bin 1004 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_bat.png | Bin 850 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_bmp.png | Bin 907 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_c.png | Bin 645 -> 0 bytes .../main/res/drawable-xxhdpi/icon_csharp.png | Bin 916 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_css.png | Bin 1375 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_dmg.png | Bin 1042 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_doc.png | Bin 1239 -> 0 bytes .../main/res/drawable-xxhdpi/icon_docx.png | Bin 1239 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_dwf.png | Bin 938 -> 0 bytes .../main/res/drawable-xxhdpi/icon_dwfx.png | Bin 1010 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_dwg.png | Bin 1178 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_eps.png | Bin 903 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_exe.png | Bin 707 -> 0 bytes .../res/drawable-xxhdpi/icon_favorites.png | Bin 988 -> 0 bytes .../main/res/drawable-xxhdpi/icon_file.png | Bin 376 -> 0 bytes .../main/res/drawable-xxhdpi/icon_filebox.png | Bin 699 -> 0 bytes .../main/res/drawable-xxhdpi/icon_flash.png | Bin 482 -> 0 bytes .../main/res/drawable-xxhdpi/icon_folder.png | Bin 503 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_gif.png | Bin 749 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_htm.png | Bin 663 -> 0 bytes .../main/res/drawable-xxhdpi/icon_html.png | Bin 625 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_ind.png | Bin 755 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_jpg.png | Bin 892 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_js.png | Bin 801 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_key.png | Bin 586 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_m4a.png | Bin 928 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_mdb.png | Bin 953 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_mov.png | Bin 1087 -> 0 bytes .../main/res/drawable-xxhdpi/icon_movie.png | Bin 673 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_mp3.png | Bin 973 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_mp4.png | Bin 849 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_mpp.png | Bin 749 -> 0 bytes .../res/drawable-xxhdpi/icon_my_files.png | Bin 805 -> 0 bytes .../drawable-xxhdpi/icon_network_shares.png | Bin 471 -> 0 bytes .../main/res/drawable-xxhdpi/icon_note.png | Bin 423 -> 0 bytes .../main/res/drawable-xxhdpi/icon_numbers.png | Bin 356 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_nwc.png | Bin 2277 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_nwd.png | Bin 2324 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_nwf.png | Bin 2314 -> 0 bytes .../main/res/drawable-xxhdpi/icon_pages.png | Bin 982 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_pdf.png | Bin 1265 -> 0 bytes .../main/res/drawable-xxhdpi/icon_picture.png | Bin 761 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_png.png | Bin 997 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_ppt.png | Bin 754 -> 0 bytes .../main/res/drawable-xxhdpi/icon_pptx.png | Bin 754 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_ps.png | Bin 1053 -> 0 bytes .../res/drawable-xxhdpi/icon_publisher.png | Bin 781 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_qbb.png | Bin 1568 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_qbw.png | Bin 1284 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_raw.png | Bin 1117 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_rvt.png | Bin 1992 -> 0 bytes .../drawable-xxhdpi/icon_shared_folders.png | Bin 1028 -> 0 bytes .../res/drawable-xxhdpi/icon_sharepoint.png | Bin 1400 -> 0 bytes .../main/res/drawable-xxhdpi/icon_uknown.png | Bin 707 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_url.png | Bin 1034 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_vsd.png | Bin 911 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_wav.png | Bin 1113 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_wmv.png | Bin 988 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_xls.png | Bin 1225 -> 0 bytes .../main/res/drawable-xxhdpi/icon_xlsx.png | Bin 1225 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_xml.png | Bin 859 -> 0 bytes .../src/main/res/drawable-xxhdpi/icon_zip.png | Bin 647 -> 0 bytes .../app/src/main/res/drawable-xxhdpi/info.png | Bin 869 -> 0 bytes .../src/main/res/drawable-xxhdpi/nav_back.png | Bin 415 -> 0 bytes .../src/main/res/drawable-xxhdpi/nav_next.png | Bin 3384 -> 0 bytes .../src/main/res/drawable-xxhdpi/open_in.png | Bin 389 -> 0 bytes .../main/res/drawable-xxhdpi/pin_delete.png | Bin 902 -> 0 bytes .../previewpane_fullscrene.png | Bin 427 -> 0 bytes .../src/main/res/drawable-xxhdpi/queue.png | Bin 571 -> 0 bytes .../src/main/res/drawable-xxhdpi/search.png | Bin 921 -> 0 bytes .../app/src/main/res/drawable-xxhdpi/send.png | Bin 733 -> 0 bytes .../res/drawable-xxhdpi/send_disabled.png | Bin 785 -> 0 bytes .../main/res/drawable-xxhdpi/settings_cog.png | Bin 929 -> 0 bytes .../drawable-xxhdpi/settings_cog_disabled.png | Bin 889 -> 0 bytes .../res/drawable-xxhdpi/settings_cog_grey.png | Bin 889 -> 0 bytes .../drawable-xxhdpi/settings_cog_white.png | Bin 929 -> 0 bytes .../main/res/drawable-xxhdpi/share_logo.png | Bin 2672 -> 0 bytes .../src/main/res/drawable-xxhdpi/upload.png | Bin 313 -> 0 bytes .../drawable-xxhdpi/upload_capture_photo.png | Bin 1183 -> 0 bytes .../drawable-xxhdpi/upload_capture_video.png | Bin 556 -> 0 bytes .../res/drawable-xxhdpi/upload_disabled.png | Bin 312 -> 0 bytes .../main/res/drawable-xxhdpi/upload_file.png | Bin 383 -> 0 bytes .../drawable-xxhdpi/upload_gallery_photo.png | Bin 564 -> 0 bytes .../drawable-xxhdpi/upload_gallery_video.png | Bin 574 -> 0 bytes .../main/res/drawable-xxhdpi/upload_note.png | Bin 333 -> 0 bytes .../res/drawable-xxhdpi/upload_request.png | Bin 692 -> 0 bytes .../res/drawable-xxxhdpi/account_switch.png | Bin 675 -> 0 bytes .../main/res/drawable-xxxhdpi/addressbook.png | Bin 874 -> 0 bytes .../res/drawable-xxxhdpi/check_active.png | Bin 472 -> 0 bytes .../res/drawable-xxxhdpi/check_inactive.png | Bin 525 -> 0 bytes .../drawable-xxxhdpi/chooseaccount_caret.png | Bin 596 -> 0 bytes .../chooseaccount_caret_add.png | Bin 244 -> 0 bytes .../drawable-xxxhdpi/chooseaccount_green.png | Bin 452 -> 0 bytes .../drawable-xxxhdpi/chooseaccount_grey.png | Bin 476 -> 0 bytes .../src/main/res/drawable-xxxhdpi/close.png | Bin 653 -> 0 bytes .../main/res/drawable-xxxhdpi/close_white.png | Bin 619 -> 0 bytes .../res/drawable-xxxhdpi/create_folder.png | Bin 455 -> 0 bytes .../create_folder_disabled.png | Bin 455 -> 0 bytes .../src/main/res/drawable-xxxhdpi/delete.png | Bin 590 -> 0 bytes .../res/drawable-xxxhdpi/delete_disabled.png | Bin 590 -> 0 bytes .../main/res/drawable-xxxhdpi/download.png | Bin 391 -> 0 bytes .../drawable-xxxhdpi/download_disabled.png | Bin 416 -> 0 bytes .../src/main/res/drawable-xxxhdpi/edit.png | Bin 699 -> 0 bytes .../res/drawable-xxxhdpi/filepicker_home.png | Bin 589 -> 0 bytes .../drawable-xxxhdpi/home_button_white.png | Bin 1414 -> 0 bytes .../src/main/res/drawable-xxxhdpi/icon_ai.png | Bin 1157 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_air.png | Bin 1406 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_aspx.png | Bin 1496 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_audio.png | Bin 1275 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_bat.png | Bin 1061 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_bmp.png | Bin 1100 -> 0 bytes .../src/main/res/drawable-xxxhdpi/icon_c.png | Bin 834 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_csharp.png | Bin 1197 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_css.png | Bin 1846 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_dmg.png | Bin 1312 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_dwf.png | Bin 1193 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_dwfx.png | Bin 1327 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_dwg.png | Bin 1557 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_eps.png | Bin 1134 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_excel.png | Bin 1544 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_exe.png | Bin 869 -> 0 bytes .../res/drawable-xxxhdpi/icon_favorites.png | Bin 1257 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_file.png | Bin 383 -> 0 bytes .../res/drawable-xxxhdpi/icon_filebox.png | Bin 880 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_flash.png | Bin 540 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_folder.png | Bin 579 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_gif.png | Bin 936 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_htm.png | Bin 742 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_html.png | Bin 678 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_ind.png | Bin 894 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_jpg.png | Bin 1159 -> 0 bytes .../src/main/res/drawable-xxxhdpi/icon_js.png | Bin 1088 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_key.png | Bin 635 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_m4a.png | Bin 1117 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_mdb.png | Bin 1190 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_mov.png | Bin 1398 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_movie.png | Bin 776 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_mp3.png | Bin 1217 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_mp4.png | Bin 1012 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_mpp.png | Bin 848 -> 0 bytes .../res/drawable-xxxhdpi/icon_my_files.png | Bin 929 -> 0 bytes .../drawable-xxxhdpi/icon_network_shares.png | Bin 497 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_note.png | Bin 428 -> 0 bytes .../res/drawable-xxxhdpi/icon_numbers.png | Bin 352 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_nwc.png | Bin 2979 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_nwd.png | Bin 3090 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_nwf.png | Bin 3032 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_pages.png | Bin 1212 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_pdf.png | Bin 1666 -> 0 bytes .../res/drawable-xxxhdpi/icon_picture.png | Bin 933 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_png.png | Bin 1253 -> 0 bytes .../res/drawable-xxxhdpi/icon_powerpoint.png | Bin 840 -> 0 bytes .../src/main/res/drawable-xxxhdpi/icon_ps.png | Bin 1296 -> 0 bytes .../res/drawable-xxxhdpi/icon_publisher.png | Bin 864 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_qbb.png | Bin 1954 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_qbw.png | Bin 1733 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_raw.png | Bin 1419 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_rvt.png | Bin 2747 -> 0 bytes .../drawable-xxxhdpi/icon_shared_folders.png | Bin 1258 -> 0 bytes .../res/drawable-xxxhdpi/icon_sharepoint.png | Bin 1972 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_uknown.png | Bin 843 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_url.png | Bin 1322 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_vsd.png | Bin 1144 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_wav.png | Bin 1432 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_wmv.png | Bin 1278 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_word.png | Bin 1629 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_xml.png | Bin 1016 -> 0 bytes .../main/res/drawable-xxxhdpi/icon_zip.png | Bin 837 -> 0 bytes .../src/main/res/drawable-xxxhdpi/info.png | Bin 1184 -> 0 bytes .../main/res/drawable-xxxhdpi/nav_back.png | Bin 405 -> 0 bytes .../src/main/res/drawable-xxxhdpi/open_in.png | Bin 423 -> 0 bytes .../main/res/drawable-xxxhdpi/pin_delete.png | Bin 905 -> 0 bytes .../previewpane_fullscrene.png | Bin 408 -> 0 bytes .../src/main/res/drawable-xxxhdpi/queue.png | Bin 569 -> 0 bytes .../src/main/res/drawable-xxxhdpi/search.png | Bin 1076 -> 0 bytes .../src/main/res/drawable-xxxhdpi/send.png | Bin 805 -> 0 bytes .../res/drawable-xxxhdpi/send_disabled.png | Bin 896 -> 0 bytes .../res/drawable-xxxhdpi/settings_cog.png | Bin 1168 -> 0 bytes .../settings_cog_disabled.png | Bin 1243 -> 0 bytes .../drawable-xxxhdpi/settings_cog_grey.png | Bin 1102 -> 0 bytes .../drawable-xxxhdpi/settings_cog_white.png | Bin 1168 -> 0 bytes .../main/res/drawable-xxxhdpi/share_logo.png | Bin 3694 -> 0 bytes .../src/main/res/drawable-xxxhdpi/upload.png | Bin 335 -> 0 bytes .../drawable-xxxhdpi/upload_capture_photo.png | Bin 1545 -> 0 bytes .../drawable-xxxhdpi/upload_capture_video.png | Bin 609 -> 0 bytes .../res/drawable-xxxhdpi/upload_disabled.png | Bin 359 -> 0 bytes .../main/res/drawable-xxxhdpi/upload_file.png | Bin 407 -> 0 bytes .../drawable-xxxhdpi/upload_gallery_photo.png | Bin 710 -> 0 bytes .../drawable-xxxhdpi/upload_gallery_video.png | Bin 670 -> 0 bytes .../main/res/drawable-xxxhdpi/upload_note.png | Bin 387 -> 0 bytes .../res/drawable-xxxhdpi/upload_request.png | Bin 854 -> 0 bytes .../src/main/res/drawable/account_switch.png | Bin 391 -> 0 bytes .../drawable/actionbar_app_icon_normal.xml | 24 - .../res/drawable/actionbar_button_bkg.xml | 7 - .../ad_menu_dropdown_panel_holo_light.9.png | Bin 3171 -> 0 bytes .../app/src/main/res/drawable/addressbook.png | Bin 333 -> 0 bytes .../android_tablet_drawer_background.9.png | Bin 2988 -> 0 bytes .../android_tablet_drawer_button.9.png | Bin 2900 -> 0 bytes .../android_tablet_drawer_combined.9.png | Bin 3060 -> 0 bytes .../main/res/drawable/app_icon_background.xml | 24 - .../app/src/main/res/drawable/arrow.png | Bin 348 -> 0 bytes .../res/drawable/bottom_gray_notpressed.9.png | Bin 364 -> 0 bytes .../res/drawable/bottom_gray_pressed.9.png | Bin 361 -> 0 bytes .../res/drawable/bottom_gray_selector.xml | 5 - .../app/src/main/res/drawable/btn_default.xml | 32 - .../main/res/drawable/btn_default_small.xml | 33 - .../res/drawable/btn_default_transparent.xml | 24 - .../app/src/main/res/drawable/button_bkg.xml | 7 - .../res/drawable/button_create_folder.xml | 38 - .../res/drawable/button_pinpad_gradient.9.png | Bin 907 -> 0 bytes .../button_pinpad_gradient_presses.9.png | Bin 860 -> 0 bytes .../res/drawable/button_pinpad_selector.xml | 5 - .../src/main/res/drawable/check_active.png | Bin 222 -> 0 bytes .../src/main/res/drawable/check_inactive.png | Bin 242 -> 0 bytes .../res/drawable/checkbox_green_button.9.png | Bin 979 -> 0 bytes .../checkbox_green_button_checked.9.png | Bin 1357 -> 0 bytes ...eckbox_green_button_checked_disabled.9.png | Bin 995 -> 0 bytes .../checkbox_green_button_disabled.9.png | Bin 639 -> 0 bytes .../main/res/drawable/checkbox_selector.xml | 7 - .../main/res/drawable/chooseaccount_caret.png | Bin 554 -> 0 bytes .../res/drawable/chooseaccount_caret_add.png | Bin 140 -> 0 bytes .../main/res/drawable/chooseaccount_green.png | Bin 214 -> 0 bytes .../main/res/drawable/chooseaccount_grey.png | Bin 219 -> 0 bytes .../app/src/main/res/drawable/close.png | Bin 250 -> 0 bytes .../src/main/res/drawable/close_button.xml | 32 - .../res/drawable/close_button_inverse.png | Bin 3157 -> 0 bytes .../app/src/main/res/drawable/close_white.png | Bin 245 -> 0 bytes .../res/drawable/connector_sharepoint.png | Bin 2772 -> 0 bytes .../src/main/res/drawable/create_folder.png | Bin 257 -> 0 bytes .../main/res/drawable/create_folder_back.xml | 25 - .../res/drawable/create_folder_disabled.png | Bin 257 -> 0 bytes .../res/drawable/create_folder_selector.xml | 6 - .../main/res/drawable/custom_menu_back.xml | 3 - .../main/res/drawable/dark_grey_button.9.png | Bin 291 -> 0 bytes .../src/main/res/drawable/dark_header.9.png | Bin 693 -> 0 bytes .../main/res/drawable/dark_header_dither.xml | 20 - .../res/drawable/darkgray_button_gradient.xml | 41 -- .../res/drawable/default_shadow_rightleft.xml | 9 - .../app/src/main/res/drawable/delete.png | Bin 270 -> 0 bytes .../src/main/res/drawable/delete_disabled.png | Bin 270 -> 0 bytes .../app/src/main/res/drawable/delete_icon.png | Bin 635 -> 0 bytes .../src/main/res/drawable/description.9.png | Bin 2836 -> 0 bytes .../src/main/res/drawable/detail_dark_bg.png | Bin 202 -> 0 bytes .../res/drawable/dialog_blackglass_bkg.9.png | Bin 155 -> 0 bytes .../app/src/main/res/drawable/divder.png | Bin 182 -> 0 bytes .../app/src/main/res/drawable/down_arrow.png | Bin 2115 -> 0 bytes .../app/src/main/res/drawable/download.png | Bin 215 -> 0 bytes .../src/main/res/drawable/download_button.png | Bin 286 -> 0 bytes .../main/res/drawable/download_disabled.png | Bin 223 -> 0 bytes .../main/res/drawable/downloads_button.xml | 13 - .../src/main/res/drawable/drawer_pattern.png | Bin 944 -> 0 bytes .../app/src/main/res/drawable/drop_shadow.xml | 9 - .../app/src/main/res/drawable/dropdown.9.png | Bin 693 -> 0 bytes .../app/src/main/res/drawable/edit.png | Bin 284 -> 0 bytes .../main/res/drawable/edit_text_holo_dark.xml | 35 - .../res/drawable/edit_text_holo_light.xml | 35 - .../drawable/externalstorage_home_button.xml | 32 - .../main/res/drawable/file_list_gradient.xml | 14 - .../main/res/drawable/file_open_button.png | Bin 394 -> 0 bytes .../drawable/file_picker_menu_button_back.xml | 13 - .../file_picker_menu_button_back_normal.9.png | Bin 2822 -> 0 bytes ...file_picker_menu_button_back_pressed.9.png | Bin 2897 -> 0 bytes .../src/main/res/drawable/filepicker_home.png | Bin 844 -> 0 bytes .../main/res/drawable/filetree_fileprefs.xml | 38 - .../res/drawable/filetree_folderprefs.xml | 38 - .../main/res/drawable/filetree_sendfile.xml | 32 - .../main/res/drawable/filetree_sendfolder.xml | 32 - .../res/drawable/filetree_uploadfiles.xml | 38 - .../src/main/res/drawable/filetreedelete.xml | 38 - .../res/drawable/filetreedownloadfile.xml | 38 - .../main/res/drawable/filetreefoldersync.xml | 38 - .../res/drawable/flatgray_button_selector.xml | 5 - .../res/drawable/folder_actions_prefs.9.png | Bin 702 -> 0 bytes .../folder_actions_prefs_disabled.9.png | Bin 918 -> 0 bytes .../res/drawable/folder_actions_send.9.png | Bin 566 -> 0 bytes .../folder_actions_send_disabled.9.png | Bin 703 -> 0 bytes .../res/drawable/folder_actions_upload.9.png | Bin 530 -> 0 bytes .../folder_actions_upload_disabled.9.png | Bin 646 -> 0 bytes .../drawable/folder_listview_item_back.xml | 9 - .../src/main/res/drawable/folder_press.png | Bin 1417 -> 0 bytes .../src/main/res/drawable/folder_up_btn.xml | 13 - .../main/res/drawable/folders_handle01.9.png | Bin 8798 -> 0 bytes .../app/src/main/res/drawable/form_back.xml | 17 - .../res/drawable/form_more_rounded_back.xml | 17 - .../main/res/drawable/form_rounded_back.xml | 17 - .../drawable/gallery_selected_default.9.png | Bin 1423 -> 0 bytes .../src/main/res/drawable/gray_arrow_left.png | Bin 364 -> 0 bytes .../src/main/res/drawable/gray_button.9.png | Bin 1477 -> 0 bytes .../res/drawable/gray_button_selector.xml | 6 - .../drawable/gray_button_thin_border.9.png | Bin 831 -> 0 bytes .../main/res/drawable/gray_detail_back.png | Bin 3208 -> 0 bytes .../src/main/res/drawable/gray_gradient.png | Bin 224 -> 0 bytes .../src/main/res/drawable/green_button.9.png | Bin 1504 -> 0 bytes .../main/res/drawable/green_button_back.9.png | Bin 412 -> 0 bytes .../res/drawable/green_button_checked.9.png | Bin 2322 -> 0 bytes .../res/drawable/green_button_onpress.9.png | Bin 2104 -> 0 bytes .../res/drawable/green_button_pressed.9.png | Bin 304 -> 0 bytes .../res/drawable/green_button_selector.xml | 6 - .../res/drawable/green_button_unpressed.9.png | Bin 1911 -> 0 bytes .../app/src/main/res/drawable/green_plus.png | Bin 267 -> 0 bytes .../app/src/main/res/drawable/home_btn.xml | 13 - .../app/src/main/res/drawable/home_button.xml | 13 - .../main/res/drawable/home_button_white.png | Bin 1179 -> 0 bytes .../app/src/main/res/drawable/ic_clear.xml | 22 - .../main/res/drawable/ic_clear_holo_light.xml | 22 - .../app/src/main/res/drawable/icon_ai.png | Bin 435 -> 0 bytes .../app/src/main/res/drawable/icon_ai_big.png | Bin 2539 -> 0 bytes .../app/src/main/res/drawable/icon_air.png | Bin 466 -> 0 bytes .../app/src/main/res/drawable/icon_aspx.png | Bin 389 -> 0 bytes .../src/main/res/drawable/icon_aspx_big.png | Bin 1114 -> 0 bytes .../app/src/main/res/drawable/icon_audio.png | Bin 433 -> 0 bytes .../src/main/res/drawable/icon_avi_big.png | Bin 1640 -> 0 bytes .../app/src/main/res/drawable/icon_bat.png | Bin 345 -> 0 bytes .../src/main/res/drawable/icon_bat_big.png | Bin 1136 -> 0 bytes .../app/src/main/res/drawable/icon_bmp.png | Bin 393 -> 0 bytes .../src/main/res/drawable/icon_bmp_big.png | Bin 1291 -> 0 bytes .../app/src/main/res/drawable/icon_c.png | Bin 263 -> 0 bytes .../app/src/main/res/drawable/icon_csharp.png | Bin 333 -> 0 bytes .../app/src/main/res/drawable/icon_css.png | Bin 380 -> 0 bytes .../src/main/res/drawable/icon_css_big.png | Bin 1523 -> 0 bytes .../app/src/main/res/drawable/icon_dmg.png | Bin 404 -> 0 bytes .../app/src/main/res/drawable/icon_doc.png | Bin 568 -> 0 bytes .../src/main/res/drawable/icon_doc_big.png | Bin 1287 -> 0 bytes .../app/src/main/res/drawable/icon_docx.png | Bin 568 -> 0 bytes .../src/main/res/drawable/icon_docx_big.png | Bin 1287 -> 0 bytes .../app/src/main/res/drawable/icon_dwf.png | Bin 376 -> 0 bytes .../src/main/res/drawable/icon_dwf_big.png | Bin 2100 -> 0 bytes .../app/src/main/res/drawable/icon_dwfx.png | Bin 387 -> 0 bytes .../src/main/res/drawable/icon_dwfx_big.png | Bin 2100 -> 0 bytes .../app/src/main/res/drawable/icon_dwg.png | Bin 405 -> 0 bytes .../src/main/res/drawable/icon_dwg_big.png | Bin 2280 -> 0 bytes .../src/main/res/drawable/icon_eml_big.png | Bin 506 -> 0 bytes .../app/src/main/res/drawable/icon_eps.png | Bin 373 -> 0 bytes .../src/main/res/drawable/icon_eps_big.png | Bin 1595 -> 0 bytes .../app/src/main/res/drawable/icon_exe.png | Bin 353 -> 0 bytes .../src/main/res/drawable/icon_exe_big.png | Bin 1670 -> 0 bytes .../src/main/res/drawable/icon_favorites.png | Bin 416 -> 0 bytes .../app/src/main/res/drawable/icon_file.png | Bin 223 -> 0 bytes .../src/main/res/drawable/icon_filebox.png | Bin 350 -> 0 bytes .../src/main/res/drawable/icon_fla_big.png | Bin 2552 -> 0 bytes .../app/src/main/res/drawable/icon_flash.png | Bin 279 -> 0 bytes .../app/src/main/res/drawable/icon_folder.png | Bin 259 -> 0 bytes .../src/main/res/drawable/icon_folder_big.png | Bin 1415 -> 0 bytes .../app/src/main/res/drawable/icon_gif.png | Bin 329 -> 0 bytes .../src/main/res/drawable/icon_gif_big.png | Bin 1192 -> 0 bytes .../app/src/main/res/drawable/icon_htm.png | Bin 336 -> 0 bytes .../src/main/res/drawable/icon_htm_big.png | Bin 1522 -> 0 bytes .../app/src/main/res/drawable/icon_html.png | Bin 312 -> 0 bytes .../app/src/main/res/drawable/icon_ind.png | Bin 336 -> 0 bytes .../app/src/main/res/drawable/icon_jpg.png | Bin 358 -> 0 bytes .../src/main/res/drawable/icon_jpg_big.png | Bin 1291 -> 0 bytes .../app/src/main/res/drawable/icon_js.png | Bin 316 -> 0 bytes .../app/src/main/res/drawable/icon_js_big.png | Bin 1275 -> 0 bytes .../app/src/main/res/drawable/icon_key.png | Bin 298 -> 0 bytes .../app/src/main/res/drawable/icon_m4a.png | Bin 380 -> 0 bytes .../src/main/res/drawable/icon_m4a_big.png | Bin 1640 -> 0 bytes .../app/src/main/res/drawable/icon_mdb.png | Bin 392 -> 0 bytes .../src/main/res/drawable/icon_mdb_big.png | Bin 1272 -> 0 bytes .../src/main/res/drawable/icon_misc_big.png | Bin 603 -> 0 bytes .../app/src/main/res/drawable/icon_mov.png | Bin 394 -> 0 bytes .../src/main/res/drawable/icon_mov_big.png | Bin 2484 -> 0 bytes .../app/src/main/res/drawable/icon_movie.png | Bin 395 -> 0 bytes .../app/src/main/res/drawable/icon_mp3.png | Bin 390 -> 0 bytes .../app/src/main/res/drawable/icon_mp4.png | Bin 376 -> 0 bytes .../src/main/res/drawable/icon_mp4_big.png | Bin 1640 -> 0 bytes .../app/src/main/res/drawable/icon_mpp.png | Bin 337 -> 0 bytes .../src/main/res/drawable/icon_mpp_big.png | Bin 1683 -> 0 bytes .../src/main/res/drawable/icon_my_files.png | Bin 349 -> 0 bytes .../main/res/drawable/icon_network_shares.png | Bin 282 -> 0 bytes .../main/res/drawable/icon_newfolder_big.png | Bin 1880 -> 0 bytes .../app/src/main/res/drawable/icon_note.png | Bin 244 -> 0 bytes .../src/main/res/drawable/icon_numbers.png | Bin 229 -> 0 bytes .../app/src/main/res/drawable/icon_nwc.png | Bin 834 -> 0 bytes .../src/main/res/drawable/icon_nwc_big.png | Bin 2029 -> 0 bytes .../app/src/main/res/drawable/icon_nwd.png | Bin 827 -> 0 bytes .../src/main/res/drawable/icon_nwd_big.png | Bin 2039 -> 0 bytes .../app/src/main/res/drawable/icon_nwf.png | Bin 812 -> 0 bytes .../src/main/res/drawable/icon_nwf_big.png | Bin 1933 -> 0 bytes .../app/src/main/res/drawable/icon_owner.png | Bin 1425 -> 0 bytes .../app/src/main/res/drawable/icon_pages.png | Bin 415 -> 0 bytes .../app/src/main/res/drawable/icon_pdf.png | Bin 443 -> 0 bytes .../src/main/res/drawable/icon_pdf_big.png | Bin 2500 -> 0 bytes .../src/main/res/drawable/icon_picture.png | Bin 371 -> 0 bytes .../app/src/main/res/drawable/icon_png.png | Bin 383 -> 0 bytes .../src/main/res/drawable/icon_png_big.png | Bin 1411 -> 0 bytes .../app/src/main/res/drawable/icon_ppt.png | Bin 332 -> 0 bytes .../app/src/main/res/drawable/icon_pptx.png | Bin 332 -> 0 bytes .../app/src/main/res/drawable/icon_ps.png | Bin 438 -> 0 bytes .../src/main/res/drawable/icon_psd_big.png | Bin 2723 -> 0 bytes .../src/main/res/drawable/icon_pub_big.png | Bin 1737 -> 0 bytes .../src/main/res/drawable/icon_publisher.png | Bin 347 -> 0 bytes .../app/src/main/res/drawable/icon_qbb.png | Bin 627 -> 0 bytes .../src/main/res/drawable/icon_qbb_big.png | Bin 1168 -> 0 bytes .../app/src/main/res/drawable/icon_qbw.png | Bin 525 -> 0 bytes .../src/main/res/drawable/icon_qbw_big.png | Bin 615 -> 0 bytes .../src/main/res/drawable/icon_rar_big.png | Bin 1607 -> 0 bytes .../app/src/main/res/drawable/icon_raw.png | Bin 405 -> 0 bytes .../src/main/res/drawable/icon_raw_big.png | Bin 2009 -> 0 bytes .../main/res/drawable/icon_recyclebin_big.png | Bin 2351 -> 0 bytes .../app/src/main/res/drawable/icon_rvt.png | Bin 686 -> 0 bytes .../src/main/res/drawable/icon_rvt_big.png | Bin 2026 -> 0 bytes .../res/drawable/icon_sentmessages_big.png | Bin 2113 -> 0 bytes .../main/res/drawable/icon_shared_folders.png | Bin 425 -> 0 bytes .../src/main/res/drawable/icon_sharepoint.png | Bin 602 -> 0 bytes .../src/main/res/drawable/icon_swf_big.png | Bin 2552 -> 0 bytes .../src/main/res/drawable/icon_template.png | Bin 3206 -> 0 bytes .../src/main/res/drawable/icon_txt_big.png | Bin 642 -> 0 bytes .../app/src/main/res/drawable/icon_uknown.png | Bin 354 -> 0 bytes .../app/src/main/res/drawable/icon_url.png | Bin 305 -> 0 bytes .../app/src/main/res/drawable/icon_vsd.png | Bin 387 -> 0 bytes .../src/main/res/drawable/icon_vsd_big.png | Bin 1691 -> 0 bytes .../app/src/main/res/drawable/icon_wav.png | Bin 402 -> 0 bytes .../src/main/res/drawable/icon_wav_big.png | Bin 1640 -> 0 bytes .../app/src/main/res/drawable/icon_wmv.png | Bin 357 -> 0 bytes .../src/main/res/drawable/icon_wmv_big.png | Bin 1640 -> 0 bytes .../app/src/main/res/drawable/icon_xls.png | Bin 483 -> 0 bytes .../src/main/res/drawable/icon_xls_big.png | Bin 1334 -> 0 bytes .../app/src/main/res/drawable/icon_xlsx.png | Bin 483 -> 0 bytes .../src/main/res/drawable/icon_xlsx_big.png | Bin 1334 -> 0 bytes .../app/src/main/res/drawable/icon_xml.png | Bin 356 -> 0 bytes .../src/main/res/drawable/icon_xml_big.png | Bin 1192 -> 0 bytes .../app/src/main/res/drawable/icon_zip.png | Bin 345 -> 0 bytes .../src/main/res/drawable/icon_zip_big.png | Bin 1368 -> 0 bytes .../app/src/main/res/drawable/info.png | Bin 340 -> 0 bytes .../app/src/main/res/drawable/left_bg.png | Bin 254878 -> 0 bytes .../src/main/res/drawable/list_divider.xml | 14 - .../src/main/res/drawable/list_item_bkg.png | Bin 169 -> 0 bytes .../res/drawable/list_selector_background.xml | 36 - .../list_selector_background_transition.xml | 20 - .../src/main/res/drawable/listitem_button.xml | 11 - .../res/drawable/listitem_button_pressed.xml | 11 - .../res/drawable/listitem_button_selector.xml | 6 - .../app/src/main/res/drawable/logo.png | Bin 2532 -> 0 bytes .../main/res/drawable/main_back_gradient.xml | 14 - .../res/drawable/main_filetree_navbar_bkg.png | Bin 178 -> 0 bytes .../app/src/main/res/drawable/main_logo.png | Bin 128 -> 0 bytes .../res/drawable/main_queue_icon_overlay.png | Bin 1126 -> 0 bytes .../app/src/main/res/drawable/menu_btn.png | Bin 311 -> 0 bytes .../main/res/drawable/menu_btn_pressed.png | Bin 991 -> 0 bytes .../main/res/drawable/menu_button_back.xml | 13 - .../drawable/menu_button_back_normal.9.png | Bin 2822 -> 0 bytes .../drawable/menu_button_back_pressed.9.png | Bin 2897 -> 0 bytes .../menu_dropdown_panel_holo_dark.9.png | Bin 809 -> 0 bytes .../menu_dropdown_panel_holo_light.9.png | Bin 815 -> 0 bytes .../app/src/main/res/drawable/menubtn.png | Bin 1651 -> 0 bytes .../main/res/drawable/modal_back_button.9.png | Bin 354 -> 0 bytes .../src/main/res/drawable/modal_glass.9.png | Bin 2879 -> 0 bytes .../res/drawable/multiselect_selected.9.png | Bin 122 -> 0 bytes .../res/drawable/multiselect_unselected.9.png | Bin 147 -> 0 bytes .../app/src/main/res/drawable/nav_back.png | Bin 187 -> 0 bytes .../app/src/main/res/drawable/nav_next.png | Bin 3252 -> 0 bytes .../src/main/res/drawable/navback_button.xml | 32 - .../app/src/main/res/drawable/note_back.9.png | Bin 4587 -> 0 bytes .../drawable/offline_gray_topbar_gradient.xml | 8 - .../app/src/main/res/drawable/open_in.png | Bin 247 -> 0 bytes .../main/res/drawable/pin_button_selector.xml | 6 - .../app/src/main/res/drawable/pin_delete.png | Bin 1238 -> 0 bytes .../main/res/drawable/plus_sign_active.png | Bin 238 -> 0 bytes .../main/res/drawable/plus_sign_partial.png | Bin 198 -> 0 bytes .../res/drawable/pref_button_selector.xml | 5 - .../res/drawable/previewpane_fullscrene.png | Bin 229 -> 0 bytes .../drawable/pulltorefresh_gradient_back.xml | 10 - .../app/src/main/res/drawable/queue.png | Bin 850 -> 0 bytes .../main/res/drawable/queue_button_bkg.png | Bin 1655 -> 0 bytes .../main/res/drawable/queue_download_file.png | Bin 1733 -> 0 bytes .../main/res/drawable/queue_item_gradient.xml | 9 - .../main/res/drawable/queue_upload_file.png | Bin 1781 -> 0 bytes .../src/main/res/drawable/red_button.9.png | Bin 1434 -> 0 bytes .../main/res/drawable/red_button_selector.xml | 6 - .../res/drawable/resend_button_selector.xml | 5 - .../res/drawable/round_gray_notpressed.9.png | Bin 740 -> 0 bytes .../res/drawable/round_gray_pressed.9.png | Bin 801 -> 0 bytes .../main/res/drawable/round_gray_selector.xml | 5 - .../main/res/drawable/rounded_rect_shape.xml | 10 - .../main/res/drawable/rounded_textview.9.png | Bin 4328 -> 0 bytes .../main/res/drawable/rounded_tv_bottom.9.png | Bin 310 -> 0 bytes .../main/res/drawable/rounded_tv_top.9.png | Bin 324 -> 0 bytes .../app/src/main/res/drawable/search.png | Bin 350 -> 0 bytes .../src/main/res/drawable/search_button.xml | 13 - .../src/main/res/drawable/search_press.png | Bin 2003 -> 0 bytes .../app/src/main/res/drawable/send.png | Bin 488 -> 0 bytes .../src/main/res/drawable/send_disabled.png | Bin 467 -> 0 bytes .../main/res/drawable/send_file_button.png | Bin 410 -> 0 bytes .../drawable/send_file_button_selector.xml | 5 - .../src/main/res/drawable/settings_cog.png | Bin 395 -> 0 bytes .../res/drawable/settings_cog_disabled.png | Bin 351 -> 0 bytes .../main/res/drawable/settings_cog_grey.png | Bin 353 -> 0 bytes .../main/res/drawable/settings_cog_white.png | Bin 395 -> 0 bytes .../src/main/res/drawable/shadow_bottom.png | Bin 6280 -> 0 bytes .../app/src/main/res/drawable/share_logo.png | Bin 878 -> 0 bytes .../main/res/drawable/sharepoint_checkin.png | Bin 317 -> 0 bytes .../main/res/drawable/sharepoint_checkout.png | Bin 297 -> 0 bytes .../spinner_background_holo_light.xml | 25 - .../spinner_cab_background_holo_dark.xml | 25 - .../main/res/drawable/stat_notify_sdcard.png | Bin 276 -> 0 bytes .../src/main/res/drawable/swipecellback.xml | 9 - .../app/src/main/res/drawable/sync_icon.png | Bin 6281 -> 0 bytes .../src/main/res/drawable/sync_item_icon.png | Bin 762 -> 0 bytes .../src/main/res/drawable/tab_downloads.png | Bin 1914 -> 0 bytes .../main/res/drawable/tab_downloads_press.png | Bin 2280 -> 0 bytes .../app/src/main/res/drawable/tab_home.png | Bin 1285 -> 0 bytes .../src/main/res/drawable/tab_home_press.png | Bin 1955 -> 0 bytes .../app/src/main/res/drawable/tab_search.png | Bin 1671 -> 0 bytes .../main/res/drawable/tab_search_press.png | Bin 2812 -> 0 bytes .../res/drawable/tabbutton_active_bkg.xml | 55 -- .../src/main/res/drawable/tabbutton_bkg.xml | 23 - .../res/drawable/tabbutton_bkg_selector.xml | 8 - .../res/drawable/tabbutton_pressed_bkg.xml | 46 -- .../main/res/drawable/title_drak_gradient.xml | 10 - .../res/drawable/toggle_button_selector.xml | 5 - .../app/src/main/res/drawable/toggle_off.png | Bin 1305 -> 0 bytes .../app/src/main/res/drawable/toggle_on.png | Bin 1582 -> 0 bytes .../main/res/drawable/top_bar_gradient.png | Bin 202 -> 0 bytes .../res/drawable/top_gray_notpressed.9.png | Bin 568 -> 0 bytes .../main/res/drawable/top_gray_pressed.9.png | Bin 616 -> 0 bytes .../main/res/drawable/top_gray_selector.xml | 5 - .../app/src/main/res/drawable/up_arrow.png | Bin 2144 -> 0 bytes .../app/src/main/res/drawable/upload.png | Bin 200 -> 0 bytes .../app/src/main/res/drawable/upload_any.png | Bin 608 -> 0 bytes .../res/drawable/upload_button_selector.xml | 5 - .../main/res/drawable/upload_camera_photo.png | Bin 1405 -> 0 bytes .../main/res/drawable/upload_camera_video.png | Bin 1254 -> 0 bytes .../res/drawable/upload_capture_photo.png | Bin 510 -> 0 bytes .../res/drawable/upload_capture_video.png | Bin 294 -> 0 bytes .../main/res/drawable/upload_createnote.png | Bin 1107 -> 0 bytes .../res/drawable/upload_dest_button.9.png | Bin 1631 -> 0 bytes .../src/main/res/drawable/upload_disabled.png | Bin 200 -> 0 bytes .../app/src/main/res/drawable/upload_file.png | Bin 241 -> 0 bytes .../res/drawable/upload_gallery_photo.png | Bin 304 -> 0 bytes .../res/drawable/upload_gallery_video.png | Bin 284 -> 0 bytes .../app/src/main/res/drawable/upload_note.png | Bin 210 -> 0 bytes .../src/main/res/drawable/upload_photo.png | Bin 811 -> 0 bytes .../src/main/res/drawable/upload_request.png | Bin 325 -> 0 bytes .../res/drawable/upload_request_files.png | Bin 919 -> 0 bytes .../res/drawable/uploadto_foldernav_back.xml | 21 - .../app/src/main/res/drawable/uploadvideo.png | Bin 813 -> 0 bytes .../res/drawable/user_perm_list_item_bkg.png | Bin 201 -> 0 bytes .../main/res/layout/activity_fullscreen.xml | 65 -- .../src/main/res/layout/dlg_create_folder.xml | 49 -- .../app/src/main/res/layout/dlg_get_creds.xml | 51 -- .../app/src/main/res/layout/folder.xml | 191 ----- .../main/res/layout/folder_listview_empty.xml | 23 - .../src/main/res/layout/login_activity.xml | 40 - .../app/src/main/res/layout/sf_item.xml | 47 -- .../app/src/main/res/layout/webpop_login.xml | 48 -- .../app/src/main/res/raw/v3folder | 1 - .../app/src/main/res/values-v11/styles.xml | 24 - .../app/src/main/res/values-v14/styles.xml | 12 - .../app/src/main/res/values/attrs.xml | 14 - .../app/src/main/res/values/colors.xml | 64 -- .../app/src/main/res/values/constants.xml | 81 --- .../app/src/main/res/values/dims.xml | 51 -- .../app/src/main/res/values/strings.xml | 380 ---------- .../app/src/main/res/values/styles.xml | 486 ------------- SDKSample/AndroidStudioProject/build.gradle | 19 - .../gradle/wrapper/gradle-wrapper.jar | Bin 49896 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 - SDKSample/AndroidStudioProject/gradlew | 164 ----- SDKSample/AndroidStudioProject/gradlew.bat | 90 --- .../AndroidStudioProject/settings.gradle | 1 - maven_release_tools/cleanup.cmd | 3 - maven_release_tools/make_bundle.cmd | 1 - maven_release_tools/readme.txt | 49 -- maven_release_tools/sign.cmd | 4 - 1007 files changed, 5733 deletions(-) delete mode 100644 SDKSample/AndroidStudioProject/app/build.gradle delete mode 100644 SDKSample/AndroidStudioProject/app/lint.xml delete mode 100644 SDKSample/AndroidStudioProject/app/proguard.cfg delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/AndroidManifest.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/assets/webviewerrors/offline.html delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/java/com/sharefile/testv3/Core/Core.java delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/java/com/sharefile/testv3/Core/SampleAsyncTask.java delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/java/com/sharefile/testv3/FoldersActivity.java delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/java/com/sharefile/testv3/FullscreenActivity.java delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/java/com/sharefile/testv3/PersistantToken.java delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/java/com/sharefile/testv3/SFApplication.java delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/java/com/sharefile/testv3/SFItemListViewAdapter.java delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/java/com/sharefile/testv3/SFLogger.java delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/java/com/sharefile/testv3/SwipeListItemState.java delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/java/com/sharefile/testv3/upload/UploadInfo.java delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/java/com/sharefile/testv3/util/SystemUiHider.java delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/java/com/sharefile/testv3/util/SystemUiHiderBase.java delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/java/com/sharefile/testv3/util/SystemUiHiderHoneycomb.java delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/anim/fadein_200.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/anim/fadeout_200.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/anim/file_preview_download_window.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/anim/modal_push_in_right.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/anim/modal_push_out_right.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/anim/push_in_left.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/anim/push_in_right.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/anim/push_out_left.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/anim/push_out_right.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/anim/searchview.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/anim/slide_down.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/anim/slide_up.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/account_switch.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/actionbar_app_icon_dark.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/actionbar_app_icon_light.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/actionbar_icon.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/add_user.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/addressbook.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/addtolist.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/btn_default_normal.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/btn_default_normal_disable.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/btn_default_normal_disable_focused.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/btn_default_pressed.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/btn_default_selected.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/btn_default_small_normal.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/btn_default_small_normal_disable.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/btn_default_small_normal_disable_focused.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/btn_default_small_pressed.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/btn_default_small_selected.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/btn_default_transparent_normal.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/check_active.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/check_inactive.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/chooseaccount_caret.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/chooseaccount_caret_add.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/chooseaccount_green.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/chooseaccount_grey.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/close.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/close_white.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/contacts.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/create_folder.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/create_folder_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/dark_header.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/delete.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/delete_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/dialog_full_holo_dark.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/dialog_full_holo_light.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/divider_horizontal_dim_dark.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/divider_horizontal_textfield.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/download.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/download_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/edit.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/filepicker_home.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/folder_access.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/folder_actions_createfolder.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/folder_actions_createfolder_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/folder_up.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/folder_up_normal.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/folder_up_pressed.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/folder_up_white.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/group.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/home_btn.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/home_btn_white.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/home_button_white.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_ab_back_holo_dark.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_ab_back_holo_light.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_action_accounts.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_action_queue.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_action_settings.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_btn_search.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_btn_search_go.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_btn_speak_now.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_clear_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_clear_normal.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_clear_search_api_disabled_holo_light.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_clear_search_api_holo_light.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_go.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_go_search_api_holo_light.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_launcher.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_menu_agenda.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_menu_archive.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_menu_close_clear_cancel.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_menu_delete.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_menu_gallery.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_menu_home.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_menu_info_details.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_menu_more.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_menu_play_clip.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_menu_preferences.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_menu_refresh.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_menu_search.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_menu_send.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_menu_upload.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_menu_upload_you_tube.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_pulltorefresh_arrow.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_search.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_search_api_holo_light.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/ic_search_category_default.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_ai.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_air.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_aspx.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_audio.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_bat.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_bmp.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_c.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_csharp.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_css.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_dmg.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_doc.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_docx.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_dwf.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_dwfx.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_dwg.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_eps.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_exe.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_favorites.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_file.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_filebox.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_flash.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_folder.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_gif.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_highlight_square.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_htm.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_html.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_ind.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_jpg.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_js.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_key.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_m4a.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_mdb.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_mov.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_movie.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_mp3.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_mp4.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_mpp.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_my_files.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_network_shares.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_note.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_numbers.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_nwc.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_nwd.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_nwf.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_pages.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_pdf.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_picture.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_png.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_ppt.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_pptx.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_ps.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_publisher.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_qbb.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_qbw.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_raw.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_rvt.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_shared_folders.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_sharepoint.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_uknown.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_url.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_vsd.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_wav.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_wmv.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_xls.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_xlsx.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_xml.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/icon_zip.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/info.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/keyboard_textfield_selected.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/list_selector_background_disabled.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/main_detail_toggle_arrow.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/main_detail_toggle_arrow_right.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/mainfiletreeswipemenu_delete.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/mainfiletreeswipemenu_delete_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/mainfiletreeswipemenu_downloadfile.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/mainfiletreeswipemenu_downloadfile_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/mainfiletreeswipemenu_filepreferences.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/mainfiletreeswipemenu_filepreferences_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/mainfiletreeswipemenu_foldersync.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/mainfiletreeswipemenu_foldersync_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/mainfiletreeswipemenu_sharefile.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/mainfiletreeswipemenu_sharefile_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/mainfiletreetoolbar_folderpreferences.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/mainfiletreetoolbar_folderpreferences_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/mainfiletreetoolbar_sharefolder.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/mainfiletreetoolbar_sharefolder_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/mainfiletreetoolbar_uploadfiles.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/mainfiletreetoolbar_uploadfiles_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/menu_back.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/menu_dropdown_panel_holo_light.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/modal_topbar_dark.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/nav_back.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/nav_next.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/open_in.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/pin_delete.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/previewpane_fullscrene.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/queue.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/request_file.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/search.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/search_plate_global.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/send.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/send_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/settings_cog.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/settings_cog_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/settings_cog_grey.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/settings_cog_white.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/share_logo.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/spinner_active_holo_dark.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/spinner_active_holo_light.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/spinner_cab_active_holo_dark.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/spinner_cab_active_holo_light.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/spinner_cab_default_holo_dark.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/spinner_cab_default_holo_light.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/spinner_cab_disabled_holo_dark.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/spinner_cab_disabled_holo_light.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/spinner_cab_focused_holo_dark.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/spinner_cab_focused_holo_light.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/spinner_cab_pressed_holo_dark.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/spinner_cab_pressed_holo_light.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/spinner_default_holo_dark.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/spinner_default_holo_light.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/spinner_disabled_holo_dark.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/spinner_disabled_holo_light.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/spinner_focused_holo_dark.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/spinner_focused_holo_light.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/spinner_pressed_holo_dark.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/spinner_pressed_holo_light.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/star.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/stat_sys_download_anim0.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/stat_sys_upload_anim0.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/sync_icon.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/tab_downloads.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/tab_downloads_press.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/tab_home.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/tab_home_press.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/tab_search.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/tab_search_press.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_activated_holo_dark.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_activated_holo_light.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_active_holo_dark.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_active_holo_light.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_default.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_default_holo_dark.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_default_holo_light.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_disabled.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_disabled_focused_holo_dark.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_disabled_focused_holo_light.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_disabled_holo_dark.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_disabled_holo_light.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_disabled_selected.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_focused_holo_dark.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_focused_holo_light.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_longpress_holo.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_multiline_activated_holo_dark.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_multiline_activated_holo_light.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_multiline_active_holo_dark.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_multiline_active_holo_light.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_multiline_default_holo_dark.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_multiline_default_holo_light.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_multiline_disabled_focused_holo_dark.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_multiline_disabled_focused_holo_light.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_multiline_disabled_holo_dark.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_multiline_disabled_holo_light.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_multiline_focused_holo_dark.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_multiline_focused_holo_light.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_pressed_holo.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_search_default.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_search_default_holo_dark.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_search_default_holo_light.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_search_empty_default.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_search_empty_pressed.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_search_empty_selected.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_search_pressed.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_search_selected.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_search_selected_holo_dark.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_search_selected_holo_light.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/textfield_selected.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/upload.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/upload_capture_photo.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/upload_capture_video.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/upload_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/upload_file.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/upload_gallery_photo.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/upload_gallery_video.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/upload_note.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/upload_request.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-hdpi/user.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-mdpi/home_button_white.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-mdpi/ic_launcher.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/account_switch.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/addressbook.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/check_active.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/check_inactive.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/chooseaccount_caret.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/chooseaccount_caret_add.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/chooseaccount_green.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/chooseaccount_grey.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/close.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/close_white.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/create_folder.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/create_folder_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/delete.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/delete_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/download.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/download_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/edit.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/filepicker_home.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/home_button_white.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/ic_action_accounts.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/ic_action_queue.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/ic_action_settings.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/ic_launcher.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_ai.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_air.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_aspx.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_audio.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_bat.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_bmp.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_c.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_csharp.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_css.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_dmg.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_doc.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_docx.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_dwf.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_dwfx.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_dwg.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_eps.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_exe.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_favorites.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_file.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_filebox.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_flash.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_folder.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_gif.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_htm.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_html.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_ind.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_jpg.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_js.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_key.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_m4a.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_mdb.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_mov.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_movie.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_mp3.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_mp4.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_mpp.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_my_files.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_network_shares.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_note.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_numbers.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_nwc.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_nwd.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_nwf.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_pages.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_pdf.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_picture.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_png.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_ppt.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_pptx.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_ps.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_publisher.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_qbb.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_qbw.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_raw.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_rvt.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_shared_folders.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_sharepoint.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_uknown.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_url.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_vsd.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_wav.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_wmv.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_xls.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_xlsx.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_xml.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/icon_zip.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/info.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/nav_back.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/nav_next.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/open_in.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/pin_delete.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/previewpane_fullscrene.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/queue.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/search.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/send.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/send_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/settings_cog.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/settings_cog_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/settings_cog_grey.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/settings_cog_white.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/share_logo.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/upload.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/upload_capture_photo.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/upload_capture_video.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/upload_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/upload_file.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/upload_gallery_photo.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/upload_gallery_video.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/upload_note.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xhdpi/upload_request.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/account_switch.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/addressbook.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/check_active.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/check_inactive.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/chooseaccount_caret.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/chooseaccount_caret_add.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/chooseaccount_green.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/chooseaccount_grey.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/close.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/close_white.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/create_folder.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/create_folder_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/delete.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/delete_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/download.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/download_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/edit.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/filepicker_home.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/home_button_white.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_ai.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_air.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_aspx.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_audio.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_bat.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_bmp.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_c.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_csharp.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_css.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_dmg.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_doc.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_docx.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_dwf.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_dwfx.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_dwg.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_eps.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_exe.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_favorites.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_file.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_filebox.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_flash.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_folder.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_gif.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_htm.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_html.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_ind.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_jpg.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_js.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_key.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_m4a.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_mdb.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_mov.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_movie.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_mp3.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_mp4.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_mpp.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_my_files.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_network_shares.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_note.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_numbers.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_nwc.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_nwd.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_nwf.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_pages.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_pdf.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_picture.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_png.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_ppt.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_pptx.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_ps.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_publisher.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_qbb.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_qbw.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_raw.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_rvt.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_shared_folders.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_sharepoint.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_uknown.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_url.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_vsd.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_wav.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_wmv.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_xls.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_xlsx.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_xml.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/icon_zip.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/info.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/nav_back.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/nav_next.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/open_in.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/pin_delete.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/previewpane_fullscrene.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/queue.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/search.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/send.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/send_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/settings_cog.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/settings_cog_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/settings_cog_grey.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/settings_cog_white.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/share_logo.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/upload.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/upload_capture_photo.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/upload_capture_video.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/upload_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/upload_file.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/upload_gallery_photo.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/upload_gallery_video.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/upload_note.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxhdpi/upload_request.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/account_switch.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/addressbook.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/check_active.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/check_inactive.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/chooseaccount_caret.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/chooseaccount_caret_add.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/chooseaccount_green.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/chooseaccount_grey.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/close.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/close_white.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/create_folder.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/create_folder_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/delete.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/delete_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/download.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/download_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/edit.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/filepicker_home.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/home_button_white.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_ai.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_air.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_aspx.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_audio.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_bat.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_bmp.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_c.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_csharp.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_css.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_dmg.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_dwf.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_dwfx.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_dwg.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_eps.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_excel.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_exe.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_favorites.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_file.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_filebox.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_flash.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_folder.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_gif.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_htm.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_html.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_ind.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_jpg.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_js.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_key.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_m4a.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_mdb.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_mov.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_movie.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_mp3.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_mp4.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_mpp.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_my_files.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_network_shares.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_note.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_numbers.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_nwc.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_nwd.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_nwf.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_pages.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_pdf.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_picture.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_png.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_powerpoint.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_ps.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_publisher.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_qbb.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_qbw.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_raw.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_rvt.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_shared_folders.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_sharepoint.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_uknown.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_url.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_vsd.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_wav.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_wmv.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_word.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_xml.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/icon_zip.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/info.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/nav_back.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/open_in.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/pin_delete.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/previewpane_fullscrene.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/queue.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/search.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/send.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/send_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/settings_cog.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/settings_cog_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/settings_cog_grey.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/settings_cog_white.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/share_logo.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/upload.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/upload_capture_photo.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/upload_capture_video.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/upload_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/upload_file.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/upload_gallery_photo.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/upload_gallery_video.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/upload_note.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable-xxxhdpi/upload_request.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/account_switch.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/actionbar_app_icon_normal.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/actionbar_button_bkg.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/ad_menu_dropdown_panel_holo_light.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/addressbook.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/android_tablet_drawer_background.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/android_tablet_drawer_button.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/android_tablet_drawer_combined.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/app_icon_background.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/arrow.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/bottom_gray_notpressed.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/bottom_gray_pressed.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/bottom_gray_selector.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/btn_default.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/btn_default_small.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/btn_default_transparent.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/button_bkg.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/button_create_folder.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/button_pinpad_gradient.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/button_pinpad_gradient_presses.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/button_pinpad_selector.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/check_active.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/check_inactive.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/checkbox_green_button.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/checkbox_green_button_checked.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/checkbox_green_button_checked_disabled.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/checkbox_green_button_disabled.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/checkbox_selector.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/chooseaccount_caret.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/chooseaccount_caret_add.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/chooseaccount_green.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/chooseaccount_grey.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/close.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/close_button.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/close_button_inverse.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/close_white.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/connector_sharepoint.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/create_folder.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/create_folder_back.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/create_folder_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/create_folder_selector.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/custom_menu_back.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/dark_grey_button.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/dark_header.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/dark_header_dither.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/darkgray_button_gradient.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/default_shadow_rightleft.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/delete.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/delete_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/delete_icon.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/description.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/detail_dark_bg.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/dialog_blackglass_bkg.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/divder.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/down_arrow.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/download.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/download_button.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/download_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/downloads_button.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/drawer_pattern.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/drop_shadow.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/dropdown.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/edit.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/edit_text_holo_dark.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/edit_text_holo_light.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/externalstorage_home_button.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/file_list_gradient.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/file_open_button.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/file_picker_menu_button_back.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/file_picker_menu_button_back_normal.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/file_picker_menu_button_back_pressed.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/filepicker_home.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/filetree_fileprefs.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/filetree_folderprefs.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/filetree_sendfile.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/filetree_sendfolder.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/filetree_uploadfiles.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/filetreedelete.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/filetreedownloadfile.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/filetreefoldersync.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/flatgray_button_selector.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/folder_actions_prefs.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/folder_actions_prefs_disabled.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/folder_actions_send.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/folder_actions_send_disabled.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/folder_actions_upload.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/folder_actions_upload_disabled.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/folder_listview_item_back.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/folder_press.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/folder_up_btn.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/folders_handle01.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/form_back.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/form_more_rounded_back.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/form_rounded_back.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/gallery_selected_default.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/gray_arrow_left.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/gray_button.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/gray_button_selector.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/gray_button_thin_border.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/gray_detail_back.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/gray_gradient.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/green_button.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/green_button_back.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/green_button_checked.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/green_button_onpress.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/green_button_pressed.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/green_button_selector.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/green_button_unpressed.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/green_plus.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/home_btn.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/home_button.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/home_button_white.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/ic_clear.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/ic_clear_holo_light.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_ai.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_ai_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_air.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_aspx.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_aspx_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_audio.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_avi_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_bat.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_bat_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_bmp.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_bmp_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_c.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_csharp.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_css.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_css_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_dmg.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_doc.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_doc_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_docx.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_docx_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_dwf.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_dwf_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_dwfx.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_dwfx_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_dwg.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_dwg_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_eml_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_eps.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_eps_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_exe.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_exe_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_favorites.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_file.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_filebox.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_fla_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_flash.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_folder.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_folder_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_gif.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_gif_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_htm.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_htm_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_html.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_ind.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_jpg.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_jpg_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_js.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_js_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_key.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_m4a.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_m4a_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_mdb.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_mdb_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_misc_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_mov.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_mov_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_movie.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_mp3.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_mp4.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_mp4_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_mpp.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_mpp_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_my_files.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_network_shares.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_newfolder_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_note.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_numbers.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_nwc.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_nwc_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_nwd.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_nwd_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_nwf.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_nwf_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_owner.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_pages.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_pdf.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_pdf_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_picture.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_png.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_png_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_ppt.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_pptx.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_ps.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_psd_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_pub_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_publisher.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_qbb.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_qbb_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_qbw.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_qbw_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_rar_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_raw.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_raw_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_recyclebin_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_rvt.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_rvt_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_sentmessages_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_shared_folders.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_sharepoint.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_swf_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_template.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_txt_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_uknown.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_url.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_vsd.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_vsd_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_wav.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_wav_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_wmv.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_wmv_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_xls.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_xls_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_xlsx.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_xlsx_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_xml.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_xml_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_zip.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/icon_zip_big.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/info.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/left_bg.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/list_divider.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/list_item_bkg.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/list_selector_background.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/list_selector_background_transition.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/listitem_button.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/listitem_button_pressed.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/listitem_button_selector.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/logo.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/main_back_gradient.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/main_filetree_navbar_bkg.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/main_logo.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/main_queue_icon_overlay.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/menu_btn.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/menu_btn_pressed.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/menu_button_back.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/menu_button_back_normal.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/menu_button_back_pressed.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/menu_dropdown_panel_holo_dark.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/menu_dropdown_panel_holo_light.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/menubtn.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/modal_back_button.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/modal_glass.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/multiselect_selected.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/multiselect_unselected.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/nav_back.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/nav_next.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/navback_button.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/note_back.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/offline_gray_topbar_gradient.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/open_in.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/pin_button_selector.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/pin_delete.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/plus_sign_active.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/plus_sign_partial.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/pref_button_selector.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/previewpane_fullscrene.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/pulltorefresh_gradient_back.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/queue.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/queue_button_bkg.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/queue_download_file.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/queue_item_gradient.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/queue_upload_file.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/red_button.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/red_button_selector.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/resend_button_selector.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/round_gray_notpressed.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/round_gray_pressed.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/round_gray_selector.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/rounded_rect_shape.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/rounded_textview.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/rounded_tv_bottom.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/rounded_tv_top.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/search.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/search_button.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/search_press.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/send.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/send_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/send_file_button.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/send_file_button_selector.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/settings_cog.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/settings_cog_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/settings_cog_grey.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/settings_cog_white.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/shadow_bottom.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/share_logo.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/sharepoint_checkin.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/sharepoint_checkout.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/spinner_background_holo_light.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/spinner_cab_background_holo_dark.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/stat_notify_sdcard.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/swipecellback.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/sync_icon.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/sync_item_icon.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/tab_downloads.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/tab_downloads_press.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/tab_home.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/tab_home_press.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/tab_search.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/tab_search_press.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/tabbutton_active_bkg.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/tabbutton_bkg.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/tabbutton_bkg_selector.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/tabbutton_pressed_bkg.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/title_drak_gradient.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/toggle_button_selector.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/toggle_off.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/toggle_on.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/top_bar_gradient.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/top_gray_notpressed.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/top_gray_pressed.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/top_gray_selector.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/up_arrow.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/upload.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/upload_any.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/upload_button_selector.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/upload_camera_photo.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/upload_camera_video.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/upload_capture_photo.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/upload_capture_video.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/upload_createnote.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/upload_dest_button.9.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/upload_disabled.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/upload_file.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/upload_gallery_photo.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/upload_gallery_video.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/upload_note.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/upload_photo.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/upload_request.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/upload_request_files.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/uploadto_foldernav_back.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/uploadvideo.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/drawable/user_perm_list_item_bkg.png delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/layout/activity_fullscreen.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/layout/dlg_create_folder.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/layout/dlg_get_creds.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/layout/folder.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/layout/folder_listview_empty.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/layout/login_activity.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/layout/sf_item.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/layout/webpop_login.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/raw/v3folder delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/values-v11/styles.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/values-v14/styles.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/values/attrs.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/values/colors.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/values/constants.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/values/dims.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/values/strings.xml delete mode 100644 SDKSample/AndroidStudioProject/app/src/main/res/values/styles.xml delete mode 100644 SDKSample/AndroidStudioProject/build.gradle delete mode 100644 SDKSample/AndroidStudioProject/gradle/wrapper/gradle-wrapper.jar delete mode 100644 SDKSample/AndroidStudioProject/gradle/wrapper/gradle-wrapper.properties delete mode 100644 SDKSample/AndroidStudioProject/gradlew delete mode 100644 SDKSample/AndroidStudioProject/gradlew.bat delete mode 100644 SDKSample/AndroidStudioProject/settings.gradle delete mode 100644 maven_release_tools/cleanup.cmd delete mode 100644 maven_release_tools/make_bundle.cmd delete mode 100644 maven_release_tools/readme.txt delete mode 100644 maven_release_tools/sign.cmd diff --git a/SDKSample/AndroidStudioProject/app/build.gradle b/SDKSample/AndroidStudioProject/app/build.gradle deleted file mode 100644 index 8904a41..0000000 --- a/SDKSample/AndroidStudioProject/app/build.gradle +++ /dev/null @@ -1,33 +0,0 @@ -apply plugin: 'com.android.application' - -android { - compileSdkVersion 19 - buildToolsVersion "21.1.2" - - packagingOptions { - exclude 'META-INF/DEPENDENCIES' - exclude 'META-INF/LICENSE' - exclude 'META-INF/NOTICE' - } - defaultConfig { - applicationId "com.sharefile.testv3" - minSdkVersion 14 - targetSdkVersion 19 - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_7 - targetCompatibility JavaVersion.VERSION_1_7 - } - } - - buildTypes { - release { - minifyEnabled true - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard.cfg' - } - } -} - -dependencies { - compile 'com.google.code.gson:gson:2.8.0' - compile 'com.citrix:sharefile-api:3.0.5' -} diff --git a/SDKSample/AndroidStudioProject/app/lint.xml b/SDKSample/AndroidStudioProject/app/lint.xml deleted file mode 100644 index 8423c0e..0000000 --- a/SDKSample/AndroidStudioProject/app/lint.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/SDKSample/AndroidStudioProject/app/proguard.cfg b/SDKSample/AndroidStudioProject/app/proguard.cfg deleted file mode 100644 index e26eb0a..0000000 --- a/SDKSample/AndroidStudioProject/app/proguard.cfg +++ /dev/null @@ -1,48 +0,0 @@ --optimizationpasses 5 --dontusemixedcaseclassnames --dontskipnonpubliclibraryclasses --dontpreverify --verbose --dontwarn org.htmlparser.** --dontwarn jcifs.http.** --dontwarn com.citrix.mdx.** --optimizations !code/simplification/arithmetic,!field/*,!class/merging/* --dontwarn org.apache.commons.** --keep class org.apache.http.** { *; } --dontwarn org.apache.http.** --keepattributes Signature --keepattributes *Annotation* - --keep public class * extends android.app.Activity --keep public class * extends android.app.Application --keep public class * extends android.app.Service --keep public class * extends android.content.BroadcastReceiver --keep public class * extends android.content.ContentProvider --keep public class * extends android.app.backup.BackupAgentHelper --keep public class * extends android.preference.Preference --keep public class com.android.vending.licensing.ILicensingService - --keepclasseswithmembernames class * { - native ; -} - --keepclasseswithmembernames class * { - public (android.content.Context, android.util.AttributeSet); -} - --keepclasseswithmembernames class * { - public (android.content.Context, android.util.AttributeSet, int); -} - --keepclassmembers enum * { - public static **[] values(); - public static ** valueOf(java.lang.String); -} - --keep class * implements android.os.Parcelable { - public static final android.os.Parcelable$Creator *; -} - --keepattributes Signature --keepattributes *Annotation* --keep class com.citrix.sharefile.api.** { *; } \ No newline at end of file diff --git a/SDKSample/AndroidStudioProject/app/src/main/AndroidManifest.xml b/SDKSample/AndroidStudioProject/app/src/main/AndroidManifest.xml deleted file mode 100644 index 3586791..0000000 --- a/SDKSample/AndroidStudioProject/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/SDKSample/AndroidStudioProject/app/src/main/assets/webviewerrors/offline.html b/SDKSample/AndroidStudioProject/app/src/main/assets/webviewerrors/offline.html deleted file mode 100644 index ffc18e7..0000000 --- a/SDKSample/AndroidStudioProject/app/src/main/assets/webviewerrors/offline.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - -

- -

- - \ No newline at end of file diff --git a/SDKSample/AndroidStudioProject/app/src/main/java/com/sharefile/testv3/Core/Core.java b/SDKSample/AndroidStudioProject/app/src/main/java/com/sharefile/testv3/Core/Core.java deleted file mode 100644 index 3b5691f..0000000 --- a/SDKSample/AndroidStudioProject/app/src/main/java/com/sharefile/testv3/Core/Core.java +++ /dev/null @@ -1,102 +0,0 @@ -package com.sharefile.testv3.Core; - - -import android.content.Context; -import android.util.Log; - -import com.citrix.sharefile.api.SFSdk; -import com.citrix.sharefile.api.authentication.SFOAuth2Token; -import com.citrix.sharefile.api.authentication.SFOAuthService; -import com.citrix.sharefile.api.exceptions.SFInvalidStateException; -import com.citrix.sharefile.api.interfaces.IOAuthTokenCallback; -import com.citrix.sharefile.api.interfaces.ISFApiClient; -import com.citrix.sharefile.api.interfaces.ISFAsyncTask; -import com.citrix.sharefile.api.interfaces.ISFAsyncTaskFactory; -import com.citrix.sharefile.api.interfaces.ISFOAuthService; -import com.sharefile.testv3.PersistantToken; -import com.sharefile.testv3.SFLogger; - -public class Core -{ - private static final String TAG = "Core"; - - private static boolean isInitialised = false; - - public static boolean isIsInitialised() - { - return isInitialised; - } - - //These are specially generated for the JavaSDK Sample - public static final String WEB_LOGIN_CLIENT_ID_SHAREFILE = "tpB84u9E63jMkgLYS0Wdam6RiW0He0QH"; - public static final String WEB_LOGIN_CLIENT_SECRET_SHAREFILE = "DuYf1GOSDGeBj8yBzO0ZxIMNrsYm2pkDLJSkOQOKa0WhCmez"; - - public static final String WEB_LOGIN_REDIRECT_URL = "https://secure.sharefile.com/oauthcomplete.aspx"; - public static final String CONTROL_PLANE = "sharefile.com"; - private static ISFApiClient apiClient; - - public static void setApiClient(ISFApiClient client) - { - apiClient = client; - } - - public static ISFApiClient getApiClient() - { - return apiClient; - } - - private static ISFAsyncTaskFactory asyncTaskFactory = new ISFAsyncTaskFactory() - { - @Override - public ISFAsyncTask createNewTask() - { - return new SampleAsyncTask(); - } - }; - - public static void initShareFileSDK() throws SFInvalidStateException - { - if(WEB_LOGIN_CLIENT_ID_SHAREFILE==null || WEB_LOGIN_CLIENT_SECRET_SHAREFILE == null) - { - throw new SFInvalidStateException("Please define clientid/client secret in code"); - } - - SFSdk.init(WEB_LOGIN_CLIENT_ID_SHAREFILE,WEB_LOGIN_CLIENT_SECRET_SHAREFILE,WEB_LOGIN_REDIRECT_URL); - - //optional. makes life easy for Android apps. - SFSdk.setLogger(new SFLogger()); - SFSdk.setAsyncTaskFactory(asyncTaskFactory); - - isInitialised = true; - } - - - public static void getOAuthToken(Context appContext, - String userName, - String password, - String subdomain, - IOAuthTokenCallback callback) - { - SFOAuth2Token token = null; - - try - { - token = PersistantToken.readToken(appContext); - } - catch (Exception e) - { - Log.e(TAG,"",e); - } - - if(token == null) - { - ISFOAuthService oAuthService = new SFOAuthService(); - - oAuthService.authenticateAsync(subdomain, CONTROL_PLANE, userName, password, callback); - - return; - } - - callback.onSuccess(token); - } -} diff --git a/SDKSample/AndroidStudioProject/app/src/main/java/com/sharefile/testv3/Core/SampleAsyncTask.java b/SDKSample/AndroidStudioProject/app/src/main/java/com/sharefile/testv3/Core/SampleAsyncTask.java deleted file mode 100644 index a827280..0000000 --- a/SDKSample/AndroidStudioProject/app/src/main/java/com/sharefile/testv3/Core/SampleAsyncTask.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.sharefile.testv3.Core; - -import android.os.AsyncTask; - -import com.citrix.sharefile.api.interfaces.ISFAsyncHelper; -import com.citrix.sharefile.api.interfaces.ISFAsyncTask; - -public class SampleAsyncTask extends AsyncTask implements ISFAsyncTask -{ - ISFAsyncHelper asyncHelper; - - @Override - protected Object doInBackground(Object[] objects) - { - asyncHelper.execute(); - return null; - } - - @Override - protected void onPostExecute(Object o) - { - super.onPostExecute(o); - asyncHelper.onPostExecute(); - } - - @Override - public void start(ISFAsyncHelper asyncHelper) - { - this.asyncHelper = asyncHelper; - executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); - } -} \ No newline at end of file diff --git a/SDKSample/AndroidStudioProject/app/src/main/java/com/sharefile/testv3/FoldersActivity.java b/SDKSample/AndroidStudioProject/app/src/main/java/com/sharefile/testv3/FoldersActivity.java deleted file mode 100644 index 145f140..0000000 --- a/SDKSample/AndroidStudioProject/app/src/main/java/com/sharefile/testv3/FoldersActivity.java +++ /dev/null @@ -1,681 +0,0 @@ -package com.sharefile.testv3; - -import android.app.Activity; -import android.app.Dialog; -import android.content.Context; -import android.content.Intent; -import android.net.Uri; -import android.os.Bundle; -import android.util.Log; -import android.view.View; -import android.view.View.OnClickListener; -import android.view.WindowManager; -import android.widget.AdapterView; -import android.widget.AdapterView.OnItemClickListener; -import android.widget.Button; -import android.widget.EditText; -import android.widget.ListView; -import android.widget.ProgressBar; -import android.widget.Toast; - -import com.citrix.sharefile.api.constants.SFKeywords; -import com.citrix.sharefile.api.enumerations.SFV3ElementType; -import com.citrix.sharefile.api.exceptions.SFInvalidStateException; -import com.citrix.sharefile.api.exceptions.SFNotAuthorizedException; -import com.citrix.sharefile.api.exceptions.SFOtherException; -import com.citrix.sharefile.api.exceptions.SFSDKException; -import com.citrix.sharefile.api.exceptions.SFServerException; -import com.citrix.sharefile.api.https.SFDownloadRunnable; -import com.citrix.sharefile.api.https.SFUploadRunnable; -import com.citrix.sharefile.api.https.TransferRunnable; -import com.citrix.sharefile.api.interfaces.ISFApiClient; -import com.citrix.sharefile.api.interfaces.ISFApiResultCallback; -import com.citrix.sharefile.api.interfaces.ISFQuery; -import com.citrix.sharefile.api.interfaces.ISFReAuthHandler; -import com.citrix.sharefile.api.interfaces.ISFReExecuteQuery; -import com.citrix.sharefile.api.models.SFAccessControl; -import com.citrix.sharefile.api.models.SFFile; -import com.citrix.sharefile.api.models.SFFolder; -import com.citrix.sharefile.api.models.SFItem; -import com.citrix.sharefile.api.models.SFODataFeed; -import com.citrix.sharefile.api.models.SFSymbolicLink; -import com.citrix.sharefile.api.models.SFUploadRequestParams; -import com.sharefile.testv3.Core.Core; -import com.sharefile.testv3.upload.UploadInfo; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.URI; -import java.net.URISyntaxException; -import java.util.HashMap; -import java.util.Map; -import java.util.Stack; - -public class FoldersActivity extends Activity implements ISFReExecuteQuery -{ - private static final SFLogger SLog = new SFLogger(); - private static final String TAG = "FolderActivity"; - private static final int SFREQUEST_CODE_PHOTO_PICKER = 0x1234; - private ListView mSFItemListView = null; - private Activity thisActivity = null; - private ProgressBar mThrobber = null; - private String TOP = "top"; - - private Map mapFolderContents = new HashMap(); - private Stack mFolderIdStack = new Stack(); - - private void navigateForward(String link) throws URISyntaxException - { - SLog.d("GET", "Nav to: " + link); - confirmExit = false; - mFolderIdStack.push(link); - getContents(link); - } - - private void storeToCache(String folderId,SFFolder object) - { - mapFolderContents.put(folderId, object); - } - - private void navigateBack() throws URISyntaxException - { - String link = mFolderIdStack.peek(); - - if(!link.contains(TOP)) - { - link = mFolderIdStack.pop(); - link = mFolderIdStack.peek(); - getContents(link); - } - else - { - if(confirmExit) - { - finish(); - } - else - { - confirmExit = true; - showToast("Press back again to exit"); - getContents(link); - } - } - } - - - private void showBusy(boolean busy) - { - if(mThrobber!=null) - { - if(busy) - { - mThrobber.setVisibility(View.VISIBLE); - } - else - { - mThrobber.setVisibility(View.INVISIBLE); - } - } - } - - private void callCreateFolderApi(String folderName,String folderDescription) - throws URISyntaxException, SFInvalidStateException - { - String parenturl = mFolderIdStack.peek(); - SFFolder folder = new SFFolder(); - folder.setName(folderName); - folder.setDescription(folderDescription); - - Core.getApiClient() - .items() - .createFolder(new URI(parenturl), folder,false) - .executeAsync(new ISFApiResultCallback() - { - - @Override - public void onSuccess(SFFolder object) - { - showToast("success"); - } - - @Override - public void onError(SFSDKException error,ISFQuery sfapiApiqueri) - { - showToast(error.getLocalizedMessage()); - } - }) ; - - } - - private void callGetAccessControlApi() throws URISyntaxException, SFInvalidStateException - { - String parenturl = mFolderIdStack.peek(); - - Core.getApiClient() - .accessControls() - .getByItem(new URI(parenturl)) - .executeAsync(new ISFApiResultCallback>() { - @Override - public void onSuccess(SFODataFeed object) { - showToast("success"); - } - - @Override - public void onError(SFSDKException v3error, ISFQuery> asApiqueri) { - showToast(v3error.getLocalizedMessage()); - } - }); - - } - - private void callUploadApi(final UploadInfo uploadInfo) throws IOException, SFInvalidStateException, SFServerException - { - String parentid = mFolderIdStack.peek(); - SFFolder currentFolder = mapFolderContents.get(parentid); - if(currentFolder==null) - { - showToast("Current Folder NULL"); - return; - } - - InputStream is = UploadInfo.getInputStreamFromPath(uploadInfo.getFullPathToFile(),getApplicationContext()); - - SFUploadRequestParams requestParams = new SFUploadRequestParams(); - requestParams.setFileName(uploadInfo.getFilename()); - requestParams.setDetails(""); - requestParams.setFileSize((long) is.available()); - requestParams.seturl(currentFolder.geturl()); - SFUploadRunnable uploader = Core.getApiClient().getUploader( - requestParams, - is,new TransferRunnable.IProgress() { - @Override - public void bytesTransfered(long l) - { - SLog.d(TAG,"uploaded: " + l + " bytes of " + uploadInfo.getFilename()); - } - - @Override - public void onError(SFSDKException e, long l) - { - showToast(e.getLocalizedMessage()); - } - - @Override - public void onComplete(long l) - { - SLog.d(TAG, "Upload complete" + uploadInfo.getFilename()); - showToast("Upload complete: " + uploadInfo.getFilename()); - } - }); - - uploader.start(); - } - - private void showCreateFolderDialog() - { - final Dialog dialog = new Dialog(this); - dialog.setContentView(R.layout.dlg_create_folder); - dialog.setTitle("Create Folder"); - - // set the custom dialog components - text, image and button - final EditText edxfolderName = (EditText) dialog.findViewById(R.id.create_folder_name); - final EditText edxfolderDetails = (EditText) dialog.findViewById(R.id.create_folder_details); - - Button okButton = (Button) dialog.findViewById(R.id.ok); - - okButton.setOnClickListener(new OnClickListener() - { - @Override - public void onClick(View v) - { - String folderName = edxfolderName.getText().toString().trim(); - String folderDetails = edxfolderDetails.getText().toString().trim(); - - try - { - callCreateFolderApi(folderName, folderDetails); - } - catch (Exception e) - { - Log.e(TAG,"",e); - } - - dialog.dismiss(); - } - }); - - - Button cancelButton = (Button) dialog.findViewById(R.id.cancel); - - cancelButton.setOnClickListener(new OnClickListener() - { - @Override - public void onClick(View v) - { - dialog.dismiss(); - } - }); - - WindowManager.LayoutParams lp = new WindowManager.LayoutParams(); - lp.copyFrom(dialog.getWindow().getAttributes()); - lp.width = WindowManager.LayoutParams.MATCH_PARENT; - lp.height = WindowManager.LayoutParams.WRAP_CONTENT; - dialog.show(); - dialog.getWindow().setAttributes(lp); - - - } - - @Override - public void execute(ISFApiClient sfApiClient, - ISFQuery query, - ISFApiResultCallback listener, - ISFReAuthHandler reauthHandler) - { - query.executeAsync(listener); - } - - - private interface GetCredsCallback - { - public void doneGetCreds(String userName,String password); - } - - private void showGetCredsDialog(final GetCredsCallback callback) - { - final Dialog dialog = new Dialog(this); - dialog.setContentView(R.layout.dlg_get_creds); - dialog.setTitle("Enter Credentials"); - - // set the custom dialog components - text, image and button - final EditText edxUserName = (EditText) dialog.findViewById(R.id.getcreds_username); - final EditText edxPassword = (EditText) dialog.findViewById(R.id.getcreds_password); - - Button okButton = (Button) dialog.findViewById(R.id.ok); - - okButton.setOnClickListener(new OnClickListener() - { - @Override - public void onClick(View v) - { - String userName = edxUserName.getText().toString().trim(); - String password = edxPassword.getText().toString().trim(); - - callback.doneGetCreds(userName, password); - - dialog.dismiss(); - } - }); - - - Button cancelButton = (Button) dialog.findViewById(R.id.cancel); - - cancelButton.setOnClickListener(new OnClickListener() - { - @Override - public void onClick(View v) - { - dialog.dismiss(); - } - }); - - WindowManager.LayoutParams lp = new WindowManager.LayoutParams(); - lp.copyFrom(dialog.getWindow().getAttributes()); - lp.width = WindowManager.LayoutParams.MATCH_PARENT; - lp.height = WindowManager.LayoutParams.WRAP_CONTENT; - dialog.show(); - dialog.getWindow().setAttributes(lp); - } - - public void showToast(final String msg) - { - runOnUiThread(new Runnable() - { - @Override - public void run() - { - Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_LONG).show();; - } - }); - } - - private void showContentsList(SFFolder object) - { - SFFolder folderItem = (SFFolder) object; - SFItemListViewAdapter adapter = new SFItemListViewAdapter(thisActivity, R.layout.sf_item, folderItem.getChildren()); - - try - { - mSFItemListView.setAdapter(adapter); - mSFItemListView.invalidate(); - } - catch(Exception e) - { - SLog.d("Act", "Exception: "+ Log.getStackTraceString(e)); - } - - showBusy(false); - } - - boolean confirmExit = false; - - @Override - public void onBackPressed() - { - //super.onBackPressed(); - - try - { - navigateBack(); - } - catch (Exception e) - { - if(confirmExit) - { - finish(); - } - else - { - confirmExit = true; - showToast("Press back again to exit"); - return; - } - } - - } - - private SFFolder getFromCache(String folderid) - { - return mapFolderContents.get(folderid); - } - - private URI getUriFromLink(String link) throws URISyntaxException - { - URI uri = null; - - SLog.d("GET", "build link for = " + link); - - uri = new URI(link); - - SLog.d("GET", "ret URI = " + uri.toString()); - - return uri; - } - - - private synchronized void getContents(final String link) throws URISyntaxException - { - SFFolder folder = getFromCache(link); - - if(folder!=null) - { - showContentsList(folder); - return; - } - - showBusy(true); - - Core.getApiClient() - .items() - .get(getUriFromLink(link),false) - .expand(SFKeywords.CHILDREN) - .expand(SFKeywords.REDIRECTION).executeAsync(getContentsListener); - - } - - ISFApiResultCallback getContentsListener = new ISFApiResultCallback() - { - @Override - public void onSuccess(final SFItem object) - { - if(SFV3ElementType.isFolderType(object)) - { - storeToCache(object.geturl().toString(), (SFFolder) object); - showContentsList((SFFolder) object); - } - } - - @Override - public void onError(final SFSDKException v3error,final ISFQuery asApiqueri) - { - SLog.e(TAG,"",v3error); - - showToast("Failed Get Item: " + v3error.getLocalizedMessage()); - - showBusy(false); - - if(v3error instanceof SFNotAuthorizedException) - { - showGetCredsDialog(new GetCredsCallback() - { - @Override - public void doneGetCreds(final String userName, final String password) - { - showBusy(true); - - try - { - ((SFNotAuthorizedException) v3error).getReAuthContext(). - reExecuteQueryWithCredentials(userName, - password, - FoldersActivity.this); - } - catch (SFInvalidStateException e) - { - Log.e(TAG,"",e); - } - } - }); - - } - else - { - showToast(v3error.getLocalizedMessage()); - } - } - }; - - private void startMediaPicker(String type, int requestCode) - { - Activity activity = this; - - Intent intent = createMediaPickerIntent(activity, type); - - startActivityForResult(intent,requestCode); - } - - public static Intent createMediaPickerIntent(Context context, String type) // , int requestCode - { - - final Intent photoPickerIntent = new Intent(Intent.ACTION_GET_CONTENT); - photoPickerIntent.setType(type); - photoPickerIntent.addCategory(Intent.CATEGORY_OPENABLE);//only content that we can open with [ContentResolver].openInputStream(); - - return Intent.createChooser(photoPickerIntent, context.getString(R.string.strUploadFrom)); - } - - private void initUIControls() - { - Button createFolder = (Button) findViewById(R.id.folderActions_buttonCreateFolder); - - createFolder.setOnClickListener(new OnClickListener() - { - @Override - public void onClick(View v) - { - showCreateFolderDialog(); - } - }); - - - Button getAccessControlList = (Button) findViewById(R.id.folderActions_buttonPreferences); - - getAccessControlList.setOnClickListener(new OnClickListener() - { - @Override - public void onClick(View v) - { - try - { - callGetAccessControlApi(); - } - catch (Exception e) - { - Log.e(TAG,"",e); - } - } - }); - - - Button upload = (Button) findViewById(R.id.folderActions_buttonUpload); - - upload.setOnClickListener(new OnClickListener() - { - @Override - public void onClick(View v) - { - startMediaPicker("image/* , video/*", SFREQUEST_CODE_PHOTO_PICKER); - } - }); - - ////////////////// List View/////////////////////// - mSFItemListView = (ListView) findViewById(R.id.Folder_listview); - mThrobber = (ProgressBar)findViewById(R.id.Folder_throbber); - - mSFItemListView.setOnItemClickListener(new OnItemClickListener() - { - @Override - public void onItemClick(AdapterView parent, View view,int position, long id) - { - //SFItem item = (SFItem) view.getTag(); - SwipeListItemState state = (SwipeListItemState) view.getTag(); - SFItem item = state.mSFItem; - - if(item!=null) - { - if(SFV3ElementType.isFolderType(item)) - { - String fid = item.getId(); - String link = null; - - if(item instanceof SFSymbolicLink) - { - link = ((SFSymbolicLink)item).getLink().toString(); - } - else - { - link = item.geturl().toString(); - } - - //getContents(fid,link); - try - { - navigateForward(item.geturl().toString()); - } - catch (URISyntaxException e) - { - e.printStackTrace(); - } - } - else if(SFV3ElementType.isFileType(item)) - { - showToast("Starting download for: " + item.getName()); - - try - { - callDownloadApi((SFFile)item); - } - catch (Exception e) - { - showToast(e.getLocalizedMessage()); - } - } - } - } - }); - } - - private File getOutputFile(SFFile file) - { - File fileonInternalStorage = new File(getFilesDir() , file.getFileName()); - return fileonInternalStorage; - } - - private void callDownloadApi(SFFile item ) throws FileNotFoundException, SFOtherException - { - OutputStream os = new FileOutputStream(getOutputFile(item)); - - SFDownloadRunnable downloader = Core.getApiClient(). - getDownloader(item, os, - new TransferRunnable.IProgress() - { - @Override - public void bytesTransfered(long l) - { - Log.d(TAG,"bytes transfered " + l); - } - - @Override - public void onError(SFSDKException e, long l) - { - showToast(e.getLocalizedMessage()); - } - - @Override - public void onComplete(long l) - { - SLog.d(TAG,"Download completed with bytes: " + l); - showToast("Download completed"); - } - }); - - downloader.start(); - } - - - @Override - protected void onCreate(Bundle savedInstanceState) - { - thisActivity = this; - - super.onCreate(savedInstanceState); - - setContentView(R.layout.folder); - - initUIControls(); - - try - { - mFolderIdStack.clear(); - navigateForward(Core.getApiClient().getTopUrl().toString()); - } - catch (URISyntaxException e) - { - Log.e(TAG,"",e); - } - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, Intent data) - { - super.onActivityResult(requestCode, resultCode, data); - - if(requestCode == SFREQUEST_CODE_PHOTO_PICKER && data!=null) - { - try - { - final Uri mediaUri = data.getData(); - UploadInfo uploadInfo = UploadInfo.getUploadInfoFromContentProvider(getApplicationContext(), mediaUri); - callUploadApi(uploadInfo); - } - catch (Exception e) - { - showToast(e.getLocalizedMessage()); - } - } - } -} \ No newline at end of file diff --git a/SDKSample/AndroidStudioProject/app/src/main/java/com/sharefile/testv3/FullscreenActivity.java b/SDKSample/AndroidStudioProject/app/src/main/java/com/sharefile/testv3/FullscreenActivity.java deleted file mode 100644 index 9379215..0000000 --- a/SDKSample/AndroidStudioProject/app/src/main/java/com/sharefile/testv3/FullscreenActivity.java +++ /dev/null @@ -1,255 +0,0 @@ -package com.sharefile.testv3; - -import android.app.Activity; -import android.content.Intent; -import android.os.Bundle; -import android.util.Log; -import android.view.View; -import android.view.View.OnClickListener; -import android.widget.Button; -import android.widget.EditText; -import android.widget.LinearLayout; -import android.widget.ProgressBar; -import android.widget.Toast; - -import com.citrix.sharefile.api.SFApiClient; -import com.citrix.sharefile.api.authentication.SFOAuth2Token; -import com.citrix.sharefile.api.exceptions.SFInvalidStateException; -import com.citrix.sharefile.api.exceptions.SFJsonException; -import com.citrix.sharefile.api.exceptions.SFSDKException; -import com.citrix.sharefile.api.interfaces.IOAuthTokenCallback; -import com.citrix.sharefile.api.interfaces.ISFApiClient; -import com.sharefile.testv3.Core.Core; - -import java.io.IOException; -import java.util.ArrayList; - -/** - * An example full-screen activity that shows and hides the system UI (i.e. - * status bar and navigation/system bar) with user interaction. - * - */ -public class FullscreenActivity extends Activity -{ - private static final String TAG = "FullscreenActivity"; - private static final SFLogger SLog = new SFLogger(); - private ProgressBar progressBar; - - public FullscreenActivity() - { - } - - public void showToast(final String msg) - { - runOnUiThread(new Runnable() - { - @Override - public void run() - { - Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_LONG).show();; - } - }); - } - - - private ArrayList

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 %=-fRUq|eR7VOQq%23OKbnL*fG=?y zX+^Y5aNh*PyU)}aSFUC>gV0t*V>n6n@sO}os z&QMVfNUam)py^=mYSyQpX~-$=$p7rNW}GYWeT_TnlE|(nem&%IN%k(0=OOhQqO|t8& zn)Z<)?wrds^_vtGH=RMC3464>2f2BWSD1gV9R7~U0*s$AaMKuHzL5O?RF40ff}mss z_{e^#sa^LN7|`{X()DB;#5VXIGJx7V5VMRv3^sI`H|mV8a(J4yAO-h4SYH;l^cQoMCYn2AAV?1%&gWPMr9D8QL&^)n7E=NrogVMOdTR6CA z7m1lKj;Gf-Us~Um{JC+@2ep?ycn7(02e$Zdy~EzvapInSLUdBaz1}3NtQeZ>`iS|Xz2l`(%0TyExZG~s! z3hoYQs&rP?s`E?K{2O=$thE>sWk3i*_quHxOZaqTJFA`548nuRBCVz;N~28c2rQMI z`to8+WeN2L@Vjl5-Ub?MU0MNU#Bc5lsBl6A820RWXE{uG9dQo+K|M_XDA3*|1o6-MbfIx66Bg0KQl!>1 z%f?kDY@JdlKqIFcbY0zIEFZ0D+z~AVes5bri4b^l)p)K{j}^x@jLi^XMK~(X4__6U z<~FyMQD8`b>uoy7jAgClEle~oIJbRSslIkoyje*1PG1Smc_ji(pionMjFlk65L*eqEt37}{;Zte*@q!tpXNRsZ zx{TA8e3xA%KJm0|Jeicecq_@l z?4>ftSGJ0Ddgj{7wQctTBnvIuSz;Ii?3bPILh|roi^93FSreu%o??>yKyOFCN$L#1 zj0iY{NwX@k%IR`kYth34jRZ+2-cihDl)Au*E*Pvm-7V(#n%qVp7T%2KA>?L|<68>wCIVw<3)cpQ+_A!$CcM^WzCt z(UCy6MX@-xnQdJ>2K(ACDd)2|mNvXI;w$`@Hm4_2YO#&=&3^euA17Z7nn<*+z&GyPAiBq*G zRpwh@OzY&jan3~=`W1;2wipi16v5$5f~NFKphT7Q_~5`WVyM8(igv@$+K|*0-+Uze zh8xq`X8&wx!J~Bc7+9k@B;9TbcGlB*&Q+5;0DTb3U|QOOY}wF?ya8n1@@#QU*0Y98 zhxWeJrTuPNB%QL0(wlqX^1*COgt?PaMudvdGYNN&x=D_5xhPAmd4BA<+&IaUDcfwa ze1@}8m5b%7F@MwJYxXiBEA^f@2b)F4D3I3_P~P?ijEycK^(qY4)^g-&*W1uCOg7Wg zg&b!ZThez4?)U9(%||=(=B$B>8@H4n=5@A%)lK@Tamxfu8^W4Wf@lXo_!!_@E6YuA z1j@>{co%q1!bRuJ`3MOJ8NQRYdycB#^WvoOxC@*8p^Qr}lkV zHk~GF13z|-7=LO{D>nO74stDO98%q`MZ}HpUqm#k&8nRHX{R_rKv3VAuSU1CYxUWh zq}0a3hm#2-390%)PShTfB9QT-5YJ4Nkrm2LNJFrs_cW4i8Vtf-fp@ zdcZbkaeyq=e_Pgsn*r0Ffa!6{GFekjK=ruK(KXUV^YlXRr=_~TtkI_tZmrh$-0#pi zdokLyxj^%n+0P#P7C$tWOXf8eikK3y4x8phW$+A?##-K&VE_?B?+yI0P(o_?UC3WP z_iN^B^Kh9o*|r?)u$!ZbnwVf1%#`ROAFbMp5LHZM5HbfCm6F4D9U2*nm7RFmAVDq9g2_3$bY%{C3iPe`n-)M^8D4q!gOimt?!x zJ*G1v`}kW{ewsrR4_VJ?Wmhha$9<#v~MxIt{gNFvcCpN6%!O>@Bc|xoPX)Xiq8BqaYqp_`K?;I5tW?L4JSQ?}&!n zdN!!-cp>`qn=^@j3q0b0D&k&yf6a+9ago8(+R&{n6!aa{eOGz^!3sKi6+r85}M>zPvkOsl(?Tc-m$0)xu?7N_6z(L&%DGINrBKz}$IR(z-SQ7H;gGk_wXA2U7=ZQZ|R4;Ye{gfsbp zR@eoFy%h-9(ryyI>+K*8#ICEk3H1{9z88{Sr&>~>*S%4weu7RXPZnC~qn-bgu)ps*E*p!{oPw%0V>dyb&smB3j~p=0P0C$xvcaic1k%4Ju>h zM?UN@KItHf6;Q2iIbB@lZ-*&zb_gFYx{et*DQUMQC+%jAh#$ZR50 zmSttw<=n2kTFYA>c%?SG1 z&YG>iyL>6(5q&~c{qzxxK#c>t!R51a4mt*bm11?&!H85pC;kkE8d+|tE&D9yVF4U_ z&c?{{QXx5fP1;Io$if`Q(d%`5zI5ngaJqHFFJ{*`^F(tCMBJBr66dr0migtNyw37$ zn*O}vJm~E0olQ6sQ{x*>MB?AOPx8YFIhh1jPqwdC!yLlC@0hy9Jp!SnK=XA;`hmzr zW2DIw+Fe;U&WZYL!NJ9HQ* zOJO`sdiLss3CpG5+w$9j}oiorN-&H6hq8BS&n(=wb}O#f zR>ih$+qRuIcEz@B+eTGv+qUg|S(pcNu6?bw=N}kHU86sD>kW4Oj|^!sx4YVuUZa&r zg(aJ`n4&DE8(af8++Jv~D@>)KOdk!%m7z|b4M;>P>hMPl0ex*?=budj3t)(axQn2$ z28iU9V@nmDy;RwIUp0&((zp>DOy9NNX|~PAovxaX#(hdq$jd|mI0a5ujl>Y)Rr00w zOh~F&!&Rlh(Q_sC9UXChc7M>b4^X`m7rumT8xJqeN>X@+pYdKwhF(J)uZSV6tWSl$ z59@%wwM7$+J|GyT5?SKSt;;}cvioB4Ys4qfrJOqqzn}t;+=<_i344C6Qb35lN5~$q z5pO1Rh)ui1o|Ch}N(_p}nZr9b+U@j z&(=X@@}@*Wpc0rz2QWvrSDu0q2b6w0-i4FRzgP@dg7Oli=+i_y-^BU6XJ3U}ABpY8 zG=u|vFCSv0-r=It7DV2g{_r|vABVwxw3d*7Lwx%~e4`~>*}&F!qv_d$|)^XIP+x{5XXvQzEBHe#MjZlfeTu%G()3U0DrY)4Em#D`AErpT6I z^%PkgA$?%Ti=FUXJIRZWGeKarD_Xs502$RXPWD1X_k+eFz5KXd+;TTycQ!Aoh%qa*E?@``t@hXeTkfZo$SodLtHkm9R4QcDOEm4m zktSi|mriO)GT-Jj!XmWk#_1mBR~y!I)(c;hp+`OWf;>X-?Fgu1TEL?0VZ z%TAOZckFzmIhzchfh%F{%uA>&P|oosi~2Vc9miP943uia9atqm*|O7g;z9e4q=BYq zbMr0CA!G?%`7o$Pw=x@AZF*e2#h&ZV)t*i0s;=wrn2C$Ci{HOIH~@W`&@OzlE|K34 z4qX3h*Z3c?A>d*y=xkyA-OvAfm8g1Qr=)`Ml~wZ8taGBj&AG?`x;{U{2^9^w)=q%E z4Q?d0UeC^lL3dHtbw115;wmgn>_gA+36dTwo_uW}D~$s{#f98Pmyv$=y$O02o!{0n z^cU@B&*wdAJ_CRLTRq}F>8P8%b@$jo_Hlgm67d6X(Edlo3?e^Sd%1j6E7FGKJ$YRT z6pNd3SeN8I<;+oE_Yc*)z7P;zZqnQ%Tq1@Yp&nn>L>WoHZGKXs3*NEeBNJWyA$>wm z>f}*VrR2z>+ZE~YarW6s3{~stap_^>o;bOfRYg2jhY6@Wsa(r`X%iT;S<}{N$&0;$ zkap3bb`K0PbBVpy@fcGv((z1R41`iz+i$6ww8OOf9mnHtR0ihU3F395HSXR9FIy7J zxd5CD9v9(-!d~bA*BN*NWFHojwNjN-MtTA($K0RIJ=Lp13z8z5+KTwv6c~=<_BEZ% zVVd@p2F78NhiRL%6gY@=#@u=s_Ta4e$xto7+`eRQ(Mj>tNyzGexc$>}>#|l)DD{>J z<@66XWW^2BkZ*=g!FXp}`7fibdxaQ^>vDafey5?`!ME;gWrdo{!fK@*c=SaFFUHi7 zHmQShNL}^N?Opz8TVbyiu_02LlGSU!RGMAK=&NqY@d>TPgqX{MY#&Hzq41K{ZY@y) z0d{%2j~@X7Kpx6j2~Sul+=XOiFNc6g0-oe19@eK$S8Fk{;cGIIXaIo5Y5Q6U9Op1) z-Rq0xe+xG!m3K6w1+IgNApc&H270j-`BuzHlcl)^Gu1Cq&!q5~*iF`^=~Wh*#M#At zUBRur1Zhpw!Yo~I~w}*&F)PeZk^3m&8t70Ss&JzTgb*c@YHRN z7Ul>rQKJIBajuAn(!3>(p^(0j#B@dbtnbap7ssn6CGpz8q-VS(4@1hnUbNU9^4O}pprfloJs+9{c{&Fme{ zbdPCz>^MG)o?24TDy_FG^a_PPx6~@RwTin?3heJ zjxQqWKEgatPlQSbk?Vvlg)pWshUr*E4lKb093ZSQM<3zxU``KY%SaGj0xg}gdosoz zp_;-k9WCNf*F5nNj#BozL$wn;+M35`TN;T?xmP|%sHucW({Ik8JKx*ly9svQ0Y-p! zJzu@8Cq2Hq)Sh(!_er*=h(>oku8=3&WKTaz^ZuiPR)68y9h6SQY>Y>vq;m%L_@2xE z9^&aht_9CoBX8skguO+{A=9?ti;lN_?Be8GPT7`tNe7to7}Ji1KOL-Zi6G zOPC9s?|(l!N)ojiEG``x*vvb9?@eK(q3)7#k<6bzXmy|S91c0y4}q-5e6#etoq+f- z-aHS?tInFiVfOt}`{d1Zv80F33!FOO1^=E3MHrf@y({n>8>>4T(}+I@ZkouVmGY)44_I{W#n)VCO*YRxRA=prvYmEPMoRr#Amm~d5@4HCZw8@I zLvz||kQ(D$)r=CHCcM;4eLCGi7?arDzP;`^;k?lpHLkLO!Zq(ki^ew~bB$OREO4-L zImUHAa*%9yz}9FZ!@}H9zNxo?fJ&zIDQ3N69GYh~V7ZJ6P)iwNaWhMpf#TKoXAznWYY~qPdmvx^-HhK8NL0;%aX>a3foDUe_Z6rY5+m%3opRUC zU98_AtA|=qP!&g;%R!VW+4L)cKJj)7xAXZeHLV(FgyK4$+CO}@y)NL(HvQex#Xb?X z{{Gx@9wH-GBe)`rN?I1v;xA;|72LU(aoDGA?RklF`LyTao1Kh_#VsOV0U`H^oOuh7 zXK`*9cHe7V&wuC=p-NZ|iI?;7OSvF{F7v+j3P%*U?UZSkkYL*?meL|=S~`?^ib&@R zOyLuZ{ zVi{{`OPXCxjvl2D_V;UX$$`}LKOCHB1H{^j1E9?f#YbKWF zmxq^%_X*{9a*a>|082?1zh0~OcVpeQL9X)<8YY1(Kr9W%Hdh|T?M%(g-tU&4@PB0Q z28I7*RW5Zy2=I4`EQUWgi}N3Xs)s?WF>61`_s0>smv@_V&+>#>jYC-HsD)WNpzU*M zvdKBsS-aHKzG`otme~P_VI=Fa3~+6_+q8BC_r25slJOKqg=d!7WrC;u zHg;f^B%+pHOK2{cBa=m_B2+qT)Mfe@4!l}1;@=FG(}r}~#RbLQ^!7^YB zwtNj(5~{K>u3)>a(vo>e5rwNVbPU|QL(UgVtW>b1xokd16EVegd(jJdvL^D(wVJKMFBzUZ zT*Ug2QJ97EET-#<2%_^v4_d1Xz^s&I9dV=mk6`G`=s(0hB^}+=YWr%LNwnr!4pTET z*-zt!ZcE3SF<8ymx$5W4EUlpLkfTK0H}RWBMQNRoj{=5-qCBdKbe5H5Z?FCNRDv{ctDj}1soi5 z!$hcox{1T)&56furr1cK;~R@YywgYQcGlGbd3Ar-J#YH~+{`<@EDlI{fYv3?kslxF zuY2ltB9`ZqYV!!5X)j;)I8CIg%Uffth!4b-M8Fvc#pqk(hmBbB6=j)Pk)d*h_n0a_ z!2da9Ylo)xHNO9u1i!`R9RFUm|3}FFcd1vgk(-l8@wr^BI>P|ob;Bmy&0NDsboB$e zr4{B!{u$;)RS+#`A)zLIopX%84UNw%AkED1DuVnwfgyV>sSYSClI5a{=PCP$`-tPn zrRU4%1w0pi$|P_aTM+ft_}+-WSN|trFfmNXv3DS!=nD~%fpjmsko~07d4bA=!B4vM zV$&%MOWv9TOyJ4p?3f4o!j$^O?D&St%sh&=P7})Z6Z7UWtkHPeOG_%+ogO5IzN;31BD&p?iWT>oT)Q_N#musPV>rf z*xU1{JzN}O)gCg-I3ZZwUvz$ro~}+9ku)1}9^oA4yJ?I$DQ^%P5Qg>I3b8njj!odw zoEgVs!;J6x>uMO5>N?M#)9!c(f?C^5aqdfID5FCvD**WOQsjY!|3dApWO4@7K=`ZQ9Cu83C`K)iQA)vju8;xj`} z>qKx)1M*j>o{xbA%O>UY%cicq3)z4kE@egM(AEpwg$&RMnFF}?%weLK;qSaJHIZY4 ztCn{2re=qi{L7STm41??)N1LR`~RNqv!!l8K`1aUdd2}nzrUovqwZSepMBXw)^~v_ zb^}v*#y*`q?f|W<-b@o&xhV>B{r+_ghd9}G#|3N_>m!I1L(u*{5U(GGWRovqlYjiD zfYByjcNt^D=Q*9MjXEYGE`|ccZ;(Ca9nWW{koeKzb*YVnCYyjVuZzP$qTctk^w>@CQ7&O-iifwCVDs@MSOf!@z z)&N7B{GClI1us&>Dhu>B+toPi)pk;6{Gddx=DC6Oe#|f+sMc7iLyjOS)+eQyh3TBQ zFD$GILsG#@3`k#fGEK`(n6r-}9zHJedw*QUF>Q=UA83LnFpl`$O>sVgdu6CbaDsOi z^7CY62Go-!6_bpL>51j~g*RfT5;Z@6GgeM><;_9&I&hF63qrmg*8NaK&ZAu!ZIG|_ z0;f`&jC&5>C%Yw%EBHbgAXw?8>3tzbifDxm6la(XBCH(Ta&&U+HCNez)v%=1`2@be zam4@H-Gpr`c)w@sph+4e9r}uN46U{0q{;^Hd8!LnMav#+$|S5 zJ$ybu>Vg7({@OTzamv&_Z_GP@`1CHb211GmKqJ16dJm{iKa7oP-Aq2Bd18Y_>WTX@ zZflFB>mImId&M5Ev3+lzrh0*AXi<9YsJco^bEWa=Wit5kLRDvS>omlDREx!Cj*i|u zjXrF}2Hav|Wd{aQ^B^NC0L!()V}fwXe1*ZuO3PJ-0X{R{Jl23iILXPgX5QqK+3>D5 zARQj4MU&>BV(q2Z3tjbgJO&hL!Z-qkApyyG3s9y_sjybO(I|N+@N+BPV9Zfw>#GdtjMGyGixQ4bZXgR??yC3Gg|#CcD!Wc*3?vC^(mv#7bc@Ifn@A5qPJhG?2Dny3*-q;6W4VSyh9a)A_qtr zXsi-5VXJI6b}C%@22`oMa6&wf32>2FW^e?FP6X+>JCymgW0OzNy07vP4NV9Nq@ZUU*cplV=}(>_cRb{;e=%|zdHx|$@jYSTd{0=S|K5c4U-|Rjd+LAw zvo2CuQ(RL;(GiQMF&3up#}G9CMFZK5dN3PE>_Q$UgvADz28m}XnG@(`Nfk#Tn#^<$ z@`~$i`8FHk0-m1cQtW;%{Z-l`{S=2npBmEce$65FcHXtP`h9q_=jBE1$I`X>_cxSM z|AYr?wN?=XaP^|mniy1s&gr05P?)PL+yI~o4E3Z8V5lf=TT6Dk!^^`VV8X|qfKkt! zRGswrpH;{5HI# zg$iU0Xtrq4W;%WWb@g0+mfQoh)v4%`;A9DdPO$^Eb&kXydUmWsx!r{=ReJES>Fcuu z8&5ZPM5tj%3dtjS)EjoV)Q;-!2SbkADU_8PlntIF+ud_=t=pw?!D*15Wt(tn728D| zEtmfEgHb|MjZ`86X1ewYe(O^{R)&!z^~`)8+i2OB3*rB*^?IPBK^Y~wjM`-5!e(xc zv9IluVPMTfUxmJp!4w@D7H)dtLHorw7;=GK0fNm|y)X&z49^~WVLA*_V8E8FfSqf?zq!#ZBkgV-ju+2CUb=@iS5^#%CB%Up)S+Ylo%@$W!7+ z*GBfFmhLogMy(9v5x6p2E(5=_r!#U zb^LhfCn&Ko!k*Rg+&`!~{guhj11^L%LmYgC{cwL_X3T>`zKeG=ZkDh_fFizw$h?Bg z&E}*geD=oQgX2$U$sPxWiD(ylpQMtAy@B46_e1fL`2bP~;)TaQV3iNJ$ZwzWbpIx! z@G_nWO~K@v8Qv3qAjOg{nWM?~h6w)({mCZ%Q2nbM-KgA-;T5`ZN|)e)b27d;t|rJi zvGVmykfB-_kRf@~mzNJMFQEVo$r09AX(+mAuOVxou?SGYgHAFf>Q%S!|6ES)+oZUkmFAxW1uy&*Uj$r&lFL}zNE6V$n7lZzD4?Cr-^GldnRAElb6j+ODsih`BhkA z(Nie?uU6Jn*R6=5-@{u7?EfL2{GZKJ*3Q`EzglOP%9 z-+&106bpg>(aIOtqOS1;2`ru1jK3rGIQ^m9L~ZJkR{Q`7EC*~dzxj+)p$?M#6v|kz1odsK>um@ev1>ftls3#F8a z3R6bA)s_8~wlPMfd`}?%Up+Vk(4mlmt(J!=#Q25BzY-Jh^v%cXt7h3(kcBAP?bm7e zscz!UlB>rh%oa1pq~H{XQ(qEK)H|P|EGf(syxSLZbo9L3K1K6)Mi&klXV^sx(An== zunsjZk*Z)5sP#Ul(9@jAsiYFPL9mg99*TdZVmKWAlJ=pf`Lf=H{E0qR{8#v5quqW- z&}Xv;Sr#EY1SP(PI?X*jVA6x#0!oAYpit-xvSS}%MRv-j%=jQ7GuevtmjZ%$Hbq(* zSbaN@@Dyv%F2Unre6W*0o@RX#6cfo%eZxYTr>g8n`~ix^pQjnXUQCT;$BlnlW>OA1 zh7FGK29q^oLWEI5h!u2Vxe;~^%L0{#Na(S&!N|yP0vex-4ojrVjSVh%urs&64QI2F z{E({k;>=Wj#sI>ai+)D%7%;B$?#Xh<2j`%@@DR{qc0Z(_y7Ns8jlx7>ff10qTONg2PEvyQp`B4UvRGdg;a4A0sNyi!;6xp`6#pXl!+yLZpW zWtkpUhUpq$?>`Hq-q03MyTqOqkKQV8pXDEm&Tp)j=I(s_o|d%Fc49$10uIAXVkc4o z{A5Ih5~YPeJcGDDg(~?O5>Y{6`owGabp)b)p zm6u8}GJ~GuOT9#tyGbdxa)rF4oG$a!yh4C(cwlZoTq5vwJoa??bMUNm;nnv}DXIsZ zp}!ehZD*Eh=V=*pzLG1${xOUj#zEhh8M)>Vwmql5icj6!0<$5yKgf-Ho&tNUiCPDR zg4QT}D)UV0N>jP`n*rX5))1$?!4(F-Eq*-yTEXihz<5YUZE1u#mi8rpP?GcS&H#yJ=uXrX!Bdy zc|uG(pXLrC=jLH1-Ku&m_@<2RH-233zB1$3+1SD2 z6zwX2z37~lJY)IYBni;b(9}kfS5%lk*1MTQCLAoVwA)f8k~dSzEX$s0_CZ)-@u~}y zfLP8+05rL`6=v+?6%PgSpPJ;zFOW~Y(P_}HauV z{-ok73y_g+4Cxf4?4ejBfneN)x#`~2t7TFTX}6DFO_x&NZ=J{NGrMQKK(A(5HFBNJ z7Qd*0hd#RG^N2UPB3$Hsg}MA$n%uQ;^$unSx+ruekfJ-Yef5^yyOH0Q`{#di22V-W zgKtf|1nZ9<^#9hR_g__gL&M!md%^j0(%R0HIo@Q%$lcl<1mreyAJ)iPf>pOJhz2N` zVVSgfXf~2Z9WQKV*v$Ykkp$M_5tfaB7)bc1ggP~*VKcvF?`);b+_}UY@x&~vO**Jz zz-!jqCU?}iAK}bn%~Gs9m|&{}@DkZDRJ(;dh?#T(1Hk|4bZ zUlLV}G}? z>39kgMJlBx4w;CPcqRoW^q?QH%UaFdSOO`ahMC6=jYb1?&=P8F(2{1+{7#T&(XwtbKAC=TOeDE-smr>ykR>uA zsdgeh0?hBBEa0N7^Ve+rM6p9fdwf?{nXZ7n3~SCDq7*HnFq?6`r&3miLz%KweF;g< zD9POhhk)C_XLXWyTJ?fvDcBnu4@ptUcHq?ATxqt>D; z?QDuFP5*B*Y+-swM~A1Yn&su?=H>aibn>oQf{x?GMYYu9C7_vG%2jB0Pyw06aYZI$ zV$_ePtZ-)jouRUGpN9JUYyxLDx+v(Vy{5xa#Z@nv3~%&mq{!pR$j0-^yK{zG zxfY4G-U-DCY~>JT2I7%3+3nICw00t8U&csdv#2_|$R%gYti7SDf~m`rU_RWsNPQyB znzToHyDFnAtz6q=+ylqGc=h%1Lh^uhyeC_1^;K}${`k^4UO2XS1 zv?729%msR=R_r!nA<2bvL(bikccm`nZURXdQi>K;noeftId)b7yOH$DmZ!GiES&pp zS4XXg^H!!o?rPTwugdgJi}M zk2~66Q*z&5y76*%C$n@`^|cX*D)xSqM)w&M^>d+=76$?u4f-+?4Om^(#i&;zdu!#! zc0Ln+(aJIHp2$Moxevb$tMaQ7SF{+eO-D#i*ObA|!gja9tg0`iTo9opWo)B|RE}jxOqc@fM9@DIyY4ycCh<>t;`i;)t2)?3eqTu+!c{Yg zo>f>W%p=AxCye;;-ln5U;Tmq78zSrl?npMJK<{KPY-z*rz`9{j z>N9~(nJLL=YL3q@jY2h&&Lv!oZyR5nHja_+SByqZCU#mfU{+WuI%qNB7&u%UY8X{R zf}l;6me@i5MtUA;aHlUs*h*p1EB}0=bp9mAny)b zrfjWn_uf0P?`ad>s-MYuuYKuGg4Wzm$ANb&h;s9XbS6pYtIgoL*L1*y&21|fYa=>$ zyYr;J^+)aSxN9>O>t?rV31QlBLevFmXAH^Yrd{9MNI4VNNmZE3a9fQ&B-a34vo`_l zYE_N!0_~_H^N&R1vM~ds=Qbp6jF|H#ILAMk3(?{S!68v}gunIN3@88h#feXaW+_lsEYU3PZqS*=H zm_0}-4?>5geL^=ly|8V|X%RBmvBrFR2%Us6XUEyB^7E@*PsDfOh%Wta18EG~BT5H5 zPz@*O!J7U7O?MLusueY=4aUZMi-K{0&+GeRBWzHE(*O#}4 zOA*6B1nEmLg1s-&ty1l_e|6<Z$iKKhd0(I|_v$ZYx;uNp4A3-FCyKRbD zoqHx(x<%}^9y8gzou{9wHp)70yiN^3y)tBhk6V@6TVW(tYkk@|eEvW+ti~-LpLmoK|D(O@F+o(Eh4xy?<6TvO zJ@;*1K0@I)|L?z(Ul)mvXwmM$tui%A``CaHQ%yI{}J%O9el#CfA1W5!Y;If=*OrsaSq}M3~e#tn?0?d zdMH$*J|$~z^l4TMYvtg8=zQ4YZgi<;gNm1V|FVIrHQ7+L(Fe6#usldi&>7A8j~&<0 zIp~YtrN!eliAHQTP7m$BHI{vHf4$*bC1Fx0qeP(YbBg(UD*j|#n?(aZoE@}qW@88! zHhqHjK8Pu7!sl=wm-q4JO=#~sH2i_d=-+T@BIPp1=I5|2f^`o^k-wm}j44`i%|aY@ zMB1ZSZ(i@^%Jlx^;OInd;d=W%F1Ov%`*U#bUV-!qq+0qhxCIqgD2Pffh-m71kqU>R zn#uB7IJp98E2zi5@fwM3|LAGF-;tazI-EvjFFNnG%&nI#^u`8OS-hYo&*#Sh!&a>- zsSlXKE}6)QkkYXbQz=lAW!}VW(y6o{LIrML4qvdI45_MH@zkhw?ZlKPLc1aOvGNp(;)`THlUt&_ z6nv&$N$4FtL;y4BG1unK+|oh~Rw9eDB5YlXu-`C~o}gg~)lEYx4+t`xksHPs)I)q= zEXCTVD|M=)M1sfsLTJE?1m_E8#4WuLlkZW&?yI|Y{COX+C0g;@y!P?u`)#f!IHuOr zj-qFq@UB#<6KF%U(Q5KHG_Ic|AYlf#8!3>f!4fg>Ymzg#AxCjON&`|-t}WWImm#x{ zr8PjkwG00!2}iYV)JT<@JJ&zxVs+ka{1#UzE4{+5VznYhF=+!fqL$BdIn-!pN63rK z8;qNrFQz{04wP?8mgXHqQ!QkiBo*UF|n4p7MD8)1>O*zSLV!t?Cu4b_y>ie zS9-(SiOtgt1b!}!Hy(apKr24{jtI9u{vNqckO0h1>hm@E##IE;z@B16i7{MuGMJla z`i+T^_*Jouu9OjbZ&I&z7wT^bU4q-6*f>8cfKbLGSs>`t-`GEf`{vA*(CIH7)5iOJ*w$WK>^!kv##aNL zBw&MF)oN1YjafY9PUqKj1^)a-l2XrbK{C5V{wa)$-yT9@_fqZX8C9an@G7D{Cqm5Qaz-Wg(hDf4lIe;c`#;k^chLC z{6WnpB~=IJ86S!2bu@q+LqKa!cv0AD2;YI^Z&cdT7X}zBu2=6=I0Ys{Ix-VkY1H@#+aTe`m;(|f0 zqn{W}LmmbO5cOeSGTal$)MQ&-98C6CGi)slH`*VIN8Wk#jq!r-^b#)Y!e!o7f)wN>p1PhES`I-4hRq9z_V6dM%z7{_+ zq07=E>S4sZbb(nvI7f>^1@FBht|DDSG=GYxxTm#EQKbeYM0V5|(&`#z;`cH_?m0RhV#B$5CpNEwqL$yG2O%U-TC}jS_na8@4920%D~9elR9Ib40ar zWVLdD=#gf3{W9Cma3JlbX}A{RfaXhayv7dOa~1AVE7GO5pf~d%nYw_=K1yhO`vCxO zWgCv=OR(%%1pMY!LDvW%wT>wB9{F`<{Vtw!WS;GKgX>+eCp*>G61qk~Sb=rGc-y2V zZna4!fQ}qMIvvqRba5-*!9Ba5XUYwor%{u)DJ%1=$8f1ajPfPBi{t+7o44RIwDuW( z0Exb8OT(X$Q5>@S&{zic(1)Q=*_2v2c4HY}BG2ouhvq#F)~=VPo6W9nq6M&w68D!urfVPt zNmWLg=?Z|_5FGHS#3@-288>3+NH*ss*5}23T49IZ+z*xrQ=f`x4(YlQ3S}YKL@fks zH0Put%TnF1s1d~CK(J~;(<~8@5!K>IhDG2#XbAP%TCWdV$zylFbHsB5W&|7bK9~J_ zIV;EIsAS{CzuROA0LWM#a$-%oV^c@H5s*S)fy|wBv0-ZY;8c zDx7iW&T381Tub5Av&0mTRI?ET!YMztKYmqc$H}Ihs#QFqpH{5u!i5wiJjRKhBsRvA z!%wW~1G<;GlQaN{EcFTq=19Joao8dYh7Ve{hlw%;Cx|QCiTH5i#JWG5<@L1KI!=Df zYIic4naxI&LM~5E#eAGixi^X;tx2ECQp(92-c1Us|S-Zrb-@TtxTetA+_ssS&6PZ7tSFD zG@SQ#6e7DyKs`xf4{%tqte$S^Tks=@16A_@k*|{YQleF3sN-*nW?FUjRu>dNXu$$juYn zGTvc02ZSw3?S)R^hK_l<`B<9E!91^4d?Qs@Z&{b>s?J$$hw2X2v%54;86Ac2vL?1I zOF>!e0b@Th9TUf~&8}fxsFE4!>9}W7E}^QkTj(2XQYw6x`6R~3o6NNGP_SEI_m04} z+`JLcBhPCI3WTQK-sgRsK~FJsRXRc=YJf>ERf-6NXa3QebX4lGu$FsZ`f^iAy@n78pF)Yk@Y_9Y<3~4Ww^OaGoJmdkf%O- znji@jKLZl*HjlXjlUr+{%kjN?(tLS zDG7aG3V&b{tIWB3f_|cD>}%tYW%~`{hC-$LH3hV}v({n;H_GkEFu_!FjK=ZNDE4>~ zEidrl*yvdEUeKLTdxd>NmQnKj#0^yOz^=+Drm^6HQ}LoRcTA=HF8!MCN0HOZ1Gt+n zfwz;^-dsXx00$7%1Z|2C=u$4(S{RR_&LvviB%a0ma&nY^4e@bz3_XxD>NdAWI5Ye- z55>=zElN9?O}rz-#1oeKnw~QBDS7PjAeH&cwQvUkh~pJ(Y%m+0G#7t+59-bU(KgeX zIUpLF^EG4W%oYvgktw}pHVQYRFm+EZ_}c({2ZB^IX09V07qkh)*GsR=k zD8mdSKAZLYv61L(C6IT@g#COaQj0rfk0+bTKE#ZQ_hQ8lXiAn_&PVU=oKeg^l+vz% zY{RlXErWipEGq&Yo4YP`VZC=<)G?t6=L^+}p#9DJxoO0}?bkCbU4+ND-T+^NoE}DY zUr+5+U&XZ2v)ZB1Yd>%3@4g<#l7?%J_h=SuKi2q~E}vB$zKiM_c!NhM+`;xFyO6Ob zKJD%v*O$*tfufpRL4}doA%;)t_rJaPFFA)MdepiiY4ls6X%M!*A0(t%nx+x14tM5C zt(ULOdj!YMWUf~~`a8>8CihJyETGg@QeHfRY+~+g_gJElIHMn+K(O)pL-`EdThL$B zj+wupI6fb82JZv0Aa_-kn$)oLe=#dJ!R23s-eEk1^0MklKeg{84hvzt&?^reBhY>J z#V#Sfu^h|tXgekB;Piu;AK=y_O}y(4UYYvPJ-M5kROt zmm;RX1i!%kd1XF~;4L!pE!zwK1|(?z@0Iz#NcN%>W#rcWQ?eHTNauec|L{*vBn4V1 zO2PA&uP7Cd6XZYuY_U@{l&y#~&*?2l(N(R2?5^XhIGaD|!|b0WB$Mg6Z%JB^+6E*GUpZopP#4aJegoT#nMS){mg_V7z6aPwUeN z^?L30i|Tf_+0D#xzn<*z;8AYc6%I<>P)p)3DNgfbqA#W8IfVs>6tAfZWlPH!bP#a& z#6ip4`$gqGGhdkMH9e2sA4;*HSFuIyG3G5Mt{t^CPd4()yH~&2&g=7m@-%zMGYTt^ z7{#8jA&S?)3lLq_hOs&5_kZy%pMDP^ko)G#j=rDC|5vsBKk+fd|KO4TfzT%@ulbWEeS*M-}HT(qxD3tvT>%1`l{Knva~5 zY7|S`ECwR(!pgVtfx+Z3kqG<@s^qP+)30Q_5tgHQ6$lZVY_xh|!0~QaO$)FFGumg$ zt`I#;BJHIOPV72LI>{26IZ+P~gKWX8hyD;G;>{hyf^Vk-Ahy^ zqIMdqXUE~5LV4z=XK*gowY;`QG-Ko^a{@-=>gur->yfnP5x>ECS}g;+V-&gmC`n+B zjYx2_Vd(?^{H#9s%Q<|}JbZ*PQxk*OCVn~ah}>6#G5$zf{W|4OU{%WBqUYFXyg{wh zT?v6gmBHA?N5SIM2ADr-%EV!Xn{mFpz9j`eX?V`(qwHu1oGG*|&D&1e#=yhz;`Fw4lDJE|&lQh3g+N`p*QU?NXH!O4=@H<~K8s4FdI( z+?Mc)E}RZBP`Eou!K|sV`0W1^ns+H64_ixaZaK=n%lxM1*DsE)zHNsi4JAZzhyaa- z%7ZeI5*RT;{egjN0FRvg7Or>ISouWzlsuEa4q06+8z%Cq)Kad8(p8ExR4@!rZ3+_b zOvY+bkI|aV7xiTo2jMnl!3U?&MQNwy23_+lOSn3}OS>rLrDtkkT*C>r?B#6(1Tq_1 zoP%9fXYf^Ao1M&b))+?|Y!_%P4ucOd-g)T5Gco$a12AWspu)C-65Kp%EK?I;{ZW_j zQ5M;tl!OT6>kKT`6ykR&|hg z_&P(5+xfwSWQxftOHil}cL#-5 zTdMyf0LC%_vb3ZmS?;I;(i@X8%6+bM8Z?H*!zl(H?MitK5(q;x2Xpc9T$g_HZe@;B zb(n=i&Fmdg2QstN1UBITfz=WF80^a%RGsjznXf8CI}$rI7K$d1AHUwO&77|vi(iPn zo*ogoeRsyb^pSUs-P@i75>#$f(Sy?xRzYv>o;uvfQA-0qytA{tYKp!P&Jp4QdTPaZ ztogc0{#Sdqd#)G$db97SB-D$v}CvzX)V4`(=|}O&)k@K|A)~ap+zC zOK=Ki>K$!nSb+Sg&kvtv%-1at?Iu+io|upUS|T-onwpS;I!{YoRI)Xu@%j(Z(izdx zhzYQR1ePC+gK$@at{`dd$<;#w&4mT&aF4yJV0Q1ZF+^cXUl)(R7dIOKj+C2JQx5CY zj@Wz%LHUX!lGWo;A?|%j>t^(Uk6~RbfubK!Q>a5FNL3fHQXZg=Su#xuWek5EpudSH6GThcMm!&^% z!(WSGPMr%jX(j|2bEI$_eLG}$G4c8Myus;1&^Zim3&3$$@8|6qWRFka;N=zW)kTxR zq+L%#O3L7(&UP5Cq7(clEAOg<2TG_PVbh_txtq8akDR}B@E%I$&U{8`Q!dlgx!q`$ zH;$pao4&(rhg`En4reiU#!A^OU4T;=dFl$|L#oMg!}=Y}s$9U_sOGTm;YW1gjfm%A z1fntzV{Cv?x>x3BVvT98uO&A3E10`rPsiS#Gn=Uqne@YqS_^u?c$o93Y~UqNT5yQv zD7K0tsRc9MA==?I%m|gCAsh_?k)ugHbzZu+suWZO;AbCvUzb{*&>a|bV9dXq%T+UH z^#=+}1Y}n6p2i5QA8nSpKFO>|^$SL|B8T7s^+ax8qJaMkGhFDDraDeHlBh2HjK7dV zxShO^>cun4Rv4vi^Vz&pG$YuG&?*YJZt)&AHYZ<2R~Itn_lT3{C)gt5<~Q?0j4kdT%36OsC$s>(U)j zTydQdUc@Y(fJ*?BMMj*iXf~xW!k2Tsodt#G^EiFo=RaJurLcc=XTR$%`dcH<^uO;9 z|EiDI`F2!c_)e=HYkuqFL;d$g27Mqv-}!NA2`#l#_3I`4-E=t8g689^iPC0&} zh>!GQykvr@zEcf)gV7vwXl*gYjsmlb-TKmJnTLi+t3SCsb6Kg{(5_+A7Hh%D@rpJ$ zGnrTeaH+)Hu?-9OIjT~R+(y8>bSKnn!OW+33}D9Z?_y7VU_F(KPLWQSud%>-O>uMm|> zH+Nd$V0kXISa+eUQ3#Z&yNq0C;F-u|VG@gnqomR6jIdFML~~|C0;~th&N7;GY+r-U zy}%Bk!erY@;qi9d;6)6)I)~`BZ(yBb;1IIhdK=qzK}`}~7j#4_m$ACdQhBqgbwV^9 zGP1|?Gz^5=A5zi7u!0=~gpe8-@yt^Pg-)m1G!t}DPA0JM3`7TvD$QG?G=kfl@?xdU zvI7j7`EceF(pwj=_M49+#n~4xm)c{!sFizAig@heRECw(lcV&f)n+WsdMbha+vEAf z*wK!Ia_2kzq9Q|0=PYBZiA8&3^Ov*+kD*K3-q~t5-3GhoX`|Ac6~#5a^LdsFa6FKERNPzsR*WEW5eRO)pGq?ON2iGv8kr|^wxTQm!#Ad3nD{m)t* z1R;x*o~Gd3X@KQK{@&V+&XbAz5i6oYUJ**Th%2@(3B`wt&pX5ZO72>9KV@CvaN+ZQ zKEVIcQkVG^#U&AGz~R@?n!*qER79gbKCc>A0!~>jL0nt8cSbC_|4ARFKutCVhzlQ~ zw4}_YCy!ozP^p}?n6iNctGZ+5VUjC`Cd?Z?%xXvcEW=~ zQ${ZIXm~m^l9q{hxvJUdnI}eZi&x6Js7=$>HnAd6h{*oSOF#l=&QLsJ3)kQ^|6$W+ zX)_zZRLd!}xzpV4#D?Jr(l3ALKIBN)teflSjPpZqAQm|+Zrajjd zdy54NE;vuyH^IPpi)}JxA0rQTVhqwubmm}&omBcKQ;THKYVP zL!Yt-@FMi}_g+gTnp(`)+Q z!n?ug-Z~jXoGCyIObO_%+mEx}VM``=2N~sR=FUDPw2K@`a5`w`yPU2vHNlIQnB<&D zh)xnp;i;YMC%~8RsF7a=plV5aFdQ`oQ!M>=0-dxZp4VxBmGl zXW(DLFfdZv%hW3ChGkNcnL5CI0WC(&u|5(jMqqeNv^&uO<2OinzLQJ&n;-L)=`YpX zH;YH^-ee|oG&`&w{RAC^?<@8-1_=$4A6Q{KcM%+^R3S3gcVu)&{QVkk>`5W15%!C+ zipY3r8$CP@X-Fo1?*XWQN(bA33E8YxXbB#f zH*~14pZ|LGQ!|%8Y4kmnVSNkX|9h6(zf*bs>+0wKE`pa~L-EX$7iw!_kkRyq$Zu4p z^-pg8(+n2szE&(%&uo24YVcR(3(C~{rtbtAo?U37lquQ`rG_c`HMiRx6aT&sT}%XV zW=)4JWmwAHK0fm*v*GBLE5**~A_iR#tQPhKK^0&Q-G2QmAtY6rAmC-Ub#Ic|!9UWspHq_Zdo^?K^$2y~rH*2=8OSeL0`jEJe^ zK|1W+8^wQf+VZ7-S~0wkU)C)@lmST;W`R6vzG0O=oba-R%9e=!b@w(6b1Qw>^p;bM z&bZNAvH>Pp=Q}|db1`)}03U8zb_m*44f3d5;xh6Qvc11zg$-%Uz3k|}mc z3c$TLy~OW5;z&A0ne9@0T$W#V&<#5P3jLz7LWWU5E?fBL(^z9-p|JyN zNJ42`kfKD(8IN8H&F{i-a-4)HXTRQ>1r!O??^;=6Vlr-77p1*Ek+KBUY5H-FGI~yj zSf`9$r5=V!ORv4)U|tSWHBOa7A||6Fsovt~*341VS5@E43COa#co;%9GV)4uJ5?EE z%RGR`ZnnG}C9h0yZTuJ<_J~xqV68u!(hx(w4lzU7nm;D|LApIn*r6kw*IJQZ=G;71 zbO?8~*bqHf#oEjk{}I}G<;hboZM{&7(vjXgxFe0DYVQYJx%x<$=Ujol?5{atbWqjh z7Jt_QFk+f)R=%1H=KQ?h8h^2J2V5R6hu;%??t2JER9|blTYtPShlM7n1q&Nww3Vcu{P?VsGcQLW9{*jsH$A-%l- zQV4Wz$02GJzeUWPU-io`Tlcc7ToNr^2I@t;=Vmg2TLSGJwF|Ib(X!Rz2ek>@SSGbd zKA?QaIRkXv{NmmgW@~>}y?9i&bnb-uwp?Rc7S%<#D|~0lb1HF|pJJnR2`@!`_wpsk zbVaU#i;-)7v5)z5hBx=2o4>b)Z$TgHClS#RIQuP!_i~X|S`|QM821_U~I)t<8QFed@Cuuo|O3hK`xmEnmBKN$$HT}6c)8oAb z6JU5%{tG~D54r5bwzuWvt?==GMe^Bdp~)|RPkkVFk=1JZfxh+aj*t~N7&cPoH9M{N z6+iB2L1xc@5xzAYtr?Hh65Jb?&%%3*oTT78g6^{h=(eAUt;%evIgrP6%$a%?fh&k; zJ$X`_rJB9AY-PeVOAK%ERQFii!rBkOt{wb16`^LR1XFm})y^PLO+noTZX_dPmV0*k zZmRljto}4(vBc{R6n|7D1k|DOrJz3KYJF(g!Ui5aep>Zi*+nx(u-rrLVYq^8e*R;} z4i|yetVR0q_in2PqZN=bn*1I-7MK*LeY{z>`)3X}Y^6*NS#A;>ll8qx;BW__L+ z5)u+NjQW7=$LgPQpox$>H04Cy~)t@m$Zu z1pGU5z~_M6m&6xI&6VWc4%UZ!!Pm_kj^}_FUq1fZG1+}~=jWmjU&7HFZ#qrq*1eO# zBQ)QZ2)_7T&+V%e!K*y`hh)0mL_4B|?D%VsEvqJ6k%Hf(~K_Gzx|K6n@vOO3Iu1rvNdk~(2KQyS}JDomZ! z$T*c-D`Bm1(p-B8#XO9xhLzK`2-e7}vW3H{&}dCLeQYiLls;8bi|z7ta5{=cO}o)) zVmV8iNvk^iVI=v%1Q2GDp~Tb0(Bw^%&_c7F6lwA{|4UQTSs{TVJ(Q%wvEU79c>Uqm zW79@O>LFT5^!a-6GUq}W3M;Aw&{Tc3aygX&_1Sn~{KTFFc}^rra@5A0;2QYoblUVQ z>F9dX21-g8{$O$|X7HJWi?!?n3BlHu%^)WX`56PX5o1+qd0^&8pU)JEg(DOVO|FZc zP1aR?85AonaA8F;)pBvAF1c>v^sv&{WU{-cY%R$08njFL-k7^9PeOt1nC+@f!)=b^ zHIwF>=OgBcPJL=wImr^9)OmCf;MNwFvti4j)pQHxL6a()J$lM-8>ix6VH4Z^TYl}; zbY9R%gKgD=b%yFSm_EEDeHWpmE=%cL3#>gnM*`khTHX6Vx9*lSm#x!be2b6_5FZj0 zDbAEwMP@I#fhpD)!Z2i#{(Mws#Eu|i+6Yw2UFFP7DrkYXtfFP)5)sk)s1wGItZFKW zQdiaP&0=NrfwXt&{W(u*b1F@g(cZR>EJ|IK{8;#Uu*e0Fh_$86AK4~Zh_qAla^nUv zExKTBBuAd4j^>>0SH|@c7o;LeXfhy&vyjfq50ptz(dj`u39zU-ck#4DZ_TAGUUlv@ z9&4;C9g&_PjO@x%ZH1Khkztf}zWi|^S|d!4@q*9gYA2SGBZ6Zc{PL#bgLVZ$%`fLEGX5ryj8aO%P3tJQG%um zAr`&c5>qw_6KN_1qd2Y%H1}=C1j3W61eB|H5NM32&~rARW875Rc0MoMPIk4u#Y58n z88U`Vl+6H`P&n`X?EzsR;9i!N0^NX-Ogg=JTXW_YG4@zLmf;^bG?pDED`}asph4q# zPaec0ncA`nyWnW5%0h}O-Ic+9Gh}~r6?!$iLNoEoIlW?r&n5hd=c;h@vaua3Ts0)F zzs8Bl%pDt}(uq)L+nP~GIzT%FTXc+ws2K2meT`3!2R;=i7Jnq9PXbj>S4@_>YBfHq z-gfU%w$XiPY_57uZmy8Kpq^Y%Y1fFPJWECqZbYFW&lWj?9FP$K@Q$FTPV*ASNGPi! zmg^-%3l*NIN;92?n@Z$FHDX4Y?G~o5Bdf+ai!3w`j}do7L{`zw>I1r^S#hmq(30s6 zow-3DO{4oT`RP&b-0sW<3aUAkUVDnVQCwo16K$>H3*b^ePvS@Bd7@+^0`V&CYh+t7Hi+ z)+`v+$IwrXKj6%HP++y^;LW2Hy2xJzX!WTks&s3E1-u?^pZP zh3@i_NhW>mQd~^o_!(Mp8EII=9qVpLZn^mfr$jlUjdSq`I8nKor%WOp4O# z!MP0fhvFvo8z}D7>%wZ%Yv_EJ2BodjRN@(QTk9TLe*cft7$Hg)h)VJt`kxHHETSHy zzZ;HQVX(Sg4Z)IE;p#FetOgL6pd70S9K#mZR41QDN6%7yA1rohxX5|SM(1^_ibINm z-jB&ZKw#fKk}lhYW;0VZ+IanYbMr|3Rx8)T;G4g@Bv7EOU%u{g)Mt*S=IRr(=dCkyU1R$XE z3TV3j*+k$H*F`*2HZ)7XzIbuhf+MQRWz>`qDAfpwI#)WS8cxQVXPPpN%s6X2(qveP z`b<-16g86%6LpBHCLDHxnQ*#lE3v4m5NJ$5N{-qeG%l&0RdD3B#2&2z(}Io!q#NU; z*ks~KY7W0JXTxz<2<;Nw+SKp~biWqt7KOi}v5IRn(8IT@}>C6nB&3Qb*A7_tYM50c9T;l;s! zlxM|osLXjp!DTakW<7ppGhQm=!9(7W#AKglGL6lD?d59j0|q@P4lQ(j4aEfYh(nTc zH!g4>nVoFU-su)g30_8t?|O&^Te<*AcASrCKmH5H5onXa?m1`~EnvSzzZZjT#bQPz z>F(3l;i}?O{Ypw8X?v&qDNeb#*pOt#zdt}c4QRn#YfhP&6Bo8R_wMHqA%EDwJ~Vy_ zX1;j=*D?BfR@j+be1LuSQZ1tZr1cT48KWDl(c?HT${CFN<*iE^Q zNNwPw=!;lcAVxw?@Np42vB*G1M^cNH;m{#H5=?M&{YK1QGYsh(S}VT5p>6v}amL8COuAz~{qavLHh!$gY&N-9ecNtEd@pg6Mzu2J1X zmADIg)%-O-jcs#Z%;Ecas)ufL!E-u+(0ULksSxf&NS=yN^KlNd+D89Q*`=@*Uk^XypX^p7j!pk00m*`IYJQ4_--v z^H2L1VzqgN1K6(EPI$6ci_A{2v5gbbcFd9|!XIzBSOXM?-k>~GU~?Uyn5935Y1MKs ze(`zb-NBt#MQ+V@!oIa1*&>Gv#3PQpNsnC5w}vvZ#zYdy=33s4V-n5zWqYQ-{-Mn{An<`9dukO;GdIhUKS$NHma?k1e75|69W%I%5F1a`?WnZ z{7o9o;|<4hmDUW9$e(H0PvZMMeRUd&3raYJBb<42+ylcu>KJr_U-ts|N%% z0hWcuEYv^tg*yu8P&ouzpgOlAtX=b zV5kN6BRZot0PX$=9BN#^f`*G_LlF&YrABe)ur55s2vL4vyo_KM&AI z5v}-qc*46<5MxSi^fOkhSU_bHe?RM(U~K$dxI)sd`U9TgGYh^KN2O&b(}~OrxxY^E z$;Q3Qz4o}-azG6QLHYbk>BV6IC0YFtk>y?JI(PoxxvKeAw@31&0l*ZWKyCsGnl)D5 z(7P0rvT8@A{xjHmh|PW*NeH*A-wEu}Kn~%<3qp0g{lSkm57HNRG!^^WU!Xj z3=3*&X}WZy_jvxks4x6oAU$Ho3Q{cz?ojg92?*w>BbvY;+z;1>B=-HN*O%$n2Deft z;B4CW#58=uOBk@h_=H~!ntsgQ%Xf^>A@_mTm7`o+in-u7+kZJ6PK{1mqa4n-E*=!Td=_=-#H`SG zN70t(#a#HEG)X;hddM7ScPod-8IOHzFm9$+LP6zUC8;a+#8Bx71nR)tW=XE9H#^Yy z>D`#!fwRNs-Yj~g7nwZ|5UuY)ed?D}w9eo?54JMARzN&^cjn}=$Z6VQ?)gs$D8+F1 z;ekM=@p73Gx2Qmhrr&N=#s0!CNHzhJhX9{80deA8w+c5dpj>2Tn;!|!Q9%o*L?XlD zaB5Z2i(FykRsqcrl!yP^gc_rV*<%TJSM3Ga8~;-x{}zft72*{OPWlE(yBA%=(@<8Q*Sup*%9sr z6=&DS8?NP!^YU+$^)*_w(II6w)|XP|U*?*<0BhC55rvPen6o}a_R?HUaGtPi_|)cz zY~bVhf`^!ohfN?9${#r97=(L2%oczB2`tGzO16q8QB5&Jz~mp8cv z*yc&q9P*Y+V*S7-%N>lzGn#rlKc9HZk-KbQ85esPvExZOB*tu0fM=L@0jr4ze;b&Bw?IwX(3t&I9Li?z<9GD>tvvbMHxzhZc#P}-(4uPD}E z_`#1qYgRuR-r~66W~IBM4{slwId^`fcEu5TBX{nZY7XV(b$L@6?zi%fEgm8^c?jF!DP)MzcJNB9W6+Sc zSUmOf0oFLO?_u-H) z1YICI-9>&l1{-+TLl$rE7M~^y$MgRFMgAq@9NA@{+$LyFD>m;9=<{I8F7i_^8C)M( zH&jk5KJU#B?{A9opuzLt%9mUYyY1UxFU8xS!v-0cubGd(1=~lGiqV$2k9#^Yr{qzi zI=&{A;7F-~oO!D11#Y1esrTvbh`oIby0>1s5pFQ_)k^uy_;72Rtk)$HwEhx!wqlfQ z<6pC~2c*MC6csC%JWVU%D$&v=&wNcefvN)hvgPdl4h7nY@U zO1ew9&2)CvltPLgcmA$Z&h!X*l5#??R|$A-M;^es+YYUI zxMyEc_f2xP|FJyQCfN{j%bV@lxcK--@F+%67H#GCjThLrRQ10lJIEPYnix3?+1WZd zJGvPCe;jO^C;_N`dIXU#a~m6%T|sW4v;IF)sBHdJeL-FPFa(W@Kj#+*+OB`#Nk*cv zE&CZ9{{95;Ww&tsAsI%DhaeK9j;zkI2_%wUIG4YrGDBSn$DJucvArNF5wy6(qJj)y z{+_yvGQ5|jY`=EL#+X${eH1)=m)AS&%IYH61XH1%48}23B#JEyH1e_<)72`45J-Di z2>fOTyvTpuBf9fkmxs*Sy@_D>+P(w->njbIw_EPVcXq-%)c+9HEbnMxW8rM!YVx01 zM@6bzYS=0WUpn#i=k?w+v&qZNtAwzAteSOt!hwq9t0;tpzaBu?GDz0y&xb#9A8~x1 zw#;(gzGEna%6P1b1-vx&?Xk9RmS|=x3dyDdNe<<}g2NDj*ySkk8DcV~2_)@jhH`Q@wOikC= z9el0lx9 zXPF&W#RWoa;<4dSrJq8OimYN9JlgahYg3PI!?`?^p({DE(VSzf&f7R^H*@Hy$AFhi zp1D>Xws%t!S)o}sEkEv%9d`s?aB}8KdZ^T)s(qBsaUZ-F^fRD!Af8J$rHMEMl~rDM z?ILRzbI0}AS`AxVjebeYt2y~G5XQ3w7j`o?%$%JJuY_r?!X12t{MB~(b@#V|#{-j- zrbp8-xFL*_Z)USuhDiK|xMUdbW`i(l_uhdQMkl#v_vC=_8(I{_M-X8^Jm(EcV@b_} zXa?OmE_QP0n2+4C4BSpl8B)p_g)^|_eCe9?Ci%&Ln4WG6g(<*1#3O7ApA}k(L*Xwb zwq8qhQI%LG&EY2W4aXuny8YIH9tLL{(5iRBdVYrnC5b7<^w6<`wq$8=UVg~A{d7i zw~WFs@0w|stlC>w3A32nYq(YU|I`!t6T3Ta)d>l^n4eLCXOW7Hb?PWy!G=5~GvCR$ z+$qdt*eaW=75zJ>2QGl-&$F{M&V<`OUK)|c3~{FaP)%BBh3FWwYx0&pN25*foN8&+ z=wLXh39=k@*b1v>0Js(AOdBiyD7mQI@p(I_l~$)pKH7lT&U76S>vrBwWyC#TC77ub zT%e|*R&=a;Q(x-7=&(46xN4I$B2GDBrcXED=8nU#2Xe;Y^>#;2AHzW~=dW%YUG?Ac z)goJB_~<)a!+p?uGP3GUe(vC?8!F_uTV$G%pW18^`e2NvdArenq(w)_{Sf)hSAObL zcST4DADuoRBUjPma@R5pF;vG1Fpl^fi z5gLp95;&eg!2gPK1psRxmmQs0Avof7-P3`I@nI4myb_P;67mRPAs>`qOsPJZT3kiz zFFm5mN~LDx^+?uTB6Yl|o)@kd9WAi^a^)R@iZN)praMQ|?W+cPg7Zq5`xSP#(L6vgjE{2L#>XM=f6ht9Lf z@?)-CrJ`6RGTe?VM2sII@h)#9Y;%ECXFkzci7o7R5wE}X$AmY5;85tA~>ahUdLS_T{P@EpE^mG8Zv?VX1EQ>JMLkHla4k;XBV05-rgT*|AwN^Az<_ zI5W)Y5Y$kGI^CJF6VGyO09Z4QwSI!@SCJ@5U8J+)Xzkl?>`&5nPeyctsin`m zeO5e1?vEp1m}am21?W7woj2?#ybn3F&^(YX&Mgyi%O{4C@Eu1+5(+EIm%TmU(t*G0jw@|A+3^oRPCx`-16$UCYCLa?r1ux&MwL_ z`wN|chk6_EElKknhyd$5s>qfi^%f=`(GNhnp(^F0YEwzL%qBT%lUo8e&tg^ld7enK zh%PcMt^73c6(OtdKcJ$X+6LqS-||BC|H&fp|5sA~Sw%`0vfud}JPli}78<k~&C_N0q4Sj_Y1$+pxxx*%yHZGLm0 zIm|AzK0b~{=zgGbj}wGYfE?g3OPjkNSigGH z+#BLCrm7IQo4?7T+=Mo}GQqTks-zPfH9}*ET3%(zMIUhG+q(QgD;?!gye~Wi>rmx^ zIOT0QRrp0Mhmd0LZN&lC)_^VZUSX7NjF$it@wK9k9Kddtj}Jl$MUK^KwTE{pb=TV~6x_xHV7jk(arbkY)@#J> zwf}5oP;7_?AC^DCYn18IImFMIxyG9u>V(|wPdhTlqYA9Q5KZ7HIP!Uj?pa=s)VIG4>LOTV6 z4)aI_>)^SF)i5MXO=Se*a`xzs)y_idlPgs&Rz8cX*L}#iMIrPPlG@y+x4yw>j~qwa z?;lqid_dmOEVx;zi}XcAffBe2sbTtP61Yy!sskXfcZk$~xnL=9Ip?t$vFfq#PR&*9 zVoD@;)v2ezRo(N9K`nNhsz=(l&7%8%Ms?xVo2h;Gn~AGRE- zgPl0kZPs9PRFO+RkQB_FW9fo&DK-+DMa4I!w*OR57dasTi_u>+tS6qBubxlM&6{3? zzEfMM#UV<|lIo@wZ?WWHMUMioif0rZMXM!??5Oht`n$_stmU_r5>lkSmP+dw#C#gC z2AMs&CxF>_321?)%84gzT_PB`QO(CxruseCoqYsZyl14ZNS@;UboVHT3@~zRDodcG za*P|q<|N>hB?$-~XeO|9_AV(M+pcfYWFs4Gve3-x1|(Dj+#-h#0bAoy)312#Ut!Nq z{n0h^VNvDs<1ibb8s(4zD(Dzut-Myy7HsM5^}9swsNZdmR!bVHq~cMUYoDPji`k>_ zoxL_f;oCKXoymU&E$%%)E=4>pRSUpU%_q+l?>?nCYCbQ2am26UE_!PDQk#q4=Om%B zui6gACz7Q&A@A;W@>`BcAhbVf#Jl41UM}rb1+C609yL1cEjb^D*7#M&Q^JZoljYgR zt2`q8YrB@}pq*du{5TDXKFw{p==AWpZn|3Cb#BzI&9U6PJ#p^hSdccuBUzecVNAMP z7ajC(7-tfSdU4Jv4kE@!BjASKfcbYF9(G!kqC~C-Z^DF}iD^9WmW!57Ut*Yk#Ni6J zS;KN3H}z%q@rvyco{LnOE@$-(x&t`6`(2q_DjPl*T49)-kvB3DzsPJt5!7K{fg zFFE`>RE%9RXQVW%_s4LXV+<8?;%15Qe2f{e%wV<{o$c)Kj|VSIn^1O^jxmk?oQF5= zNhHL(wzT12d;5FIJzfBCTdaBd!3xoVi{G=8N8ktV+19CUQGGiQG!-xqpQvHAA3c?I zAr!*}uA#AwTE-XeS0Remf0hq@Qn;-6y@wEXXG9%Rz@A`QrNc&M{tc&)HieB0Fr^(ZsdT zTVMZhawU1rD@cF0(t_`8=f6GMtJpdjn3@P!TiY4^Tf)_U*$ktUZS3a1gHLGxLRBI+ z6HLEUOXvNCQsR?_2-7gF|M>vYI{17tzvYs(buo{&_`7JVcv$$~lN4;zHVUcpB)$pu z+u!c3rvGT5R_^J3!Ecg@_2Nb%Vc=MJrV64W0eN}j@)(XSgE}h>?&QtJ2#ywz!3Wd4 z_>Kz)^Q=B~XHZnkdg1mn8y1YlNmKk_-YK!rN3k_;Z$F6#r6=NKS54_B(2<8=sWxEB zVC_Q8op8m%)dB*#uf002M5DpDRe9=SJA zi*eoOosG%8$8_#wP#*6T`m^;cdiE#Fc*a z;fnFt(+&!n6=)obnD#sXqN=FaC&Ipb)t_w59E#Q)+^29xo3}*P=#gtqQ+Eks} z$wL!6opJ)5xoC06(c~0Pi6`EKMP0*IgAhXU!85CzF>fqTqupG6tc@sS+sm7qfZ1e39BC)+8}`Q|p6TaL z7whaoyb})UTz;wnRFpCGxqHZx(3J9>IL7GE6Ns=yIc?93O4lC4L#8bfqHgOzt6w5L zutOR+YgzV`7nEHvE3zMD2`2N^3EBA%V78)jTZF?KajxKQ1s%+n1`M}-6S}@&3^*V|`konf#h}<1mB%Zq6;5DhA_}0h#jnnm5UAn+w~~(lIvRaF}JG zz5o`ymsek$Nzx79N&Pm-F>{W;4%8={I_SIAfS^2d@sS9jgJ;UPxIMo+*&%PKZWv%f zBA+1+q%F5gA0;!?;>4!;w9(UHIEi9v(&IK8`QW%aPQI&;6;4OQ&QWby&+7vg>0 zJ*5p8c9^!{D~jw!LdkR;YuZLNJ!>I1G5$<33zji zVdA%e+pIPzoY~9|Bt~bTOl=5^(Gg3QN$pN!wUA2eurci}v7XcZVsA12Er&91~D)cOP)ZvUO< z#iL|Vd1kdj;EAzh2ikt!}C ziv-A8?1=C>vE$ervDXYxK))|}`p3~X157)S>AQqg{$ER&>Ay<&KRnzUtquUJ_+o-Y z!M5U9Y!|3b{(SLLO2r}+JS0jHh{C7_7oE+maaZ7XRPoKgpZL9E1jDivHuI7m*Y2*5 zlW7eN4Lx7)&!B&SmX*Z!ih*!j2%WS>a6v#TPg^ShctW0|UH&Ln|Gu+A2Olhd@2nGm z`8w~qGf1w+W|7vCSC?Spfh5~iV|9vbc&ZC}bL?_CJH*`9cDLF07X z#5Q*&(RH4R`qCP7S)rZB7YT;rhO7hqKNAUlYaWFR{MNh!{1q)xvQrGMd)Y<{$*VBV zEf|fp?1D^JJfy3tG&|JX`wE&*2KEZEK< z&$Bj!qd*3uBrR{9iN&m`G@1$w!V>a$MPouK0cE28r1RKB!@}P{=Pm>&M--LOrD(>H zi!zzmZ=eatmoACBUq-%>OwM~KNet<5DBG1i1NQb+I@4jY7-&o9tmaP)>ZD0689lzE zHB-T5=saS~amB`y==2ZlQeRMvXk%rNz>fC_HJBb@3+oW-2qHv?4TE`i34;&D-H69? z`c}{7%(sM#wwCHO->6La=4}a0nGN@?%-xY24#m>MD&tZHNDOE2)glQ~#*Zj zL?o9#_^+=A={DPVBMIgglFF3&{E&EcSC6ipdd!@>!D~I_b|rP5fyJyRQw+~NyrD;N-mKy} zoxh}9dI;QtO={FB6ZzF<){{c;^-I?aFU|thx|^DbTH@wJI5=G@guJEl74&P=CT5}< zS0On9IlJL8$e!7RA;iE1Zag;U@-E`5WaXW@b>2F;BC&4Oz9at3mp^wv@@~ny=~P>; zV3SZHSX$@-M6A8rBM;=`a{1! z^*1$e8l2vDxx=tIsW;#On|kZ{$a_Hxh({JEx&&!aS-&I*9H4JXQeheWGK5Jy2NL4e zFsk8^T4)Y@+$ar9>?Ym$en^;CoUW~ zeaZLS-`}?-{E{LZ%1rPw+kWew@!3A;cKUjKTG;_QAA!e8r!UMyGV{k+&fT>}INHZq zq4!td=tK}M2}duw?hH?1K6cj#$}^-6wWVNTA*L@E9QDu^Q5^7;{yC>Oyr$?NFd(X} z9H+=oX24{P8Xa84P879(rR!HgSkS*vD|9O~hu2`U z>sk~kEozKXY29EwVWlRIWs9MTaO{XA*q5$5f%dUB#;^;AX+$9@*cEM27!11-f8}A& zn^7Bzc=C-xHJ^8gr$Cf3#o@AC%eJ>6Lgg_si*%Talbl<3+EfLtuy)`uHRB#&4Xb6^ z^y+Ih7FG(*ihM29#6FY&8>WR=C`fXB52u*VK3LtXv7VJ&4^DA`tgW#*w$Bsr0Cp^{A+XqmnYxQdTF;?pXxZ9|PmG+T&48oKJFEfQ=cd7S` zgW@)%Cx=RkA=GoONpZqd<4|cx%MZ+ zdj@;d&4|BQQmf4;E$w-7=w>Ie(ZzEm#~LyUCCK(;wFFME+mKI!w#22U8>AB^l_F-!$*55kAT-;dm9KNt20bISm z$>DS^-a$2}=h=4=~Z{fmeWuht#&Dy&tv9hga5-&t;ta{V}lsE z{D_r2$-W&Z%33PN@l*s7wxe{`&iM)bupm>tx*lF5l+vD z4*A&6p#3pVcMwP&kT&f7Esp2J+X}-?-~WBCUpdgp;fhqZxKofJ_m{RK)W_dbqmm$k z_H>Kn2<`WSF>egVrr8S`pa;09GnMy=P1Z^JT29-y)q+CGDE%|po)QC znGh+gV*7jeEL6{r=lF?-`=ylfV7-!!Qu0$kxNHV}pI;<)q6^gJ6JdPb#dm$DD$pYq z@T&o8dj_O)W20%LeSlXfC+|AUGovO>m^rjSUvQc!f3nDOE!}W zEt_Z7?gBs=2IsYo!h3dPH{G5EBD%>XIH523o*1Do^&T0aFXbL)-D72R&X7Gc?dZsi z$h+X66QM7~UVNxt*mG0pPN=)?pa~*fXdb#qCvju-acen&rAZYB)e#zVWe%qeZR$qxEgOaKJjxYo?vpK4JX}e`~WbIZH zeBJxk0X8m>Nr)>;$#q&1?WnlwoxzE7BCVQ&%*He(!$Yh4V=R=*Dq%6XoxI?s(<2&U z4s#-1j{WY4`5qRARe9+nK(T?qVSZXG$S^tlOtCtR*J(9VEfK>4m+p@Ka56GD8)ybs zgDE8}hC_Cl(TV6Zap8ToHgCEELm&GL3DaI!O&|eZEKz7W>Td#63wW z360yW{Gy731+8Ye@=RU3iQ(YzLVI{aT^?{6_1PXx0=of@#VNa%YbV;k{ki7p9ITGr2YM6GUh=OeF7y26Mn!^N@E=rlPb-siii zxF(%iIwhZ4osgo9QCS)#@jKh=s=TAtbvKY{4`ph3c6!d7;3TB6!?=dAl%yyTzuS_8 z?+;0lLrH0Qgc*hzMR^+o7n5z#1qTzA$BA7w)7IMaLsA^n!C0o1NuX?0eUIQls$%vi zXK_U@Y3hol15d>=7K;%u*IifGEbH}!A+qUg=Y}>YN+a24sophhw({Slt zNyfHrgoI1!adtGkdE~r(VdD5={haasuaIdM zCFw=;0=K*ZVp3dAb{bg~()vW5wieZMq%{hkM$;Sz+dVF!L7UGV(zmf4c0F0bP5)|K zCJ(^QXgWg>2gou4jR20O!093KKrNA@ip7q^ngEJoq7?j%rtk+*l+;ZZk9TnA0Caum zrNFYn{WbZGja3Zxn@Yrw_aWtO0^p*8u9tZ@;->quLmszXAkiFGh=I zrwMvty*>lhuQW~FQ7);!djet-2c=H6N8S--wP_N=0Y@Ki>o^KOJiDfk3SZ`ep$J+q z@{3~b-13Nv`Vhu$+G3!FcX#0!+RAwYe_%yH(7yta1!Ce>7~b~5F`QP+>PNuBL(r$~ zO9BNNqXiPP4e1N{fD@1f9st9}><0?K@+uGiJYsSWBO4NDn{z3sl*ZGA+bnK)Gnf!d zGa_Tv?+D;`OXqK$5RV0-qMX=cxPQunf0xgO7DN+njYY0t-?liuN{7D4Ho3^=ZaHij z>G?w1IW^c1k`isLD`5>OE~!b1ZmA&Bp-7c!?oV`=uXdx{CybHXE9^P*;oWiFA>|>| z)-`$d2Ah3uSaaQhF}%!o484nTp~#tR<4}%0PDFd=oOtH+&cG%{6t-2OX)j&*IT|^` z=34r03e?5ARJpY3*;24K?5&ldy|Y+hRxl;fy7kb}k&thOtG(hu^zKO${@Y#|4r z6lm`M zXzy_Xyk?Jp+B%`!5caOEU`Io3ne4v=?7g5`W9@!t>YG7mFqgW;vp(7x~vgT*CyqAB~ z4xJy;JNkZ4a7w-iY;6ynZT0Hrej@bS%k0Um$J0mf-+ww6f?p9Ie5ds6|H2deS85kF zaWZkVFtE1pG;p@Cv;F1@I-9sV|2x-b%L&MW2q0FCB%{e6Ac(Vo}u3MYNY` z@6KDXy;yz*Fetb*6X9SjG$_@QpGJLHi7Ki|%H4}u6F{+}s;zxVT_P7bh7ojauXIOg zZgzo79yFs(MK!oCmb+%-@u26_TI!`i*4eK05h1od^zl{XwdzZz6yaqCYB!+LA=qZ^ zXsL=g^GB2vHsg`$%xb%5iwsdyTm)+mNFxjWAW5Vrn!5l!hUogU;2Pn7VxeS70NKs= zh5h-yu>Wn|`#&$t#PQ$P)Eze|3Ce&P@>gjz#-`h5GqSRSVRs&hO%p>={9k(}&yE*cYm#L<}+ZT7A}RjE@BB1eOva3lvaqba0jRTneTDRo0cXXN?`=IF(T zA}V?sn*v6cQBOHco6p8jyigCn&-?{Z%8e1e=i&RTbzQLJwtpdi+gwlNew#hDS0sT5 z|Ce=_fA#M;8E$j&wR4&KmzWMnexRv>;3_}SR*7?Xms`B#Qh&GgGT;sKdIKh_Zvb#$?&w#z0>+&8?%)#dbayfmh!>ysP&SYXIMMevQ6>fatIQHRUd}t{T!vGkt@hE^;7Y zhzS~W4GarYR90Fwy*0zhpu3PiaU2*LZ3HE!gHAsj8joROCZ(r?6f6~`?STxTuIg<{ zK&y)IT}*%*TG!}r$B{bN7iyt}-93&F`FY(#*lNJwKGX0fh#T!W44K5bqN^y|iSsDp zEUCem4kI+IPkB^!q?rwu)xCR*zSbQ8dqgJZAcboHQTLELx9Ncj_A4-yprC7z03qeTiwM z^vU~7zY|1wJhq4Phg~|5jlV#!+8n2-f5a*W{bTly-l%9*LdS7Ax%I|j$MA36H}|!< z2ajudXJjLd-uzLSt%(t-N}{Hm7Qbp(JOuN%d49kZXGn6j>V2{Qe45T1vl@pSQdO6y&m>h@TLK4{&I~D`uQTLIt zGt`Rf20M-|od~;{C}oNTS#GMIEEC1a@eK!Oq#JkLl8Ko$Ix)XgZ+W#{VQ156a}8IE z^PIOH42TrH5f$bb!KUG6cbOu{Q%jCnqr2w)aa+pLTom3UZ z>S^ZgsId%>i_?-JK2J_LjGmKIMZcCN1>r^!OC`6ZBPA9NHMWYd9X;&9L%Ns36DhEd z3n1k_qOL?A$CN!?$@V{-I19eT2tPv*ShNKNac_v>1`R87A{R}G9?fhrJj8I9?X@W$ zB~Swjc9r1V_|w-3rNAgZ zLbtowH+A50_i_SeS-kz}0AvZ=KTFwoaA;854%!dcTS8wW^4%g$B_$dybb6lA=ZLFB zLJ9+$gLSknim7nQ=jm8xsvo&bJ~?_pNo2bDZ=#DGsrLU8CulK<8$p-D95%pa(F10H1t#2ujG1RbNmc-T z!`tvJ3xHh_Jbhp&cTj4+TTnbWP&|-tzH?GMKv6t6wmblo-yOIY7 z+F!CUZ|Q|H_Qu?PVz;!GSFQ?Jty8+z7_5MovwFPhFoUL^SuLRr=vA+p<~2kdH=9^c(&T0={JMw6<$4p_Ew|$Ln142>*eh|Hrgt2%Le5aS=ZV+ zk~Bun?wYbNCCrC2x{Vxx=|WmahiiPbI6-i1V`uz&fq7_u(YBIYtWlm zga>eW2z`_U!$O(`>;mQR)V{Y-8ZY1&MAsUYiDbCQp`Kw%0&uJtH@t%+y69|;$Fqp> zQoKCJ#n%+_wIC)~c^ZlLh6NF#I_H;*USPNv4;Q->3;Fe~vj_A9TBi`C0pg{OtYZz^ zZH>QBLS;(=J`i(8Vqf!nMa!gDx@HkDYaU|mY~kuVyi@`!k!^9Rm1{jk=Z-1F%l zH9n@b{j&FWPTTk%J&^vFpR|OWh`W)A{l7rKzkk%h@zb&c{HVdRN3{`oWxEK_&{SYX zg<5bpi$4Sxg-!StCCUMK3+PYH+Uae#z}^%G*@965VLDmuPEI#&vP`*pHv~X2^@*a$ zA~af>EpSP&Nl@+l?=kkB^9Z;{Tg@|&i)6-`6EK2%!8&{JCdh@ckmX9FP6Ocibt@i- zas$r6W|?gHH}22lzNvBM6#J+YbLbvHkPBu5oN z7gQ%)i!C4~m^P@ZD<3eVctdb6gAfURw3K{0kS>-Ozb&<2eVl82hyW+1V1irgq;U$Y zu4cAp^e71JBw)nEECjU zwqhP5on+8xG;Uhh(~X!_sQQ6+i!w!4ot0@BiegD=S4Wq`4LUy70jl(qu`-eg8a1b4 z9xN8mA?(6r1}M9fqxCxr>j}~rLe44>H7qXQo5JoSEVGI6r^3oKIQK=H8sGk*_Xr$C zqrmzO-N-j%7yrM6Pu9iS`rmQ$N!a-|YD69Fb-P+u}V86+&U!gWH!a}rFDTv(>m)%C{)XB3C zRxYo3OpFpSZWcgyremN1vngb!bQur>k*pK7nDdP1VLchUxht^gohsK@_;HCI&oFgm7}_w@X{Vd(?1#7YBsp5X|DPP5eC;)4$@WZX(HSGq}rzH?4=As z&rM#Ng?t-Dv;M9%*b2t-(mrR~`Io>ZQ8{NzMs-5aietYm7EsjvV;E`W52GUJQHUGl zdn2K!G0YBQ41=}h;@&Zecw@swz1_?LO30Z@Mx>hDP^#k>V)Fbri+$PiSx3&P(xeu> zl&if@R9ATWbU&c3c%;9Gon_*ipymtHk_c4DNzkSX`EM}xIj84Z)LkRVw4`6J-8IC- zbMdQhb44`TBs1~DQx8o09^K68Vhy}S&gq~10x0G^Xhvwi{y{WyNd3?R`nChbK>W6& z{Vy-ozx6}^eyyt2w3JZHFnv=S4n z%c^|Y-rP*CwV~_Wbty6$>1n`)CYpU_FcQP0`?BI(5_+;hO&A1Mlzl$+;`4F+!FzM| zwoM)Tx8pC$FP>M*Fzl?NzfEyscs;>m)owuZE+IyFKjYW_irTQ7mi}@Th?bmdWqx7 zC@QX`##D|QEG-T<5=qg$lkdtsxm??2_!}H(J%7E(aDqoRC zIybr%2bE1iHqWeN#HrZwv&FRBu?{xE-PI)0ao63G}5 zs*rj(NCl-|V;E`!H4zNZpe34}NlJ;uCTTYGlRv{l>g5mKB-+ZShB7WZ?dh|b4m4wF zN2I5-8nZ!k1yEYVS5?=5)asxzNvmjb{R2?g0S9Kv7N(t#fM>S7Hci(KXL&A#7zv>x1>wb1Le86~Q>S9j&jswy+PolRop z3vuMgMls>r=;v%++lJbwT_oEnIvTQx8BpbLQYvsXOhdOmb<6iwP$p@^#=f9pMZg?o(znhD~4DmfL_jkxq z)4k+C+#;29(0vkjEyUgQ)8+R*;e#OC76gap1?eG1h`4SB62(lqtJA`>ERZ_ z#cvlPsl^i@b^@03eYZRQE9=QC`mIlF<4&p)peo>=Yeh-TO~2X?U)TxfsBI3_^a5za zRPfFHJOE(H{q@iGp3U4lbnxc{sqA?|IwX)^p}P-jk}dobMG-j)Uoj)=La_4X>>4*4 z3jJ;4BcJ1myQ?+MizkQ^*}gIo_leqaPTbJg{>rs85yS>GxC-jo)n}d%w>)FSLy2@`5-P@u!w8;UiEqaXeO4hmyWj zkH1<3w)#|@kbBAv7@e^)SnTBK5wRa`S=-Vd81aVbuNfc8qv53juQNCOht}>`MtE!T zdE~66Rw?_M&RubmiC;#3t9#~sd#4$SziK1zVNma3b~!@xN+;)is$sTz0YWbtO#&%B z)S5Qb;&@F^5Y+(WKj;@ky#sD2mBc|L z?md+kc7o5_0V__O{5?mkxdeu2z6YOv>W5Y3yH(+At|>uFx7N4LkfSFP4rW3Y7X);N zvNoZwhxV6+G2L|B(b2_kcC?Jo9E2)+CSE?lgBscje|q+aT$LgI{3CnNK{f3LeIv@v zZ&*U{U$Te1fuobj{|i(~NP!9<2J4yOM0+uh_zVh34*}05A|ucuLJ`rnyN#Gyr#oLz zpYPlkL3*NnDi}VIV9tf5t}L;r?07Lf{JHyt*2jC$C}J@Au6d$@HDH`z2mNnJU(N>* zid0XQc)(r9=)WZth>mE>?HJ*YS}afZ&VG$Uace1(A!s4q^{&Hq?N<&*>!ta0$(_xL zX5v@pF#Yt(iITV?(;>IB?t_K0H6?hA`^I7~u1sjU6Tb}Fk55akEU!EVTtTZZg%XUe zAq@X+BdrjcY#55Og0B4X#bQe87z0r&suNV)3dV-a&$x zFQWUDZ8t^#m<#nKHWGz~mHOL@Kd3zVK%$s$?TT-R1bDXsG7$nt&*pKK%EOST7>{=T z#ff%KdODRf5vz}IH}%tk^*SX?VFXd-pc(*c^dqbiS2Wx}-N;5Yc~ye5TG8VPDLl6h zPIEoV0H(U0E^R3!osvKc%Q|0c=uplw_`BJKG*_qo2{koyNd7;2US;DQ?pNP*q~UK# z?SI1o|0k0Fx7(GhYNMtkhUkk90<-cH8k(p~t=~#lUZ9Ju^OYc{z1C#nhPit!~Km18xh+Wq~Cc zKwA18lokRL=EVK`cR;8kQ>_7Tq~k{!o|OC4T@l+T-=X3-K}D6060HU@ib{ikDkp1ubzH2FWrhXTZZ6nqe<>;09soHh zCMR(Tjp5r=ggr(yS|o`M61j!CREX7tkH+c4@)YhMKgpT#fW@eU7E#s=hpT%`3PeaI z$~A?Ml&T}F8fd)BK`>GaEEk^ct@eU!tZsz`r%`xR9Z$nk^@8fQ?^uFB=9*+gl^G}N zFd{7%TlQ@iy`r-N@k)lX&b$dGcTv`Zwt;by%o-sm2B}pD6I>S41e^A(*zJW0Zwm;FkGc!$laZX;W$4duRuAWOsZS?Xl- z{_#!;2CE6v3-2xE!TEFoj63+j@a`rl9|dUj9G~k^#2Q3*xP`>^n#CNFU!P(XZ}2WJxJW8R{t+Zn$BfCV(q35jD;)j`<&ze{M0 zEp(V2R?Ogo?V1i(E9Sr1eZ2vVU(k9^-a;mxN?2I5i#{hRYR~xI6^R}Tim}%E%XyL| z&KwBhHM2BBMxL_C?!qqzTHfTTH(2Y=vvb9Ee7=3L$N{;SvMV<~Iji{mPc4)+YN{eh znl=97yr=J-{wZyO=)JFNJLb$RzH@6>{&s?0_i;y$S7vg$Pf*`(SZtE{?K}xxFA$Bw z{@GKJ;XJp7cprQb?Tq=!RDX7|a91uim%d80bYZiZQ!!JJkPY3wH6`+lUy_2NYjOZX za`=`XCcS}DW224?*AaT`SQ$SJ%_U-^=k&gEmOKagUfj^F&^zrUNrVmMKNwMjRD~pv zz37na8x29o$4k#)Ztj!nYETemE>#EljKd(~9=ohc+Vu;l`cDD~EunbQoO-*o=Dd4A z77Nl9 zn8Hk1kCqHgMhg*sr%w zFiUTOK&q0naOs3tHA1R#fvoZy7v+J;Z4us}**P8|JPn0Fhk|uSTnleuyAb&d;UP1Yr?(+$9uYmD?-W7L$b2gFpU`-!1>O9ldBEA97D;4|Ke0t&s4lqh5N6u?H`MiK3Js|AP6 zUQZjnA34AVq4AaCqfxx?N$fj>+%(sck>+nK6fo*ZmV6Uvo~Ebr!xrwJ@ltYuNC>T9u}-V<~rW%Bpqm9Z)7 zYlYDgHHFG(7wJC9b1zPDv2?jM5&LJ*5nb)=D!(#*pwY_?xD z!!^{4<98bR@X59(sq~7tty&UjL20?K~RYedl zNH0{e&qN7FDjir9@4>kn1!S=|VAt&14>U<1xBVQFlr55NH=a;mk!^6}tLUW*N zxjb&y%xv&Ymcu>((>ik!uv$HV1M3XSm5*zn7~D8`xZXm&zGl1Bl5)K(taiaZk;+(l ze;ucvw4acQgm34;X0)#79_XX=ENyksEi8JB>e4;e60J$ZO>`>Rlyl($g6W!m# z{sjT?_B_LsRSN`bsNuISC=40|@K5(%m)IQmFr`SpS`f{Q8~L#JM9Zj)Be7N1EYao)4{{zn88H9|&e_gn(PNE~xQLmnzhD%m%bij>Nf2j_pX> zkafcdxT`An`4^iP)#3_a%b0@?m4Q_U4KwJu4W?B>IajwH6lT;7YjcCVsPDIFvU916->WD-rtp6FvL*KFEQn~$ClqF zCSB#s&?u#EK2j0xka;$(ka5IXIYB$X_$#XcrY@?#W1Ghdw}nZZU;tNB0X#n?dXN`r znDa-a2`;=FR<+|S&A>X*ed+-;r-k{-m>iky&GS5I}dr=}7mxEL1 zs#fxuTJq)w9&^heE7hRlAnJQbrQCa`_VwbmFYXyeK0NtVE1hkxD@v;EwDLPf9@&G- z&tTp{o}tT|xcByJ25Fo==JO^7V_2nJj+iQgL`34G(D1m{In&so{$t5it|02kg7K}y zD>;en9SFsDv6Ys^ongZAT)R^)2>Juu2Ck?r&e;JLVF)>I3gVJl@JC{Y-wy}g%5kdl zwS96hUStmo>6a&WNxt)$BIh^p?~!3`XW+3+BlJ!r{>xcNXD>mO9CZp@g0k5}nqp@k z%*VUZSNnEImV3J)%))2(vAuPMyS@T zA6nFZS+ENaC!PGEq%6}K_NN`*u!z~iqqmh1I){|NvJyL#NkFJPP|0WnxR(aF0o>UN zw~o4m1ET)6#c^>->~M>nd%SZ;JDbhbdEuIXrqLpp$SA}+U2lcPz)r49uM|@g98k!q z;|}hJV}^gj+rnscArqMRX>`KetssvoRFkP_O4SfJ>-zRJZ=w?X8`9c}DI`DEq0yy+ z+$4Ixnb0A>^mjLsjiRMx$N;B)L>^>UW#+L(mF&eNwUreTrh-X`l-^tYVtPqzXJ~<*zX=6 zlyV{=%1&mJp2#4m4&m0t3&j0d78K0= zBbyCr9@1{OF|xG|Or(xaX;5L@$*R=q6R!0gZ%q0$gzS1li@eYpG*>BbsSR2C(8sLYr9c8yC*J;T7eY6?({tHg+G~P z7W~ZET{p?=IFGh0UFG2I8W<-lUeQo-4Yj2=i0&^hRHhjyF9zy9TS6YBx*MkZKTlrh zT!AT>q^TU51ph-^g?U$EGOn-}LRZX!_8Ea&K3nU5|>*?T|(}NKQ z8IqB#o{*k~P5%p;t%ScD&=$UG?McfTZDCL)z| z?YaRp1EW3INh&&NX@|)%P&Rp#wUK2!zBmtYATF<4F**YyWM1av$XMT4-w+T;6m=Br z6f8AAFIC*=P#^dZB03i+MB4F>fB3lYFmAwNev^5Mzl)sz#((;^h0Fiw2&vepp@^aS zq6>mA%L5_`h(wE#1F$RS*=SSU3uXPs`cx%|E!F6@A2_Hq1+pg;jAVh#(!IJQvI z8Rq@dtTjc+%%t{OUz-Y?ZeZ8xkb5cNuq9yEFx=+DLMV8z%DeFyd?3{*eC zj-_$=W%YIYSmz3dz)-p;CKRZl55b_p14JgNBxd{WgqLZC9BVQsC)H~XIqMT{Bq|X* zWjz!%8|ORqf5y2rMuKyqz$_=AO=`)~retWuY2)Tq`H(>)r60QjS!~h<#5SWPlzBx!<&ODvge9Z*=nVQys983rp8~48Web*bp;KJ zj=?TD0o%{XSbv@W(#0dY?%t_JEv_*`DZ8@fDJ-g#by*{>qe@-2241gUCt)3`ust>3 zQXa|1g6l-xcdgLSyHn7m_;TZIwT+Hv(ycqvF6x!uCc~oj(&Q+u+Oo*XiY7~yEc^s5 z&=O6V2}h8R$dbJ<#0os-TK$d?S45MmgLa%^Ih<*jf)B98{beU1HEo=6ANREmz4S z!?`DKj!eo5&W4M=Aba?e^t|j2$j;Gc$4%7U@rHwq;CJTBwbiVQm(9_o5tEdn+_;$O z$Hr9Qk|nUU<89Z|f%^M;N^spx^sR6>?eNb~*)Aos2v+m{aBy=MI_qf(zadJhlMgnX z?=?Ee0Lk&0os~Sma(|{HM)5h}#;ffT17ZZZ7(sN2sIA;kqEhs`H)!Kl{7PJ3r}yIe zYZ<-}3g=SwkT~^59{BWz1SbKmbF!;*MM5Tm97{OwYm$fOHH9L-gT;pGdlMR4MRA* z^qE$u;>HFEeC_`2ow+B}t7hUIVtRD}Cf9`<-xy2Y7#`0UB(25~uK-|hGQzmy86C@Q z;$v8r((oHz76N)A1eQM(^)5yjA-DJpFBWG$l4j-(kOcBX*Vvs1Z+QInFDm}AwvgJp zZg-^5j$I^aVFtDk?svR_r1eT`qk>&36Qo%Hfj zD%(TKz0&Hj2273%^`z9CO+(Hx88_(WXy_fs+lc5nX%SD@L^;*cA1KQkxr>PwIzn`h zkHk&7RRcVIG(KQdTq;_)Xi;w5ue_US{n1s0U)NFwPcGnF7k{zrb>Q3m%s&bD`^Us& ztmug2*LSKp`JR{n{#&~7uyroVj-6W@&XRyH`AS)M@0j!Ubn5#6E=R5Rki2Xa`i0xQsD6| zPjHx7a90X*XLEbp^X}Py1bK5k!=0rv<>$noh?RQaoQWNzhfsSKpfvh$I0eY-{B>$x z{GC0PSn40HHyze)#2U&FWI((iN*T1|_xaO+)aqPOxc(D=fEJn_K`<>4EOQpP=ZHRx zd&PQ^b0Ayj`slUkJhL`0)!8(uImy*(N__xRjcE%IWklp-43n5<7-AsvqHZ=d^I);U z)~XwS5n6paZwak+9pf{2i9e-$v^b$prGfPDwP+L5_8=xa$cR*VHgow8ODJ>$*KXhM zFz$SZk?wy9qqLo^*?&;O|6x?i+gV!}dHlzoC0TLfn=6dSW6|2$yxqKg9to)lQ}eEg zR;(id8_wO`$D7vWVXYaznn4c91FWm8> ztRQqp zb6LQ*ieCHCao=%Wjm?i0fP@&nSl}BDBXOQ6y+FLAk&00V$7=dWwPaUBqV$uv2Qf!N zKY0wbhUZ}zQ=iC<33?!_NU{f|pz3g}M#ALAJHzoZ)BQ5LlgS0drT!u>x;0FNP|7U0&+?MVyfvGzkafksS<@L6$bu3ZKDdSI7G;iD3psz zn0tB3W*tm)e&qM;AFQJ;-|{YcN>1@1eHSzvqJ?Y6Mr`DiHNNdIjT7FFY>H?7gEAl{ zRrvS%LOeZb-kzdC%4u(Km}qc-JSoa@g>-QDkghZ{*@EYd&mav|+d@#;_Iy**oNg5m26F(5J+X!04<$0+{H_?FK7)+#^ttUF|T-rS|WeZgCCadP;2)-aTg#R zqu+UKiwxXm6$)R7bPr!s(}*t)6?h9Z3Of_PTq)JtTL1n7?pFVjdMW(=jt{;eFU|k= zZ~5Py{bc2jf6?szT;n%U9T{X(AfSCO?2K!G>S2uo3rW}LQ~#;)S-!|A)v;lWQ1C|u z%fenrVN@x$!>XI%)ZO`uLCo(&&;$6d@BOtK3COA&rtySD=p= z9WW;0j?V|gZRC|A=ZuF@$!~m|AUncZhC6lk>}5oUZ0X0bMrs9j-_r_JSbMN^pL?jR zELXzCUYNwH!F67z)jX_ObK?75wZ}Y#i-SjPu@zsXCgrTsCA~y|3%%R$y@{16Qj;cRnd8WdgHdv&UC)m?NR`%950$hAG>7_eyYGRI19v3RJkWw?Z@Iej&iB=bx< zzsN)&Iq?(hnNFkE_m-8Xb`549V-KpQP82Wlny~S)FIr96S8Q6hoDZSOM(|f5iRYno zGii-o6uhIQ7g()WZx;;&+dg?-F~^TXf#t_a4H#ppOHen!ek%v*$2=zC-e+CL0Qagi zI}eL1Vd4y3s#^`MxC}Stem^lpz|a=b6dZ)OzlXRZQ;ue)>X)1o(cgF@* zMYM@y_He?4lpT3yX-1MO;W@2yus6{-q*G<5p7mz8+s@vpEN>pecCQpZIzZOO!sG+J zwcQq?81kcH@x!t?z`!0fWs=hQPCyCjA@%Sd!dzjJc^8GrAp0UK0sCSR{#BkUIJ3iS z<5%7lQoC&(udqSA-mM`h#UY}?WQ1HGh?{>O}iEH!`U#IMCS?_5E1gZ#El*%Jt9N`a&N-RSWAxYQCNM%IkWZ3RFvNNv@wvJhkg~>PU z1px(+8{SiIzBWp1$sAh?(<>#?27e#6Hkf7R6K2L^ce>ej+X z(d*!x^-HW0#%AMB3CCu}>fk>bwt8>Tpm-f#;3HfQ>*BqPZ}K8Q*XfPUI)82k>$%H^ zeYkMP#Ts%`XyPZB^rGg6x_nLq&KVkz;m_TbbrB?v9^AVV5$JLQ0_4UIEIht3fk{k7|+$F%!dF>8u{a?I0kgE_Ao=6mSA&wH`3HoZ(^9 zKQp6&y(tsFY)(IicJi6___n5`R+XkA2k;UEU}h2_BGg*Jgd(#PWFXf(_0K##7+L{} zX%=_0@WMrrpRlb}mZr7sW}?(_!$WX7*H?lLr~<6k*%ceu(V<&dAP$h;Y~a>WE{L->X%#WWvtAoIs1+yR@?U|;9~L11WcuARK#?7H`cdbEBaZ`hAh z2Shl}TwS6<&(DF~sdK#~fz2^V6v=1ixmvang`8H31fr z!vxZ#chDXzGlohQ(vTJJq{<3bf9A^$iXRKvEqJ?&mDpiF>Ds=$&Z8}=hH zH0F^T#4HF%Sb*}BV8(AXh2Ov{Z5rfrpFyHaqbuW&BPmhCm8}6HGm!7Zn^r?q-5(Ppv{O(eYM}}({Wi* zjaHmR)|YFdLS}DvqspCpx$%i}F<`L^m(H;4`6bOP;YLZX06dC*?@5jKrnDxU@VNxg zZetOodowfoR2CQ0tD}H@Gxfz}(^Ev(^EUtNsF2`xuWa2&M%B`%u!XG`|; zyGzuiJ?Dq94cpR+&1;^8o1PuczUn$650_{z>3NH0&%lzr7-BTTB16_|efU)zuV4`Y=4x->9XZDW?v|RG&EMJ? znc4bzSyy`*HNqZN)C!|F3H)yz>YG1QS(;IYUmPOGywqF4r8f3;c(p2t6_f3)Lh{kf zgORI?Ls$i=7@G{MgH9N;qsfYCM3qY_V}!A0&FiX58vOaFh6T;m@o27aO_uxmkdkN* zq6yJ;aO!JNz$XMN^dwh$N}JX)Acf&%8$nFl(l-bxKTWqC`UY6~HQhuce% zHV%Jf7$$?YkHw@IBTClYR$-?3kEp32%#p^PwKCf2L(h45F(txOuBV%#%b);SuKmXs z$S^+or;D3590RQnu}y1$(Nae^JH`T08h&OIKLgrml6GrgLW0OiRnDqG1f0ORI0qD# z1IyRs@d`LH&Z>fQpG{#q36Tz?gE*yqvITyUvyyU!gwNfML^-!nCaCv18!0D< zjn?^K7dRe0r^4}23~6@A3VqedijKITp{0c<0?1(64z2bv) zqB2Qljp#W{n0w3JT?HIJJpHW2Xvwbo@aEFL2{t0nI&Xw{mu;}M6&cTEuS4O!vpf{5NzcPvHs6=vRW^cp45I|fLrItWt(Xj)F zw>Q9Du8Rb>y0a`Hk(DaGdIB882KqGzwl&a|8@&{Vad z!Y#MFIn$i zRJXE#)mmPegRZtBK1;0XUHw5ip56@T#O_qJEF$*(i$Xkr?iW>XXLlQpTFIqiwt@N`!T&RBc7KqjT zic)5YqvScSYsR8-Ny??x=mwqoo>TJa%!RgAN!Pa4ijT6xA!(%<0nH`n*GeOfnAK{u zgoi#+jgt+}r()lQYM}0lt@3)EWn+yEk9X?IHNvA|!+oG=$s$Kt?{bs!`DTEGPl&c} zKVKcpC_Rv*Ho!eT5>_LLbBiFGo$S^F!EZ|{=h7(X8Rg<5d>d5wN&q)FRNW5WA0hTW zk9$O%XXgF+hsFzu)2Y%_k{pv7w-9XZu!nn$*qH-<_Q{<~*DstqWY=92ORwMz-GY!6 zim#4{Yg7D*pOX?GI#K;ZQ~T#0Q^S*3FVVP8Myv>jZ&gK{S0N6-tPGswjG7n~MqPno zuZ@;q2g!$n!1o5loO}?s94Zfz7Ej2GVHtFlMQkGUFtOiT4hg@3(hNx#n2lqmX!Zp7gik}H3(Uxj59`Pl2#QqSX+KVns z>=XhX^mS#Fy4*BGj^QX#nc#Z1%J$)ec+lP~eIoRteG^SxwWFf!<_?zo&6-O>wY6gi4ORR%Wk6u^sNTkcja2A z*APShKZLzwbS6Q#E;^G;?1^pL`eNI*%`eHswr$(CZD(TJ$;3`h_SxsGd-lHPuKTN2 zud41pU2k>uQx7^PH8F6CDYLF;@t!p$-#ZZ1_v|v;Tb4E)%e-L5jVGL^eV123}!JXaCoCzzP*JpF^*|9h&AMCHxvY4 z@26p7v*1>+wDb>&tvWJ^s*?ynGtQ)2!|b|m^j^BAPWOx#lhLQ8$h??JeY$6Z%j7Y_ zyM;i7Db4L;bJ-pw9AO4Q!z9{T?jNp$9CB4C+*W8iA&+}eMM>X7qy|vEDuwQatNc#L zpiV5(WR%p%_40gTm-syJyJ3#JQ=WZ)R@KBXDWs2-T_IbSy^7dq(GZdwn$mE`RMW&= z7(V(tfijUJPUDPSHLpJ0ZEwmxT<&6sZ(2_F5ZKqu>33{IbiNpv*shUWnPF1Nrv;vP zS)W)xb!7tbq)OuxT${br}B*+OXRpcc60|wT%xiOO ziGS;S6_b+sE;v$dHU>2pD$2KoswN?JN@prCI0KR|fA|D>t+8jvtvEF$ zJ>ItanCq!hPq+HzJ606kcphgkj~sIY0blQ5Z}>k<>r8k2!x)uer8C5L_aHIK$-3w; zTdjA(!(gc}SKO;DyhRH%qN**OrUL!W!EG_Vw`nld*TYh>ofp3J>0Cf6ajBwjG$_KAm9!%cFYp}=NZ_Y3y z^11t*Cnv9UuwJ{Xw99tnpBZ_H_>b?t{y}buH1EI0zbZewFQIyj*m>k!0>uOkUl=`t z6W;K!9mFxK@3ra6W?lDH2(r|hrScDy>ZGc4wcRO+!n=G$V5C}$=4@cTVX|-IN3KKg zq(?*uiH`>rgE#M~pG_AWO!;`6$t34g9WOh`P=HuREky-4Egq6oCsJH2bO8ddJ$khz zgz`!`A5pkKrNw!H-$mMKpQ;Jg(0y=8e4XiD%}Di|qL`<(bIz<@eb;TJnp{#v!$9zgnIv@toS)0>f;{9OkMRF*uHWcyPC14B0Nz^?$>Cn|ku# z7QYdYztaDAAmsm5RR390T^?@w%8M_LcUvZ=Olc%S`u$AEu%Yo$GDO@Ifxdk-i2TN8 z;$(<$64GR$Ru%p*MDmgS`bP56{3N)=+DV9ymiosF|n5$`8b3!aVYTT+GIWe3R; zzaI(^rtan(@m1bR$$|`(smGutR3#P3$2j9NsU^BdDo8A13+JR{ykUzhm@eJoS>8%T zwjA)AUd@|~XHtx#V(4O@f_U3U#n7c5e@oCk%*A-#8{z956-;czbnbx4MGX~tU_=Rd@2pBKO>0<-Xiu}%DCc-Jlpa-Pj2V!Y2vs_vO3 zs#6ZY={HXbZ2Chky=n5@m`;v$+sDM%-;k0V_1Z;>HwoLac-IaKv`9TNa%@Yu-|t~8 z6OOn^+a~1xEbu5USA%Z5JfG;6bJ1+QOI{b;x zb5S5xcrJj?b5@}DdJ-G!xFQw7wNFtIIdc&96MY(*lMIHyFqnb zl&=<{E=))!Pp4~fmKc{ezO=6ut4?Rd&n63w)~+9^I;p&Ml$T6qu~ik0m&=mgU)m-W zp(ac$PJ`&+{!Vt}Ds;Xq0`ip5c12XykB6TsCiTrbP|)TmDv~A%`1d4uBrOycL)S=loA5dvILa8)Jm8jL`Zm1|pm847?w2}QyLP<%Mqa(ftF3VP=YXeFWlP2)u8Dz#* znNw~pyW-C)QH919A5k=QK(A{rGEdGCEwn}~4M(8Eq zdi81F9@+)ul0TT66O&43(r?I1$xYYyo%hd<&)%)e{9WmJA`t z-%N=Mi?E>yE=-$)Z`0|*zfBw}?zVWq?H)jLe)YFL4tNiuGL%&sRw1>dJd(cWe8Jjz zPwh{?ByaRbQiYf*B?r0UNJFtTkNH{$)21x6D(*1wCQzWwZCk82a~Nm@*XbiCvoF1v zvus8v-^7qZZK@T2!!n|&dA{FoR}Elx>3fNqqVc|N%WCt@%2@wPGQO8&E4iaQg3uu< z*QE#@=+b?ORF>^*(3Et1hC1iEX*vCBb-qVi1eY9-c@ea)t8K->H(0q@>3Bui7hF4RmZ;0@ zV;a?p#gZPeWghF26dZ1}7YCXIVOI+C6cUy-sF6{iZZcP#V`~i#7p81lsWSo@+0*hcAb*4~tlb zXNC_4yHRVz(#p)8rJ9gc`jstG7fjKbL|Nl>xy~w)n5y+;s+(9bQ`XUoOH~Gs!W9}=v;n~g__7#T zZ=e9x7R$1#-Q8}e#fN6}hZ$RIo9bwp3S{Qd6D%I(VWyGxV#ET-S;%=%SJZ2;e;9ZO zJ5bu_y$LJ7dzIn=v}4RGf*Akwp3r+6=HEo#xqMTM#iyTO({wgh2C-qulu&vno@IX2 z>?{X<>O>jtF=L-&scXXLq%E}vXNDmIv0CFSa*shc0tbG2M#_OC%6vePJ59-J>dj1- zW!n(p0cGaixTRBKb?S@5Hi4C7BSEu{$t}ac>6qq&Ung$vgucYj83($sv-XAuXfDGX zD^r+#_asy1eFADB;{E>$P3b?l`03{+e!fPL)QI1flk_AVuu3dR+;U5J(~sewmOw%zD!RQWp+Cyq;X#$!-uGB1{R~hMvtix%|;3 zbPayO7-I6?sPuA^TlkSrgm(#aMO{Ik`-wrB43kFP+FF!zRIIp zVv@DEdi(k6`4k3e%Y8Tw{v3TFMeU*FEDRB_>8Zlq-_>*iL%?V8AKlT zIVkD@KY{#+@>BDDtwYY|jW_;AZ@h4F(cqC`v%X-tA5vFDt84(?ypjL zO3e~>(~IkT!d?TilDgy+J4=&8T;>+iF5KbRa zBs19vt*{CWZ04K|!P5~P4V}u$6ltw2U_z|;C|TXCObe4?iS=A_WzVFj>?~4o1X3IG z+Xlpb^U0o7gjRp|z_!Hfz|+5J;5vts%3h++_+eG`?M$m@SA{2N zik(wZi-TK7#XFF0`+#bD@=#0r5LbKal&1)CStM&?`b+_5=Fb8!cJA{rMDzHZb$aZ3G^@Z5ZO75I?c0E{39mxIyYLxp))_#k&B` zZ=n|vK~Up+2nX{QVIeI;vIFBu*};(>krBPWOAj8{4ACV4)3Mp(MvQLA9n2$9qgb`v z4YzDb9t1zA{tmr(A73h5PCk3V1mx$CJiJVX3EW3Yd!fWc%jB-%VbO%bw! z7gRqfP4P?J(}zDb;w zf>zRuJ1JV30Eq=17}rcNfTYU>{0-Yy-7(g%T|BkkQRLi}^kJMNmD<9uO87^Xz&|&5 zPw{;KVOoWu044Ik7UuOQLMy?Q2IM$TBR+Sa7lQYEBvzLqQ~_KY#GKiuziR#H`8e0qq-fEvx%m5is{#M~wB3Q1IWI4>d4~!a$zT$Vu73<;=P?R~=kYUgMTDYE zHs@J(LgpL&Ei}hi7H^uTP14WeWGYg#!BG^DkCYlBioxJzfH5Vfg~I8dd$Ud*G7F6) z-x`9-E4(;4_BZ_J?I*riHE^BYx1QK1A0)fo-&?&2t2~>tX#@ zDA74I>HMnF;&UC8B@Prip6q^uFqF?EnVEe1B%9%n1j-FR{*?|;-2%Aat*Z;#gySEZ zgB~4ePcATWT?3ted;+QbRp(wtp&9<;P1WL6jgu_QoUsAq8K{+GA3oDnTgM8zp5 zdITFcP5aVNel{dzME5Yw<_nM!#_`;UapF0(Wsqt1v%Ei4u{m!%ovDLra-5BeNRvwj zu=6i0&Li=9h%%fYSDsTxAHWC3#td=jfnM9*+@Kn59>B+Um-vC<)*9s!#KXM<^X9Vm zQVrIbq{z6+^Jc%iA#~Ap_uM9I&AKg}*&%);yRn}3`0Q7Y?hU>U9D8Pb>0>eTf7jbTz$YdsqMWee**z0%#2&1g5jQ6aN7E)M7GX(6#@ig>b_OK!WEeWO(?sxdt%5weihevh#0e5G( z%^0YJ`j);)w0trbQ{2zG(q@<$GH00!H6@`T~fL;I4OSjxg^D^<&n_ z!fhkGu4#H- z+NfsB(?+R@LhdHrMlqPVpR^Hpi?6d0ntJXk=VCQh2CoTdc?eCPPQu)NyvyLTj5fJP zbF%XwYh!EDv}zd@hZYfy2AWlD+T3E;c|%P~jS)>mm(VtiE=g>n>xEGZwzFjBE#?W0 z+>HxOZ%yB`-=^G!pLz~&Zh98ps%R}?4ffKaO8YHKHLt5^YJO|6JP}lLFuT?F;r05$ zg@qS3st!1lzdAlAooREdYqr^WS*dtjHXXes@W7GKX?L!kvf4Z(gGV% zrx{_01hl)L;L#pp46nTyjgs40mY4L5=Ll-5@|_}0att%RQ5@(qOH_Y#&Fi0C2EEBMjkAcl31-K-Q5R1@6V5PA{0n#?WV3Jn zxSVeSf^JNDP{6u98mz$^2ZpS0UezxN+2BGblP_cw^Y9s$b2jJ282#ALEZj(v=H4zx zY=FXqQuPJDkz4~jHwBH(qvh2!V<6c;fm=#3Dr*HJX`+a%IYus*GwM|I!O{jhR-pkK zlQ^U*Mu==sEt|mK#jOTS*4$P~S@%_|z*>MGn`22st#q(X-b?a-#+O%jujlH z=UMrTYJ2WDgYD7qX{zet8-^vPu{uH#oW71S%kJ%d%tsSOC@O)L`Pm8RzK493*zFKw zG5n*L>!PzAR~!sb5Z~prl{c^FNu*13sg)tVMaqJ zLcv)p`-Li5m(;f)y5ByGDn661@EN=9IGIuwY6rHS=HiPpHY4w?`AoTMRu*NN9PGJ{ z#9*wUhrI>$vao-BjI@*UE?}Sva?%e5doN z6BCnWVq$96i52$*I1GB+!zoGJsnyKb7$LoIHL}YgkK_Rm}hnDo; zW`pqNtf^B|Wy=}}0z4BnH}&-h^2QHWNsnJMRuDHl zIi0n2oWQNTlE$YKw@WX0ejnB1jX-7I*W*2EwoGN^d8qNpgWelWa;C$7R8LgD_;_j< z%7bBt>&22XW{i#BSYucb^9MMF&D;<=uElQPjyoY21||<_Jugn=-Vzl`CCeqZGb^A&BFFBW&7bmY1V@v=%qQB7We_hConn&cGf>?*8}>`A8 za*h1bwlu7fVQuYI6-CIt+Ip^uEv0L&;me*DoYa54zCTD9?*FIq&k~$r0$t6o!K)u zmlz7Fxba?!s9={5^hIVxLg5L%{G2@cwk6Y#l>>!{W9&i3`KMHe52S&h06YJF-fP=e z)WcN;6#CPQU}yt5RZs{2jS#L-sFeDJTH<$(oGj;N?WnohNVDzwy$k#C%q!hAH-J|}JH#9O zt~JpO5a6aAobAr}dV-2ksYWE16K3#AgL0}uv1C>toO8}}3Bq4@$3H0`~cK8o^%|g;LeT| z?}tNm8#B||Jht9(JVucv3y31?;AR?(UE2OeocMaMi46;+n24MCbGTq@%f8*>lAzxF z16H?^R;j3YWYXN+yI0!EF~*ZSiQ|mSd`iH;m8!f{aeLnt+aOk=7+aj(Yr@OY1#A&s#?-yxe?=%Rk)Cth*_~}gjwEeX|6k!+X zjc_|~%+A#G^SaTf@139Hyh)c%)eIWES*w?8`UJc{@s?`_fUlyRRd)TyucrRpLDC;3 z2g@yrdLL$zrJQ@Ploz?dG+L!IdC)nE;WjxU;;1*-@~LZmYy=Le7kVfhvI#nQTBrvw zNBBlL%mf0c?}?T_Pz3ec?5 zWo&HHIbO*`$4~gA<{#K%*%)J<1MODG1`5Ik+G0Aj2P%5BMCv0w(lWGG$S;mo%udIH zU`KPehua;w&&P2qssGehZw$3NvY(IhVB~Ly#Jzr`=3Nhicp;oUKyaM#hDy19(!Tz* zUdA7W|3KO(!5_5!P`H>wsJr%owL6j9!~LN2EaZ!dc`#G=$u8o31twPU$$>tgn+Ja8 z&*u=i{8~?<-!AlKrgCJlNUf5<&&%}7GoK%!Q2Br@QZlMqpZ^Tv@#o_&n;g=WT!8Qj zkZ6zd{hFs7cw`K5qrMpXmq;PrHgyC&m#7e&c`TYn*apvVz_l~qA6vJSo3F4H%T7Z_ zVO)C#yW7Cm;$az??p2z`9tc*?eE>(d7M6d-UAtrWCeKap7RPqK?@;N;Bf{$Cm~x`T zT-fNWeI!k!q<&ZKA@1zZEU3fgl1RFRa$;BSyDgah$p(@6N4@o$P|F8D;2uG}7r);3 z%fHU^ok!@4di;Snwcsl%=!5a>UQT_*X9Vj5zg77w5qFReQ`CDHeowDe;>#cG%dYYK zs}J-w#Z~w#9CvtGvQ%Yqgb=pjz-4rT;GCCKGGKE)>+FXC5q68xEbk@Xq5e`yX-I!1 z8GOY+$Z)JZpNXQ}n<*vsmR;;{=$2Gh_u)QdnN;zdSX_};*iR@!I8NV73_0>VBa)<3 zN4h8BzhIM9=I2ho;!H#yAMWIIVtpFmUf9?FOSAHySN~5F@Sj8eSMwh?Xg%#SFI)ay zQXnO>#cNOMGaT%u!P;D6%-hi@T!YqB-HFY+H|Qn`b@mTa(VUCh0?&fDcX{iE*Ir>BDU$8 zH4mKsi8m^{3**epnJQxVfZTNg^Tp1fPI+RrQEX*O;Vge`G%79Zm+lEPJ0Il0qbP6D zOlzOzlfcZ0!)3A+F)?`5%(7XBO|xF7d|920;2~7H;HZQ)Y`)VjSes4B__#fnN@+8t zw%Rm;t0k$MYL*MBQaKq~&wyQ^2;NQ&&t-(u79qzS5QTirQ>r zoiWkRwuaU`*IXOb9Awi-Yh7StaBc&$ZmzZBzWzVEwwh}n{%2R^-AL5`9&`s3RsZWb zqiHBbeO_K$#7cHLqHcs#@nvX?A!Xm8FmSdV2oZVrk6@X{dhn)jZoIr_&95B`Pi>s4 zN2}ZX?iEfX4`Kvk&NE7dN)o&_wi#-2Z zuTm*Nu+1O-;%{GK>Q2*xS1s~!zamsW3DjAL?e+&pRoupM%@4m|!-*~@-%HeEw*N59 zCE-ZvYxk+Pp-~QV6=E;vrqtnmL|Uy2nW?cMMOR-0TW$n2DOg19XqqP2o*MVMRao=>;!Qf-G?9vb8CR%Pt@I-c$);O?>M0%VE7i3K{ zTopL(dzUl0DE(d8S9jz~EX`3nfGMKk9x2}?C?Z8u%!kY=P@$%thYd=jd2&tH4lQYb ziXm>^`9h+XA>a`Zd*c+F-~@bcSb>qSCju{+i?0|&jR?msUWkdLYt}gW$-I-9KEKky zr6yhfKB&m?W#Bw%8jN&VH`J7R7i>tK4TjnvArs>%@W1qnRbniQz*2f}O{55SvW3=n z&#Oz}+NfhP#?)luLKQdYiU}8dRB}JqaPZ{I1|qe+K$lKrs@PD3QhdaWKB)0;p4gkH z3SUs9>NA8>?_T1njNpr1oYze5t?JO3vKC-t$kj!-f$IkBcid3JL(mf#caDZXSsh@| z?~?4Bz(e%(+3%xfT6TsnL~iE~y23F>ZW~13c)&yW@K@b%sbbpgfb7S#Znz?2N43}o z+>mcrcSdzY{n23DHcEN;na%JysqiXvjCgEfZK`v}l)_C+uWMLz1}F#-j$%P4h zS)^V}IFouXAsY;^KC|U1zl5ylcIIwGh9R}9_WY~2l~z{E)FV91Aw(&kN5={= zOCY@v(kdy?RkMo%b4cAz=#f_A71b4A3gXCT%2eaB* zxT@tUuE-0{GM!U+*_&qRe_`UWNYj0ZFzPUWp+QL3AU)lWzZwlU?h zW%Af@VMgv@5DL$FLHmFoxGGFQ8IayE6^aHc%}vPKj$Jgla0SN)r}swlU}{N*E7s3IfaZ154j<6HVChk-fFhq(gR~R;2U7> zoPTmw_|NUrph}8VH-4LDs*hnx`*{lRYYN0TEeJA0$UdJFg*;E9nSBInAi9A14Gj8OAY_8Mt_4(YgY_RZCBB$l?TJPaUe{QmPvOfVQL+wT@)^ z>7^aIE>`wtn38U>o9%{b1j$XUKBsUZj7&CYgd8PU(B&!v35znMN<-QrUsDyv+0?3fWkGPMt&Z zbLg=RAFup&{?V3I=Zk`(5^J;=(Kl1K(g`)ep=WiaU(<$Kbwo!F zE~fxnYxwUax(1LV*G12vXY@8}7mI^mA5;Gc_IqdEe*W@=duk~=)MgGgiEbqX26@t* z{WotN+qHd}{GjvwRpy=J6)g_hk73UY{R$b$s5)!IlKs}u68P(Zp|lixGNLpoT9&VZ z16JCHu874a+od><_N#ctKHc>QrBf7C5_h5)QL5(HcOzyizC;5rkg)TMp@4wLyruR% zi42snZqz9d7$Tv=w>eAo?U?b0EyOoU2cE_61SosL8KNCxroA5~>mYID;W2*Zs9S-#i9D`mioz^)k zQp*CV?Cd4yKgR6ystR-&C#m1V8zGd|0=ge_dw5cp@L(J9uW<%0U(!;@H=ZbB?LPfj zKb`NHw+}d8(AYBU_Tlev8#Au=dGA1Rn7$&-CJ}D@U(h=ZyaN%YdiH>KkQPVV6z1O2 z9oWxrgk2n zG7Q2YL6H>~!X7k2f@sOBHDxB|t3)>C+`5Q57mQ`;B~~BN{hm8m71}34+4)UVJZ@Cs zpzak{q@2u$hoVm?#we*4a8L7=GHSgXqYWm(Z*;mVTyk)F`FhB(eiORNBH$+cB#4~V z`&j9P+9d3S$~^-%!*Tbcn!~t4PqZ5)5gg0o9?F1nGu(PP3UxU!!o|L#ozPuws*o&J zt3X)lDf34RIfTFrKZ>iYaNeR^A~bm0=*r)%R>2MJl6kc}_dU|F@h*XQ?}Y#!IbJ=j@h;3aRR2cjCzU=mGe z1>WGIM`DbVCo^8a3^Pbt_UYsXB^4S<#fGVOxGH!i~R0!T&e^ zoBx9usAObkZ}OkSz@Yev{|HJ6{vsv_58eCl)+&Rs+OU+aRW6{cLLzZ63FhkiKKYaP zq*o)O^ZbE7?plnInUyj9()}_cExTTG9V7RHe1)1I;1b|+yFx0>*|a`9V03s@eaoL~ z)!$gP=S{R%NSW_9X^(&;nSG5ZVKV|bly^&Si_?*(6TDu5dOhCtSdG^uIW@;5m5SN) zWdig(n^p08>ppTV!zE7?GXN6HVYKMGBpmwZ# z5I4-T;d%4pQes^ZBq?>Wi}ydU2C5@f;)6C5cFxAJI~YddW_{50qkdxZHK=Y!Pyys= zFyL~G=y2JlbeMnvfR%lk+w_jx5m*3vn}2q|GHNxAZqpcUcfi*CX!$2onf4GCU&O$V zrMkQ?1nc6mD*XRy;6yG2%?$fZj&A!VNB{r4t^Y&M8l`OYKV|zuDOWBX;zJPr1oFDH zRH%JsNEQ>}`m0#Yu`KDSMb%9!S7croK7Ku7Rz#u&Hw}94V#6LGi~J=0wvN-;Z82>? zGgF`U*LS#HXFxQ6Uw*WQx?-HNgWd>YGA0vNurrhC3UP%&AZLj|qMOJ7Mnf6l^gI6m z$6a|a)KLf)S=us-G-Hibs;PG&5k2BmdWF?e!{m`^F$v;K%7=UT-dj?7MmdWY{h~Fi zc1gBo$#wqM_`^I1(t_p-vi?N~di}X+HAQa2X^ed3WH2RSb3}&K5|x*_7PbaZiGKe^9v7yXm1?roRqjs19(FB zpUy|Ovv~d2U&z&a;3?4=^WRay8)S(=p}Lxoe0)9pln-TjJm&a_ae``vp^^qpQgg&Z zWwj_>ii66OvQl#;5)Pu_4Ru~UK*cNsoVTKO#PuhfSW5=9xHCiPFG;Syd0O&{T%l`4 zSMcr^imd^<9fdCTYjhU4nRQZ(SX^SlMjyf~9Q-J!JNX|!_dd3-W{4y?{PEUi1lDRS z&Ne_;3559cVK@OpLKpLMJ^@5qitFwEY@2;LW2f8ywVr0o;$0QK(_n1>KLq0c$Lgo% zXyNp~J<+l>+&q;>yuPN_&o9p;#N~8<#`}t3AW}ma$P)h&-ec$ou}0euU6?qNsMNR& z-$WJD9$_bAwXIX?@N56M|F<5u9($+ z!}EPi*7js)+V=Gu_t8^E+?MNCL(R`r>Ls^-BKU$F$0GF86Gu|KY z-y&`VUe_B`&d+iL_C2fmCuiL4*!zt7m*kCS8{F-i0kRpP*l5`z2i7WGOib34AG2^u~8m zW4Ap{?~)_yT;7)hcK^0{-w{65*uIYYxVg5HI=#;aJUvBZb^q=1bkehahDApx3-hB3 zqGP2%L99ZRSZm|$E(MK*$Og%u)Zd)-lmAIP?VlBC(^kuiaEMp^9aTCXLj!R6dAovwOm$Vq2%c1SwL{616z z4+*7ot@SMUDjKz7sYWLnyRO>r+?rBcW8}cpfAvEox5qd}_>mP0}%gItgCv5z<_%<5#C8Vz~Fa<4pQGj4OU)c#nQpWPDJr-0F^g%6r-@pR}rvVN7aXAD^5BX0b1HF z(^b-wNEW^w^}6XPh0+w;Wz$k5bZ!D+wVRpId zn>A|fPM1hlX0vDLzVsB^LOG>z!bWpFn*GPbaW#`>H3%jRivDfr&-};?e|o_0X?2bv zR9n-^PnIVS3=+m-bmxuN-xAdO&GnPLE-_npVXI-|=#sFc#7k$TlN|fEzGhOjAbtq5 zG$^|-4E8_dutE)b`Ej5?eS$|I8>jexd%#^l^vTdE1JJ$&zTX@sAcPiPW1f@#>AY_w z!Pq}M&=$iOzh(RRUV=xaycRIn!dNy2l8m0-1eE&4-hpQh?sYgoIG@Qe+ovu2KTg2d zy;&&Q*y%4>Xz4MblklO+Py5Ia5*t+gQf<4Uc_$HlhBSR}+*BL=oJ4^4#qKFi_^>;z zYM28xCuV}yfdDZ-qgEr9VRY+ouSS@DHQ`a%%Veip19*O!FV}Nd!>ME&ea+MPd~6Bn zLCH<7aWj9mfp>fn0p-Wh8O(^H^wm_bdgvREVH{yKY6RRI85#_WcD|uly^nbCx1OCD z(@lCJ&X=pVthZO53U|c>?A4eDn=6vA%FdH6}STRbhD4@K7wAM=KXW&^iM}Q@RX;Brw9Z^0aR;Xc%pErZQNB|+1 zNn=L~+*B6x)0%aNd-Lc%mFIk245q8LsOJ9KZ14jnt4qj}hMzFNB{m9GpUgT;I% zbaD0fCRMvzB{%BZDewrN;x(C)46kktaXE|?yaoaAw$=>3YMmgX$<|?voFb#h=GFO* zvFAQlVj9=`cRPbOHKL(eo3MZ!C@?xzmE1$DcGOhYJHSoz){Cl_T%1l;_lK}ltN zjIaK!R1S_tt6RsN39I1|Qt3K4Zb;J!g4MyKxmH&FV`O|VmMM-p-LP>Sxr*i&#ki{as2zEp%3DK8lEw+yOxb|an3IafTYSNp@sO#Ub)md_Rq2kSy%2-1U8Ss7!H|%!httDy&1BoM1 zQfd_k$W?BJB>H?r7WES$OiL5T9qbxaQ)opcRY*mdWIPcKFBFq5c@_&LRXC9l>-L%K z?V4dYL>dl=Rqwz8@|_)YeFJ+G&03~^;nyrU0wWe20ZCU1t^UPtEC7LHixZh+g-@nV zo?<%`6SDxB5(B_Y7W~FA8zlZZeSeq%hAXs+EBJmICV5>U>kf|T4&Z2KLfx1BAB46> zLR|RzjROBep$o{LT0ZzaB6KUfjnh7z%+mhN))DZ`J<&F2%LT~sm;x#a*#e>f$J8t` zR;&>PJT2M{>mD$KZW-%sKm6^(ji=}8ckiFcWt=ohNg~YZnX~V_Ag$<6t3Q%ge{A%% zFO+)fYN$%yl&$9U2j!sJJ0G{UC+Ve5IY2(GcWN$Tu-r+Nda{j-SCMV2T1QTTWXPbx zr+_Q6qK$fN+Hogjy_5R@yy$@i8a1D@6 zImH*50vZuaQRyGj_MM%W^tMgikoGEMrha+!@+gC3YO#|i{%E-e?X$S0vuIe8JtL?h zYYppbS1|D@aQoHN2T)4DCR9b*w{#tHF8ytl=*w?vHC?m#jBHAl=N|Kq#6m>S&8{h^ zdx#VLR2I5Q>*SvMTrPL*x{{mlPTDJm(*h-7=J!Y;pnQ#?;xxO*!!gZSB8km~gFgCsc1E=LqF6idj^vmuYDFwb z?i0N%YZ!jf;nK6GMNW=01<%PFfZ1o77SCDKxUtt6WVvL6k+3yLhd~6=b5bOVh9$y> z7O~0s^n4o5XSO=4Oknz8F+iTg`-eg|KQ8CRrIyfpC3;!n_prk{DYH!qh4u8->dcY6 zvbdKp4qlwT{snDlr$jSAOA@sRkj*?u)$y5loM!4o4M2k^UGMWpQOsV*#VJVy_Yb;I za#6=^(x4kftrS(MRVGN1U=?LNzbMkIbCRZnOa|vd+OrjX<0(aanrjSUkiZ#U+%rn0 z#p?w)6#kg^$0-C0jIY9Taug9UQGoqNXtuv0N_EN17;r%aZo@$FR$v~lVk5aV#L9#? zq=5BAm>3qKK+78qwHF6MEJwq38w%XEtat8g+8%%%K zXaZe=P;{t0(!cWnH^c`{#0UIed#Boaom0)8O2fCv##Nl)Il@fRM9KuljA;!K3F2gQ zx&`#pOmw}qdaa4A-po(Y#KLvPU`uULNq-hBl?dpMPCB#dLt2 z_LwCfzB}IHB_E-(Z;V-wWTv4l(EMyi{A`M6dTRt$yZ^Sdedhyu+F_?>RygqMnNM%i z%ov_HJW1}N4Q?k=b1Kkb)G17(_4BCEBBs&K`WBayBir<5TY3uVeS*+#*s76wh81rz zK%OUn|5A`AfiLTZB9|DsGwa`9C?BZ5dK5n6nBN3=HsC?oyFli?TWxMl{{T$M!kw*@Tr(s)c~8dXMgH}=u9^5&<|2e{e0|_#iU*M zqz~LJ7|8jTAyM41!&&RNboFv^OyXyG-Vmw*OQoGTkkWZ927wHhmv;>nlIyw5&H)#j zv=oDF!lCA6&K%#KX}5T9W26crjmrB{ZfUcaHbWHZnewN(9sH)wZW`jNH(fk@{7_WcW*?6w4ye! zu&Nb1@Bew}zER}7kNAW;x3q6y11f9IzDH?OP;ZTY;PdO-aU|5OHZ7jH>t!XhXV~l% zJ))*(a>J>+N3VGE5cS`wb}p}tS}K+9553(EZKG%}#2Uw}fTUgTZkGnNUbN?NZk`nf zB(=UO#nlqd-~Mwhekq~hFckZVFYx2rCh)Yk$E(_%JeJ!NS{Ak8cd$ezt+rUxt8_+o z7CIl4TR0q)==QI=0uf&TyT!4;fnhmy&6w>=Lg%)9BsSDo5@uHGz>qpDXGyI-LEVBq znPGjazA}mcAs>YOK-ZAA62!}M&PK6|g*htv`%C9niO7Umsx;aqxPeL_`u4>k=_Ygd zgIi;Hvt^gP1)8TOzGb8LUyBY#oetE7Mjl}tY7RmTC%WRC{UP$gV7Y0*$eam-_o^&L zc!|gvikw?aXjU;L16CjG%eGLNl-uRZu?)=j|54g?z(d{t@oOooBD(U|@S--pc9ryfy&*S0oa_{%| zv%l;2{mvKYH{{%leHbVMC$Y=D+wuMSn|Bo@mJP}aW92+9r{3c5sZ}#Gs123VYdC_d zpFr7Js92*}4wuHh=pyfUyyyHTwP4%)-%rj6>E7(YnAgt?=?f|{Q9JlMKa{)rMe4*- zpErpX+3{8z=1A}goy;_-5!zg{-t|fc_Q>BeMPG4eJ*BgAPkfs!q3BwZG(S0SaZO9s z>L8O;#iFGYS*)G&Hw!}06&0}#rLG;g>+eDZYbzJx{NK&SJ*><#j_f}lw+P6 z($?QLdUoLo!Y5pa{G7X0V+F_0Zz{LqA0_*}T=1^zo#aX3lTF1UyK@y5{*13ZS*=iK z*Ly77%SUSRjZ@{{UiVE$&PpUs+pSmxbF#WH)2GPf*t)@42@^bNhqId#!GU%b0^JF^ zvC$@`4Qu#9UWc!(7JE0}rrdf$z`O-EXEtXSQTMMQ9^D_(#XtK}Y-cVhw8#0ox!Cl+ z{ry=7Uql*-9$oMS@743YLhV>34Em&T&*W~h7>Pn>+C;E`OXa7g5JzcY0cXmFPTUx zea{e!D72KmNlE8UJQ02&fXJ;?tQe$n0&ML$x-2*Lc!HD%!PgvhY>rs{mxCOm=@z&_~wm21pxH0=5OK$N#)aYb!t zoVBTka>oOI!uvTK#s1C*x70LU^$rr8mCOHX^=`X6`Ik@S@AH0{xuL>o1y1>GkL_C0 z^u+RP=Yp>R!ogRz+)+1_?CK9RonqPKQW57PL?Fapo(R`HxN`p@xZn5Awebj_`w-jK zPLSoEm5?ucI(VtE;@$H*-0C>nR$VKOd+YQ^_f4OsYel~;p;`4AY2$lC*}q5Mzq6cG zS)UT}SE^08b?fd|%NOLyPx~8J+Vk8m{V}C;=C(`g?R_8BUEfQ0TIUs+`!kwgVm^R_ z`R!Y@a|^W`@GdYhHF65Z;9Ref@WV7gstw=L_4zX#CJ3Lh6qw0#dVi{*hHU4?*>R0K zigA6D`UUrGX0MzaK&^FzU^;+E22;TRqbue*|^x^sOMefHQctM`1;YIA{PYxBt}{INiH z^uy$(6HoI#bjh5X_BG@|iBynRos3IJ*WA0!MzNh9pIW;;V%DiDcy3j;_9*3hT)Q?e z>eeZljkCRWm|WlduKW2jNkdYEzyZ_fqlJdge^twGu3uuhYbUdUMEa#g~~bYF9TMElW;YoVNLJUC-GwZH2SHn_HzS6drFA ze|A3iqOjN8z)k5pJIMD$wlz!Vgj>x{dc@5$i#P8qpYDp&De5OhlTFNX734}D3+SI# zugcm-3^bmlUsf-;Yt)K zyLmG#gI&vxgi7uB^5DoO!6WjSb_Mq8rsb&Y4K+#CI#ZAmNP%lI6leNt*RSGZF2+tht(j{>fm)G6jy%~&6uePnx? z=}w;|@*+0=!4ouECg#3bE1>E!Gb(PoefwhD*dkHkS$DN~0{^V+T)fr07vq%e?_Kvw z+hi}si1+i|Ws7|X)amsBviW<(3qF_pTB{qm@YOjSZ;QfW1siN*yNC(As$Xi>SfuTE zJ^Ch&w<#xor%Tw(){Z5|IWFf^=hiLK=CXZ#_Xmg8#Xgd$RHNSZ&zh;4OJ8iWyz`pk z>2g;6Xj1SrJFKc%is-gHX<6>%YD#3v^xO|&4_60JOCknrt$mZ=ifcA936Z6KmUF`Vbu{+E1ssS6HRd38>|-K*4<7zxS^ek zoVDI1d43mHogh|fIzDK=vy^03d(&~D=a$=Z+JiH;8{y`>YFDcO;2k&I|4UIzsH3X7~EZPVrj^lT@HyNtDJH>c%G=-t(jwZ{LIzl+6~+e z;g2_|1RTDzgjs(Ae=asU!Yb{&Ky-C0O6xkE>JE zHETXLIVh>g<1%dvo$iXX9m?kToM!)_e#bAV+&tGMd+f+-i!(B~lM+p3&ym|z90Sjo zJCfVFmzSP5wwqs$^|5d_RJyl7Mc=sjc2K^`Y-NQL##bamV#x>Roj07m_Ux-ffyQbs z@uN>e+$W2+*7Gcxz9w=_m=K{TAX==E9LIGa!ZWCf!$S0T4YBA-=~k_E8GhXx5)}?R zCHS~G1lPCBJietnXU(2BXw(D^|&K3XgL=o^WpJ7Os%HOV3r$ z*yOQ0_OeHs%cFSb>+3&hT2v`}#8_)Jeu=JdIeq(u9Pw@qSBKTz%|@TKe5j$D?J7kA zEh|=raGTh=g!@UhhHcBFPN$f6>;2|!sHYTr6;(@B1{Pv>cziar-eqcgwufl?_~w&qPrs=YI3Bjr}KK*NnU_jWDtyi5?PpKA2Q z$Yh7?%D{C$zdhI}u9mq?zV}vy)s|AlmnsqVScg?NK4&!@b`Jf@XD*gnCN8W|y81P~ zy{9+|AJMX6ZT#cp9qnh%-!#^gQ7U}&yg>Z?=a8>5uk5jZHLaIM{P;S-MCNAj2Cc4M zVI|W*Tm4VHX4p$b^{4Whzqn%E6Ex+XmftqT9#$%ow#vJ4?O0jJ?aEBgix)z3maO#Z z_&R@=Uz1wgvM_}U}cXqpH)vR6~5x>Kd zH~5~Xf0`R!Y3&#_yIuaoJr!-vC)^D_>c);Lm$qIk>d&P9-K5@px6`b-2P;!`(EWJo zQ}rEL5p{xwIt|ya>b%S|)X5T=DZ<$nazoNVQ)cZx*!lEu{RYn`8k(va1wmEM!laM6 z?tI%Vb7zJm@6kO1*~#Wr1_D77e@??s(v149ck!>bnx@F%li7!F`eujE>Jc{%D-pjg zCXUwB!m@H`xkgDsa$+=x_64s6Taxi#F(@+0_E$c zj}lgD?b+QE{?3>vy`PVptK8sOWBQzX6K5~=3!8Rr{~W@j#{MwFwC@6OlMh5tqf%GP zEK{)2m2GqJp6c%r`9O6_(HYI=0KKStMheO@4y~Gt;yJ&~+ZvbAXP)y(HvOdN!lOAK z%Aad-^^{}V8Y?&?XK?DgkS}?D%3AxJKW^s{tJw3e(_b91{<4d=a<75KZ1M&3qGw?V z#lAw$VQt4PcX;{2aX-CuM|<^UoSR<;S(}UIZfDnQ`EfZ zlgUYrx#6iCVr>c08`nqMI8;8kHTOhfO8iE1o5}g7??{xCFIjd$+DvnayzG|OnoGHN z#$6VA5!VnLys_bp*909-(Mi@Wdx>UlIkr2dR|z%ibG_t`G5U5$>ie2Ub`IhE4Q{ zt&hf+85C^OG`y(TU~sjuqO|m}p2}{UOX3}Ip;xPW$lu>>zQmE`s%Nu3=v!nk5nf&R zHMwxHV26~#v#DnefBdsownsU@EBUnbm#&VlYE$bHB%OqI87v^w)^mJ$qE9Jr|0`K= ztz_Doi^cv1+ss|h-;>%V9lyzmD`)Te-70$)@;k`go}E&=-KhR2Myb4xQn~i1k;S3v zgo}$sRJ4!PwexT|x7vNES!P(e-)o7y8HcDkznA}&-Cti6$|c-b#Zx;cld~;RA#&y0 zAGc>|tX;3g+Yy*=>G0cEuibjGuDg?3?n_b>@okE{aG=44q!2f~xW=z)aY4lEM}=&@ zRh_n|Js)}cz2S`@`}&EM z`~$l;zS5lg>cHE~K!wc|-o2V}O%^T~B`$?&eXiySgvzFm_j?a6flNS2-^<-sr@}v9 zvnEtkK{VWEZ`PYHN#v5+kFG*ii(dTnY-{fRLLz3|-c|5mA+ONazh=?jmD`UJB~O(2 zHm)m=ShHvEfgnQ5p7+~kq<1qjaVh*v>jAU+1ozMf2AbM2_=&+jGpi56 zE{Va1M#T>qfWEWM>eCB`K0H9XhRLV#WU@15;QAPMmIBO0Ao(&uB9dV|OvaN~!Yo9< zTwn!bMfCXeEHA)uf?^8juQAiWT(Gy+s6vb$BO~hQDuAZRP{? z2k=D;(xHbMpfGg|bRyXv1$5u6$Pct2VgwDH#v0U$4DR!j0k0rM(d$8numkTwqUhi$gi$>&=Ex-H-#Qh5B+8%zLExfChRH~hhdU9j(WJNm zy5nF!j=s6E68w*D!yIQgNGy(MuEZ=xP+cN{f@k_+uNW&kV>T8o5jg;*UMcJTfrdRSS*otTFJo5KKG zHE%qyip-VZ^Z4(HZh-yC0NV_CcKsF(8%5 zqadNUikZ-&10Nv-tHG{F>2z13Afb52b>a9Kbx=^ev>>`uW$xmpXyYs1i+Iplfo zgmt|D=LcS*Fx)KQdyqV_cM?kl!j4hw$F-YfjiK99<~PEY88D}yvfyiCJ(x7nP8F?2oAA0b~%_! z!SA+Id^a$dPRC&M5e(ud#$s6OOrl*E2JSnmzce^gCC0LY${T$0z%$UDBV@5P2-cp| z|A&>ij5Wj~8-*c?BEj7t-3~w0fMuu0Vx#K~qLnY{=+aFjTf|rN0p2wV@}+2>b+t%q&Qj{Lb_nxrSTA3 zx)BJ-iwWqRyznb7G#@hHxAnl6GObbW>IzkwX7Q*;yRb%0s;9VF^%{n^qhkkY~r1=^z z2BU(Y>wNj2=$K2jTfAhe0C?3t2us?G*U&=^uxlQR#?)>XWS&uip_yie0j69FNN$4h zkt7dW*(X8iaw^63oBslZ`GAd(2?pQBHVJcOwK`;+F9SuLg9M{Jq$&7L4LH|17KQo0 zYaNN6qq}ZHd3x}+5c;6Rqb93~!mMSKWSR%5$*Z5fS==B;NP`5Hn{pTvrR*a50z!FevoehaYNyE$0OE zZsS1L!NQd^&YILCG;^;5Fr0?WgzTU^G_9XiU_p>JRpfB z(P^|pqDAo8tryqW0z4JOK$g}%m@s0Cg1HPhpW-cfV1qyKg_I#{&X@#H-NuoHIF*HK zCxB0Horb}z9X2;DdULSsQqaZ@Yn@?E*PDXgm%m_cY+?aQ+W;Lb9D+ez$i!pf)aZKC^bTnB6H{~1pf=D6G(zS74`^F>Z<*db1t-gXFUUf#%lHm zP-b|D!h!v-K}B!C#z+bLU`=L>+%n=)U}Kbt9}z2DF9wXvNN`q%Jpz>ZAno)gsG&TL|7?H!>xVU(X)FD&_>Y=KbN900IjJ z3FWB+DyYb1_3^7VGkcAQ}B}`^<97< zj)A}d&mI9vra1b;^mP>w(CQyD&cq4q5um7usIk034hS3>B+wt_;BUFif)~`mjfUl8j~?*p_V#`P!MGvw3MBdju%S zNbwBk-%^Nzul)2XvJGaB03{ho+;{Cz0yEoynUTrJJ(4W~lt3s|Uwz^V*tm+p#y_Lj z!$(O*c3DPvDpR;eT+ z;1@FBzszF`A4NeeDSr}80iQNLKxT?qm@Z{QK`8oZy}h$(1K=k!;IAlT3m+v{-&);u ziFWvtBm;i^RkrX^QngR5a^eYaAQPy_Nc||?U<)55Q&&!EeV_~2b};w71~Eooe48zN z9NEKZ)FcG+(kV5u?t2DwP>Uq!_XOQ9WrvM9`ce^Dn=dd`7z}ID$b@mFW-Ro9?Oz5K zrmK|Xn|bJks7o9@*h}GGH%%?axraQ_6LKDsl)yu zcI|?quz;k=ClWyv+Po6dk1zGGPlBQ^p_Q+7Xdc!NL`afU*sRX3Bq-{dkU_n<8VD*O zi6Keq`q(EysZtKpw^+UdNhUMcWG7}K+mfJ^s)bWe_(2lEOkf~Mhvf)%)rC^8Bvj|z zq(urX>XGVtIhlPDl%kb)<9 z`u9BU0^eE+1F@xu;utfN1;xNlOV|N~mfwRY@oQH=6?_8wl9nJ~D+R{^%e<|ZKk(mI z1fA172x(Yd$R?=XLtB>rw=!-pxIWkF($ z_a%~iU|)_qZ0YrIvO}BgUUncTxdPfx+c}5q?6fao1y3aJCOGKh-FMQ~`C+XYP4N@@ z2{N_dlM!G~cd*1Eww1fvP)zDJDJcof8}im zNwNW^`M`t}$w`4NCLEdK=3_yipy}>>>EqT-U>9wu7|8YbMJxXk5py@@3EyS89OSWt zfj5$-Y86{FMg&&U>?)```vPdLGE@yqwf{iFT$Zw4jKLXD*#c0RF2V}}HP|9C9&qqM z=Vt8>%f1xN3-sq@b2#PYi#m+43*wO(lvnfT;#@nl0G{W z%+Vk4`QyqU2OI>&$sm+=a@&~bW5j<|U#N&FSiKDtgv^oo_;F*86(|SGvkq86~WOH0yO&sJ{1acrLFgwRh!8$;)c=vCu0*b>BAjpXe?_F$C zFqgsW$;6$hpr&>xCE5r(CpwLr0HHM2fsywlt->DkH4g#YWH$C1FFbQaVKb6t&VqtCASjUGrhAYD^1sbVqlReA(K-CQPW^$B*ar*1$S%&B zLoCqOyAhpW&#))jD<6MdvyEu4B@}>#br9AKj$#1|8~q7*CwDO|SP>^X;O$6+!98zl zJ>1*~WXiz*F&D&lGhQ+X9Cj5$Y(I}vA)%2 z#?bI|z(v}3aS{tmE3!L&2SJNOa<-@S4$#WB#w+YY4?us!fPM|8l~A)0Jvz!T@;Jxl zV~T)o#elx=Bpc``<40+e(~Z#Y!>BQ!W760_M;SPlMLiC#24``Ho;b45c)$|acs0Y^ zra@9S-=#oe+a!p=z-u_e4>cerhY@>VYbX_S__q~ zF^62|K|*ScJp8gw{zS(8@}fqYaF! z#*jCw?5cMsgwZ`n^T;;F+-HI6#=MQMeqi6m08-eTe@9>qHIo`};~@&#P`zLdxHX~e z%Q--SJxz467+uF4aOfS;u^l{}k|Xp4urC9)*icL1J2fEU8Eb4b_g<~gz=H+%&HxqA zh0Jpl#DTgtU?>!oKA^r;*$*vj1G6LR@b5+xOdm1@?>&ayXX8Du?*-V`04s|S{to<# zKFJw7lN}L?W&Hx?rl)?r`2bFWAVPvi!r*tj;3%afcfZk(bZB)8D0(@f<%e6w4bI%# zHatvBcZP0Yx(NOJi{Cp&=%Kf|X^R`9?(d+_D52{wBuocI9D(*C4Jg;m2nwqK(9w|{ znSDX4-3 z2un;BI;Fn}Vgxf8w!zRl*r;}nz88YNq4Wnij({q{&J+|-R>wNh6VM+JI6|PV%t$b5 z%?!;4=nqsI0o5|Fv|=}-I_f#Y7o5)NhOE#uJ}Q1%BOKFr_0^Ry<7oS`vvj1Ky_ z9V0oK_F+B74}*!A9jk+mI1-LD#PD$<4j!{J1k3!Oogq1?0afh44j#KR+H;s4zcPZ3 l)nU*fQ#A}Unub1d7|VL2DbP8=U~a%aVmJ(@4xliY{{dJC^1%QA literal 0 HcmV?d00001 diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/AbstractSFApiQuery.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/AbstractSFApiQuery.java index 322ba7e..d39c1ee 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/AbstractSFApiQuery.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/AbstractSFApiQuery.java @@ -198,6 +198,17 @@ public final ISFQuery setLink(String link) throws URISyntaxException @Override public final URI getLink() { + if(mLink == null)return null; + + //if mLink is base link return with provider + if(isBaseLink(mLink)){ + try{ + return new URI( mLink + mProviderForUrlPath); + }catch(URISyntaxException e){ + Logger.e(TAG,e); + } + } + return mLink; } @@ -288,7 +299,7 @@ public final ISFQuery addSubAction(String subaction, SFSafeEnum extras) @Override public final ISFQuery setBody(SFODataObject body) { - mBody = SFDefaultGsonParser.serialize(body.getClass(), body); + mBody = new SFDefaultGsonParser().serialize(body.getClass(), body); return this; } @@ -496,7 +507,7 @@ public final String buildQueryUrlString(String server) throws UnsupportedEncodin } } - String queryParams = buildQueryParameters(); + String queryParams = buildQueryParameters(null); if(!Utils.isEmpty(queryParams)) { @@ -545,7 +556,27 @@ private void addAllQueryParams() addFilterParams(); } - private String buildQueryParameters() throws UnsupportedEncodingException + private String[] getQueryParamsKeyValuePairs(String queryParams) + { + return queryParams!=null ? queryParams.split("&") : null; //This will return an array of "Key=values" and wont contain "&". + } + + private boolean shouldSkip(String key, String[] serverSideParameters){ + + if(serverSideParameters == null || serverSideParameters.length ==0 ){ + return false; + } + + for(String str: serverSideParameters){ + if(str.startsWith(key)){ + return true; + } + } + + return false; + } + + private String buildQueryParameters(String[] serverSideParameters) throws UnsupportedEncodingException { addAllQueryParams(); @@ -560,6 +591,10 @@ private String buildQueryParameters() throws UnsupportedEncodingException for(String key:keyset) { + //If server already has included this key, skip adding from client. + if(shouldSkip(key,serverSideParameters)){ + continue; + } String value = mQueryMap.get(key); if(value!=null) @@ -624,14 +659,14 @@ public ISFQuery addIds(URI url) @Override public ISFQuery setBody( ArrayList sfoDataObjectsFeed) { - mBody = SFDefaultGsonParser.serialize(sfoDataObjectsFeed.getClass(), sfoDataObjectsFeed); + mBody = new SFDefaultGsonParser().serialize(sfoDataObjectsFeed.getClass(), sfoDataObjectsFeed); return this; } @Override public ISFQuery setBody(Object object) { - mBody = SFDefaultGsonParser.serialize(object.getClass(), object); + mBody = new SFDefaultGsonParser().serialize(object.getClass(), object); return this; } @@ -712,20 +747,16 @@ private static HashMap splitQuery(String qs) public ISFQuery setLinkAndAppendPreviousParameters(URI newuri) throws URISyntaxException, UnsupportedEncodingException { String newQueryParams = newuri.getQuery(); - String oldQueryParms = buildQueryParameters(); - - if(newQueryParams !=null && (newQueryParams.contains(oldQueryParms) || containsDecodedParams(oldQueryParms,newQueryParams))) - { - setFullyParametrizedLink(newuri); - return this; - } + String oldQueryParms = buildQueryParameters(getQueryParamsKeyValuePairs(newQueryParams)); + Logger.d(TAG,"oldQparams = " + oldQueryParms); + Logger.d(TAG,"newQparams = " + newQueryParams); StringBuilder sb = new StringBuilder(); sb.append(newuri.toString()); if(!Utils.isEmpty(oldQueryParms)) { - if(Utils.isEmpty(newQueryParams)) + if(newQueryParams == null || newQueryParams.length() == 0) { sb.append(SFKeywords.CHAR_QUERY); } @@ -739,9 +770,11 @@ public ISFQuery setLinkAndAppendPreviousParameters(URI newuri) throws URISynt String strNewUrl = sb.toString(); - Logger.d(TAG,"Setting new URL by appending old query parameter to: " + strNewUrl); + URI uri = new URI(strNewUrl); + + Logger.d(TAG,"Setting new URI by appending old params: " + uri.getQuery()); - setFullyParametrizedLink(new URI(strNewUrl)); + setFullyParametrizedLink(uri); return this; } @@ -780,6 +813,12 @@ public ISFQuery skip(int skipItems) return this; } + @Override + public ISFQuery orderBy(String orderParameter, SFKeywords.DIRECTION direction) { + addQueryString(SFQueryParams.ORDERBY,orderParameter + " " + direction.toString()); + return this; + } + @Override public ISFQuery filter(String filterValue) { diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/ITokenlessClient.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/ITokenlessClient.java new file mode 100644 index 0000000..bc97457 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/ITokenlessClient.java @@ -0,0 +1,8 @@ +package com.citrix.sharefile.api; + +public interface ITokenlessClient { + static final String DUMMY_TOKEN_VALUE = "[TokenLessClient]"; + static final String DUMMY_TOKEN_USER_ID = "TokenLessUserId"; + static final String DUMMY_TOKEN_CLIENT_ID = "TokenLessClientId"; + static final String DUMMY_TOKEN_CLIENT_SECRET = "TokenLessClientSecret"; +} diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiClient.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiClient.java index 02e68e2..80c5afb 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiClient.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiClient.java @@ -11,9 +11,11 @@ import com.citrix.sharefile.api.exceptions.SFOtherException; import com.citrix.sharefile.api.exceptions.SFSDKException; import com.citrix.sharefile.api.exceptions.SFServerException; +import com.citrix.sharefile.api.extensions.SFCapabilitiesEntityEx; +import com.citrix.sharefile.api.gson.auto.SFDefaultGsonParser; import com.citrix.sharefile.api.https.SFCookieManager; import com.citrix.sharefile.api.https.SFDownloadRunnable; -import com.citrix.sharefile.api.https.SFUploadRunnable; +import com.citrix.sharefile.api.https.upload.SFUploadRunnable; import com.citrix.sharefile.api.https.TransferRunnable; import com.citrix.sharefile.api.interfaces.IOAuthTokenChangeHandler; import com.citrix.sharefile.api.interfaces.ISFApiClient; @@ -29,10 +31,12 @@ import com.citrix.sharefile.api.models.SFSession; import com.citrix.sharefile.api.models.SFUploadRequestParams; import com.citrix.sharefile.api.utils.Utils; +import com.google.gson.JsonElement; import java.io.InputStream; import java.io.OutputStream; import java.io.UnsupportedEncodingException; +import java.lang.reflect.Type; import java.net.URI; import java.net.URISyntaxException; import java.util.concurrent.atomic.AtomicBoolean; @@ -46,11 +50,11 @@ public class SFApiClient extends ISFEntities.Implementation implements ISFApiCli private final AtomicReference mOAuthToken = new AtomicReference(null); private SFSession mSession = null; - private SFCookieManager mCookieManager = new SFCookieManager(); - private final String mClientID; - private final String mClientSecret; - private final IOAuthTokenChangeHandler mAuthTokenChangeCallback; - private String mSfUserId; + protected SFCookieManager mCookieManager = new SFCookieManager(); + protected final String mClientID; + protected final String mClientSecret; + protected final IOAuthTokenChangeHandler mAuthTokenChangeCallback; + protected String mSfUserId; private static final String DEFAULT_ACCEPTED_LANGUAGE = Utils.getAcceptLanguageString(); @@ -62,7 +66,9 @@ public class SFApiClient extends ISFEntities.Implementation implements ISFApiCli private final URI mDefaultTopUrl; - private ISFReAuthHandler mReAuthHandler; + protected ISFReAuthHandler mReAuthHandler; + + private final SFDefaultGsonParser gsonParser = new SFDefaultGsonParser(); public boolean isClientInitialised() { @@ -108,8 +114,8 @@ public SFApiClient(SFOAuth2Token oauthToken,String sfUserId,String clientID,Stri mSFAppConfig.addAcceptedLanguage(DEFAULT_ACCEPTED_LANGUAGE); mSFAppConfig.addHeader(SFKeywords.CLIENT_CAPABILITIES_HEADER, SFClientCapability.HardLock.toString()); - - copyOAuthToken(oauthToken); + mSFAppConfig.addHeader(SFKeywords.CLIENT_CAPABILITIES_HEADER, SFClientCapability.ItemFavorites.toString()); + copyOAuthToken(oauthToken); try { @@ -129,9 +135,13 @@ public SFApiClient(SFOAuth2Token oauthToken,String sfUserId,String clientID,Stri mReAuthHandler = reAuthHandler; } + protected SFApiClient newInstance() throws SFInvalidStateException { + return new SFApiClient(getOAuthToken(), mSfUserId, mClientID, mClientSecret, mAuthTokenChangeCallback, mReAuthHandler); + } + public SFApiClient clone(){ try { - SFApiClient clonedClient = new SFApiClient(getOAuthToken(), mSfUserId, mClientID, mClientSecret, mAuthTokenChangeCallback, mReAuthHandler); + SFApiClient clonedClient = newInstance(); clonedClient.mCookieManager = mCookieManager; return clonedClient; } @@ -139,7 +149,7 @@ public SFApiClient clone(){ Logger.d(TAG, "Exception in creating a clone of the API Client"); } return null; - } + } /** * This function can be called only on clients which were previously initialized. @@ -218,6 +228,10 @@ public String getUserId() { return mSfUserId; } + + public void removeCookieStartsWith(URI uri, String key){ + mCookieManager.removeCookieStartsWith(uri,key); + } public void setCookie(String urlStr, String cookieString) { @@ -331,7 +345,7 @@ public SFDownloadRunnable getDownloader(SFFile file, OutputStream outputStream, public SFUploadRunnable getUploader(SFFolder parentFolder,String destinationName, String details,long fileSizeInBytes, InputStream inputStream, - TransferRunnable.IProgress progressListener) + SFUploadRunnable.IUploadProgress progressListener) throws SFInvalidStateException, SFServerException { validateClientState(); @@ -349,7 +363,7 @@ public SFUploadRunnable getUploader(SFFolder parentFolder,String destinationName public SFUploadRunnable getUploader(SFUploadRequestParams uploadRequestParams, InputStream inputStream, - TransferRunnable.IProgress progressListener) + SFUploadRunnable.IUploadProgress progressListener) throws SFInvalidStateException, SFServerException { validateClientState(); @@ -384,12 +398,21 @@ public SFUploadRunnable getUploader(SFUploadRequestParams uploadRequestParams, * @throws com.citrix.sharefile.api.exceptions.SFServerException */ @Deprecated - public SFUploadRunnable prepareUpload(String destinationName, String details, String v3Url, boolean overwrite, long resumeFromByteIndex, long tolalBytes, InputStream inputStream, TransferRunnable.IProgress progressListener, String connUserName,String connPassword) throws SFInvalidStateException, SFServerException { + public SFUploadRunnable prepareUpload(String destinationName, String details, String v3Url, boolean overwrite, long resumeFromByteIndex, long tolalBytes, + InputStream inputStream, SFUploadRunnable.IUploadProgress progressListener, String connUserName,String connPassword) throws SFInvalidStateException, SFServerException { validateClientState(); return new SFUploadRunnable(v3Url, overwrite, resumeFromByteIndex, tolalBytes, destinationName, inputStream, this, progressListener, mCookieManager, connUserName, connPassword, details); } + public SFUploadRunnable prepareUpload(String destinationName, String details, String v3Url, boolean overwrite, long resumeFromByteIndex, long tolalBytes, + InputStream inputStream, SFUploadRunnable.IUploadProgress progressListener, String connUserName,String connPassword, + String localFilePath, boolean canUseMultiThreaded) throws SFInvalidStateException, SFServerException { + validateClientState(); + + return new SFUploadRunnable(v3Url, overwrite, resumeFromByteIndex, tolalBytes, destinationName, inputStream, this, progressListener, mCookieManager, connUserName, connPassword, details, localFilePath, canUseMultiThreaded); + } + public URI getDefaultUrl(String folderID) throws URISyntaxException { if(SFFolderID.TOP.equalsIgnoreCase(folderID)) @@ -439,4 +462,15 @@ public void setReAuthHandler(ISFReAuthHandler reAuthHandler) { mReAuthHandler = reAuthHandler; } + + public SFODataObject customParse(JsonElement jsonElement, Type typeOfObjectGuessedByGson){ + return gsonParser.customParse(jsonElement,typeOfObjectGuessedByGson); + } + + @Override + public SFCapabilitiesEntityEx capabilitiesEx() { + return (SFCapabilitiesEntityEx)getEntity(SFCapabilitiesEntityEx.class); + } + + } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java index 4e759ba..f2b1546 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFApiQueryExecutor.java @@ -13,7 +13,6 @@ import com.citrix.sharefile.api.exceptions.SFOAuthTokenRenewException; import com.citrix.sharefile.api.exceptions.SFOtherException; import com.citrix.sharefile.api.exceptions.SFServerException; -import com.citrix.sharefile.api.gson.SFGsonHelper; import com.citrix.sharefile.api.https.SFCookieManager; import com.citrix.sharefile.api.https.SFHttpsCaller; import com.citrix.sharefile.api.interfaces.ISFApiExecuteQuery; @@ -127,6 +126,7 @@ private void handleHttPost(URLConnection conn) throws IOException conn.setRequestProperty(SFKeywords.CONTENT_LENGTH, ""+body.getBytes().length); conn.setRequestProperty(SFKeywords.CONTENT_TYPE, SFKeywords.APPLICATION_JSON); + Logger.d(TAG, "Posting body = " + body); SFHttpsCaller.postBody(conn, body); } @@ -301,6 +301,14 @@ is ShareFile(404) vs Connectors(409). default: { + if(retryDeleteWithPostOverride(httpErrorCode)) + { + mQuery.setBody(EMPTY_JSON); + //This wont cause infinite recursion since retryDeleteWithPostOverride returns false for empty String "" + //and for the retry we have set the body to and empty json "{}". + return executeBlockingQuery(); + } + responseString = SFHttpsCaller.readErrorResponse(connection); Logger.v(TAG, responseString); SFV3ErrorParser sfV3error = new SFV3ErrorParser(httpErrorCode, responseString, null); @@ -333,6 +341,33 @@ is ShareFile(404) vs Connectors(409). } } + //On certain connectors , the DELETE verb is not accepted by the server. + //We need to pass the DELETE as POST override for them. + private boolean retryDeleteWithPostOverride(int httpErrorCode) + { + //Retry with POST only for DELETE methods if we receive BadMethod from server. + if(httpErrorCode != HttpsURLConnection.HTTP_BAD_METHOD || !SFHttpMethod.DELETE.toString().equalsIgnoreCase(mQuery.getHttpMethod())) + { + return false; + } + + //For non-empty Bodies we anyway use POST. + if(!Utils.isEmpty(mQuery.getBody())) + { + return false; + } + + //Apply only to non-SF providers. ShareFile server always supports DELETE. + if(SFProvider.PROVIDER_TYPE_SF.equalsIgnoreCase(SFProvider.getProviderType(mQuery.getLink()))) + { + return false; + } + + Logger.d(TAG, "DELETE method not accepted. Use POST override."); + + return true; + } + private void callSaveCredentialsCallback(T sfobject) { if(mReauthHandler == null || sfobject==null) @@ -565,7 +600,7 @@ protected T callSuccessResponseParser(String responseString) throws SFServerExce { JsonParser jsonParser = new JsonParser(); JsonElement jsonElement =jsonParser.parse(responseString); - T sfobject = (T)SFGsonHelper.customParse(jsonElement); + T sfobject = (T)mSFApiClient.customParse(jsonElement,null); SFRedirection redirection = getRedirectionObject(sfobject); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFConfiguration.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFConfiguration.java index e1f4c95..3af8316 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFConfiguration.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFConfiguration.java @@ -15,6 +15,13 @@ */ public class SFConfiguration { + public static final boolean RESOLVE_LOCALE = true; + // SF-Locale configuration support. + // ?More info: http://www.oracle.com/us/technologies/java/locale-140624.html? + public static final boolean LOCALE_COUNTRY_SUPPORT = true; + public static final boolean LOCALE_VARIANT_SUPPORT = false; + public static final boolean LOCALE_SCRIPT_SUPPORT = false; + private final Map mAdditionalHttpHeaders = new HashMap(); public void addAcceptedLanguages(ArrayList acceptedLanguages) diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFProvider.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFProvider.java index 5eb0894..be05e3e 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFProvider.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFProvider.java @@ -1,12 +1,9 @@ package com.citrix.sharefile.api; import com.citrix.sharefile.api.constants.SFKeywords; -import com.citrix.sharefile.api.constants.SFSdkGlobals; import com.citrix.sharefile.api.log.Logger; -import com.citrix.sharefile.api.models.SFLockType; import com.citrix.sharefile.api.utils.Utils; -import java.net.MalformedURLException; import java.net.URI; import java.net.URISyntaxException; import java.net.URL; @@ -48,6 +45,10 @@ public static String getProviderType(String urlString) public static String getProviderType(URI uri) { + if(uri == null){ + return ""; + } + String path = uri.getPath(); if(path == null || path.length() < 2 ) //we check this since the path should always contain /v3/ or /upload-streaming diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFTokenLessApiClient.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFTokenLessApiClient.java index a69f5ca..07cef9d 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFTokenLessApiClient.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFTokenLessApiClient.java @@ -4,12 +4,8 @@ import com.citrix.sharefile.api.exceptions.SFInvalidStateException; import com.citrix.sharefile.api.interfaces.ISFReAuthHandler; -public class SFTokenLessApiClient extends SFApiClient +public class SFTokenLessApiClient extends SFApiClient implements ITokenlessClient { - private static final String DUMMY_TOKEN_VALUE = "[TokenLessClient]"; - private static final String DUMMY_TOKEN_USER_ID = "TokenLessUserId"; - private static final String DUMMY_TOKEN_CLIENT_ID = "TokenLessClientId"; - private static final String DUMMY_TOKEN_CLIENT_SECRET = "TokenLessClientSecret"; /* * Note : a Token less ApiClient can be used for Standalone connectors so it may have a @@ -31,4 +27,9 @@ public SFTokenLessApiClient(String subDomain,String apiControlPlane) throws SFIn { this(subDomain,apiControlPlane,null); } + + @Override + protected SFApiClient newInstance() throws SFInvalidStateException { + return new SFTokenLessApiClient(getOAuthToken().getSubdomain(),getOAuthToken().getApiCP(),mReAuthHandler); + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFV3ErrorParser.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFV3ErrorParser.java index dd04ffa..c0da08e 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFV3ErrorParser.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/SFV3ErrorParser.java @@ -1,5 +1,6 @@ package com.citrix.sharefile.api; +import com.citrix.sharefile.api.utils.Utils; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; @@ -42,6 +43,7 @@ public class SFV3ErrorParser protected String code = ""; protected String lang = null; protected String value = null; + protected String reason = null; protected String getErrorMessageFromErroCode(int httpResponseCode) { @@ -82,7 +84,9 @@ public SFV3ErrorParser(int serverHttpCode, String serverRespSring, Exception exc code = SFGsonHelper.getString(jsonObject, SFKeywords.CODE, ""); JsonObject messageObject = jsonObject.getAsJsonObject(SFKeywords.MESSAGE); - value = SFGsonHelper.getString(messageObject, SFKeywords.VALUE, ""); + value = SFGsonHelper.getString(messageObject, SFKeywords.VALUE, ""); + + reason = SFGsonHelper.getString(jsonObject, SFKeywords.REASON, ""); } catch (Throwable e) { @@ -92,9 +96,17 @@ public SFV3ErrorParser(int serverHttpCode, String serverRespSring, Exception exc public String errorDisplayString() { - if(httpResponseCode != SFSdkGlobals.INTERNAL_HTTP_ERROR && value!=null) + if(httpResponseCode != SFSdkGlobals.INTERNAL_HTTP_ERROR) { - return value; + if(!Utils.isEmpty(value)) + { + return value; + } + + if(!Utils.isEmpty(reason)) + { + return reason; + } } if(httpResponseCode == SFSdkGlobals.INTERNAL_HTTP_ERROR_NETWORK_CONNECTION_PROBLEM) diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/constants/SFKeywords.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/constants/SFKeywords.java index 2066e7e..27e3cca 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/constants/SFKeywords.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/constants/SFKeywords.java @@ -9,8 +9,9 @@ public final class SFKeywords public static final String ODATA_TYPE = "odata.type"; public static final String ODATA_COUNT = "odata.count"; public static final String ODATA_NEXTLINK = "odata.nextLink"; - + public static final String URL = "url"; + public static final String URI = "Uri"; public static final String Id = "Id"; public static final String DownloadUrl = "DownloadUrl"; public static final String Range = "Range"; @@ -27,21 +28,35 @@ public final class SFKeywords public static final String Zone = "Zone"; public static final String LOCKED_BY = "LockedBy"; public static final String FILE_LOCK_INFO = "FileLockInfo"; + public static final String INFO = "Info"; + public static final String ITEM = "Item"; public static final String CODE = "code"; public static final String VALUE = "value"; public static final String MESSAGE = "message"; + public static final String REASON = "reason"; + public static final String HAS_REMOTE_CHILDREN = "HasRemoteChildren"; public static final String CHILDREN = "Children"; public static final String PARENT = "Parent"; public static final String REDIRECTION = "Redirection"; + public static final String REDIRECTION_URI = "Redirection" + "/" + URI; + public static final String LINK = "Link"; public static final String PREVIEW_PLATFORMS_SUPPORTED = "PreviewPlatformsSupported"; - public static final String FAVORITE_FOLDER = "FavoriteFolder"; - public static final String CHILDREN_FAVORITE_FOLDER = CHILDREN + "/" + FAVORITE_FOLDER; + public static final String FAVORITE = "Favorite"; + public static final String FAVORITE_URL = FAVORITE + "/" + URL; + public static final String CHILDREN_FAVORITE = CHILDREN + "/" + FAVORITE; public static final String CHILDREN_PARENT = CHILDREN + "/" + PARENT; public static final String CHILDREN_PREVIEW_PLATFORMS_SUPPORTED = CHILDREN + "/" + PREVIEW_PLATFORMS_SUPPORTED; public static final String CHILDREN_LOCKED_BY = CHILDREN + "/" + LOCKED_BY; + public static final String CHILDREN_ZONE = CHILDREN + "/" + Zone; public static final String CHILDREN_FILE_LOCK_INFO = CHILDREN + "/" + FILE_LOCK_INFO; + public static final String CHILDREN_LINK = CHILDREN + "/" + LINK; + public static final String CHILDREN_INFO = CHILDREN + "/" + INFO; + public static final String CHILDREN_REDIRECTION = CHILDREN + "/" + REDIRECTION; + public static final String CHILDREN_FAVORITE_URL = CHILDREN_FAVORITE + "/" + URL; + public static final String CHILDREN_REDIRECTION_URI = CHILDREN_REDIRECTION + "/" + URI; + //Access token related public static final String ACCESS_TOKEN = "access_token"; @@ -97,8 +112,6 @@ public final class SFKeywords public static final String PREFIX_PERSONAL_CONNECTOR = "c-"; - public static final String INFO = "Info"; - public static final String JSON = "json"; /// StorageCenter related @@ -108,8 +121,24 @@ public final class SFKeywords public static final String HTTP_METHOD_OVERRIDE = "X-HTTP-Method-Override"; - public static final String UNKNOWN_ERROR = "Unknown Error"; - public static final String SF_OAUTH_TOKEN_PATH = "/oauth/token"; - public static final String UN_AUTHORIZED = "UnAuthorized(401)"; + public static final String UNKNOWN_ERROR = "Unknown Error"; + public static final String SF_OAUTH_TOKEN_PATH = "/oauth/token"; + public static final String UN_AUTHORIZED = "UnAuthorized(401)"; public static final String CLIENT_CAPABILITIES_HEADER = "X-SF-ClientCapabilities"; + + //Workflows related + public static final String LAST_STATUS_UPDATE = "LastStatusUpdate"; + + public enum DIRECTION { + ASC("asc"), + DESC("desc"); + + private String mStr; + private DIRECTION(String str) { + mStr = str; + } + public String toString() { + return mStr; + } + } } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/constants/SFQueryParams.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/constants/SFQueryParams.java index a7023a2..19304a1 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/constants/SFQueryParams.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/constants/SFQueryParams.java @@ -7,4 +7,5 @@ public class SFQueryParams public static final String TOP = "$top"; public static final String SKIP = "$skip"; public static final String FILTER = "$filter"; + public static final String ORDERBY = "$orderby"; } \ No newline at end of file diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/ISFEntities.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/ISFEntities.java index 64a697a..9614ef9 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/ISFEntities.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/ISFEntities.java @@ -5,7 +5,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -19,11 +19,39 @@ protected Implementation() { } + @Override + public SFAppsEntity apps() { + return (SFAppsEntity)getEntity(SFAppsEntity.class); + } + @Override + public SFFavoritesEntity favorites() { + return (SFFavoritesEntity)getEntity(SFFavoritesEntity.class); + } + @Override + public SFWebhookClientsEntity webhookClients() { + return (SFWebhookClientsEntity)getEntity(SFWebhookClientsEntity.class); + } + @Override + public SFWebhookSubscriptionsEntity webhookSubscriptions() { + return (SFWebhookSubscriptionsEntity)getEntity(SFWebhookSubscriptionsEntity.class); + } + @Override + public SFWorkflowsEntity workflows() { + return (SFWorkflowsEntity)getEntity(SFWorkflowsEntity.class); + } + @Override + public SFPoliciesEntity policies() { + return (SFPoliciesEntity)getEntity(SFPoliciesEntity.class); + } @Override public SFConnectorGroupsEntity connectorGroups() { return (SFConnectorGroupsEntity)getEntity(SFConnectorGroupsEntity.class); } @Override + public SFFileLockEntity fileLock() { + return (SFFileLockEntity)getEntity(SFFileLockEntity.class); + } + @Override public SFIrmClassificationsEntity irmClassifications() { return (SFIrmClassificationsEntity)getEntity(SFIrmClassificationsEntity.class); } @@ -56,6 +84,14 @@ public SFCapabilitiesEntity capabilities() { return (SFCapabilitiesEntity)getEntity(SFCapabilitiesEntity.class); } @Override + public SFConfigsEntity configs() { + return (SFConfigsEntity)getEntity(SFConfigsEntity.class); + } + @Override + public SFDevicesEntity devices() { + return (SFDevicesEntity)getEntity(SFDevicesEntity.class); + } + @Override public SFFavoriteFoldersEntity favoriteFolders() { return (SFFavoriteFoldersEntity)getEntity(SFFavoriteFoldersEntity.class); } @@ -93,7 +129,14 @@ public SFZonesEntity zones() { } } + SFAppsEntity apps(); + SFFavoritesEntity favorites(); + SFWebhookClientsEntity webhookClients(); + SFWebhookSubscriptionsEntity webhookSubscriptions(); + SFWorkflowsEntity workflows(); + SFPoliciesEntity policies(); SFConnectorGroupsEntity connectorGroups(); + SFFileLockEntity fileLock(); SFIrmClassificationsEntity irmClassifications(); SFRemoteUploadsEntity remoteUploads(); SFReportsEntity reports(); @@ -102,6 +145,8 @@ public SFZonesEntity zones() { SFAccountsEntity accounts(); SFAsyncOperationsEntity asyncOperations(); SFCapabilitiesEntity capabilities(); + SFConfigsEntity configs(); + SFDevicesEntity devices(); SFFavoriteFoldersEntity favoriteFolders(); SFGroupsEntity groups(); SFItemsEntity items(); diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccessControlsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccessControlsEntity.java index 4a8cc34..b829816 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccessControlsEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccessControlsEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -86,6 +86,10 @@ public ISFQuery> getByItem(URI url) throws InvalidO * Creates a new Access Controls entry for a given Item. Access controls can only define a single Principal, * which can be either a Group or User. The 'Principal' element is specified as an object - you should populate * either the URL or the ID reference. + * + * If CanDownload is set to true, CanView will automatically be set to true. + * If CanDownload is set to false, CanDelete will be set to false. + * In order for a user/group to be able to manage permissions, they must be able to upload, download, and delete. Otherwise it will be set to false. * @param url * @param accessControl * @param recursive (default: false) @@ -135,6 +139,10 @@ public ISFQuery createByItem(URI url, SFAccessControl accessCon * Creates a new Access Controls entry for a given Item. Access controls can only define a single Principal, * which can be either a Group or User. The 'Principal' element is specified as an object - you should populate * either the URL or the ID reference. + * + * If CanDownload is set to true, CanView will automatically be set to true. + * If CanDownload is set to false, CanDelete will be set to false. + * In order for a user/group to be able to manage permissions, they must be able to upload, download, and delete. Otherwise it will be set to false. * @param url * @param accessControl * @param recursive (default: false) @@ -180,6 +188,10 @@ public ISFQuery createByItem(URI url, SFAccessControl accessCon * Creates a new Access Controls entry for a given Item. Access controls can only define a single Principal, * which can be either a Group or User. The 'Principal' element is specified as an object - you should populate * either the URL or the ID reference. + * + * If CanDownload is set to true, CanView will automatically be set to true. + * If CanDownload is set to false, CanDelete will be set to false. + * In order for a user/group to be able to manage permissions, they must be able to upload, download, and delete. Otherwise it will be set to false. * @param url * @param accessControl * @param recursive (default: false) @@ -220,6 +232,10 @@ public ISFQuery createByItem(URI url, SFAccessControl accessCon * Creates a new Access Controls entry for a given Item. Access controls can only define a single Principal, * which can be either a Group or User. The 'Principal' element is specified as an object - you should populate * either the URL or the ID reference. + * + * If CanDownload is set to true, CanView will automatically be set to true. + * If CanDownload is set to false, CanDelete will be set to false. + * In order for a user/group to be able to manage permissions, they must be able to upload, download, and delete. Otherwise it will be set to false. * @param url * @param accessControl * @return the created or modified AccessControl instance @@ -538,12 +554,10 @@ public ISFQuery bulkDeleteForPrincipal(ArrayList folderIds, String princ /** * Notify users that they have access to the parent folder - * [ * { * UserIds: ["id1", "id2"], * CustomMessage: "Message content goes here" * } - * ] * All users should have access to the parent folder * @param folderUrl * @param notifyUsersParams diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccountsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccountsEntity.java index 27b70dc..44df2bf 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccountsEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAccountsEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -354,6 +354,55 @@ public ISFQuery updateSSO(SFSSOAccountProvider sso) throws * Get List of Accounts for User * { * "password":"password" + * } + * Retrieve the list of Accounts associated with a given user + * All parameters to this call may be passed in the Post body as root JSON parameters, or in the URI - + * with the exception of password that must be provided in the POST body. + * This operation does not require authentication + * @param username + * @param employeesonly (default: false) + * @param requirehomefolders (default: false) + * @param singleplane (default: false) + * @param clientId (default: null) + * @return The list of Accounts associated with this username/password. + */ + public ISFQuery> getByUser(SFODataObject parameters, String username, Boolean employeesonly, Boolean requirehomefolders, Boolean singleplane, String clientId) throws InvalidOrMissingParameterException { + if (parameters == null) { + throw new InvalidOrMissingParameterException("parameters"); + } + if (username == null) { + throw new InvalidOrMissingParameterException("username"); + } + if (employeesonly == null) { + throw new InvalidOrMissingParameterException("employeesonly"); + } + if (requirehomefolders == null) { + throw new InvalidOrMissingParameterException("requirehomefolders"); + } + if (singleplane == null) { + throw new InvalidOrMissingParameterException("singleplane"); + } + if (clientId == null) { + throw new InvalidOrMissingParameterException("clientId"); + } + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Accounts"); + sfApiQuery.setAction("GetByUser"); + parameters.addProperty("username", username); + parameters.addProperty("employeesonly", employeesonly); + parameters.addProperty("requirehomefolders", requirehomefolders); + parameters.addProperty("singleplane", singleplane); + parameters.addProperty("clientId", clientId); + sfApiQuery.setBody(parameters); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + + /** + * Get List of Accounts for User + * { + * "password":"password" * } * Retrieve the list of Accounts associated with a given user * All parameters to this call may be passed in the Post body as root JSON parameters, or in the URI - diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAppsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAppsEntity.java new file mode 100644 index 0000000..03136ab --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAppsEntity.java @@ -0,0 +1,242 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.entities; + +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.entities.*; +import com.citrix.sharefile.api.models.*; +import com.citrix.sharefile.api.SFApiQuery; +import com.citrix.sharefile.api.interfaces.ISFQuery; + + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; +import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; + +public class SFAppsEntity extends SFEntitiesBase +{ + public SFAppsEntity(ISFApiClient client) { + super(client); + } + + /** + * Get Apps for Current User + * @return A feed of ConnectedApp objects + */ + public ISFQuery> get() { + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Apps"); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Get Apps for given User + * @param userUrl + * @return A feed of ConnectedApp objects + */ + public ISFQuery> getByUser(URI userUrl) throws InvalidOrMissingParameterException { + if (userUrl == null) { + throw new InvalidOrMissingParameterException("userUrl"); + } + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.setAction("Apps"); + sfApiQuery.addIds(userUrl); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + public ISFQuery get(URI url) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Apps"); + sfApiQuery.addIds(url); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Get App by ID + * @param userUrl + * @return ConnectedApp + */ + public ISFQuery getByUser(URI userUrl, String appid) throws InvalidOrMissingParameterException { + if (userUrl == null) { + throw new InvalidOrMissingParameterException("userUrl"); + } + if (appid == null) { + throw new InvalidOrMissingParameterException("appid"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.setAction("Apps"); + sfApiQuery.addIds(userUrl); + sfApiQuery.addActionIds(appid); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Revoke App access for Current User + * @param appUrl + * @return no data on success + */ + public ISFQuery delete(URI appUrl) throws InvalidOrMissingParameterException { + if (appUrl == null) { + throw new InvalidOrMissingParameterException("appUrl"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Apps"); + sfApiQuery.addIds(appUrl); + sfApiQuery.setHttpMethod("DELETE"); + return sfApiQuery; + } + + /** + * Revoke App access for a given User + * @param userUrl + * @return no data on success + */ + public ISFQuery deleteByUser(URI userUrl, String appid) throws InvalidOrMissingParameterException { + if (userUrl == null) { + throw new InvalidOrMissingParameterException("userUrl"); + } + if (appid == null) { + throw new InvalidOrMissingParameterException("appid"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.setAction("Apps"); + sfApiQuery.addIds(userUrl); + sfApiQuery.addActionIds(appid); + sfApiQuery.setHttpMethod("DELETE"); + return sfApiQuery; + } + + /** + * Get all Two Factor Authentication Apps for the Current User + * @return A feed of TwoFactorAuthApp objects + */ + public ISFQuery> tFA() { + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Apps"); + sfApiQuery.setAction("TFA"); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + public ISFQuery> getTFAByUser(URI url) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.setAction("TFA"); + sfApiQuery.addIds(url); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Get Two Factor Authentication App by ID for the Current User + * @return TwoFactorAuthApp + */ + public ISFQuery tFA(String appid) throws InvalidOrMissingParameterException { + if (appid == null) { + throw new InvalidOrMissingParameterException("appid"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Apps"); + sfApiQuery.setAction("TFA"); + sfApiQuery.addActionIds(appid); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + public ISFQuery getTFAByUser(URI url, String tfaAppId) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (tfaAppId == null) { + throw new InvalidOrMissingParameterException("tfaAppId"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.setAction("TFA"); + sfApiQuery.addIds(url); + sfApiQuery.addActionIds(tfaAppId); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Revoke Two Factor Auth App by ID + * @return no data on success + */ + public ISFQuery deleteTFA(String tfaAppId) throws InvalidOrMissingParameterException { + if (tfaAppId == null) { + throw new InvalidOrMissingParameterException("tfaAppId"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Apps"); + sfApiQuery.setAction("TFA"); + sfApiQuery.addActionIds(tfaAppId); + sfApiQuery.setHttpMethod("DELETE"); + return sfApiQuery; + } + + /** + * Revoke Two Factor Auth App by ID + * @param userUrl + * @return no data on success + */ + public ISFQuery deleteTFA(URI userUrl, String tfaAppId) throws InvalidOrMissingParameterException { + if (userUrl == null) { + throw new InvalidOrMissingParameterException("userUrl"); + } + if (tfaAppId == null) { + throw new InvalidOrMissingParameterException("tfaAppId"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.setAction("TFA"); + sfApiQuery.addIds(userUrl); + sfApiQuery.addActionIds(tfaAppId); + sfApiQuery.setHttpMethod("DELETE"); + return sfApiQuery; + } + +} + diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAsyncOperationsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAsyncOperationsEntity.java index 7da45e1..352644f 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAsyncOperationsEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFAsyncOperationsEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFCapabilitiesEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFCapabilitiesEntity.java index 8b8151e..118e7eb 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFCapabilitiesEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFCapabilitiesEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFConfigsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFConfigsEntity.java new file mode 100644 index 0000000..8566457 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFConfigsEntity.java @@ -0,0 +1,52 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.entities; + +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.entities.*; +import com.citrix.sharefile.api.models.*; +import com.citrix.sharefile.api.SFApiQuery; +import com.citrix.sharefile.api.interfaces.ISFQuery; + + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; +import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; + +public class SFConfigsEntity extends SFEntitiesBase +{ + public SFConfigsEntity(ISFApiClient client) { + super(client); + } + + /** + * Get Configs + * @return List of GenericConfg + */ + public ISFQuery> get() { + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Configs"); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + +} + diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFConnectorGroupsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFConnectorGroupsEntity.java index 596a21a..7656c3d 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFConnectorGroupsEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFConnectorGroupsEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -184,7 +184,7 @@ public ISFQuery create(SFConnectorGroup connectorGroup) throws } /** - * Associates a Zone to an existing Connecto Group + * Associates a Zone with an existing Connector Group * { * "Zone": {"Id":"ZoneId"}, * "StorageCenter": [ { "Id":"StorageCenterId" }, { ... } ], @@ -196,7 +196,7 @@ public ISFQuery create(SFConnectorGroup connectorGroup) throws * Adds a Zone to an existing Connector Group. * @param url * @param connectorGroupZone - * @return the created or modified AccessControl instance + * @return the created or modified ConnectorGroupZone instance */ public ISFQuery createZones(URI url, SFConnectorGroupZone connectorGroupZone) throws InvalidOrMissingParameterException { if (url == null) { @@ -254,7 +254,7 @@ public ISFQuery createAccessControls(URI url, SFC * } * @param url * @param connectorGroupZone - * @return the created or modified AccessControl instance + * @return the created or modified ConnectorGroupZone instance */ public ISFQuery updateZones(URI url, String zoneId, SFConnectorGroupZone connectorGroupZone) throws InvalidOrMissingParameterException { if (url == null) { diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFDevicesEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFDevicesEntity.java new file mode 100644 index 0000000..550bc01 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFDevicesEntity.java @@ -0,0 +1,233 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.entities; + +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.entities.*; +import com.citrix.sharefile.api.models.*; +import com.citrix.sharefile.api.SFApiQuery; +import com.citrix.sharefile.api.interfaces.ISFQuery; + + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; +import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; + +public class SFDevicesEntity extends SFEntitiesBase +{ + public SFDevicesEntity(ISFApiClient client) { + super(client); + } + + /** + * Get Device Users for Current User + * @return A feed of DeviceUser objects + */ + public ISFQuery> get() { + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Devices"); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Get Device by ID + * @param url + * @return Device + */ + public ISFQuery get(URI url) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Devices"); + sfApiQuery.addIds(url); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Get Devices for given User + * @param parentUrl + * @return List of Devices + */ + public ISFQuery> getByUser(URI parentUrl) throws InvalidOrMissingParameterException { + if (parentUrl == null) { + throw new InvalidOrMissingParameterException("parentUrl"); + } + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.setAction("Devices"); + sfApiQuery.addIds(parentUrl); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Delete specific Device for given User + * @param parentUrl + * @param id + * @return No content + */ + public ISFQuery deleteByUser(URI parentUrl, String id) throws InvalidOrMissingParameterException { + if (parentUrl == null) { + throw new InvalidOrMissingParameterException("parentUrl"); + } + if (id == null) { + throw new InvalidOrMissingParameterException("id"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.setAction("Devices"); + sfApiQuery.addIds(parentUrl); + sfApiQuery.addActionIds(id); + sfApiQuery.setHttpMethod("DELETE"); + return sfApiQuery; + } + + /** + * Wipe Device + * @param deviceUrl + * @param userid (default: null) + * @return no data on success + */ + public ISFQuery wipe(URI deviceUrl, String userid) throws InvalidOrMissingParameterException { + if (deviceUrl == null) { + throw new InvalidOrMissingParameterException("deviceUrl"); + } + if (userid == null) { + throw new InvalidOrMissingParameterException("userid"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Devices"); + sfApiQuery.setAction("Wipe"); + sfApiQuery.addIds(deviceUrl); + sfApiQuery.addQueryString("userid", userid); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + + /** + * Wipe Device + * @param deviceUrl + * @return no data on success + */ + public ISFQuery wipe(URI deviceUrl) throws InvalidOrMissingParameterException { + if (deviceUrl == null) { + throw new InvalidOrMissingParameterException("deviceUrl"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Devices"); + sfApiQuery.setAction("Wipe"); + sfApiQuery.addIds(deviceUrl); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + + /** + * Lock Device + * @param deviceUrl + * @param userid (default: null) + * @return no data on success + */ + public ISFQuery lock(URI deviceUrl, String userid) throws InvalidOrMissingParameterException { + if (deviceUrl == null) { + throw new InvalidOrMissingParameterException("deviceUrl"); + } + if (userid == null) { + throw new InvalidOrMissingParameterException("userid"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Devices"); + sfApiQuery.setAction("Lock"); + sfApiQuery.addIds(deviceUrl); + sfApiQuery.addQueryString("userid", userid); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + + /** + * Lock Device + * @param deviceUrl + * @return no data on success + */ + public ISFQuery lock(URI deviceUrl) throws InvalidOrMissingParameterException { + if (deviceUrl == null) { + throw new InvalidOrMissingParameterException("deviceUrl"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Devices"); + sfApiQuery.setAction("Lock"); + sfApiQuery.addIds(deviceUrl); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + + /** + * Unlock Device + * @param deviceUrl + * @param userid (default: null) + * @return no data on success + */ + public ISFQuery unlock(URI deviceUrl, String userid) throws InvalidOrMissingParameterException { + if (deviceUrl == null) { + throw new InvalidOrMissingParameterException("deviceUrl"); + } + if (userid == null) { + throw new InvalidOrMissingParameterException("userid"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Devices"); + sfApiQuery.setAction("Unlock"); + sfApiQuery.addIds(deviceUrl); + sfApiQuery.addQueryString("userid", userid); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + + /** + * Unlock Device + * @param deviceUrl + * @return no data on success + */ + public ISFQuery unlock(URI deviceUrl) throws InvalidOrMissingParameterException { + if (deviceUrl == null) { + throw new InvalidOrMissingParameterException("deviceUrl"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Devices"); + sfApiQuery.setAction("Unlock"); + sfApiQuery.addIds(deviceUrl); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + +} + diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFavoriteFoldersEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFavoriteFoldersEntity.java index 3706206..d20d7c6 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFavoriteFoldersEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFavoriteFoldersEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFavoritesEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFavoritesEntity.java new file mode 100644 index 0000000..26ab34c --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFavoritesEntity.java @@ -0,0 +1,148 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.entities; + +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.entities.*; +import com.citrix.sharefile.api.models.*; +import com.citrix.sharefile.api.SFApiQuery; +import com.citrix.sharefile.api.interfaces.ISFQuery; + + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; +import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; + +public class SFFavoritesEntity extends SFEntitiesBase +{ + public SFFavoritesEntity(ISFApiClient client) { + super(client); + } + + /** + * Get a list of all favorite items marked by the user + * @param userUrl + */ + public ISFQuery> getByUser(URI userUrl) throws InvalidOrMissingParameterException { + if (userUrl == null) { + throw new InvalidOrMissingParameterException("userUrl"); + } + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.setAction("Favorites"); + sfApiQuery.addIds(userUrl); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Get a single favorite item + */ + public ISFQuery getByFavoriteItem(URI url) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Favorites"); + sfApiQuery.addIds(url); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Mark an Item as Favorite + * @param userUrl + * @param itemToMarkFavorite + */ + public ISFQuery createByUser(URI userUrl, SFFavorite itemToMarkFavorite) throws InvalidOrMissingParameterException { + if (userUrl == null) { + throw new InvalidOrMissingParameterException("userUrl"); + } + if (itemToMarkFavorite == null) { + throw new InvalidOrMissingParameterException("itemToMarkFavorite"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.setAction("Favorites"); + sfApiQuery.addIds(userUrl); + sfApiQuery.setBody(itemToMarkFavorite); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + + /** + * Update the Favorite Items for a user + * @param userUrl + * @param favoriteItems + */ + public ISFQuery patchByUser(URI userUrl, ArrayList favoriteItems) throws InvalidOrMissingParameterException { + if (userUrl == null) { + throw new InvalidOrMissingParameterException("userUrl"); + } + if (favoriteItems == null) { + throw new InvalidOrMissingParameterException("favoriteItems"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.setAction("Favorites"); + sfApiQuery.addIds(userUrl); + sfApiQuery.setBody(favoriteItems); + sfApiQuery.setHttpMethod("PUT"); + return sfApiQuery; + } + + /** + * Remove the given Favorite item for a user + */ + public ISFQuery delete(URI url) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Favorites"); + sfApiQuery.addIds(url); + sfApiQuery.setHttpMethod("DELETE"); + return sfApiQuery; + } + + /** + * Remove all Favorite items for a user + * @param userUrl + */ + public ISFQuery deleteInBulkByUser(URI userUrl) throws InvalidOrMissingParameterException { + if (userUrl == null) { + throw new InvalidOrMissingParameterException("userUrl"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.setAction("Favorites"); + sfApiQuery.addIds(userUrl); + sfApiQuery.setHttpMethod("DELETE"); + return sfApiQuery; + } + +} + diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFileLockEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFileLockEntity.java new file mode 100644 index 0000000..9e8d285 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFileLockEntity.java @@ -0,0 +1,163 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.entities; + +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.entities.*; +import com.citrix.sharefile.api.models.*; +import com.citrix.sharefile.api.SFApiQuery; +import com.citrix.sharefile.api.interfaces.ISFQuery; + + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; +import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; + +public class SFFileLockEntity extends SFEntitiesBase +{ + public SFFileLockEntity(ISFApiClient client) { + super(client); + } + + /** + * Get Item Lock info + * Retrieves the lock info for a given Item. + * @param url + * @return Lock info + */ + public ISFQuery getByItem(URI url) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Items"); + sfApiQuery.setAction("FileLock"); + sfApiQuery.addIds(url); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Create Lock + * { + * "Owner":{Id:"ownerid"}, + * "ExpirationTimeInMinutes":180 + * } + * Expiration can be set either using ExpirationDate or ExpirationTimeInMinutes. If both are provided + * ExpirationDate takes precedence. + * @param url + * @param fileLock + * @return The created item Lock object + */ + public ISFQuery createByItem(URI url, SFFileLock fileLock) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (fileLock == null) { + throw new InvalidOrMissingParameterException("fileLock"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Items"); + sfApiQuery.setAction("FileLock"); + sfApiQuery.addIds(url); + sfApiQuery.setBody(fileLock); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + + /** + * Update FileLock. Updates expiration time and/or LockType + * { + * "LockId":"lockid", + * "Owner":{Id:"ownerid"}, + * "ExpirationDate": "2016-02-18T21:23:53.373Z" + * } + * Expiration can be set either using ExpirationDate or ExpirationTimeInMinutes. If both are provided + * ExpirationDate takes precedence. + * @param url + * @param fileLock + * @return The updated lock object + */ + public ISFQuery updateByItem(URI url, SFFileLock fileLock) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (fileLock == null) { + throw new InvalidOrMissingParameterException("fileLock"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Items"); + sfApiQuery.setAction("FileLock"); + sfApiQuery.addIds(url); + sfApiQuery.setBody(fileLock); + sfApiQuery.setHttpMethod("PATCH"); + return sfApiQuery; + } + + /** + * Unlock File + * Unlock a locked file. + * @param url + */ + public ISFQuery deleteByItem(URI url, String lockid) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (lockid == null) { + throw new InvalidOrMissingParameterException("lockid"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Items"); + sfApiQuery.setAction("FileLock"); + sfApiQuery.addIds(url); + sfApiQuery.addActionIds(lockid); + sfApiQuery.setHttpMethod("DELETE"); + return sfApiQuery; + } + + /** + * Discard checkout on a File + * Discard a checkout on a file + * @param url + */ + public ISFQuery discard(URI url, String lockid) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (lockid == null) { + throw new InvalidOrMissingParameterException("lockid"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Items"); + sfApiQuery.setAction("FileLock"); + sfApiQuery.addIds(url); + sfApiQuery.addActionIds(lockid); + sfApiQuery.addSubAction("Discard"); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + +} + diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFolderTemplatesEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFolderTemplatesEntity.java index ddae463..97d0081 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFolderTemplatesEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFFolderTemplatesEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -65,7 +65,7 @@ public ISFQuery get(URI url) throws InvalidOrMissingParameterE * Create Folder Template * { * "Name": "Client Folder", - * "Description": "For all client folders created in 2014 or after" + * "Description": "For all client folders created in 2014 or after", * "Items": [ * { * "Name": "Folder 1", diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFGroupsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFGroupsEntity.java index 5646191..e254526 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFGroupsEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFGroupsEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -211,5 +211,24 @@ public ISFQuery> deleteContacts(URI url, ArrayList> getByUser(URI url) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.setAction("Groups"); + sfApiQuery.addIds(url); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFIrmClassificationsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFIrmClassificationsEntity.java index f95b4a2..60e5ded 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFIrmClassificationsEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFIrmClassificationsEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFItemsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFItemsEntity.java index b8c9622..b0d290e 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFItemsEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFItemsEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -597,7 +597,8 @@ public ISFQuery bulkDownload(URI parentUrl, ArrayList ids) * { * "Name":"Folder Name", * "Description":"Description", - * "Zone":{ "Id":"z014766e-8e96-4615-86aa-57132a69843c" } + * "Zone":{ "Id":"ZoneId" } + * "ExpirationDate": "9999-12-31T23:59:59.9999999Z" * } * Creates a new Folder. * The POST body must contain the serialized object. @@ -640,7 +641,8 @@ public ISFQuery createFolder(URI parentUrl, SFFolder folder, Boolean o * { * "Name":"Folder Name", * "Description":"Description", - * "Zone":{ "Id":"z014766e-8e96-4615-86aa-57132a69843c" } + * "Zone":{ "Id":"ZoneId" } + * "ExpirationDate": "9999-12-31T23:59:59.9999999Z" * } * Creates a new Folder. * The POST body must contain the serialized object. @@ -678,7 +680,8 @@ public ISFQuery createFolder(URI parentUrl, SFFolder folder, Boolean o * { * "Name":"Folder Name", * "Description":"Description", - * "Zone":{ "Id":"z014766e-8e96-4615-86aa-57132a69843c" } + * "Zone":{ "Id":"ZoneId" } + * "ExpirationDate": "9999-12-31T23:59:59.9999999Z" * } * Creates a new Folder. * The POST body must contain the serialized object. @@ -1615,6 +1618,37 @@ public ISFQuery getThumbnail(URI url) throws InvalidOrMissingParame return sfApiQuery; } + /** + * Get Breadcrumbs + * Retrieves the path from an item from the root. The return list is a Feed of Items, with the top-level + * folder at the first position. If this item is in a Connection path, the breadcrumbs may contain URL + * reference back to the parent account - and the Item in the feed will contain just the URL reference. + * @param url + * @param path (default: null) + * @param bubbleSharedPassthroughs (default: false) + * @return A feed containing the path of folders from the specified root to the item, in order + */ + public ISFQuery> getBreadcrumbs(URI url, String path, Boolean bubbleSharedPassthroughs) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (path == null) { + throw new InvalidOrMissingParameterException("path"); + } + if (bubbleSharedPassthroughs == null) { + throw new InvalidOrMissingParameterException("bubbleSharedPassthroughs"); + } + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Items"); + sfApiQuery.setAction("Breadcrumbs"); + sfApiQuery.addIds(url); + sfApiQuery.addQueryString("path", path); + sfApiQuery.addQueryString("bubbleSharedPassthroughs", bubbleSharedPassthroughs); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + /** * Get Breadcrumbs * Retrieves the path from an item from the root. The return list is a Feed of Items, with the top-level @@ -1727,6 +1761,191 @@ public ISFQuery copy(URI url, String targetid) throws InvalidOrMissingPa * "Raw": false, * "FileName":"FileName" * "FileLength": length + * } + * Prepares the links for uploading files to the target Folder. + * This method returns an Upload Specification object. The fields are + * populated based on the upload method, provider, and canResume parameters passed to the + * upload call. + * The Method determines how the URLs must be called. + * + * There are two different URLs for upload: /sf/v3/Items(id)/Upload accepts parameters + * through the URL query string, while /sf/v3/Items(id)/Upload2 uses the HTTP POST message body. + * If using 'Upload2', the parameters must be capitalized. + * + * Standard uploads use a single HTTP POST message to the ChunkUri address provided in + * the response. All other fields will be empty. Standard uploads do not support Resume. + * + * Streamed uploads use multiple HTTP POST calls to the ChunkUri address. For each call, the client + * must append the parameters index, byteOffset and hash to the ChunkUri address. Index is a + * sequential number (zero-based) identifying the position of the chunk relative to others; + * byteOffset represents how many bytes precede the chunk relative to the beginning of the file; + * and hash contains the MD5 hash of the chunk. The last HTTP POST must also include the parameters + * finish=true and filehash=[MD5 hash of entire file]. + * + * Threaded uploads use multiple HTTP POST calls to ChunkUri, and can have a number of + * threads issuing chunks in parallel. Clients must append index, byteOffset and hash to + * the end of ChunkUri, as explained for Streamed uploads. After all chunks are sent, the client + * must call the FinishUri provided in the Upload Specification response. + * + * If using the Threaded Uploader, the client can add the parameter fmt=json to the ChunkUri + * to retrieve the Item ID of the file after the upload is completed. + * + * For all uploaders, the contents of the POST Body can either be "raw" (if the parameter raw=true + * is provided to the Uploader) or use MIME multi-part form encoding otherwise. Raw uploads + * provide the chunk content directly in the POST body and the Content-Length header specifies the size. + * Multi-part form encoding requires passing the file as a Form parameter named "Filedata". + * + * For Streamed and Threaded uploads, if the CanResume parameter is specified in the call to Upload, + * then the fields IsResume, ResumeIndex, ResumeOffset and ResumeFileHash may be populated in the + * Upload Specification response. If they are, it indicates that the server has identified a partial + * upload with that specification and is ready to resume the upload process. The client can + * verify the file has not been modified based on the value of ResumeFileHash, then continue issuing + * calls to the ChunkUri starting from the position represented by the values of ResumeIndex and + * ResumeOffset. If the client decides to restart the upload, it should simply ignore the resume + * fields and send chunks starting from Index 0. + * + * For all upload methods, successful HTTP POST calls to ChunkUri and FinishUri will return response + * code 200 with either no Content Body or with a Body of 'OK'. The response code for failed calls can + * be 401, indicating authentication is required; 4xx/5xx, indicating some kind of error; or + * 200 with Content Body of format 'ERROR:[message]'. + * @param url + * @param method (default: Standard) + * @param raw (default: false) + * @param fileName (default: null) + * @param fileSize (default: 0) + * @param batchId (default: null) + * @param batchLast (default: false) + * @param canResume (default: false) + * @param startOver (default: false) + * @param unzip (default: false) + * @param tool (default: "apiv3") + * @param overwrite (default: false) + * @param title (default: null) + * @param details (default: null) + * @param isSend (default: false) + * @param sendGuid (default: null) + * @param opid (default: null) + * @param threadCount (default: 4) + * @param responseFormat (default: "json") + * @param notify (default: false) + * @param clientCreatedDateUTC (default: null) + * @param clientModifiedDateUTC (default: null) + * @param baseFileId (default: "") + * @return an Upload Specification element, containing the links for uploading, and the parameters for resume. The caller must know the protocol for sending the prepare, chunk and finish URLs returned in the spec; as well as negotiate the resume upload. + */ + public ISFQuery upload(URI url, SFSafeEnum method, Boolean raw, String fileName, Long fileSize, String batchId, Boolean batchLast, Boolean canResume, Boolean startOver, Boolean unzip, String tool, Boolean overwrite, String title, String details, Boolean isSend, String sendGuid, String opid, Integer threadCount, String responseFormat, Boolean notify, Date clientCreatedDateUTC, Date clientModifiedDateUTC, Integer expirationDays, String baseFileId) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (method == null) { + throw new InvalidOrMissingParameterException("method"); + } + if (raw == null) { + throw new InvalidOrMissingParameterException("raw"); + } + if (fileName == null) { + throw new InvalidOrMissingParameterException("fileName"); + } + if (fileSize == null) { + throw new InvalidOrMissingParameterException("fileSize"); + } + if (batchId == null) { + throw new InvalidOrMissingParameterException("batchId"); + } + if (batchLast == null) { + throw new InvalidOrMissingParameterException("batchLast"); + } + if (canResume == null) { + throw new InvalidOrMissingParameterException("canResume"); + } + if (startOver == null) { + throw new InvalidOrMissingParameterException("startOver"); + } + if (unzip == null) { + throw new InvalidOrMissingParameterException("unzip"); + } + if (tool == null) { + throw new InvalidOrMissingParameterException("tool"); + } + if (overwrite == null) { + throw new InvalidOrMissingParameterException("overwrite"); + } + if (title == null) { + throw new InvalidOrMissingParameterException("title"); + } + if (details == null) { + throw new InvalidOrMissingParameterException("details"); + } + if (isSend == null) { + throw new InvalidOrMissingParameterException("isSend"); + } + if (sendGuid == null) { + throw new InvalidOrMissingParameterException("sendGuid"); + } + if (opid == null) { + throw new InvalidOrMissingParameterException("opid"); + } + if (threadCount == null) { + throw new InvalidOrMissingParameterException("threadCount"); + } + if (responseFormat == null) { + throw new InvalidOrMissingParameterException("responseFormat"); + } + if (notify == null) { + throw new InvalidOrMissingParameterException("notify"); + } + if (clientCreatedDateUTC == null) { + throw new InvalidOrMissingParameterException("clientCreatedDateUTC"); + } + if (clientModifiedDateUTC == null) { + throw new InvalidOrMissingParameterException("clientModifiedDateUTC"); + } + if (expirationDays == null) { + throw new InvalidOrMissingParameterException("expirationDays"); + } + if (baseFileId == null) { + throw new InvalidOrMissingParameterException("baseFileId"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Items"); + sfApiQuery.setAction("Upload"); + sfApiQuery.addIds(url); + sfApiQuery.addQueryString("method", method); + sfApiQuery.addQueryString("raw", raw); + sfApiQuery.addQueryString("fileName", fileName); + sfApiQuery.addQueryString("fileSize", fileSize); + sfApiQuery.addQueryString("batchId", batchId); + sfApiQuery.addQueryString("batchLast", batchLast); + sfApiQuery.addQueryString("canResume", canResume); + sfApiQuery.addQueryString("startOver", startOver); + sfApiQuery.addQueryString("unzip", unzip); + sfApiQuery.addQueryString("tool", tool); + sfApiQuery.addQueryString("overwrite", overwrite); + sfApiQuery.addQueryString("title", title); + sfApiQuery.addQueryString("details", details); + sfApiQuery.addQueryString("isSend", isSend); + sfApiQuery.addQueryString("sendGuid", sendGuid); + sfApiQuery.addQueryString("opid", opid); + sfApiQuery.addQueryString("threadCount", threadCount); + sfApiQuery.addQueryString("responseFormat", responseFormat); + sfApiQuery.addQueryString("notify", notify); + sfApiQuery.addQueryString("clientCreatedDateUTC", clientCreatedDateUTC); + sfApiQuery.addQueryString("clientModifiedDateUTC", clientModifiedDateUTC); + sfApiQuery.addQueryString("expirationDays", expirationDays); + sfApiQuery.addQueryString("baseFileId", baseFileId); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + + /** + * Upload File + * POST https://account.sf-api.com/sf/v3/Items(id)/Upload2 + * { + * "Method":"Method", + * "Raw": false, + * "FileName":"FileName" + * "FileLength": length * } * Prepares the links for uploading files to the target Folder. * This method returns an Upload Specification object. The fields are @@ -4841,6 +5060,90 @@ public ISFQuery search(String query) throws InvalidOrMissingPar return sfApiQuery; } + /** + * Search + * Search for Items matching the criteria of the query parameter + * @param query + * @param maxResults (default: 50) + * @param skip (default: 0) + * @return SearchResults + */ + public ISFQuery search(URI url, String query, Integer maxResults, Integer skip) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (query == null) { + throw new InvalidOrMissingParameterException("query"); + } + if (maxResults == null) { + throw new InvalidOrMissingParameterException("maxResults"); + } + if (skip == null) { + throw new InvalidOrMissingParameterException("skip"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Items"); + sfApiQuery.setAction("Search"); + sfApiQuery.addIds(url); + sfApiQuery.addQueryString("query", query); + sfApiQuery.addQueryString("maxResults", maxResults); + sfApiQuery.addQueryString("skip", skip); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Search + * Search for Items matching the criteria of the query parameter + * @param query + * @param maxResults (default: 50) + * @return SearchResults + */ + public ISFQuery search(URI url, String query, Integer maxResults) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (query == null) { + throw new InvalidOrMissingParameterException("query"); + } + if (maxResults == null) { + throw new InvalidOrMissingParameterException("maxResults"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Items"); + sfApiQuery.setAction("Search"); + sfApiQuery.addIds(url); + sfApiQuery.addQueryString("query", query); + sfApiQuery.addQueryString("maxResults", maxResults); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Search + * Search for Items matching the criteria of the query parameter + * @param query + * @return SearchResults + */ + public ISFQuery search(URI url, String query) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (query == null) { + throw new InvalidOrMissingParameterException("query"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Items"); + sfApiQuery.setAction("Search"); + sfApiQuery.addIds(url); + sfApiQuery.addQueryString("query", query); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + /** * Advanced Simple Search * { @@ -4987,19 +5290,15 @@ public ISFQuery getRedirection(URI url) throws InvalidOrMissingPa * Get a collection of recoverable/deleted items in a folder * @param url */ - public ISFQuery> getDeletedChildren(URI url, String id) throws InvalidOrMissingParameterException { + public ISFQuery> getDeletedChildren(URI url) throws InvalidOrMissingParameterException { if (url == null) { throw new InvalidOrMissingParameterException("url"); } - if (id == null) { - throw new InvalidOrMissingParameterException("id"); - } SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("DeletedChildren"); sfApiQuery.addIds(url); - sfApiQuery.addQueryString("parentid", id); sfApiQuery.setHttpMethod("GET"); return sfApiQuery; } @@ -5091,6 +5390,7 @@ public ISFQuery bulkDeletePermanently(ArrayList ids) throws InvalidOrMis /** * Create a one-time use login Uri for the Web App. + * The user will be logged in and routed to the parent folder of the Item.If the Item is a Folder, the user will be routed to that Folder. * @param url * @return Redirection populated with link in Uri field */ @@ -5111,19 +5411,15 @@ public ISFQuery webAppLink(URI url) throws InvalidOrMissingParame * Remove folder template association from folder * @param url */ - public ISFQuery removeTemplateAssociation(URI url, String id) throws InvalidOrMissingParameterException { + public ISFQuery removeTemplateAssociation(URI url) throws InvalidOrMissingParameterException { if (url == null) { throw new InvalidOrMissingParameterException("url"); } - if (id == null) { - throw new InvalidOrMissingParameterException("id"); - } SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("RemoveTemplateAssociation"); sfApiQuery.addIds(url); - sfApiQuery.addQueryString("parentid", id); sfApiQuery.setHttpMethod("POST"); return sfApiQuery; } @@ -5132,19 +5428,15 @@ public ISFQuery removeTemplateAssociation(URI url, String id) throws InvalidOrMi * Check if template is already part of an existing template structure * @param url */ - public ISFQuery checkTemplateOwned(URI url, String id) throws InvalidOrMissingParameterException { + public ISFQuery checkTemplateOwned(URI url) throws InvalidOrMissingParameterException { if (url == null) { throw new InvalidOrMissingParameterException("url"); } - if (id == null) { - throw new InvalidOrMissingParameterException("id"); - } SFApiQuery sfApiQuery = new SFApiQuery(this.client); sfApiQuery.setFrom("Items"); sfApiQuery.setAction("CheckTemplateOwned"); sfApiQuery.addIds(url); - sfApiQuery.addQueryString("parentid", id); sfApiQuery.setHttpMethod("POST"); return sfApiQuery; } @@ -5154,13 +5446,10 @@ public ISFQuery checkTemplateOwned(URI url, String id) throws InvalidOrMissingPa * @param url * @param newMaxVersions */ - public ISFQuery checkVersioningViolation(URI url, String id, Integer newMaxVersions) throws InvalidOrMissingParameterException { + public ISFQuery checkVersioningViolation(URI url, Integer newMaxVersions) throws InvalidOrMissingParameterException { if (url == null) { throw new InvalidOrMissingParameterException("url"); } - if (id == null) { - throw new InvalidOrMissingParameterException("id"); - } if (newMaxVersions == null) { throw new InvalidOrMissingParameterException("newMaxVersions"); } @@ -5169,7 +5458,6 @@ public ISFQuery checkVersioningViolation(URI url, String id, Integer newMaxVersi sfApiQuery.setFrom("Items"); sfApiQuery.setAction("CheckVersioningViolation"); sfApiQuery.addIds(url); - sfApiQuery.addQueryString("parentid", id); sfApiQuery.addQueryString("newMaxVersions", newMaxVersions); sfApiQuery.setHttpMethod("POST"); return sfApiQuery; diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFMetadataEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFMetadataEntity.java index d1cca25..344a70d 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFMetadataEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFMetadataEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -157,6 +157,36 @@ public ISFQuery update(URI url, SFMetadata metadata) throws InvalidO return sfApiQuery; } + /** + * Update Item Metadata + * [{ + * "Value":"metadata value" + * },{ + * "Value":"metadata value" + * }, + * ...] + * Update the item corresponding to the supplied id with the provided key-value Metadata models. + * If a metadata key is not already associated with the item, the item is updated with the new key-value pair. + * @param url + * @return The updated Metadata list for the given object ID. + */ + public ISFQuery> updateItem(URI url, ArrayList metadata) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (metadata == null) { + throw new InvalidOrMissingParameterException("metadata"); + } + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Items"); + sfApiQuery.setAction("Metadata"); + sfApiQuery.addIds(url); + sfApiQuery.setBody(metadata); + sfApiQuery.setHttpMethod("PATCH"); + return sfApiQuery; + } + /** * Delete Metadata * Deletes a single Metadata entry that has a specified Name for a given Item. Fails if an entry with the given name doesn't exist for this Item. diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFPoliciesEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFPoliciesEntity.java new file mode 100644 index 0000000..9755333 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFPoliciesEntity.java @@ -0,0 +1,201 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.entities; + +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.entities.*; +import com.citrix.sharefile.api.models.*; +import com.citrix.sharefile.api.SFApiQuery; +import com.citrix.sharefile.api.interfaces.ISFQuery; + + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; +import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; + +public class SFPoliciesEntity extends SFEntitiesBase +{ + public SFPoliciesEntity(ISFApiClient client) { + super(client); + } + + /** + * Get List of Account Policies + * The Policies endpoint returns the list of policies that have been defined for current account. + * @return List of account policies + */ + public ISFQuery> get() { + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Policies"); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Get Policy + * Returns information for a specific Policy. + * @param url + * @return A single Policy + */ + public ISFQuery get(URI url) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Policies"); + sfApiQuery.addIds(url); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Set user Policy + * [{ + * "Active": true, + * "Policy": { + * "Id": "123" + * } + * }, + * { + * "Active": false, + * "Policy": { + * "Id": "456" + * } + * }] + * Replace all policies associated with user + * Leaving any category out will effectively disable PBA for that category. At most one policy per category is allowed. + * @param url + * @return Returns user policies + */ + public ISFQuery> patchByUser(URI url, ArrayList userPolicies) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (userPolicies == null) { + throw new InvalidOrMissingParameterException("userPolicies"); + } + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.setAction("Policies"); + sfApiQuery.addIds(url); + sfApiQuery.setBody(userPolicies); + sfApiQuery.setHttpMethod("PUT"); + return sfApiQuery; + } + + /** + * Create User Policy + * { + * "Active": true, + * "Policy": { + * "Id": "123" + * } + * } + * Assigns a Policy to a user + * @param url + * @param policy + * @return Returns newly assigned Policy + */ + public ISFQuery createByUser(URI url, SFUserPolicy policy) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (policy == null) { + throw new InvalidOrMissingParameterException("policy"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.setAction("Policies"); + sfApiQuery.addIds(url); + sfApiQuery.setBody(policy); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + + /** + * Delete User Policies + * Remove user from policy based admin + * @param url + */ + public ISFQuery deleteByUser(URI url) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.setAction("Policies"); + sfApiQuery.addIds(url); + sfApiQuery.setHttpMethod("DELETE"); + return sfApiQuery; + } + + public ISFQuery deleteByUser(URI url, String id) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (id == null) { + throw new InvalidOrMissingParameterException("id"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.setAction("Policies"); + sfApiQuery.addIds(url); + sfApiQuery.addActionIds(id); + sfApiQuery.setHttpMethod("DELETE"); + return sfApiQuery; + } + + /** + * Update a single UserPolicy + * { + * "Active": false + * } + * Updates a single user Policy. Currently this only allows an update to the Active flag. + * @param url + */ + public ISFQuery updateByUser(URI url, String id, SFUserPolicy updatedPolicy) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (id == null) { + throw new InvalidOrMissingParameterException("id"); + } + if (updatedPolicy == null) { + throw new InvalidOrMissingParameterException("updatedPolicy"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.setAction("Policies"); + sfApiQuery.addIds(url); + sfApiQuery.addActionIds(id); + sfApiQuery.setBody(updatedPolicy); + sfApiQuery.setHttpMethod("PATCH"); + return sfApiQuery; + } + +} + diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFRemoteUploadsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFRemoteUploadsEntity.java index c5c778d..999a605 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFRemoteUploadsEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFRemoteUploadsEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFReportsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFReportsEntity.java index 1eb8dd1..2792818 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFReportsEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFReportsEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -155,18 +155,19 @@ public ISFQuery> getRecords(URI url) throws InvalidO /** * Create Report * { - * "Id": "rs24f83e-b147-437e-9f28-e7d03634af42" * "Title": "Usage Report", * "ReportType": "Activity", + * "ActivityTypes": "Login,Upload,Download,View", * "ObjectType": "Account", - * "ObjectId": "a024f83e-b147-437e-9f28-e7d0ef634af42", + * "ObjectId": "accountId", * "DateOption": "Last30Days", * "SaveFormat": "Excel" * } - * Creates a new Report. + * Creates a new Report. The sample above is for an Account Activity Report. For more options please refer to the Report + * model documentation. * @param report * @param runOnCreate - * @return the created report + * @return Created Report */ public ISFQuery create(SFReport report, Boolean runOnCreate) throws InvalidOrMissingParameterException { if (report == null) { diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFSessionsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFSessionsEntity.java index 5faa95b..ae637f5 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFSessionsEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFSessionsEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFSharesEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFSharesEntity.java index 71e1fed..7de28bf 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFSharesEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFSharesEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -863,6 +863,67 @@ public ISFQuery bulkDownload(URI shareUrl, String aliasid, ArrayLis * "TrackUntilDate": "2013-07-23", * "SendFrequency": -1, * "SendInterval": -1 + * } + * Creates a new Send or Request Share. + * Expiration date: + * - if not specified the default is 30 days + * - "9999-12-31" disables share expiration. + * To use stream IDs as item IDs UsesStreamIDs needs to be set to true, and all the IDs in Items need to be specified + * as stream IDs. + * View Only: + * View Only share can be created by either setting "IsViewOnly = true" or "share.ShareAccessRight.ShareAccessRightType = ViewOnline" + * If both "share.IsViewOnly = true" and "share.ShareAccessRight.AccessRightType = FullControl" are passed to this method, then the "Full Control" permission takes higher priority + * and disables "ViewOnly" permission on the share. + * Only one of the two features(ViewOnly, IRM) can be enabled at a time. If you set both "IsViewOnly = true" and "share.ShareAccessRight.ShareAccessRightType = IRM", exception will be thrown + * @param share + * @param notify (default: false) + * @param direct (default: false) + * @return The new Share + */ + public ISFQuery create(SFShare share, Boolean notify, Boolean direct) throws InvalidOrMissingParameterException { + if (share == null) { + throw new InvalidOrMissingParameterException("share"); + } + if (notify == null) { + throw new InvalidOrMissingParameterException("notify"); + } + if (direct == null) { + throw new InvalidOrMissingParameterException("direct"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Shares"); + sfApiQuery.addQueryString("notify", notify); + sfApiQuery.addQueryString("direct", direct); + sfApiQuery.setBody(share); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + + /** + * Create Share + * { + * "ShareType":"Send", + * "Title":"Sample Send Share", + * "Items": [ { "Id":"itemid" }, {...} ], + * "Recipients":[ { "User": { "Id":"userid" } }, { "User": { "Email": "user@email" } } ], + * "ExpirationDate": "2013-07-23", + * "RequireLogin": false, + * "RequireUserInfo": false, + * "MaxDownloads": -1, + * "UsesStreamIDs": false + * } + * { + * "ShareType":"Request", + * "Title":"Sample Request Share", + * "Recipients":[ { "User": { "Id":"userid" } }, { "User": { "Email": "user@email" } } ], + * "Parent": { "Id":"folderid" }, + * "ExpirationDate": "2013-07-23", + * "RequireLogin": false, + * "RequireUserInfo": false, + * "TrackUntilDate": "2013-07-23", + * "SendFrequency": -1, + * "SendInterval": -1 * } * Creates a new Send or Request Share. * Expiration date: @@ -954,7 +1015,49 @@ public ISFQuery create(SFShare share) throws InvalidOrMissingParameterE * "RequireLogin": false, * "Items": [ { "Id":"itemid" }, {...} ], * } - * Modifies an existing Share. If Items are specified they are added to the share. + * Modifies an existing Share. If Items are specified they are added to the share by default. If appendItemsFeed is set to false, the specified Items will replace any existing ones instead. + * + * View Only: + * If a share is not IRM Classified, it can be updated to ViewOnline/ViewOnly share by passing either "IsViewOnly= true" or "Share.ShareAccessRight.AccessRightType = ViewOnline" + * If a share is IRM Classified, then it can be updated to ViewOnline/ViewOnly share only by passing "Share.ShareAccessRight = ViewOnline". This will remove the IRMClassification on this share. + * Only one of the two features(ViewOnly, IRM) can be enabled at a time. + * + * Full Control: + * Passing "Share.ShareAccessRight.AccessRightType = FullControl" will remove IRMClassification and ViewOnly features on the share. If you set both "IsViewOnly = true" and "share.ShareAccessRight.ShareAccessRightType = IRM", exception will be thrown + * @param url + * @param share + * @param appendItemsFeed (default: true) + * @return The modified Share + */ + public ISFQuery update(URI url, SFShare share, Boolean appendItemsFeed) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (share == null) { + throw new InvalidOrMissingParameterException("share"); + } + if (appendItemsFeed == null) { + throw new InvalidOrMissingParameterException("appendItemsFeed"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Shares"); + sfApiQuery.addIds(url); + sfApiQuery.addQueryString("appendItemsFeed", appendItemsFeed); + sfApiQuery.setBody(share); + sfApiQuery.setHttpMethod("PATCH"); + return sfApiQuery; + } + + /** + * Update Share + * { + * "Title": "New Title", + * "ExpirationDate": "2013-07-23", + * "RequireLogin": false, + * "Items": [ { "Id":"itemid" }, {...} ], + * } + * Modifies an existing Share. If Items are specified they are added to the share by default. If appendItemsFeed is set to false, the specified Items will replace any existing ones instead. * * View Only: * If a share is not IRM Classified, it can be updated to ViewOnline/ViewOnly share by passing either "IsViewOnly= true" or "Share.ShareAccessRight.AccessRightType = ViewOnline" @@ -1162,7 +1265,7 @@ public ISFQuery resend(SFShareResendParams parameters) throws InvalidOr * "Method":"Method", * "Raw": false, * "FileName":"FileName" - * "FileLength": length + * "FileLength": 123 * } * Prepares the links for uploading files to the target Share. * This method returns an Upload Specification object. The fields are @@ -1331,7 +1434,7 @@ public ISFQuery upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum upload(URI url, SFSafeEnum // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFUsersEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFUsersEntity.java index 04d54ff..f1e317a 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFUsersEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFUsersEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ @@ -405,7 +405,7 @@ public ISFQuery create(SFUser user) throws InvalidOrMissingParameterExce * "CanManageUsers": false, * "Roles": [ * "CanChangePassword", "CanManageMySettings", - * "CanUseFileBox, "CanManageUsers, "CanCreateFolders, "CanUseDropBox, "CanSelectFolderZone, + * "CanUseFileBox", "CanManageUsers", "CanCreateFolders", "CanUseDropBox", "CanSelectFolderZone", * "AdminAccountPolicies", "AdminBilling", "AdminBranding", "AdminChangePlan", "AdminFileBoxAccess", * "AdminManageEmployees", "AdminRemoteUploadForms", "AdminReporting", "AdminSharedDistGroups", * "AdminSharedAddressBook", "AdminViewReceipts", "AdminDelegate", "AdminManageFolderTemplates", @@ -482,7 +482,7 @@ public ISFQuery createAccountUser(SFAccountUser user, Boolean pushCreato * "CanManageUsers": false, * "Roles": [ * "CanChangePassword", "CanManageMySettings", - * "CanUseFileBox, "CanManageUsers, "CanCreateFolders, "CanUseDropBox, "CanSelectFolderZone, + * "CanUseFileBox", "CanManageUsers", "CanCreateFolders", "CanUseDropBox", "CanSelectFolderZone", * "AdminAccountPolicies", "AdminBilling", "AdminBranding", "AdminChangePlan", "AdminFileBoxAccess", * "AdminManageEmployees", "AdminRemoteUploadForms", "AdminReporting", "AdminSharedDistGroups", * "AdminSharedAddressBook", "AdminViewReceipts", "AdminDelegate", "AdminManageFolderTemplates", @@ -554,7 +554,7 @@ public ISFQuery createAccountUser(SFAccountUser user, Boolean pushCreato * "CanManageUsers": false, * "Roles": [ * "CanChangePassword", "CanManageMySettings", - * "CanUseFileBox, "CanManageUsers, "CanCreateFolders, "CanUseDropBox, "CanSelectFolderZone, + * "CanUseFileBox", "CanManageUsers", "CanCreateFolders", "CanUseDropBox", "CanSelectFolderZone", * "AdminAccountPolicies", "AdminBilling", "AdminBranding", "AdminChangePlan", "AdminFileBoxAccess", * "AdminManageEmployees", "AdminRemoteUploadForms", "AdminReporting", "AdminSharedDistGroups", * "AdminSharedAddressBook", "AdminViewReceipts", "AdminDelegate", "AdminManageFolderTemplates", @@ -621,7 +621,7 @@ public ISFQuery createAccountUser(SFAccountUser user, Boolean pushCreato * "CanManageUsers": false, * "Roles": [ * "CanChangePassword", "CanManageMySettings", - * "CanUseFileBox, "CanManageUsers, "CanCreateFolders, "CanUseDropBox, "CanSelectFolderZone, + * "CanUseFileBox", "CanManageUsers", "CanCreateFolders", "CanUseDropBox", "CanSelectFolderZone", * "AdminAccountPolicies", "AdminBilling", "AdminBranding", "AdminChangePlan", "AdminFileBoxAccess", * "AdminManageEmployees", "AdminRemoteUploadForms", "AdminReporting", "AdminSharedDistGroups", * "AdminSharedAddressBook", "AdminViewReceipts", "AdminDelegate", "AdminManageFolderTemplates", @@ -683,7 +683,7 @@ public ISFQuery createAccountUser(SFAccountUser user, Boolean pushCreato * "CanManageUsers": false, * "Roles": [ * "CanChangePassword", "CanManageMySettings", - * "CanUseFileBox, "CanManageUsers, "CanCreateFolders, "CanUseDropBox, "CanSelectFolderZone, + * "CanUseFileBox", "CanManageUsers", "CanCreateFolders", "CanUseDropBox", "CanSelectFolderZone", * "AdminAccountPolicies", "AdminBilling", "AdminBranding", "AdminChangePlan", "AdminFileBoxAccess", * "AdminManageEmployees", "AdminRemoteUploadForms", "AdminReporting", "AdminSharedDistGroups", * "AdminSharedAddressBook", "AdminViewReceipts", "AdminDelegate", "AdminManageFolderTemplates", @@ -740,7 +740,7 @@ public ISFQuery createAccountUser(SFAccountUser user, Boolean pushCreato * "CanManageUsers": false, * "Roles": [ * "CanChangePassword", "CanManageMySettings", - * "CanUseFileBox, "CanManageUsers, "CanCreateFolders, "CanUseDropBox, "CanSelectFolderZone, + * "CanUseFileBox", "CanManageUsers", "CanCreateFolders", "CanUseDropBox", "CanSelectFolderZone", * "AdminAccountPolicies", "AdminBilling", "AdminBranding", "AdminChangePlan", "AdminFileBoxAccess", * "AdminManageEmployees", "AdminRemoteUploadForms", "AdminReporting", "AdminSharedDistGroups", * "AdminSharedAddressBook", "AdminViewReceipts", "AdminDelegate", "AdminManageFolderTemplates", @@ -778,7 +778,7 @@ public ISFQuery createAccountUser(SFAccountUser user) throws InvalidOrMi * "Security": * { * "IsDisabled":false - * } + * }, * "DefaultZone": * { * "Id":"newzoneid" @@ -881,9 +881,8 @@ public ISFQuery patchRoles(URI parentUrl, SFUser user) throws InvalidOrM /** * Remove Roles - * { + * * [ "CanManageUsers", "CanSelectFolderZone" ] - * } * Removes the roles for user. * The following roles can be removed from user through this call (depending on User type): * CanCreateFolders, @@ -924,7 +923,7 @@ public ISFQuery removeRoles(URI userUrl, ArrayList> userR * "Security": * { * "IsDisabled":false - * } + * }, * "DefaultZone": * { * "Id":"newzoneid" @@ -1209,6 +1208,29 @@ public ISFQuery forgotPassword(String email) throws InvalidOrMissingParameterExc return sfApiQuery; } + /** + * Send Welcome Email + * Resends the 'welcome' email to the given user + * @param url + * @param customMessage (default: null) + */ + public ISFQuery resendWelcome(URI url, String customMessage) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (customMessage == null) { + throw new InvalidOrMissingParameterException("customMessage"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.setAction("ResendWelcome"); + sfApiQuery.addIds(url); + sfApiQuery.addQueryString("customMessage", customMessage); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + /** * Send Welcome Email * Resends the 'welcome' email to the given user @@ -1227,6 +1249,65 @@ public ISFQuery resendWelcome(URI url) throws InvalidOrMissingParameterException return sfApiQuery; } + /** + * Delete User + * Removes an user + * @param url + * @param completely (default: false) + * @param itemsReassignTo (default: null) + * @param groupsReassignTo (default: null) + */ + public ISFQuery delete(URI url, Boolean completely, String itemsReassignTo, String groupsReassignTo) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (completely == null) { + throw new InvalidOrMissingParameterException("completely"); + } + if (itemsReassignTo == null) { + throw new InvalidOrMissingParameterException("itemsReassignTo"); + } + if (groupsReassignTo == null) { + throw new InvalidOrMissingParameterException("groupsReassignTo"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.addIds(url); + sfApiQuery.addQueryString("completely", completely); + sfApiQuery.addQueryString("itemsReassignTo", itemsReassignTo); + sfApiQuery.addQueryString("groupsReassignTo", groupsReassignTo); + sfApiQuery.setHttpMethod("DELETE"); + return sfApiQuery; + } + + /** + * Delete User + * Removes an user + * @param url + * @param completely (default: false) + * @param itemsReassignTo (default: null) + */ + public ISFQuery delete(URI url, Boolean completely, String itemsReassignTo) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (completely == null) { + throw new InvalidOrMissingParameterException("completely"); + } + if (itemsReassignTo == null) { + throw new InvalidOrMissingParameterException("itemsReassignTo"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.addIds(url); + sfApiQuery.addQueryString("completely", completely); + sfApiQuery.addQueryString("itemsReassignTo", itemsReassignTo); + sfApiQuery.setHttpMethod("DELETE"); + return sfApiQuery; + } + /** * Delete User * Removes an user @@ -1266,6 +1347,74 @@ public ISFQuery delete(URI url) throws InvalidOrMissingParameterException { return sfApiQuery; } + /** + * Delete multiple client users + * + * ["id1","id2",...] + * Removes a list of client users. The list should not exceed 100 client user ids. + * @param clientIds + */ + public ISFQuery deleteClients(ArrayList clientIds) throws InvalidOrMissingParameterException { + if (clientIds == null) { + throw new InvalidOrMissingParameterException("clientIds"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.setAction("Clients"); + sfApiQuery.setBody(clientIds); + sfApiQuery.setHttpMethod("DELETE"); + return sfApiQuery; + } + + /** + * Delete multiple client users + * { + * UserIds: ["id1", "id2", ...] + * } + * Removes a list of client users. The list should not exceed 100 client user ids. + * @param deleteRequest + * @return 204 if successful + */ + public ISFQuery bulkDeleteClients(SFUserBulkOperationRequest deleteRequest) throws InvalidOrMissingParameterException { + if (deleteRequest == null) { + throw new InvalidOrMissingParameterException("deleteRequest"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.setAction("Clients"); + sfApiQuery.addSubAction("BulkDelete"); + sfApiQuery.setBody(deleteRequest); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + + /** + * Downgrade multiple employee users to clients + * { + * UserIds: ["id1", "id2", ...], + * ReassignItemsToId: "id3", + * ReassignGroupsToId: "id3" + * } + * Downgrades a list of employee users to clients. The list should not exceed 100 employee user ids. + * @param downgradeRequest + * @return 204 if successful + */ + public ISFQuery downgradeEmployees(SFUserBulkDowngradeRequest downgradeRequest) throws InvalidOrMissingParameterException { + if (downgradeRequest == null) { + throw new InvalidOrMissingParameterException("downgradeRequest"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Users"); + sfApiQuery.setAction("Employees"); + sfApiQuery.addSubAction("Downgrade"); + sfApiQuery.setBody(downgradeRequest); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + /** * Get List of User Shared Folders * Retrieve the list of shared folders the authenticated user has access to diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFWebhookClientsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFWebhookClientsEntity.java new file mode 100644 index 0000000..3911d86 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFWebhookClientsEntity.java @@ -0,0 +1,93 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.entities; + +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.entities.*; +import com.citrix.sharefile.api.models.*; +import com.citrix.sharefile.api.SFApiQuery; +import com.citrix.sharefile.api.interfaces.ISFQuery; + + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; +import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; + +public class SFWebhookClientsEntity extends SFEntitiesBase +{ + public SFWebhookClientsEntity(ISFApiClient client) { + super(client); + } + + /** + * Gets the configuration settings for a webhook client + * @param url + * @return WebhookClient + */ + public ISFQuery get(URI url) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("WebhookClients"); + sfApiQuery.addIds(url); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Generates a new primary signature key for the webhook client + * @param url + * @return WebhookClient + */ + public ISFQuery generatePrimarySignatureKey(URI url) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("WebhookClients"); + sfApiQuery.setAction("PrimarySignatureKey"); + sfApiQuery.addIds(url); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + + /** + * Generates a new secondary signature key for the webhook client + * @param url + * @return WebhookClient + */ + public ISFQuery generateSecondarySignatureKey(URI url) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("WebhookClients"); + sfApiQuery.setAction("SecondarySignatureKey"); + sfApiQuery.addIds(url); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + +} + diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFWebhookSubscriptionsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFWebhookSubscriptionsEntity.java new file mode 100644 index 0000000..f3e9133 --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFWebhookSubscriptionsEntity.java @@ -0,0 +1,119 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.entities; + +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.entities.*; +import com.citrix.sharefile.api.models.*; +import com.citrix.sharefile.api.SFApiQuery; +import com.citrix.sharefile.api.interfaces.ISFQuery; + + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; +import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; + +public class SFWebhookSubscriptionsEntity extends SFEntitiesBase +{ + public SFWebhookSubscriptionsEntity(ISFApiClient client) { + super(client); + } + + /** + * Gets a WebhookSubscription based on id + * @param url + * @return WebhookSubscription + */ + public ISFQuery get(URI url) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("WebhookSubscriptions"); + sfApiQuery.addIds(url); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Gets all webhook subscriptions for the current user + * @return List of WebhookSubscription + */ + public ISFQuery> get() { + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("WebhookSubscriptions"); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Deletes a WebhookSubscription based on id + * @param url + */ + public ISFQuery delete(URI url) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("WebhookSubscriptions"); + sfApiQuery.addIds(url); + sfApiQuery.setHttpMethod("DELETE"); + return sfApiQuery; + } + + /** + * Creates a WebhookSubscription + * { + * "SubscriptionContext": { + * "ResourceType": "Folder", + * "ResourceId": "fo123" + * }, + * "WebhookUrl": "https://webhook.com", + * "Events": + * [ + * { "ResourceType":"File", "OperationName":"Upload" }, + * { "ResourceType":"File", "OperationName":"Update" }, + * { "ResourceType":"File", "OperationName":"Download" }, + * { "ResourceType":"File", "OperationName":"Delete" }, + * ] + * } + * The above example subscribes `https://webhook.com` endpoint to be called when a File Upload, Update, Download or Delete + * event happened for folder `fo123`. + * Note: Context Resource Id is required for all but the account context. + * The MasterAdmin role is required to create account context subscriptions. + * @return WebhookSubscription + */ + public ISFQuery create(SFWebhookSubscription subscription) throws InvalidOrMissingParameterException { + if (subscription == null) { + throw new InvalidOrMissingParameterException("subscription"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("WebhookSubscriptions"); + sfApiQuery.setBody(subscription); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + +} + diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFWorkflowsEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFWorkflowsEntity.java new file mode 100644 index 0000000..42bc1dc --- /dev/null +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFWorkflowsEntity.java @@ -0,0 +1,196 @@ + +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. +// +// ------------------------------------------------------------------------------ + +package com.citrix.sharefile.api.entities; + +import com.citrix.sharefile.api.*; +import com.citrix.sharefile.api.entities.*; +import com.citrix.sharefile.api.models.*; +import com.citrix.sharefile.api.SFApiQuery; +import com.citrix.sharefile.api.interfaces.ISFQuery; + + +import java.io.InputStream; +import java.util.ArrayList; +import java.net.URI; +import java.util.Date; + +import com.google.gson.annotations.SerializedName; +import com.citrix.sharefile.api.enumerations.SFSafeEnum; +import com.citrix.sharefile.api.enumerations.SFSafeEnumFlags; +import com.citrix.sharefile.api.interfaces.ISFApiClient; +import com.citrix.sharefile.api.exceptions.InvalidOrMissingParameterException; + +public class SFWorkflowsEntity extends SFEntitiesBase +{ + public SFWorkflowsEntity(ISFApiClient client) { + super(client); + } + + /** + * Gets workflows initiated by the current user. + * Restrictions: + * * Skip must be a multiple of 25. + * * Top must be 25. It's preferred to not supply this. + * * Sort is only supported for LastUpdatedDate and Due + * @return A feed of Workflow objects + */ + public ISFQuery> getInitiated() { + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Workflows"); + sfApiQuery.setAction("Initiated"); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Gets workflows shared with the current user. + * Restrictions: + * * Skip must be a multiple of 25. + * * Top must be 25. It's preferred to not supply this. + * * Sort is only supported for LastUpdatedDate and Due + * @return A feed of Workflow objects + */ + public ISFQuery> getShared() { + + SFApiQuery> sfApiQuery = new SFApiQuery>(this.client); + sfApiQuery.setFrom("Workflows"); + sfApiQuery.setAction("Shared"); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Get a workflow by id. + * @param url + * @return A Workflow object + */ + public ISFQuery get(URI url) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Workflows"); + sfApiQuery.addIds(url); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Get a protocol link to view a workflow in a web browser. + * Only the latest version of each major browser is supported. + * @param url + * @return A ItemProtocolLink set for the Workflow + */ + public ISFQuery getLink(URI url) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Workflows"); + sfApiQuery.setAction("Link"); + sfApiQuery.addIds(url); + sfApiQuery.setHttpMethod("GET"); + return sfApiQuery; + } + + /** + * Create an Approval Workflow + * { + * "Participants": + * [ + * { + * "Contact": + * { + * "Email": "contact@email.com" + * }, + * "Role": "Active" + * }, + * { + * "Contact": + * { + * "Email": "contact.cc@email.com" + * }, + * "Role": "Passive" + * } + * ] + * } + * @param url + * @param request + * @return A new approval workflow + */ + public ISFQuery createApproval(URI url, SFCreateWorkflowParams request) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (request == null) { + throw new InvalidOrMissingParameterException("request"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Items"); + sfApiQuery.setAction("Workflows"); + sfApiQuery.addIds(url); + sfApiQuery.addSubAction("Approval"); + sfApiQuery.setBody(request); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + + /** + * Create a Feedback Workflow + * { + * "Participants": + * [ + * { + * "Contact": + * { + * "Email": "contact@email.com" + * }, + * "Role": "Active" + * }, + * { + * "Contact": + * { + * "Email": "contact.cc@email.com" + * }, + * "Role": "Passive" + * } + * ] + * } + * @param url + * @param request + * @return A new feedback workflow + */ + public ISFQuery createFeedback(URI url, SFCreateWorkflowParams request) throws InvalidOrMissingParameterException { + if (url == null) { + throw new InvalidOrMissingParameterException("url"); + } + if (request == null) { + throw new InvalidOrMissingParameterException("request"); + } + + SFApiQuery sfApiQuery = new SFApiQuery(this.client); + sfApiQuery.setFrom("Items"); + sfApiQuery.setAction("Workflows"); + sfApiQuery.addIds(url); + sfApiQuery.addSubAction("Feedback"); + sfApiQuery.setBody(request); + sfApiQuery.setHttpMethod("POST"); + return sfApiQuery; + } + +} + diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFZonesEntity.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFZonesEntity.java index 09c5fe6..b98ec4a 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFZonesEntity.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/entities/SFZonesEntity.java @@ -6,7 +6,7 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // -// Copyright (c) 2016 Citrix ShareFile. All rights reserved. +// Copyright (c) 2017 Citrix ShareFile. All rights reserved. // // ------------------------------------------------------------------------------ diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3ElementType.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3ElementType.java index 40818d3..8196a2f 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3ElementType.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/enumerations/SFV3ElementType.java @@ -2,15 +2,11 @@ import com.citrix.sharefile.api.constants.SFKeywords; import com.citrix.sharefile.api.exceptions.SFInvalidTypeException; -import com.citrix.sharefile.api.gson.auto.SFDefaultGsonParser; import com.citrix.sharefile.api.log.Logger; import com.citrix.sharefile.api.models.*; -import java.util.Iterator; -import java.util.Map; - public enum SFV3ElementType -{ +{ File("Models.File@Element",SFFile.class), Folder("Models.Folder@Element",SFFolder.class), Item("Models.Item@Element",SFItem.class), @@ -22,7 +18,7 @@ public enum SFV3ElementType private static final String prefix = "Models."; private static final String suffix = "@Element"; - + private static final String TAG = SFKeywords.TAG + "-SFV3ElementType"; private final String mToString; private final Class mOriginalClass;//This is the one originally intended by the SDK @@ -131,7 +127,6 @@ public static void registerSubClass(String originalClassName, Class newClass) } SFEntityTypeMap.getEntityTypeMap().put(originalClassName,newClass); - SFDefaultGsonParser.routeSpecialClasses(originalClassName,newClass); Logger.d(TAG, "Successfully registered : " + newClass.toString() + " to replace " + originalClass.toString()); } diff --git a/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/SFGsonHelper.java b/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/SFGsonHelper.java index 1e8ba5e..a3ff10e 100644 --- a/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/SFGsonHelper.java +++ b/ShareFileJavaSDK/src/com/citrix/sharefile/api/gson/SFGsonHelper.java @@ -1,16 +1,8 @@ package com.citrix.sharefile.api.gson; import com.citrix.sharefile.api.constants.SFKeywords; -import com.citrix.sharefile.api.enumerations.SFV3ElementType; -import com.citrix.sharefile.api.gson.auto.SFDefaultGsonParser; import com.citrix.sharefile.api.log.Logger; -import com.citrix.sharefile.api.models.SFEntityTypeMap; -import com.citrix.sharefile.api.models.SFItem; -import com.citrix.sharefile.api.models.SFODataFeed; -import com.citrix.sharefile.api.models.SFODataObject; -import com.citrix.sharefile.api.models.SFStorageCenter; import com.citrix.sharefile.api.utils.Utils; -import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; @@ -18,7 +10,6 @@ import java.net.MalformedURLException; import java.net.URI; import java.net.URISyntaxException; -import java.util.ArrayList; /** * This class contains helper get*() functions to get primitives out of gson objects @@ -91,33 +82,7 @@ public static boolean getBoolean(JsonObject json,String memberName,boolean defau return ret; } - - public static ArrayList getArrayList(Class clazz, JsonObject json,String memberName,ArrayList defaultValue) - { - ArrayList ret = defaultValue; - - JsonElement element = json.get(memberName); - - if(element!=null) - { - JsonArray array = element.getAsJsonArray(); - if(array!=null) - { - ArrayList retnew = new ArrayList(); - - for(JsonElement e:array) - { - SFODataObject object = SFDefaultGsonParser.parse(clazz, e); - retnew.add((T) object); - } - - ret = retnew; - } - } - - return ret; - } - + public static URI getURI(JsonObject json,String memberName,URI defaultValue) { URI ret = defaultValue; @@ -138,260 +103,9 @@ public static URI getURI(JsonObject json,String memberName,URI defaultValue) { Logger.e(TAG,e); } - } + } } return ret; } - - public static SFODataObject getSFODataObject(Class clazz,JsonObject json,String memberName,SFODataObject defaultValue) - { - SFODataObject ret = defaultValue; - - JsonElement element = json.get(memberName); - - if(element!=null) - { - try - { - ret = SFDefaultGsonParser.parse(clazz,element); - } - catch (Exception e) - { - Logger.e(TAG,e); - } - } - - return ret; - } - - public static SFItem parseSFItem(JsonObject jsonObject) - { - SFItem item = null; - - try - { - // note we are creating the override class registered by the app instead of the hardcoding: new SFItem() - item = (SFItem) SFV3ElementType.Item.getV3Class().newInstance(); - item.setName(SFGsonHelper.getString(jsonObject, SFKeywords.Name, null)); - item.setFileName(SFGsonHelper.getString(jsonObject, SFKeywords.FileName, null)); - item.setMetadataUrl(SFGsonHelper.getString(jsonObject, SFKeywords.ODATA_METADATA, null)); - item.seturl(SFGsonHelper.getURI(jsonObject, SFKeywords.URL, null)); - item.setId(SFGsonHelper.getString(jsonObject, SFKeywords.Id, null)); - } - //None of these exceptions should ideally happen since we have done all the checks in registerSubClass() - catch (InstantiationException e) - { - Logger.e(TAG,e); - } - catch (IllegalAccessException e) - { - Logger.e(TAG,e); - } - - return item; - } - - public static SFStorageCenter parseSFStorageCenter(JsonObject jsonObject) - { - SFStorageCenter sc = null; - - try - { - // note we are creating the override class registered by the app instead of the hardcoding: new SFItem() - sc = (SFStorageCenter) SFV3ElementType.StorageCenter.getV3Class().newInstance(); - sc.setExternalAddress(SFGsonHelper.getString(jsonObject, SFKeywords.EXTERNAL_ADDRESS, null)); - sc.setExternalUrl(SFGsonHelper.getString(jsonObject, SFKeywords.EXTERNAL_URL, null)); - sc.setDefaultExternalUrl(SFGsonHelper.getString(jsonObject, SFKeywords.DEFAULT_EXTERNAL_URL, null)); - sc.setMetadataUrl(SFGsonHelper.getString(jsonObject, SFKeywords.ODATA_METADATA, null)); - sc.seturl(SFGsonHelper.getURI(jsonObject, SFKeywords.URL, null)); - sc.setId(SFGsonHelper.getString(jsonObject, SFKeywords.Id, null)); - } - //None of these exceptions should ideally happen since we have done all the checks in registerSubClass() - catch (InstantiationException e) - { - Logger.e(TAG,e); - } - catch (IllegalAccessException e) - { - Logger.e(TAG,e); - } - - return sc; - } - - public static SFODataFeed parseFeed(Class clazz,JsonObject jsonObject) - { - SFODataFeed item = new SFODataFeed(); - - item.setMetadataUrl(SFGsonHelper.getString(jsonObject, SFKeywords.ODATA_METADATA, null)); - item.seturl(SFGsonHelper.getURI(jsonObject, SFKeywords.URL, null)); - item.setId(SFGsonHelper.getString(jsonObject, SFKeywords.Id, null)); - - int count = SFGsonHelper.getInt(jsonObject, SFKeywords.ODATA_COUNT, 0); - item.setcount(count); - item.setNextLink(SFGsonHelper.getString(jsonObject, SFKeywords.ODATA_NEXTLINK, null)); - - ArrayList Feed = SFGsonHelper.getArrayList(clazz, jsonObject, SFKeywords.VALUE, null); - item.setFeed(Feed); - - return item; - } - - private static final String SHAREFILE_MODELS_PACKAGE_NAME = "ShareFile.Api.Models."; - private static final String ELEMENT_TAG = "@Element"; - private static final String METADATA_FEED_TAG = "$metadata#"; - private static final String REDIRECTION_MODEL_TAG = SHAREFILE_MODELS_PACKAGE_NAME+"Redirection"; - - private static String replaceLeftSide(String tag, String original) - { - int tagIndex = original.lastIndexOf(tag); - - if(tagIndex > -1) - { - return original.substring(tagIndex + tag.length()); - } - - return original; - } - - /* - * This function will get the base bones class name from odata.type or odata.metadata string. - * - * Sample: - * - * odata.metadata : https://subdomain.sf-api.com/sf/v3/$metadata#Capabilities - * odata.type : ShareFile.Api.Models.Folder - * - * odata.metadata : https://enttest1.sf-api.com/sf/v3/$metadata#Items/ShareFile.Api.Models.Folder@Element - * - * - * For SharePoint Feed we get the following strange combination: - * odata.metadata : https://szqatest2.sharefiletest.com/sp/v3/$metadata#Capabilities - odata.type : ShareFile.Api.Models.ODataFeed`1[[ShareFile.Api.Models.Capability, ShareFile.Api.Models, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]] - - */ - private static String getElementName(String original) - { - String ret = original.replace(ELEMENT_TAG, ""); - ret = replaceLeftSide(SHAREFILE_MODELS_PACKAGE_NAME,ret); - ret = replaceLeftSide(METADATA_FEED_TAG,ret); - return ret.trim(); - } - - /* - * This function will get the element from the EntityTypeMap - */ - private static Class getClassFromString(String str) - { - Class clazz = SFEntityTypeMap.getEntityTypeMap().get(getElementName(str)); - if(clazz == null) - { - Logger.d(TAG,"Object not in EntityMap: " + str); - return null; - } - return clazz; - } - - private static SFODataObject parseSFElement(Class clazz, JsonObject jsonObject) - { - if(SFItem.class.getCanonicalName().equals(clazz.getCanonicalName())) - { - // This needs explicit parsing to avoid going into infinite recursion and stackoverflow - //when enumerating folders. - return SFGsonHelper.parseSFItem(jsonObject); - } - - if(SFStorageCenter.class.getCanonicalName().equals(clazz.getCanonicalName())) - { - return SFGsonHelper.parseSFStorageCenter(jsonObject); - } - - return SFDefaultGsonParser.parse(clazz, jsonObject); - } - - private static SFODataObject parseJsonObject(String odata, JsonObject jsonObject, boolean isFeed) - { - Class clazz = getClassFromString(odata); - if(clazz == null) - { - return null; - } - - if(!isFeed) - { - return parseSFElement(clazz, jsonObject); - } - - return parseFeed(clazz,jsonObject); - } - - /** - * This function finds type of SFODataObject (including feed types!!) from the metadata and then calls the default gson parser - * for the appropriate class type contained in the json string. - * - *

ht>S5=WjfV$s^3^9Qj#712_ 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%0A_4^%r(+;$#lY)E@OvjA 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 z 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

+*^HPL%6>#s|sji)gjTlY%(=~9U^ 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�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�xBwm3#u`NKOVU!kydJjnDUueXnhIwme9O9_2~z z$>^rnK#LYBEG09WL_=LbRS~;Grs@U4L!dU6Vl?I_uGp|hn(Q#7RISW9 z!!w9O-l_SSuhyR|0@BJH`B@-k)sN|mJ2-)Fn)pU7Ne>8;vs~j6>}FeA_&+3D$!_ei zjqi45ej|hzcu9ryI!=y%+Yz*@uAs;3^tVFl*OErJDa||H@*Wya_2nNg53|;fep~5* z(o(Ee8N+QqEi&imb&0O)&M$L$Q?kG>@8(2K8*Y?G&wXYL5_Z)-eu@<-KP@_R5nt`q zoD((OM=1|M7e=tlRiMkMe==O|RP_|Ddmpf%NQFxtL1y|ieiLf5eIrlr{n*SDH~;tf zUQpD|1M}@Gaag0$g+Kf`-9f-@xV;5Xgq*)sK;3cnAvbdz(t6SYBmd9J)j#t=&Ke^w z`%mTS_YY&_e{jkD-{%8!XB+D)EiI=FHZ zGw$i8bK;ekR6W%ngK-^G&R%BPLgWh)8pi8eDD-dlhDg>$6^H<{Wzlt*XKMgA?B154t=UDBj-%9Z@|1_*-NyrY8588E~ z^rUvrB|UGGnNpa2v2$d{lKciQgNljB6;!~;994(luwT>B zv0x{oxLSoiCp#tCnTKVtFuVQ%5YT`uhYdVBerJfLjGbtEuPDPS2vJn&p-W5$W3Kx- z(-`SvmM48|wHmXW)?P*Zf&jjPS-J-2AM(RZNS*&bn}oVLe}R^Mp9!Z5gT@`a*1u+!$Mk(SJazaxrMy)Vk_7 zqru-$xTHT>AR?=Nf32~rOb7fDQM?MbZ7N!U!ctZDoWl24 zJe0n{d zI$>&r-a(~~s~F-@G(yl}xSX+Db%*_;1XMaKk8f<0CFtM$I zGYk623uO

ht>S5=WjfV$s^3^9Qj#712_ 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%0A_4^%r(+;$#lY)E@OvjA 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 z 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