From b94d59793730ff98370036b8b49fb7980bd1c9d0 Mon Sep 17 00:00:00 2001 From: Patricio Echague Date: Mon, 3 Sep 2012 12:14:52 -0700 Subject: [PATCH] Add Google Guice example docs --- .../content/guice_integration.doctree | Bin 0 -> 10019 bytes .../doctrees/content/poolArchitecture.doctree | Bin 4020 -> 4018 bytes .../content/virtual_keyspaces.doctree | Bin 25645 -> 25640 bytes build/doctrees/documentation.doctree | Bin 5749 -> 5798 bytes build/doctrees/environment.pickle | Bin 39890 -> 41040 bytes .../_sources/content/guice_integration.txt | 89 +++++++ build/html/_sources/documentation.txt | 1 + build/html/_static/basic.css | 4 +- build/html/content/FAQ.html | 2 +- .../content/HOM/hector-object-mapper.html | 2 +- build/html/content/api.html | 2 +- build/html/content/community.html | 2 +- .../content/composite_with_templates.html | 2 +- build/html/content/consistency_level.html | 2 +- build/html/content/cql_basics.html | 2 +- build/html/content/getting_started.html | 2 +- .../html/content/getting_started_sample.html | 2 +- build/html/content/guice_integration.html | 248 ++++++++++++++++++ build/html/content/poolArchitecture.html | 2 +- build/html/content/security.html | 2 +- build/html/content/services.html | 2 +- build/html/content/speed4j.html | 2 +- .../content/spring_dependency_injection.html | 2 +- build/html/content/user_guide.html | 2 +- build/html/content/virtual_keyspaces.html | 2 +- build/html/documentation.html | 6 +- build/html/genindex.html | 13 +- build/html/index.html | 2 +- build/html/sampledoc_tut/getting_started.html | 2 +- build/html/search.html | 2 +- build/html/searchindex.js | 2 +- source/content/guice_integration.rst | 89 +++++++ source/documentation.rst | 1 + 33 files changed, 467 insertions(+), 24 deletions(-) create mode 100644 build/doctrees/content/guice_integration.doctree create mode 100644 build/html/_sources/content/guice_integration.txt create mode 100644 build/html/content/guice_integration.html create mode 100644 source/content/guice_integration.rst diff --git a/build/doctrees/content/guice_integration.doctree b/build/doctrees/content/guice_integration.doctree new file mode 100644 index 0000000000000000000000000000000000000000..1fffe23cd01aeebd7e8ee34464ee9aff06946a94 GIT binary patch literal 10019 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 i254O$!tZo`jf+Y8Fdh+ literal 0 HcmV?d00001 diff --git a/build/doctrees/content/poolArchitecture.doctree b/build/doctrees/content/poolArchitecture.doctree index c15e26cbb7a0f46a6e0a8b64b0cb9476e1796e91..c00d44969de228a95ea54c6d1e39a5b754c899da 100644 GIT binary patch delta 145 zcmdlYze#?>9lpu;_#{4!Uwg5 u4>M#lbTi~@3m;7`;8&M@99#G#l&vT=4P?U8+QMfUnz4n?GxQUIy7d5BW;)ye delta 148 zcmdlazeRq-9X_VQTa)kbNvhuVW(?&nN-U30%}Y$mNlhud0~Fv*Da|d2FHS8f$;?YH zF1$NgieK9Do;O1%b7o3$;r-ge2O1dy8KxPU8K$M7LdB&?#U+^~r6rm9dGUFPxv9m4 y4{Hk_WyogeX2{nTKAxP%uP*x}w(w~vTTyBn$b@ILh0ilIV+&to=qCbo>j3~7kUTK} diff --git a/build/doctrees/content/virtual_keyspaces.doctree b/build/doctrees/content/virtual_keyspaces.doctree index b86c12f3f65e9e5db9b4aa69bad971ab6380eba3..fc2d1061fe5721218d7e65dca4cad47b56566ba1 100644 GIT binary patch delta 188 zcmZ2`f^o$O#tnCq^g_kbGILVnGxLg5i%K%{^WszU5|eULQ;Hav7#O@6L%E9*%i&^- zlLeAR8JQ-lCCdpjgX9@PnKM(0i&%i{+9KA;;mHBQY+yD!kjzlX(92M&E#jEGD_P5v z6DSf}#04Zn*@{xrK-##$N_l{!Mut{w5igLDVU(EhDYl3Y#C)Ha#mNZL#1G_Uu>qNh IrKL%F09nN`3IG5A delta 209 zcmZ2+f^qE$#tnCqSc@2#7#JqsO_J1R1TwrCL%E9*%i~k?5|eULQ;L`%V!SD(xdrjX zsU;XTSi@1O?u|?cKGL)?-H4S7G50Fz^#0%D<6c4z700zwB<-$uSL?ObmTVoi<6|vbwgZO5Nvi|oE6A`2h_QiSpb20C2@nz>91aA6IRYdk9Dxw-5Y7PM3TJ?D6L{UbYgsO*YHMot z&3mu^@7HhM^y9m3nZE6z!Of#RJw5d>kTj5c8nIiamWzKH+?H+_z*R@!pn7m{`}y7x z@F^K!uH(=Ef@37-26ZoX=z{A}0bvy)wJE)Big}czeY@$+>#Zxy~-+8wynyxRv~63o9(E=AvS31!1Zh=>&0L=Tw(h$u9?7M zg^kRYQ1r6{2i1y=cHnH3c1^2z5gTQkt!LwGl3mI+CGg@E=`r()q*t@4=_gB-T(bl( zNuY(RF`c%lpuap(i#?A@%X5Xy!b?%mQUWhS7t*6wR##?*_q|-N`-%z~X#2u7^C=WN zh1KaA+r_qZjCG4UqE2MS(yzpHM-w=v?#zsgzY6m$wJRYRy`1Gr>cgvb^4F+rZY*`J z8p>|C{IwW#Jb~9~nL6fZHzu;Vjhh%Tc)gB!!?{3=X|hWB*~wjR#5~s}@TP8_FB^fkHn>VP0x6Y@r$OaA64Y|?O_3Bh^yhR4^xf9mm zZR|>o-K_TZI$C1sdSZ7FI#gt-A2D0FA`3U5gc}ohM_U3e^v;fEcvpp-XV$-oT|YmF z3km5=Yd!C#?Y=P^JIb!p_1w&+jhM?&jT<<$3Af-@z9)hAcK7K#hZ#L3W=_;B#GerwlvRCARN0vbz$v z8=dA0D0>EV&m0ic=5=-;dp5$)YlPW*48nU8_<}l_Ut9Ykdfjyea=2a$a@fd{+D9$1O2W~)aE8(QC+Bl(3eltCz|g}ekjl)(2%8gB#J$65A+ z1b#@0V$rXKp4Igf@S`gHn5?#A8Fp>$=$};KVKRJ{d;8H(tMD_Dsk_pQbOArF!Xqs` zdq}PxbB==_2UFMOUmKbb0qCLmcTb(!f$3% zB!8wD0gqPUw(au|=i<~5@P{h=k)#Ec5=V@HKUJ2e!vZ(o zBq#eq+lz5dz+)l&If1`aNa=LpHM@Qgl^+!FSM{9YNa^u8lH&_?t7Z#o#oU9xsYAty z*5646%c@iD4*x*Kg@{I47{%K03j+U~BLyM38(HgTT!NY#x5-AbZI0!y>;(ChY#t$t7+4fx@BZ6 zI)xT>j(#$LM~?-!!B?x}rSe1xjdP@2_d@%iMSa`#EZcE7b|OMpqwX$kxp){|j*&hZ z9O7l;-PRZh8atuY^gX`Tn2WR-h1drAFvA1e6MUW8v}Uw5V&YecFy?sF(cQyGO+Z0+ z&T>=m_3iA4EQ+OtjiSeIgKt1H>5t{Y^hJD3-)B3iu;2K2JChr%2$|4s851(y5?Jh{ zHVj#gEA+7io5Xo55NZbc}=ZSqap4I}YzV;y!K$@pfp%%(|!avt(!P3LRJe)586 zp{6bRe$Z-*;#>8pFb5 z+FKq@?NL{hH&5<0>GB;4mN`!H3(#2QPr<8NDvy?*iZ|GftGIm_tJcsQzE7PjmuH@) zqvIMWpFR1^eBw{nfjy+pbp*c(}fzwi&$QiE$^MZurG&=h~@_ Ym!PG}FU6}l#pv*77}v}28rOFJAKg{uZvX%Q delta 2774 zcmZ{md2k#@6^D1FNZMWP>R3sOWyx}EEN5*+j$=e(8~Z;Ol`55$N)=5BDwFZ-PVe^E zvorI$d*l^lSPaD2Kp;s6a^Mic5yBC25OQ%C2uHvqVD503aNi*u31@)Uv%5N6p=xVu zru)6$d+&R1dgk`&XU@O-i5~S_&t&7^Q8+|NH*;*8df*->S;s58p-n4}O9j*n@QUo^ zY@WT6UCypx2Uv;Otil*ONJ*+@)omI`2L5bk$hOX=*^m*ItguAG61#BA5eOoHB3nZe zY?O7dwQL<*&t}+$2zZg5XRx9%#Wovk(g4Bo7TaQgWIdKv8f8=HFl0bjWV=vkA%er| z@zmIkIw}P%rM+5dv8B`$LXB1KuVT~cbZX7utFJl&S4I$FGE7S>DCinduSn-EdJU>K zB6w{(&6YUnErqU2rRh3C!Vw+mbw$$MT!h!F6Y0^+SUbr#sFUgOy;q^q(Fop%O7s1R zL}E9mmE8xb)N?$W)(^ljjN53YPSRS|bR@08ajpF(wLLrDcyrnI%b|2!vCZ>sDl&n^ zttz(ymVvjR`qdG6+)`F{V*oTNVLxy!tlFwp;SlvmLK$)-lrz zTsMUwR0P+zLtNbokquVZ!P|9|cc?R&@%|f*ku4_?^IXxu5FyaD7QrLu4WX}y0w)tyt_!w(W$^~?56o1Bq*dkt?%DMS9Euj zDP7Hb+4Ou0ZQ6X{ec0mnM{qmp#`AUyP9j@RQnVH@OE>~P5Rc|A98df)-K{$!_#m3E z=vK`~AaS=owA?Kgx9G!hi$211BkqjgqdI?WbVq9%WBPYJAN_Hi@7?S=bi5~md)tn8 zwj5)iA1jg`jdC%d^PN~0Ub7pHu^ZzW+gXvcI+e{Q??c2BjTYHh{Nqehy+48nn&L?H z!8X;0itILa-zuIDujYA=&hHZ~p6yuhN#yyd2tJL9G0*#Bo~%jH3TKumo{Zo#Xf)rq zH1mR5yvz<{&PMoIjc~{3VuX)G@OkZ(JKGDsfNm#OLj9t0v!fS(DF*mx1Yg!QYNJP1 z0{qJV0jT!(txuj>No<`i_p33n$0B&VsfNV9)+Y9KP3+VvVy9OVdsIt&1BrEG_RVVH zo5<^15qulBj~cD^_4Hxp zQTW*$$xCi|qT=(Ki7|y$#lSx|;1@cNz~_>3_~jf)IkqYA;g;~L*(AwXq4X>JTDc4O zwE@2&xpuT>2EUEqcVqycAcxbkG@A#5fZrSN2a*z0N<3`@Jf(IHj9>CcAD)ijPeqb% zS80~4@*zy|kbpm9z#-J|xozSr2G1Yrl^x9TFLNZzD`hkl)C{=`e^n<2CK}I>G?rAR zS^=I#=e~djIwy*Cm(lNUbEHp5?gVDpuho!+fWKoaq_3sgQU5`@aEC9#KS|EDylRMG z(B7u-FVcap$A6QwZApquY5_c_Gl^-L?q0e;UHH!|qQ-OumKnDI{yRr9%yJRDHsFb5 zA~D-Va;-#MO9(1>Qe8Q?c~1xKkpZ2Hz;%YoF4n_4^>UX@OJS9tgV%FpfYwS>H)auE z(2P>ayVRM%O_z3S%Wf@Qmb^#b2p4yPUpvygX*dLCOpX!iQ}Y`dJB9=O$-%AhhvukS`U2euH)exdX_8rh}u6i zy0s9S_X^-$0jD@_-!hx?;#GV_2TRWcFRG`9CzD%LVPxa3t+;*EHC)R1hx9d~iedbxFY zY3)MwJhkABoV(dkFKS4SjTksjYj`)l5zsT||P!|-|4qX(lU5x+uu{ebv8+@m_ cys-7$UASWK-S{7WTxj=~#HM@jKP+wgAO17QfdBvi diff --git a/build/doctrees/environment.pickle b/build/doctrees/environment.pickle index 75261893f7919e61541ae95bd3d3f233b68f8913..eae55b2c78f38054f84d561192b74141556d9965 100644 GIT binary patch literal 41040 zcmb__d7K;Zo){sqL_u$rbOZ*{i(f;wC z9)IY<=+M}zxJq~C)9rr4!swt}GDqXXw7*?*)M?M8bBL#9?xF=PZlXPxQISlWheD(q z@PzV*w|8XP89;V&I@6KJHVD4K9|7khwLhvkI#k71Wixrzp72LU`$Ze#xtvP2<#TYd zz4mu#jt=R__b~FTKc+Q0xIGomW>Fs78XeLWZ(pGjomqceYqWo|BkPZEjSe(TC$#3H zL)u-iq!MX=$5wx*%0QMSR-?C#%g6NV*Ke+b?ktkfodqWJo!6b?@1p%(o88gjjdqI; z>WRZe&Uf6A`L=j;a4z1(5d7Vv1EsJ29{INDFiX@iGmiJ0T=srX?e7KC(S9zvxp%WW zrqvzW>W*u5$G5tO-bKv&xQ)yEBRqnd5zR#H@5^ZHzWrRs-4jmT-Ca5vPO5o$#B<3^ z+MgtDBHEu^aMM!L%@nxVwa7x56`SGgbbo(DFje~pFoHUoABf;0#o(GO1KA#xOn1dP z5odioqAs7w<{>M@W!IYX7K0kTYrqd32Dz8H?xnGZDlr?ayWqOdt0h z11Cooos23llu#>^?KsBgh^M*QpI7j7Y)wz|;b{o0F15(x;BJBT7t&o>#Ul8eTlBf3 z^@*V+myf4nD-ylgo;aN^7U#!ne@Vgl(wfef!TD%7Kf#!A<`+yv5yc7GKao+?Zm}HU z9A6A)dmBzZn^3W?e6l0qpCoadto>68ahzH+j#k9cfH)3IXB;{6j_^-I05R=<*&rSF zp%mbSBdX-I-amsGTQHf zsXp8KNP<@k(Vp@x?V0YLOg5QI#8xG9ZY-AoF>#K|N+Qi_KUat}Uo+B`h*VCwUJQxJ z_L8F9Us(-C>L82K(HcNoB8xqPmrBD4M)3HuD~>q6LP z)(rbBggp`j&oPIF6C4`;*$D9*?SF+K)~Y`j;ha$nXJ8To+-iTVxLv3H^#!*ZYPvlS zZU@5cymU@w{PW@LtJ=SS&Wd|4go|}W7ljk1-A~2Z;@M<-*1t&nU99~}3jQvw>F;as zHx&M&SviP~KhD1lJ}=k)74%tNb0z#viVHrSgh4b6Af4l8} zvF4j_dt=eA4FYdZZ7oDK%*O9SAYaCw*Zze|^;`|pOs zJBkiV{yDVg6}!1vJl>=IdkY@#tLgE6cr^b50^|d5`Jnb6qRX<1hvD;{qR+xug@L#| zfq&DvM3*wx7LSPYN45W0!TIAgoj(ER9Qx5k)kkLTk4kG21k=4k(HuET#p`#;4c`O1XK^7`h*`MkhQXVR&7 z8%OD%Y5(WVaxvv*x?}D6Y!0GFWpL%3>y4qm0Oo-8f8h>~?us@M(A?)9}&ToyljdwIqh^mtkZ_8Yxy=L#%#feRN1y0{>7rXuayb8tsQ2-I)%v*k|E1d$?a#um z)<*|r6LI9zf76y|p5ssPr2e(LF*>xUzO{b&SkzZtwZuBp`@4&yV}puF;c_N|iuH1w zCDRzrQz^t9!9R+Qr1F2`u8EGW-u<=-mY00Lb&ufvP||-V-0##dzf;#QABR}+uR52E zr;?|Wv3RUKg=~YY-?>*s$CcJa;t^Z-`}J~u;#$aD5B|ZO6CF~}-ZlN{OyqDXpf@=; z5s~BXkL*wN?)TQqfLi%q@lR+yGT0fh|LNXeFM|<}CFbbQ$mn1mIaEGapN|d-4&V>9 z|CeSLN2mMJ@}1DhnQ{m_i-SX$S0=$Byuroc=e{CG%?x{V+J-p%Hn?)g*?ZPhrahiY zG{lyvcsh%#4xBwOy1KW)|EQu#cQ1pNo4Jpp1Lw)n`^oxq{J**%yPvG{|F*tugIjs< zx*xe8N4Hy$>By%zDDi;*J0Sl6fnHto7LV8E)E^{_i}8_D>=5DxDy;d8(bVP?z?3-02^E! z9qxN_CL9wSIk;g;I6QJTxHuTx_iO#%-QeOFa6gcv0yp~(Zb>)fF(jx=SEh&A$@>4% z{(qx`&Fz2I|4jS;%SX3q*Z$|t?q^!{+Xh1u#=m@Y+n!#v4K%H`#a1f&qYxd8!3Fuq zssU0t5ZeIYWz`_rHyB$13@KFhSJ|8zDzy!^c382ty{AWQC$+m3*`GHEpyRp(>u zOPbsItQv}tU2i<$KiSV4xjB;jT$|#=hQ1R$+)A3j~-`Sa5t@a{rz+@ak{O5w>GTG(k)ZW;; z{1BXfQ>W~||0JBqCZEpib~oOYPdLqm3{RZoEW{m=v!Hz@{-rq0r=OmNIx#vbu^Q)K zMa)uGs-qa&m(<`sgl zr%SWJ7{ECBq`m}o`5^FVVvIK6A4&pu=or}4VW`8*qe`R_IFQxhP@@Bp$H}Xs12JWq z?@>o!*Fwy|4e3tg;v7lUk=UcvQP?)S!?oL_-AUS=rrjg7J4d^VwR@6wR zcGqh6BJEzK-HqDaq}|QheMGxkbUr#F7!+{qrFp>2pyB99j9IaCzMGd`3jaOT(c*8W z@i%|C+cdwwJ8Ay5?lj0F<_~b^KrWuYjeFAker_CpNtD(6LGBvtUps%Wd(r#`_p13r z-Hp&U%^&D)#@{2rZ<)Uh{@W+J%Fabe4)mJs=b?7JI+ksk;R!>MOf^rQ++y9BT=6P?Q75-q z@iU+H;paHYE%dX1Hh8^Q8?X@7>(wG`^TaJiq1oe3k0B&r;CRTk=x7k$hJOhi#s3&f zP+|UKEJZ2W(3#1nJ9rjk)iP71qL9t*W_PU{ccd<51Gg1sYQaV{(!5347`M;k1A zu$_hNGvIX{>|YEISHs7R@Nx%Yxd*-;b+_OSCc0f=B9@2IN#g2cakYkIoPwgq%#p`a zA%Vi~R_-Rz+9UXvlW>tn|)q^dDvC1bXZTVCxk&C4;joF}lw86-r1dtVgdA6Z)qEtWLPg(8tOnd`EtLv}@Z*n_UXmLGJj>p&}GhQJb zp5Y!3_o71!XN9^!8d^d(LeuI-YzqmwNt9|vETK1}-V%C?z;7*u-xdO=C-(AoNK5E9 zQPygcAOb?~pi)NYu%_Sw26r{}Qp&jK>|2!Pq0R|r1`S5kx3L$beg{IUJFz9HeDG7! z<}M-~j}eB_>Xmc(U9oq!u_sSu)n-w`xx5GUmdkqueqSm4{t!4lv3n0dS}q?%S*wQx z5pel1l`<~JHr1L{tCv+qNVktrn&G3?)P{N#_2Bn02(2E+mi+Q5dCk^O(3;~h{(71I zo>+d;ST;;QB}zEcPqW@qy+!cPl;WQa!P6D{{C!AE^>Zj|^#ef!RR54l8P(f0CDU#K z6YUtN6ZJC8!07Eql#R=WfwOrqj@!}n^^*dwB@c(;JstK_C{Q>oszjp=x$5QxvA#i$PxBdia`FkH_t^O>C zfWHr@l<_yDDV2$1{=V*kmqF3fhm__y)p5px`U`e}!H*!c`WRa>$Ol%o!6(Ex9s}!( z!UX=O4J)~NRDTr^c2{uxH|*Ey@7Thd;rJh-RC8?qzx@;Smg7$a{;yK_zeC{k#Gd~L z(sKM?l(qUy5P|pqQ7PltY4R}Jgy%507M7P-vhwN^NXJBePsYpCJ9scyM({ahqg=ep zJXVS2>GEn4Ok<9B@uFiFseao^QnrD>Y$~=)ii4!|iR_QY$QHZUSGMecF+jWwG+s(14^O2N| zeLU4rqtFVc#b^kvw#Swk*!q(YwF50X9(zdP<}m)PwKc zA+*{9Tk_3|lbWrYXwC5$f4xlaDVFy#mJQQ;ixSTCKCHJ?Hw%7ZDSqD&JYBKR`$1Z& zC!wrWL=XYhlc|(ZJ)|jk7FRF342qswD9yMYJj78`unUCl524jmY)L4`b=%+oVjPcw z)#lJ%kQ^u`rWq54xr0QhX3qBfVAk95Tp2>%pD<0 zwR?IZ{76Vk{81=tHA4^q{Aem=#LsI=c1DsBK0n7ibOIwhA8p`yEgmpL_&$?;;JqrD zN};v`SCA_c9YKS(LA*BzPOqz0nIZ3 znPcf#QL2+^kA?ZDx5vV90$)%HUl;l%iZ5{e#kd*FQp(2V`yt!2;6xtK8Yhlt=2x~*R*q+>}auEf;`CtX)=7WD3uuo z9jBnejuNK|uC)|*T1}ke(FNIzvECjUUxuPpTp&Si+eE4K>v(iUd^@B)G&)e$Dj|pf z-btnG&?wI6HEn%HkHOGG7iHmHZ{Wz6*oB7pZ&DP#B8 zrfjP7Kre!yB;XwDh`32FnO>2NxVc|0On1~8v_bODfWVxx07h>OfV8sP z`8FH?({RE|H>S6=n2t8Nka?0HjE1E)m=~)dhJsFu9Q2Z ze7BSnQr;}(PAT6b+m#7>dUjJUaL2)uTI)empuz;Ej#=YCHkY zx%2z;5gU_+BLwqPg9F~xqu6CKU3sZv&ymN_0yE_d#?DebAxd?o?K$#2)Z0_!Nr69A z3V%8TPES05w?Nuc5YqtoXo z8|9%mUYX>(Hu9g(7*jt$EzXo5LTL3PY&qKT0eX$L&(o6QG4k5yP^|&Zoo3IhAB&Hl z7$4@$dO?&*z7h0KQDO7+qTqg3iu-v@oa502`}_;m+eEztMXQ$u5-|OWD3yL4kFJP+ z71Ac^HI%h_T@V5M4Ju`cDvo8-Do@k$hrtYn9)3w#_mAP!uh1N6dJ{scUt`Mw4Zn8t z7+vjTSlZtb%x?_F(Ehe4;obi&>n;872>y4a_}_=%>585E1EgjDU6i%@qaXtM-V>$T zJv|ZrCrHcw`zT|=To3{L11e?g?}5`qev8PL!|hKC@m@>>_gWFW{~cL5wQ$z-kspT3 z7(S$IT)w-U34v|gk_SJ2gl&045kCiXPME6xg2u?sM-Z4~$Cf8iT~K6@J*=I<;^|~_ z@rii&tMOoR`8QFj$+WrnJL+vN{vq&xmcl;`fzuOt_!p$j#lKP3>OX=Aa`9g(Wx3dE zYq==AvRH3A7%{{6jM7}h&9kYlPRBC)t2FgLv`0ohhrm0`{Y^%A5myfyNnuy}N=hFW zaYxt_a2vSCG`|VLB(1+Fl}STC2cW_xd!XP3mEs21#5o>akftH5x7i*FMXLsZ1nC+k zN~K@NqbuUKgS6Qmj*F4Sp@&hF=9U>Jj~WdXdDn*(#1ixb`ey0#TT`~AZNXzcdC}VP65CJ{A zic;;Ko(SI!(z5HItkv#<2;h5ADPwmaetoTqkFoopm=V!U6J_J_0XW)c0t|57RZun;&su{Vc9TGEa{S*s%j5s-Eil`_%>@Xv(iU{9;I(isMn%YKb5M_);om zsVEMqbGAODG8lSTMrnU5YJPI2qS%LAoB*NKiP&;n#UcV8L#Ukv%Pmu;)ky|pxII~v z@IIcxddu;tf^RLwpB93rEA}7;X(|3P%9!XCM8Hv-DAn%iiSTwvOK}IvnCKNm0Pmzy zM)6Kf?e?c7ZU!fNBBy$TSCR|oKp*5YO#1GkY?N1+3qMzx3!6)5bE)|SpmNa&*+@cQ zVi;SV89Q=(wqaC3R?seHjv;ENt9oosiTQ40-Xtz9N;Pwq_zdbT@jU|fOW`U6PEYK7 z7Sa-*Ls_f5AOhl7QYj;TLKENVjpuXtd1|(uuWWun+8HE0uc9;)x(i`(1}x4BELzf6 zqX|gwh0yABY)LxbV-EwYp-snQNBW|?k8x_TJ(tc9=h`?oDLGS=%9Nl>XQ9HLLuU)_ zoKoCZYU1#AG4_*@b0KXi*P@KcT|or7ST9PYTgRg(!Z$$LRGx>jR_6;MfPa-rSt^Ue z)Z(oVQw)Y4E}#rqaztH-N+jzd2(2#0mg5yx8SxlPU)kWP5Imn z{NE0t)i<$a{;|M`$EdzQ{*}$aCb4vfv1Ic9Em11TK#bo;h0Vct1b1gC?yj0R$D<2& z@w=?INw^z|R+|M9uy~Ism3|$Mu86-E(k9_Pl(o8F5CQxFDj`WwTTcRmp@#=4>t51D zJ%r{+#={U=J%TNhfi+t^Mpru-mi9*l^O(UH+8-Asy!%hE-qQa)!9Q7we<}n|SM1!= zke2-|C~NhMAOiZH6{XreJrVwWNX!0nDB~4lK?Lw0QYmA9Y!iMT$G1rEhF`urjo;RH zCsVzJ>xMp3!U*a1N0jD;shMI9zqzM5=NK`ko<}`$@M8$Pbc`+kd+~*-TCI^9hF&{0 z)fWmch|!-Kqb5l&ic-yzCHZHlwdpth zQLmR>hDBe0q%?~WEwDD!d)Ns={{*4c``D6Dt_o6U0uC8jy&V2oEPY@s84f=bC7i>* zpx$!$k-$GLg?|zPrziI7uaK6*zoCqGnFSGW_zx;&9PTX7t>wj{WDai+WmfPRKUel> zPbKSRm4VXxKPk<>Og^xtRVSIl>q40oSS?RpDw=uRJoPD>f#-igX!UPw$urj%+X@KG zvp@AR{~xjaUt`-a|CuP^%>NJdmif;G-Vakv2+hE^5v3YVPwe})sJG1bM_H=@rSO4N z%9tP8grB2Eu;@stUYZ#dT@8XQ(9D&T<|J}hY#^0VgRu{s4uQ~WD4l`R(iR|)Vf95| zANL1q?7zzfaWu?0G7N1eN+m;xcQ`8SzsV7T8(E4QRTJlUbiwY9X1&eK_E0e2Dv%&E zV??R+>v(iU{8&hvnQ3VCUSz(N+- zA}=nMZSxpO?POSrcM;6424g7RO_cDiI;giy?=J8?O5sf*aC%}t_GGO~l76wu?P>Bp34WZRcY?&dh+E(3k7VS75!>*l`;&o*4ew*W*`8np+_ql8B z={Q?LImU!yaymzpN>1J_+m(#&ErwV%&i~-_);om*({EDYqvh)F&KJSMp?3Wq>5q(@^u0Prfsq1IES?( zJ^Jq}EtV-h+rb2`K^uxs7NxqYmZ?)vZ<#t(;H{SagS*t2lh=-{Ih8{_sLw-awGvxW&l}vDtyj^S<1zkvnO-fHdyQqo^y#96Grb1& zmgzGDu1n!(hQR5GT|NuaGJQ76TAd?^fa$MLDPwv>6BeJ8B@MY!K=IA4J`Q(=Mt|p0 zHZC6y(iRvyj@VIaQ2}n(L1?ueTXI|7YyLCHOV4v5sWM5xU2WbWpMO(IiU6gQYzkzy7?R5gbz7&2# z2%MhS(T$Ln+8a^U>Lx)1)ZR>`jM@QBSV*#7IvEhX+yYs-OG0sj#) z@7P^+ygGlU7`&@s5RrXXlBQ;lGBo9KVIKR=*KM0DqfG z8OOtT)^KGhd;+C#+Vnv;0)FPwwohpY@*j42~X0 zQko0I;Gx|DyME{>RDsyh5Lj0NTN29)#EOQXm9f^Q)sDYAh?OzMiXn5XDAiA?0xowErP@0^5xy&=O~q~~Yvl+cfbUMFEEOZn zJV0W#e7vQ21JuU|%+Tm>4@xs`$o>B8z>aD{1=6r5gjRcDYsZbUW=H~~teu47I9zLL z%W}N8c-Y5yFez#lrJ5u=Hcv#o<#=C#?^g<+6auFw_BjG+Ii8F%W?lsma6E-d8OP(B zWSLg`Q%e3EBA>;&u=O7GjFFD_r!OgGCIv=Ih zZV&p|fxhUsR8JGL2N|=5>VriIr}_}oTdEHg`1DfvmqOt5#2z08X{kOOWlZM^BB1(6 zDrHnp#>m2zx3MT>u&{qH(wKJyo}CPS|ErZUkj;}#J&}czA#EZ~L0PL)1rfkosgxyRSW{tP)4Kl& zFfKYfjnZ6(FR?4RVi9BP1-V~_z-%A4``@}vT(uil zhNliuDrrW{2~^l|ty6Gar8u`H&hhAiT~4yz=EsAg)e39GOy=v>Xq6~%}e9GF-auuqOnJfgBoWK^Daq)R5kCD_)hNUcvn}m-csEw_|r@AYeMjJ#g3c-X_?k2Yjvg|0;tLW%?YHv8u2j z0{FR9%9tM2)QRPp@x`9_N_^Aj^h9yqy$|LY96he3G|V4EOBingOKKge!2Eg$EHI2M z&k0_fRy0H|7;EiZ6t9actLKTm^Nl@|m9L6YO^apq0@PbpFBJGirSOYG;Pk{kUIJ-Z zy%c542@4`%^)f1Dtd7SM^5SQFil6E!Tm$t%E@PzQ%PGw@Q0;HGs4LI{9A6268Deb7 zF|UDYw+GeiK)qC7EoQGVW)0QXiV{xs*HLe&{)WJ>D}`Sl0;ebT_y$Nz^+uGjY_T8$ zs&ArFM)er;<{tm4#v}Iay?S|Ofb@DZW#jT4z?-~=2Ww8;vDVZrs0PWmLTGgxwj?>E zF&Jjt^)h_B*!-rkX&BxlN;t!Ju-;PqEx~`g6#tzNJYBJ~cS2fI?RY%LZ+OX-Xk)$PD31Fg-e z9jxycBM%rOhRFv-sb6h8BlG)t4HJ?h?yT6Glu#fiBjEnOWpIRx77Vu;6EvazYqeaC-&&4ke0d^ zQP%2bf(WSlIh8W%2I7jZn;~#|VsCy8X-RtvWz1F!A|UN;DrKY% z#{CLD-B9=O#+c~nx0L31ni#6~_e`L=BcqIo%}jTWlIptaQh;*);&k9eZ{FMccUG5|1LrN z!vtZH@lR1IlYu^ciV8d4{!4KGF2(()CeHEbf|UH1^)`#2LBYhfK!P-UE=r|e$D=Fa z`(cE$S=1?*7{+gM`P5xc=WqMCq)$jXioTJ3}_&mq1|x^-A1?K>X3Ry%do{~mW17rPi2CW*U> zQq7`G!fvRyNpJ+ddntU65I8-NgeFLvggsHlq_iM{B_TP^hrm2Dwj7l3HEE9#)J}q> z_DI1TWiW=?8KQ)D@o3arhGz?p zEB5weNSmZnP{uT@AOd)+DAn%iiSW}PZIWUrxyQ9 zWqe{5p9rltON^0@+bDz8T4B)Hf4Z|2ztG|5ZWr||qeaz@CP-5U1Xg>%mTBUT`U!Wkm{DoS%&2!B(Ba2mv~&S+3&(E@zuAh5^-w)V6L zX}^*d9gm%;m+ns;2G1IEo@zCvl%4i`=jn9her_F4{P;sdr!4A&0-B1YEJx8sq6zOuFTfA_4d{5^=f+5Vr}AVHpIf;1UE zUzExWgO0DF!VY~G2=2mC+(k8UjzRN1(O!r}Ah9T6> zjOF(0g87EQ7;diP_C!`B6h7^mDLyppgMG$H=XX#xF5j6a ziWtSB(AKCEapnhR)wj?N8TmGZR^P#vr&ph-J89kV*sHB)?JlwVU1Qf|?QT)RY1_tQL5e36X6d-+N?c-GF}N5L;!z`N?F!M z<3mev{GbP8S;TyGxG*yIkt;?=myc7Li5Hr}((36>$Cy%2pbq)@9)wm;V$1w+;-#wP zQ?%lEjJbABsxJVZ7OPu~Rg;}(M5(67vimIRExX?r_;aQ3AB4c^iCz66q-FOC8|Ak#fN0&dLH0;t;8M`l_4($FELaP_Cwd_{4{28q{9%HVT-Jgrq zUl^-~-IqiOXZK~)TXtU&_^YMx*Fxa*#IC*$Y1w@PWvzZGh=AQ+Q7L103`QJtU6t?o z!b1%Mq}Mko&9f|A#mYrhzNa|C{2JBZ_$>&`|6)sy`7Enex|IQoO&-Yv!bu_n&(=z{FL$9kL7KS9Bo5dsO4@@G*h z{W>095&r?C&FP0IVWjQVWqkd%T|EL)ZJ$y`QUZkCq$MV_EJbc_2A0jpr zzo(6lK&}6cxOLFz2*8}0{?d@{68UZdSXxh z3u&qT3}wvL3L@a@b5W|j(-YzS@Oddq^)@JDwia7-*aY97N*UE-o6MA9ccvqcd-h;j zu`vAi!9OFU+X1i({`u2D^TCD%V$KQ7se!0R3I;)7HkU!*1PW`7%rNxYnJNAUV5xH1 z_~Jfyi_PH>aXQpEH8eDcQpqCvF$@(pdD{tYcqwi~O`PM=1!))wX_Ge!WlRGLB4B@e zQ7YZyEo1B_doas0C0`i+A++LaS#R?Otp&42@=( z4~gL+Qnt`!4>U=*O|9;vR(Bd^e2EC`;y~_aK3ZRNzbESHey^fs&NA&$SYo^vYrV+2 z;o0gb#cKMth6?rjqdwuD)au4t-6YoXW%D2c{-|Ll@`T^l;uG(^&T)yAiBvIw z1JINK99Z0>qzI>;YOw)-VrIt-QU(&0s$eD4ug&B4p9 zo^5f2SiK4#)GM)v2WS1{<+EZpjtVT!C|WFw($*g>_BOVuH-$K7JzGBy^$GV8%rX}nvR7UF z?_G$1&gY{++}(neB8n~f_COB?uCj&;*f1X*f>(lLSX(8l7Gj51iwJXv&zbSk=%d{G zCtU6}nc_WrEOIBA;xj{Ecc+=+Q!gxak1)jt8a{F7nBtSO4tE!u;+84n+>=c4>D?!| zaZ`M3%06z=6d!u)bXS?;gKwPYt}(^u8ZU9zn&Pvsbh#Iq;v=_gaIZ4OM_)SD-Drvr ze7w-zWQtEUZ|iP0#V0=b*nPwlAA4wpyTueApL-y>99#is)ne)L@$7PRY&(_&SP@I` z=j*X}M+bf(olRub5>%cS-6f}z-LcM0CWp^0CSrv*dt-9;tEFgkezd`jr*g3r&qlQj zd*%;}ZjVgnviUX)z^O!RHNTUmqSAO&qPs285zFR!@hr?uU}@bGWdC+OiJln0qZrGp zlsXanqPy`sT=)#vs#U8d_w?r6OnP!gb+vRPR<@vVwngzHnb8qQVyT;x#N3Egah1mZ z3^>BeDc$O1?6u$Z$>)-($y~fP+i;?3wNx54s8i4iKVd!}UWD$x+* z>5i$o1{K4e=zga*H_w`Vbac)c^A;Yn=!_F*ELk{j;hZyOFIlo^$r(#$pD=sL?1?R> zOo<%Wdg?^=WgzDFTfaob2_3@t@a3|0)dqE8zAf56kzT3Vp}5;dw^N<%MKU@FXbi~6 z;dstYP9}1lLWY~`PPM26Ta3i&S-HgOoCFzfxAJuf;UneNHwVi+;8P;a_Rb+PTx ze6BNcNFcCX}aeoKhER~2@z z=5Bs$h`W0WyHDqCenpA9*A#Z2!QK1<5qImt?lZZY-z4JhvkJS<=5Bs|iM!7!?EVT$ w`RE9Io+yUn+o=C zJKCMyn>}^ImdipCa}Aqebpj=ct><_ zysyt6F+VyYwmh!V-T8E<-#9-yESJpD_(<(<)Dm?%GwB@SX+3noyjC~Snaik1ro%%a z(hGP(`J+0!GMx+{J1L#%N@N=a-{_Bq^D){V+Y%k2;>)v{yy{H&wJ=)Njif6MZk8h6-?}&FURf+Dbzgc^9aI!1wPiT)0HBC2f z&qs%Mx?o8q(*73h{+5-2EJ>_DZ=2dS9W-drp%S{YKtgxsnb5adb(+7m_P1$q$AvfA zHae^?4i`D!amVC4;?ag&yoVw9+eL>;U;XX#9nq1Ns6(b7;WxYN{SMmS5vHSqTy%4% z7I)KjcYM3MS-U%--9_{+V&2(pY8#C32x>tzyJ&w`Mq~Hw<~r^UaO!U7(#a@N&BG&} zOJ>skL~#?*{-lDN)|zg1hnsDRER?NiBg zPpm7^mq>Rd(w+UWWSU0|L!Kfb@2&lB6++&pX2|;@?B2Ni;xUNgvpgY->bILDuXAZBWR7K32= zxbF}+Ik4ztY=NPKT9)j@F+N*79jg5~1y6_7^fVWqhQsP&i##0e=4pRE-IY}=fX_pV zKDV$wF|_3J@l?(+Y5xR+ zblhW#uC}qRdJ;K|em${lF0OKku2?qS+m}lCadF$B{mz2hu9|KW)o#1twnzJ}b=y&N zTOb_nv&k$5Pn-a$#Ii)nPl`uR`%4QRQ#C#I!ebLUIy2FoOe1t>M$wjYIBjM9G(yN| zzYnGcZ0jQlUNJ;_%C~lAdiyfjWG)d~p3J$iTmr zBqlp&Sc6OY`w|X~I!g*hmm}g8+V5w?^uz`YR>uleDi3 zVV_(x>{Af-7!W+$92!n=X!xfh#M89@ZH8E@{&a+MQZbyNNepl+{4>PuD($Z>xLs4z z?U`^p6mI9Fb1LJX1!v#U{@HX^+(mtP3J!d;rMcd zaE11-WC*o5z6ya{Rt#jE4Fm^kZ$6#O_4{ijgsZiGO(BFI)(qiCLH}`B2GDEa{5tLb z*!I6z^Aotey6AR{b(`%=B)azU{OiT(4cfo4;Pj@NPH%?O29Ulu0R9v%f2RGP(`D)Y zTj219qQjDZ4xM?$Zr&;$Z`1xS3LbB->G2MDH2(tv9pPSoG z_GL1u=?Ygf#@p!R>oSk~L{ zA;fl1A+~(9u`AOX#|akC#rv27wHZ606Uwgvh| zOYt;(^!H}+S!*qcaq{;tvIUJ4tF0kcKe0MGyeEMXoTJ2(?vv3$*wLHmGCTed9og3( zu`251A~er)HHK?E90IZ4cskyLi|jwb&!$onF*UgQHZ@PJmaC2KxbOeTZH^9R;px@U zVcA3+`ShQ$C7S06Up$MRb=O8m6xHWew~a@A)n!7gJH3ayFgiY{h!n0LBB)p`|Min; zjGw6#;*MZs?n)~Ed3R-WT=ni3Ot8Gh`m;NYHy}y>#c;oq!~9NO-L@HG#s9`!GM-AF zNXFu^&J?l@vR-m8jc!(27l}t~-OH=xguumzxd3~`ogE!s&|WqD=}zQuDxfzxHxZHJ z?=S36_3qbJ%LrEaZ|HTj9uw@0*ncf=td_H%#}ae&CNkQBE6x5kx2&fX-ZGM({MqA|8a z#nV~*o5$G$qbvFw{dX&x^!77&xqEsqI&_X4z3;C+&Ht|f*J&~aauV{1;yvE{^_;P_eN;(&2qExY1gmS`37sr76mK+thyLNC7xF(MwL1lU}eaueQ|F`x(iZ+=0 z?X3T?_CLu-H|W&(GbfXInXy(bXE5$f}VvuxaqWfTI8g?=B1qnY7vnRcB#m(->+Dfy3adJK3YgLa`^1+0}@16g7=%9IAFXO>GRJ)h5`s zL`V1a_wWuri`$X@R6=cvy$DDqfYf*@rJQ$tZV2>bjS0loZ6gPV{e=TVGK>x7TjU3Q`MGIX|SB+QBB;jeekb4;v5!V7I$W( zk_gY~&M0RFCSv00E)|cCG98a)^WELa6>2NuhD^dC#Qz|D{VLhx=G4~M+qMr*vdO#e zvByN5ttOw&tWG!HlTSD;g$(a9(V36?3};^F4E*14T24GM4Rx33*u)B)XkCdITA~B# ztl9=P+uetwgLj{_Pjm$S>7fe8f!db)m4j`IC*2z6$~jy*k2AA$vP5ksi0!d$n~WI0 zd3357*!bKHa%u+_qN5A9OAOalJBovyu#GkrZ>7}E(s-<}p6yE|bC?am<$!9z{)Nat?(ZB%@_D&PeMC@-@ z5w>mMy)P=%Bx$>e1Y<6*7!9W)R4b~^jE>0QWKy^*&#K+ALq|tTTimS&VecW$8Zb(6 zN=HqG+BOV)ni!*v_^*+`eJ@5YwI}K@pQjS31P)}i7u4ubL|iT%5zD+8cYc`WCh=?kMdxYj>h{r)YPYc4upMp>~hfZd|)b?JDiA)b1JDJy*Mz zYIm)6uh;Ia+Fhsf(b2((fCDehqh%jjjgG;96-(!Pd2yxi|55EL&ZZh?b4R(&a|gQ< z=Wgguft)sXh&vl{;oJ?}qvsBCOWtmY1LS7QGea~s@q=Qg^R&K=>dg?|0qq3*5t zTQ_$D{4Y=T%2B!>OuLwcRr}LN+pgfL{0272ORL=2#j>3kPSaU8lbh6+?okI2-O#S4 zQLc<*cs&p$Il^nUKM1v})pWLLfhUYbGIKj=Qmb`ilEiED1>M|c#m~XC4?i;~*U`^R z+Thh-ZNMy4uU3a(nb4*W0ZD*mgOg9`Jn;xLq=joq1i zx{HT@R?Rh4>Tt*w_g41|H||cs|MA(lEI8Vo=q6p|F2q06QSQ0;FTK{i-d#sm^TbXn zlkSlzp{$yZ9a=3AE2G>oK<@x_1h)2uwF6=AP}n&FHjjaa4%qczISb1t!RIPiKM(dV zgNLi(;|4@>o4XEoCee)wGnzbj7K)oA#LY_5un0wuIU|FMA%Vi~CEQJlxjPD(kB$xg zbK;be;V!F=#D1-g!q%PGuG%15+9s6bu;L0+9gP-pH)WGtc>|}8VT-XPChSG7I+iuO zt+80h@`);S9Gh^8#x_~cl&)%L+A$k#f+1RRYp~HBce`VlkzT^ z`&|`h4d)Vy@yboR>ZtS|_83ETqGci*9l=38CPPsd_UPykSMjVG>Lb0nddXO<-`1M4*w)nyhp|R+(zZ2AzUa3t+GS~k1bSAlxi1@ zhA#4um9gW24Nm%WXQELpLp2O9htO&TwgtoeRCwp!>1Grkr{KxZFd#AYfioOWNbsD* zxZNDjfsz=?&?D^b7dG<6b$RvKG4cejNBh9eUV(Gi7M)yajO zm~pCLNSz{;UXa{Vp=os*wuSC|Ta<8~PG`Lrr1A{GuPVi_4#CqE`??0w3(|BZ%37Tz zh~P;0jwsdc>51^OA-y0O=b)_Bxq=Ab=TRw3#)xKK2rNq`me-pVMnzZWQ=0jx1%U~5 z0rnvi7eZ+DU2MUd+(Q*wTtt-PF*eDJS4f9vxW^-~=!n8up)Qt&me5O}X>}>Kg@jxt zN;M;v(C?w%68e3C|DY6pc?g`I*vl&*EumMUtkqS52nbzErHs&#&A~MZ?o#TdlyTA7 z)s*JZ$B|~*3r5s6*b7pB2%*)FuqCN{JW|r;S|S~f5r)$0m2-KW*!!`uC(ka`Pecjl z@_N);E^iR{jivCLLg4ho?%fP&x%?^0TK!BA0hd3gQpV-@=2}x>^|Hzc>Gl>%GknyV zk5IRw9{k=0q17+2CBJ-@T(kAzh0*A5X-+bmJQQ)iW1KBU97iM-!1rcrTBY7 z@N~sK-wSD}z7J)s?iWNr^#fGOsNSeKnRXMHj>bTpsFz^|MsE*NHnoieXLE{H)UU7` z#6AR})vvK7v6YQ}L#*R5$l83`!T7gg=6A-7Vew&6s#&xwJi>ZAc04Nh$4c>!hv4ao z{rWwmO~Ml>YxSfc0v7)uO0|1>BK(h#HVIFmtks_c5x}3OQkH~<=4^b~HyAe<6CFK6 z*(A4Ti^YI?7JESba}ZiRk1eU^?ORa)0uheKsA{v0VYp(v__Nr0(bzKlza&aE0hYg) zQE&NsMc}WN!v7KirzdvnHAu_f>nLmWh9Cm|-lS5--|*&CCXPw>x(8kcMNe;0nx{F3 z8w=`f>;i-DKxp+Ywq%fxb!>z8h;cjyHV}mg{7)NMa`mX*7Z7$=aQs*7*XnQB!kgjv z15v6uw*TM$j(W@SKLq|^Dg2)yaC&0T{{?9|{x`~6eI$s$`^QwuICh#n%pT$439g0Z zRgbK^AOzAe``(xFGW8A~43-gmLfIrY4>B)RVtJ~(zys5mm|eKwum$Q&k}@Fjb9!++c5$F=*#YAV@$#kdVv_M+QNok)73ys={wMISOW}hyWW?2QdLk7Y zpx!29LzJ}|EQlZ(L#UJ`qp3Okp;ogB#s?2k0|4fh*~Qca#c5k{fjaz9$&V@ly;L*Vqp?vI1C+;5CB=5YlPaK9;) zGVaGW^J%0!DJ*#uSTF00kZ#9Qnv0WKk9O2%s0ZH@Ahg;XTk_3|lbWr!pf$&1{Pi-u zrC4qa3W7tjT6Vbeasxv366t)CvbA0It(ymb1sBdhhxiZep4g!=-ctg z!9dyK1zY8%TdjS}uW9Et+tFga1i8QjX)?S}l*$Z)jw4WEM~Ov(TU?4;QWNKRbU`+w ztha~8kx($>ERZ0#ZK72Abv(Kv{%A;hXdHvGR>uk=fFDPt?9eFA=ryl@MvuYJLpx>R zjc9c|ROB%Rq16f4B9AU!iT3Edc2X>@alv#LjG?ttl<@9#vEI^~5PWwjz9$4vR}9{T zwCpBP*2)t^K+jT9s@>BQ;VDSVZZFE1>lH)*&rm62_ps({s(UXlf*1F3j&()cq?b%D z%|_f@t}h$u!6=;X!1Z`<1n+y~;>#kgJRrsJyfhgx$YeU$Sr~-}$P>H8So3I0w6&Ac(1s^3ev#QxKR_7Qndm0gzU9JKuo=UBiL7R@0G5=t!&S zNbo{HD?8FE-XrLUc~Yfv#%o@@E;C+{{u0}`tQ{0VV9TY+3e%)b_7j8fzuOtKNZp*Bd4LP)wcx^93!Vw zDLY1*afP%zlFRTo=)>_O12a9o&Y`q_Gu&v+Tc8I(uF( zN>RdleiiDg9$N*^OdHi&)Z&@a)eu@;Bc=jMen=%c+&*>2o1wu^cif3l^RuKZ-V^OV zD>{VlFP&9MQbX`wK)d=84bAtC#)-dLT?=KtcZ`&;lk%}r{;`yglk!ib+%DzorF^`U zZ;*0K$~Q{+1S#Jn<+zk@mU4%be=6lpDgO**Ou4$rF8qk*tmsC;!(#dASG)Q-YFi{i z3C&|n9)s~1g-7=u{d#oh(UV6P9&IP^!bN-qo@VFVxr6ycjXA;rf$6A*fM#_IcA3Oh zUfI}F;#RcK>NdtbBsSLDxQ8Y7J%X6nhRmDCU1<%$sxQAyF!+M!dg9g-y|K1ozug-0y1Q z9FH#8-G^CkbMy!ltsWIfK=NavRQh#1x+4B@NSmYIqpZ~vf(YPGQYp((anzbpc|w*y z_GK{i@CVAee;lU%h~~)9QxKSF$Cg7Ee*NV!y4uOGv_CDFXAH*B{;VkB-G7etmj34j z|3WGL&mnlaV&`6jwCulxvQ{q(BB1XTQL5e36XCByTK4~fvR1DNB7nb6rHuXUafZlm z^Z4$z{iz*ZZ;9ZpDuUOuBg-ZiPM87m!*ChH8fdOOjC=&4)yLQ}BfMOz2aTk#s{<-1RkyY`5^#BwzBD$GC+0-@!6wd%$Z4MnAZvmmzme}%Ku(hC?q12|jdH`w?BU>3G zhV-pPsqVEUZ5z~E(zX@2QwrZM1Wr%v&GwL%v}TmG+CdNjX**J>APv9$%oPTh0Z3y+ zbh8tsA#DlZYG>#mtp!4>U9h#Ju@g9|9(aRJ{b1vigg4!D@DEk(KR{LN}${_gg z0gN$@ffyTLNS$rZ{e8v9RO7=ix}PYOj3UbYQDM*d0|Ym%6n9`voa502J9!Z6Z7QZi z(duA<1YFJ#rP8nC(G~GCA#EyVp{&&*f(YQVsg$LnIHb;A|B%XH=;2UG``bzLi!e0@ z`;d#nAheo`Eyq>-sNQ1;wXgQIM8m9&lP6Er*5T%+qOMEBlE%99fPn5#DL*Vqp&i6oC;$4)rN(v$%-lI}R{N~MkdpDlX z;n$?zp`76IrMP7^agIk9WMny{P2~!dwdxl{kc$&V zsdVdj^hEedNSn%&P{zB)f(YOzQz=VjahO`T{$Yy2(8DQ|Axm(mQ&EXzod$vFU~D;F zVbu+fu?&i&E*=@#u>9pFr9q zT#vF=HwYqt-$*4S32OaGU@-J>6J^~?oT!`89Le}81m0rCmdU^xCLW`!oeWF+&joXf z!5G?a6(zj;x3S*R{|mw2UW&gX1W#A&+%F+5`*)(O)m?%J=(}5#YWMU+_&P|-{yivb zb*~@-_Ze5sr}`PxTdJQG_;aQ3=R@H1 z#2&u@X{r7*%38fBh=A&ssFYFN*xZ{BeqCNKy9|rIUZymQ^USk0)GOEtLSKc@>Mz)m zP%he0XaWuyS-l*-CYD||mJEk)h!W1>o2a)Oz9sOtOX2T?!0CzodKc1i_#Vnyy)TG> z!@p7~<8Ui^LM^WlC3ARBD6^DL^SSUwXDV4Qs|=Lh|3+#4W%AK9tvbmZUJS}C#p-eL z`p}HS=co_R3_SlGLaTpZOP;yj)_Oo-p8ctp`47eRKaFj}{J%sAXa3))x6FSe@Q+L3 zpM=2aiGBYR(lY-U%6Ji45CQX_Qz>J9L^FO>8o`<%sd{NoR8 zKXp5b;hl_Ole(Qn3Foc_^)_|82z=L4_--L^dScfnLfXtlP}XXaAOh-JMXB~qPlWFd zX*0J6%34hpL;&BDN?GPMZmwF6sorccJo?;=(%e>8t=prfpb{C{8v?IGW6KP2iOcGy z`_PW#G3?q|DPBhw@3%S5nb*nIzt26xo{sxUC{s-+Ca3#}Qpqa1wm&OuHV+Wsv{K-K zHG!DA#ePzA5TwoKbd)i3D~KQ+GeoKMi@=306v>aSvHF!-Wls3 z@fZv}97MImr{Vm}r`TBequjQLwZ1WX-CrHrYanzNbSM5G({QCO!h%b%Dm!*VTMk&b>` zH6^pWY{Gj?g>zv5J{dCOIEu2VZATp7i(%if_8n{A>FCGxQ!6BRRHI@z2X;H$N&Y<2h-6wFr6s|(x^u#V_AuZE6l(otWB4BzM zl`^JBH)Cx`S#gkS0u*2B8sKneX!N(7vZ-wpNSkNuIATYwKn1w%htTRoY{_kPvz5eS z3K*hZQcn_-+L$z?o-9f@si&acl6tDZPb-CgI|NQo?BwZ?meey))@qd?0#a8~DI;}k zvn;O`!MI|MyLyjY21k!;D9v@KtY7aGEU7b51!B*F(CRzbl2|U;QrYlq+HgDuTraif zh|zP6QA6!{qJ&d>KI$#C7YO{qQuud6;Pk|fUIb~Wy%=S@n=6Qb+DoaFQ9Gm=>pa#= zCj+9F%OEQkSHS{e2^CK@s_&r^ufcvF0fxtBG?wx?tDtVZF`hy->8ePar``?iZ!f zujA1b@ee@Sj6R4mrga4oz#pPgmeJznF)dQ0--g8zLf{)rGgU9k&KLRyahfHJ0J1rd<+ zlql8i>51?^L0XQVMp>(81QEcWrBcT6NS-xZLkgb+DV#O~(9O8$>^Vxapbd`oz=(Pt zd%^b$5L*2iTb@T;(5Bc1P;dGCyTJcZ3jZ(!PEYLL zKOrrj|3X=-e+weu^CK!{d~VzvEQR{bIc0eC`7x!L7r+M?xU6akub-e2ynYIy)o0j} zSI!GmH3hefxL$7mBNjh577e#wh!W22m#nws{#Wo{mE!*wf~PBX^lL~#X<0XK?g57$!k2uls_BcJu7YpF>auVuwO#HH@x7Y>kGX zm9f^Q)sDXnVr96oVtO+|lxi|98I7p7GfFdV$o>ATz>b=L z3Z!9k2(7lj){Yxx&5#5}Svv{Eak$phmgRU$@z7*Em=tX#N;OG#Y~C96mg8*%zHKSo z34zlS`@9{b<#>CPG4m>jfa4vglyN+vS=L##KbqvvA@W%)>{{d-E!De-*G%&VI%r`cJe36BE z^RSz0KGD0zaS>J}m@JPvqx7NSm*NP}XX?AcA}yOrm z1%at$Y?&1Y$sGuZM6i4HCStZYIMg^WiI^iwcp?r%y-mbifgfH9pBDnBC$caf(k5a7 z%33WHM39IhsFWpQWOHE&)4Kl&FfKYur9H zhoV(XAOXQAh*F(ix*|RfY4g*8vR0jf2;f~*%JNgZ6}@!*x1tP&9ukzbpXGL=3YqDF z(8|RYnQ`&CB#)8QPKKp8DHzXS48==D3GZr(^_J>h!KX{{nGif(u_JwumT4blt&|`F zshlGDK`H#g z5I8-t$KQptR9}R$Ru>B*p!yOjWmIo!-rVCq)p*3dy;m>K43J(grEF^31iZ;>c(CTg z9cxWphH8-fJqWG7k1a_KX$*!LcfAb%Kx|%aY#N5I5G9=9D_L(TzDn?GOYv8S;OUB; zy#~@!{6my6w=9T&;%ljtQ9PzO-igO^{KS@g*r{H285Xi8thKDhU7ax>c^-7 zu|I*(>UwNRY;`+u%0O##Y6t5Z#K?`th+*<3QL34=Ox(mRuBPozoSw{-B4Wdl{{1)fH+1(HxE;qUuiA^Ts;CE zv^@%;)nnL_Hq6rCDlgsz(ilp;q&+T1es7Ez(w-0{oU|uVZ%O-u!2ehZe<}n{PwdT~ zAT4Q6qm0>VK?I~dOQnpo2HdaUBMo&QZ;XkKo})C!+e|T_p2r>#_W}fFsj;=ko2dtN z45(h}UKBGg88e2umqiJu?iJKq>RuK2UrOPxg}~{FJ$fC|QuhYRn4uO#K;2tZ%BUM> zC;jBfBfqUx@2JV>=<;pKCi!$nFzYvm4>9F4UGJa{biNCLd1`D)CqMF0*%HJu+<}O# zb zD45t5NRWn)M5*-acyvYl$B;IQpP;POr-BIJpHV5xV(~s??fUOS7z{o9hqCf{M@4esj=k#S1?~0j3M`bqJ($yYt~zm2VqRd1U0tsY4970QjMo8 zc408;EyqIyKC~1*ECfzZgf~E1j)$YH)d)cZ-W#cualB1)FdfUcvbgd|7IRg+)G$l$ z6;7K0GQd#je3i7<=a?d*ActHJfhkN4Uv^m5L%7Kmgf-PCS5;l4DCA}yH-1O z)&CyHii>f^g-OE3qJ$@56V%%zY%1{arSQ!{;PgZiCP3OGY>qM}r3DcrVM{7yNx+*y zSh^vCPkkplOP6~ZfOLjNe@&FZn?bPSSUYMfRDk5IA@Eu;wj^2J3@U53E%A=WPzNG) zfMMx+d*(Reay#SFkiNYrm82v5W>nZSW(UFTSc==JCeHEbg1z6F^)_2AP_Tl7KmxjV z6{XUzT?L+un%!n?RP>Mg_H68Ju)@O?wz^u+k5vfeVh9~7)NERcYr z14OBIPglfGgR~4Eh_Y4(2_k?`r&7l7W_Afkd`c4QpGAW2Sr-PQ0eEMK^m{O+xqlB< zeKhu*;4{|;su^g3G|Yt1Y8JLUL3saOyFK#5_}8DGL&Vr@W6b2|P*K7On!|dVpu+?| zw-kSP2%fIk(Rq+IKl4$>r{n|?5WG;7YWMU+_z{pcKZ{V-YOx>!_!25*`I*p+Z*}%X z_K4twBkJy zGsNHZFRl$hir9tPDXRYGaJ1Mx#@IEt)&%vq@vtFztyF&h%2$Tc%S2?=6L=L*Vqp9%mpe(|ssw*t$VnaolgZdJCtMc%8yG>N*!_VLwf=wYtgZa*hkL92pR`=!TVdie$?X@V zGPz*lL{!+ZZl&N(D#huVID7yP`$^=gE8EmBT9H5&qckZ_&kB1Ukbk<1Wr%vz=f>06n__rRu>5*;OJses@>BS@s~ha ziZ4Z3tIGrtz`sYOjN+!|Yyw2_NA~Ho`4mrNX+q&UteN5i!U5Q4oOJ$u%BHrhc#eos zEcI-SIuU1XU{?JA?U0enA+)*zTb@}1qOPQM$78S7pS7#R?pkBlWbJBE!fCsP^)_uk z6#S1$@z;jn>54tS4$@}r$0%#{6F~&DUoT3vdwL@L21uK=8&THkCP4)7o2is#Z5%$I z6vvNuFpNdaCxQ!u;sCi~baeSsN;AnqQ&=!P-R&4t>Sw4!etr(2)h*aEKb&N#YI!TI zI38oJos;T+`?rbJUl^+w4%AzAe<|=gOW}8g!0Cxyy&KZ9yAEZ{`wAjp z_g*R$>@HOuQ~odPGCI1vkJ7M9Q)TSlk2!1yPIOfF;`RhzHdC# zFhF{Jg3>&Ce;l4Cx%s@3=@+QMoR5ChTtfA~ke&i*s` zlLYg$3C5)68Br=zgYG?x3OgJLf(YQRQ7KDl@&EL?_5Yt{F!b;`Ws`i8I`|3zzc21gSDh}VjXU{U zMfC>SAct>4X!RDh$f5fX62*`PN>p*a79Zlqs@{ne!D{X5ZL#-`*c*ivC|GET4&%fd zF8bbsDnE3JkK`zTd~ndG@5R{ zdc;rM7n*#4CJDE>9bfNur(o${A_BW84lvu14kbf9r1@Lb_uzD&o=nD*nl6s3f7h@ zRDV*e=9&)tDI%BuE7X6A`h>f%U46!eL0nu0edpja-VWY!&*HPwiJgnV{ReHy!skWf z^c^5PTm40`n!c@}Lj9MhPq;_7yYY56iG_UGJcxkrWzQ&n-P}1mu`H1)2JjV{GJyXT zJutx~2+ub8TAV1X^NSFzdHx5T*^iG`Cp-BQg-jNQdeQm@Xi4iE5@C`|?)j?;Y3bPp zgNqH=LHn$}P(K9q33p|?dq%r^E|#NU^S~f~?}g8;7o846C7m`DZSvJETnq&7=Xtip zaItzRmZvDOhl%q+^8QTGVq;)&WYJ<-l(v2&vA4F}y&mgP6x*VN!(YC}Ua-jkN24O{ z-inoh**55o$!~D2S~yw9q6H!2*wPTmhH{yU)77)}8>2qquET1<#fE&M*@uy+%=f0K zkLRPq@tR@`>pf)EcGs4_av!_4(%$(iloc|-Y*%S}CvDckwifz|??oKhqBj@h# zPBX>B&fe9XZHi0IU+XS3#iMRJ);&6Cd*vcGZi)*Zy1`AF;=IlyU1f@gcRb*(G{s}z z>~+sD#bYjh#XZ*)7wq;&_fk__*zvHt))eQiILp1>6r-11<=$$Fi(cEnU1y3%EVvu} z4E{Z5)dcD1=Im#5d?$XJyfl{J?`UKAI6Qu;nN4KX7N|Tkx^+$^dt=?1Ob%aoOT-GV z7{=rrR$HRcSx-pWH%jP>UjHVK?75p@p+DaOaP4spox?z~R8MPHVp%I1 zXIs^_Y&9C0D|O?DxzWqxDvgmJj_{PcS8a#A_ERGHTrxF@t7v8$k20+mOQS}$JzC+n zl+6%WBpKV5=wNhO?MSprG{$(+VhW*A?Swti-HvN%nK|p==gzG=I+g z*(c3fv}nPilNQf9a@L|*yR;s=dt|Tn<91Oy12K2d>P4!B(BX^^A4}>~yFi_v?}!dg zq?f5(p|~4HH&Wf5MKX3HpeZ0Dhl4mfDVfN13mI;%H`S^pvc(uIn7fYl&v0^Ab7e0w?N91$ek$ocBWRGfvo{x@|&xyox8FW{E{Hu1yey#Sv zwnaW0;x@Fa$D&2Nry_uhrw-{Nk5nS{IdDeT^tyZK!b z?w(rMy&re;6DHife_{6l+|5s!aQC#r?gP1--#X#$g9^K+b2mTS!rccKcF*8$egK8L zXBKwP;%`_ + +HectorModule example +====================== + +This example assume there is a app.properties file in the path :: + + public class HectorModule extends AbstractModule { + + private static final Logger log = LoggerFactory.getLogger(DAOModule.class); + + private static final String PROP_CASSANDRA_HOST_PORT = "CASSANDRA_HOST_PORT"; + + private static final String DEFAULT_CASSANDRA_HOST_PORT = "127.0.0.1:9160"; + private static final String KEYSPACE = "RIQ"; + private static final String CLUSTER_NAME = "Test Cluster"; + + private String propertyFileSuffix; + private Properties properties; + + // private static Properties props; + + public HectorModule() {} + + @Override + protected void configure() { + + // load properties + properties = ConfigLoader.loadProperties(propertyFileSuffix); + + // bind so we can retrieve them elsewhere + Names.bindProperties(binder(), properties); + } + + @Singleton + @Provides + Properties provideProperties() { + return properties; + } + + + @Singleton + @Provides + Keyspace provideKeyspace() { + CassandraHostConfigurator chc = null; + // Create the cluster + if (properties.getProperty(PROP_CASSANDRA_HOST_PORT) != null || !properties.getProperty(PROP_CASSANDRA_HOST_PORT).equals("")) { + chc = new CassandraHostConfigurator(properties.getProperty(PROP_CASSANDRA_HOST_PORT)); + } else { + log.error("Unable to load cassandra host/port from properties; defaulting to " + DEFAULT_CASSANDRA_HOST_PORT); + chc = new CassandraHostConfigurator(DEFAULT_CASSANDRA_HOST_PORT); + } + + chc.setAutoDiscoverHosts(true); + chc.setRetryDownedHosts(true); + + Cluster cluster = HFactory.getOrCreateCluster(CLUSTER_NAME, chc); + + // Create the long-life Keyspace object + Keyspace keyspace = HFactory.createKeyspace(KEYSPACE, cluster); + + ConfigurableConsistencyLevel cp = new ConfigurableConsistencyLevel(); + cp.setDefaultReadConsistencyLevel(HConsistencyLevel.QUORUM); + cp.setDefaultWriteConsistencyLevel(HConsistencyLevel.QUORUM); + keyspace.setConsistencyLevelPolicy(cp); + + return keyspace; + } + + } + +And you would typically have a DAO like this :: + + public class MyDAO extends MyIFaceDAO { + + protected final Keyspace keyspace; + + @Inject + public MyDAO(Keyspace keyspace) { + this.keyspace = keyspace; + } + } diff --git a/build/html/_sources/documentation.txt b/build/html/_sources/documentation.txt index 2f2405f72..fe3f228dc 100644 --- a/build/html/_sources/documentation.txt +++ b/build/html/_sources/documentation.txt @@ -19,6 +19,7 @@ Hector documentation contents: content/virtual_keyspaces content/security content/speed4j + content/guice_integration content/HOM/hector-object-mapper Indices and tables diff --git a/build/html/_static/basic.css b/build/html/_static/basic.css index f0379f359..43e8bafaf 100644 --- a/build/html/_static/basic.css +++ b/build/html/_static/basic.css @@ -79,11 +79,11 @@ div.sphinxsidebar input { font-size: 1em; } -div.sphinxsidebar input[type="text"] { +div.sphinxsidebar #searchbox input[type="text"] { width: 170px; } -div.sphinxsidebar input[type="submit"] { +div.sphinxsidebar #searchbox input[type="submit"] { width: 30px; } diff --git a/build/html/content/FAQ.html b/build/html/content/FAQ.html index ec4c613ad..14775dded 100644 --- a/build/html/content/FAQ.html +++ b/build/html/content/FAQ.html @@ -181,7 +181,7 @@

Navigation

\ No newline at end of file diff --git a/build/html/content/HOM/hector-object-mapper.html b/build/html/content/HOM/hector-object-mapper.html index be1688432..f84d01960 100644 --- a/build/html/content/HOM/hector-object-mapper.html +++ b/build/html/content/HOM/hector-object-mapper.html @@ -564,7 +564,7 @@

Navigation

\ No newline at end of file diff --git a/build/html/content/api.html b/build/html/content/api.html index fdd025c24..840520eea 100644 --- a/build/html/content/api.html +++ b/build/html/content/api.html @@ -177,7 +177,7 @@

Navigation

\ No newline at end of file diff --git a/build/html/content/community.html b/build/html/content/community.html index 7052cd41a..e7642d2a1 100644 --- a/build/html/content/community.html +++ b/build/html/content/community.html @@ -183,7 +183,7 @@

Navigation

\ No newline at end of file diff --git a/build/html/content/composite_with_templates.html b/build/html/content/composite_with_templates.html index f8047266c..bca00372b 100644 --- a/build/html/content/composite_with_templates.html +++ b/build/html/content/composite_with_templates.html @@ -262,7 +262,7 @@

Navigation

\ No newline at end of file diff --git a/build/html/content/consistency_level.html b/build/html/content/consistency_level.html index 4d4e69343..d6a6510c6 100644 --- a/build/html/content/consistency_level.html +++ b/build/html/content/consistency_level.html @@ -186,7 +186,7 @@

Navigation

\ No newline at end of file diff --git a/build/html/content/cql_basics.html b/build/html/content/cql_basics.html index d8ab3c857..2aea66d98 100644 --- a/build/html/content/cql_basics.html +++ b/build/html/content/cql_basics.html @@ -285,7 +285,7 @@

Navigation

\ No newline at end of file diff --git a/build/html/content/getting_started.html b/build/html/content/getting_started.html index 600b6756d..4342b158a 100644 --- a/build/html/content/getting_started.html +++ b/build/html/content/getting_started.html @@ -290,7 +290,7 @@

Navigation

\ No newline at end of file diff --git a/build/html/content/getting_started_sample.html b/build/html/content/getting_started_sample.html index 974fa942e..1c19ae971 100644 --- a/build/html/content/getting_started_sample.html +++ b/build/html/content/getting_started_sample.html @@ -149,7 +149,7 @@

Navigation

\ No newline at end of file diff --git a/build/html/content/guice_integration.html b/build/html/content/guice_integration.html new file mode 100644 index 000000000..39313e17d --- /dev/null +++ b/build/html/content/guice_integration.html @@ -0,0 +1,248 @@ + + + + + + + + + + Guice Integration — Hector - Java Client for Cassandra + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
Hector
+
A high level Java client for Apache Cassandra
+
+
+ +Fork me on GitHub + +CloudBees + + + + + +
+
+

Table Of Contents

+ + +

This Page

+ + + +
+
+ + +
+
+
+
+ +
+

Guice Integration

+

The folliwing is just a simple example on how you can inject Hector keyspaces through Google Guice

+
+

HectorModule example

+

This example assume there is a app.properties file in the path

+
public class HectorModule extends AbstractModule {
+
+    private static final Logger log = LoggerFactory.getLogger(DAOModule.class);
+
+    private static final String PROP_CASSANDRA_HOST_PORT = "CASSANDRA_HOST_PORT";
+
+    private static final String DEFAULT_CASSANDRA_HOST_PORT = "127.0.0.1:9160";
+    private static final String KEYSPACE = "RIQ";
+    private static final String CLUSTER_NAME = "Test Cluster";
+
+    private String propertyFileSuffix;
+    private Properties properties;
+
+    // private static Properties props;
+
+    public HectorModule() {}
+
+    @Override
+    protected void configure() {
+
+        // load properties
+        properties = ConfigLoader.loadProperties(propertyFileSuffix);
+
+        // bind so we can retrieve them elsewhere
+        Names.bindProperties(binder(), properties);
+    }
+
+    @Singleton
+    @Provides
+    Properties provideProperties() {
+        return properties;
+    }
+
+
+    @Singleton
+    @Provides
+    Keyspace provideKeyspace() {
+        CassandraHostConfigurator chc = null;
+        // Create the cluster
+        if (properties.getProperty(PROP_CASSANDRA_HOST_PORT) != null || !properties.getProperty(PROP_CASSANDRA_HOST_PORT).equals("")) {
+            chc = new CassandraHostConfigurator(properties.getProperty(PROP_CASSANDRA_HOST_PORT));
+        } else {
+            log.error("Unable to load cassandra host/port from properties; defaulting to " + DEFAULT_CASSANDRA_HOST_PORT);
+            chc = new CassandraHostConfigurator(DEFAULT_CASSANDRA_HOST_PORT);
+        }
+
+        chc.setAutoDiscoverHosts(true);
+        chc.setRetryDownedHosts(true);
+
+        Cluster cluster = HFactory.getOrCreateCluster(CLUSTER_NAME, chc);
+
+        // Create the long-life Keyspace object
+        Keyspace keyspace = HFactory.createKeyspace(KEYSPACE, cluster);
+
+        ConfigurableConsistencyLevel cp = new ConfigurableConsistencyLevel();
+        cp.setDefaultReadConsistencyLevel(HConsistencyLevel.QUORUM);
+        cp.setDefaultWriteConsistencyLevel(HConsistencyLevel.QUORUM);
+        keyspace.setConsistencyLevelPolicy(cp);
+
+        return keyspace;
+    }
+
+}
+
+
+

And you would typically have a DAO like this

+
public class MyDAO extends MyIFaceDAO {
+
+    protected final Keyspace keyspace;
+
+    @Inject
+    public MyDAO(Keyspace keyspace) {
+        this.keyspace = keyspace;
+    }
+}
+
+
+
+
+ + +
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/build/html/content/poolArchitecture.html b/build/html/content/poolArchitecture.html index ae707c184..830570494 100644 --- a/build/html/content/poolArchitecture.html +++ b/build/html/content/poolArchitecture.html @@ -157,7 +157,7 @@

Navigation

\ No newline at end of file diff --git a/build/html/content/security.html b/build/html/content/security.html index ea6e8ab50..b7cb6bf50 100644 --- a/build/html/content/security.html +++ b/build/html/content/security.html @@ -244,7 +244,7 @@

Navigation

\ No newline at end of file diff --git a/build/html/content/services.html b/build/html/content/services.html index 1e033a976..60f82842d 100644 --- a/build/html/content/services.html +++ b/build/html/content/services.html @@ -211,7 +211,7 @@

Navigation

\ No newline at end of file diff --git a/build/html/content/speed4j.html b/build/html/content/speed4j.html index 834e819e3..e96d59fcc 100644 --- a/build/html/content/speed4j.html +++ b/build/html/content/speed4j.html @@ -209,7 +209,7 @@

Navigation

\ No newline at end of file diff --git a/build/html/content/spring_dependency_injection.html b/build/html/content/spring_dependency_injection.html index 1298aa04d..a06e6d6fe 100644 --- a/build/html/content/spring_dependency_injection.html +++ b/build/html/content/spring_dependency_injection.html @@ -234,7 +234,7 @@

Navigation

\ No newline at end of file diff --git a/build/html/content/user_guide.html b/build/html/content/user_guide.html index e0b952484..f35fee5c6 100644 --- a/build/html/content/user_guide.html +++ b/build/html/content/user_guide.html @@ -149,7 +149,7 @@

Navigation

\ No newline at end of file diff --git a/build/html/content/virtual_keyspaces.html b/build/html/content/virtual_keyspaces.html index 18ab56939..8d8ebf589 100644 --- a/build/html/content/virtual_keyspaces.html +++ b/build/html/content/virtual_keyspaces.html @@ -159,7 +159,7 @@

Navigation

\ No newline at end of file diff --git a/build/html/documentation.html b/build/html/documentation.html index 1bd8f073a..82191e2ca 100644 --- a/build/html/documentation.html +++ b/build/html/documentation.html @@ -196,6 +196,10 @@

Hector documentation contents:Guice Integration +
  • Hector Object Mapper
    • Overview
    • Versioning
    • @@ -257,7 +261,7 @@

      Navigation

      \ No newline at end of file diff --git a/build/html/genindex.html b/build/html/genindex.html index 6d0e1f7f7..cb6554db9 100644 --- a/build/html/genindex.html +++ b/build/html/genindex.html @@ -127,6 +127,7 @@

      Index

      | C | D | E + | G | H | K | M @@ -226,6 +227,16 @@

      E

      +

      G

      + + +
      + +
      guice +
      + +
      +

      H

      @@ -347,7 +358,7 @@

      Navigation

      \ No newline at end of file diff --git a/build/html/index.html b/build/html/index.html index 1a1f71530..6ef1f6e4a 100644 --- a/build/html/index.html +++ b/build/html/index.html @@ -231,7 +231,7 @@

      Navigation

      \ No newline at end of file diff --git a/build/html/sampledoc_tut/getting_started.html b/build/html/sampledoc_tut/getting_started.html index eb33af9dd..b891d5bd8 100644 --- a/build/html/sampledoc_tut/getting_started.html +++ b/build/html/sampledoc_tut/getting_started.html @@ -249,7 +249,7 @@

      Navigation

      \ No newline at end of file diff --git a/build/html/search.html b/build/html/search.html index 892ce5f9a..9808f8a4e 100644 --- a/build/html/search.html +++ b/build/html/search.html @@ -159,7 +159,7 @@

      Navigation

      \ No newline at end of file diff --git a/build/html/searchindex.js b/build/html/searchindex.js index 1b1fa4335..fbee211ce 100644 --- a/build/html/searchindex.js +++ b/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({objects:{},terms:{scm:1,represent:[10,5],all:[0,17,5,6,10,14,15],code:[0,14,6,10,5],hashmap:[0,6],columnfamili:[0,6,14],illustr:[16,18],skip:1,global:1,libdefault:17,xstream:0,four:0,prefix:[10,5],service_princip:17,follow:[0,17,18,6,11,14],chair:0,als:4,forget:0,zookeep:0,privat:[0,17,10],depend:[1,16,7,13,14],system:[0,12,10,11,14,17],git:[1,12],standard1:[11,13],send:0,articl:9,init:13,titl:[0,2,8],queri:[14,11,5],sens:5,dkerbero:17,sent:5,everyth:0,sourc:[0,1,17,11,12],everi:[4,5],string:[0,5,6,10,11,14],fals:[0,17,4,14],"void":0,faq:[0,1,7,12],setkeyvalidationclass:11,ecyrd:16,util:0,ident:17,mechan:17,xmlschema:13,veri:[0,16,5],hasnext:14,ticket:17,ip_address:17,cqlquerytest_key1:11,foo:11,basict:0,level:[0,12,16,7,6],list:[0,1,12,4,5],desktyp:0,iter:[7,14],correct:[1,11,5],"try":[0,10,4,14],drawerlist:0,getanonymousprop:0,larg:[0,11,5],tostr:[10,5],println:0,smith:10,round:12,localhost:[0,13,14],backgroud:4,pojo2:0,pojo1:0,contructor:13,pressboard:0,uniqu:0,consequ:0,slf4jlognam:16,design:[0,16],pass:[6,11,5],download:[0,12,17],describekeyspac:14,click:5,simplecassandradao:13,even:[0,11],setshap:0,what:[0,15,11,4,5],abc:17,getclass:0,sub:10,compar:[7,11,10],datasourceexcept:10,setkeyspacenam:11,brief:10,bytetyp:10,simplestrategi:13,current:[0,12,11,5],delet:[7,14],tidarr:0,version:[0,15,7,13,14],"new":[0,17,4,5,6,10,11,14,15,16],net:15,row:[0,14,5],method:[0,14,11,13,5],metadata:[7,11],columnfamilytempl:[10,14],sybas:5,jdhunter:15,deriv:[0,7],entitymanagerimpl:0,gener:12,here:[0,11],comparisson:9,fun:1,shape:0,let:[0,17,4,6,10,14,15],inher:16,path:[16,5],becom:0,modifi:[15,14],sinc:[0,15],valu:[0,13,5,6,10,11,14],thrift:[12,11,10,5],box:0,maven:[1,7,14,12],convert:[0,7],produc:17,convers:[0,7,11],west:4,invit:12,step:[15,16,7,10],robin:12,amount:4,base:[0,17,7],execute_cql_queri:11,secondari:10,testclust:13,implement:[0,1,11,5],krb5:[17,7],via:11,repositori:[0,14],apach:[1,11,13,12],modul:[0,17,7],setautodiscoverydatacent:4,releas:[0,12],"boolean":0,famili:[7,6,11,10,5],discriminatorvalu:0,instal:[15,1],unfortun:5,getdrawerlist:0,unit:[11,5],encapsul:12,test_cql:11,hexadecim:11,from:[0,1,12,5,11,15,16,17],would:[0,17,4,5,11,14,16],memori:5,hudson:12,regist:0,two:[0,17,6,11,4],next:15,few:4,live:15,call:[0,4,5,7,10,14],keyspacedef:14,custom:[0,15,7,6,9],createschema:14,black:0,hfactori:[0,5,6,13,14,16],md5:17,type:[0,12,5,6,10,11],until:[0,6,4,14],more:[0,1,5,9,13,15,17],sort:5,jmx:[12,16],hundr:12,getascount:11,mismatch:11,about:1,notic:0,rigid:0,templat:[15,7,10,13,14],known:[17,11],central:12,getter:0,easiest:0,must:[0,1,17,14],high:12,mjone:17,retriev:[0,11],prettyprint:[0,12,13,11,14,16],scalabl:12,aspx:5,setup:1,work:[0,12,16,10,5],annot:[0,7],dev:[12,11],remain:0,itself:[15,1,11,12],can:[0,12,11,4,5,6,10,13,14,15,17],learn:15,under:14,root:[17,16],fetch:15,piec:0,overrid:0,nodeautodiscoverservic:[7,4],setautodiscoverydelayinsecond:4,scan:0,process:17,lock:[0,7],sudo:15,share:[12,5],javadoc:12,accept:[0,15,11],"005056c00008":10,dmaven:1,drawer:0,discriminatortyp:0,want:[0,17,4,5,10,11,14],setlongprop1:0,serial:[0,5],keep:[0,14,4,5],setid:0,instanti:0,risk:5,multipl:[0,10],goal:0,quot:11,rather:5,anoth:11,hom:[0,7,3],mycompani:0,getting_start:15,how:[0,1,4,7,10,11,16],getcompon:10,anyon:12,sever:[0,12,4],testcolumnfamili:0,reject:5,verifi:17,perspect:0,css:15,updat:[15,7,11,10,14],map:[0,7,6],msdn:5,uuidtyp:10,resourc:12,convertcasstypetoobjtyp:0,mess:16,decommis:4,clone:[1,12],after:12,them:[15,14,10,4,5],usabl:0,keyspaceoper:13,befor:[0,15,16,6],getid:0,attent:16,mai:[0,12,4,5,15,17],develop:[1,12],coast:4,data:[0,12,5,7,14,15,17],demonstr:17,github:[9,1,11,10,12],tutori:[15,9,17],read:[0,16,7,6,14],bind:1,secur:[17,7],credenti:17,correspond:14,revolv:11,element:0,issu:12,inform:[0,1,17],hasresult:10,maintain:5,green:0,mvn:1,allow:0,longprop1:0,columndefinit:11,"6d796b657931":11,cli:[7,11,10],currenttimemilli:[10,14],order:[17,14,4,5],includ:[15,1,17,12],oper:[17,14,6,11,5],composit:10,help:10,discriminatorcolumn:0,no_result:10,find:[0,1],imperson:17,retrydownedhostsdelayinsecond:4,through:[11,7,4,13,5],hierarchi:0,still:[4,5],dynam:0,paramet:[4,13],write:[16,6],style:[0,12,17],getinst:[0,10],group:12,thank:1,fit:0,binari:17,entryset:0,fix:[12,5],cqlrow:11,better:10,html:[15,17,10],whole:[15,14],persist:[0,7],stephen:1,mail:[1,12,5],therefor:5,columnfamilyresult:[10,14],tri:[0,18],non:0,good:[0,5],"return":[0,6,11,5],thei:[0,4],python:15,timestamp:[9,10],dao:[13,14],auth:17,dynamiccompositeseri:10,entitymanag:0,numdraw:0,facilit:14,fingerprint:17,mytholog:12,now:[0,15,5],discuss:[0,5],strive:0,wont:5,down:[12,11,4],connolli:1,mere:0,name:[0,17,13,5,10,11,14,15,16],anyth:15,edit:17,config:[17,1],unlik:[0,5],authent:17,accommod:0,pai:16,timeout:12,each:[0,6,4],found:[0,16],customerdb:16,side:[17,12],dperformreleas:1,compil:1,failov:[9,12],domain:14,equalsignorecas:10,javas:17,kerbero:[17,7],idea:[0,5],realli:4,line:[0,15,11,4,14],wrap:14,setkei:14,"static":[0,5],expect:[11,5],cassandraindexedcollect:10,our:[15,14],riptano:9,beyond:5,orient:12,special:5,out:[0,1,15,5],assertequ:11,screenshot:15,join:[12,4],space:[0,4],storag:0,hazelcast:0,createkeyspac:[0,14,6,13,5],possbil:12,content:[15,7],stuff:0,testpool:0,createcolumnfamilydefinit:14,setcomparatortyp:11,anonymouspropertyaddhandl:0,ref:13,factori:13,red:0,file_nam:17,repo2:12,bytestyp:[11,10,14],proxi:1,navig:15,advanc:0,tenanc:5,argument:0,free:0,standard:0,user_nam:17,reason:[0,1],anonymouspropertycollectiongett:0,discrimin:0,sampledoc_tut:15,put:[0,6,10],org:[17,1,16,13,12],"byte":[0,11,5],tenant:5,care:[15,4],indent:15,suffici:0,thread:1,columnnametyp:10,frequenc:4,could:[0,17],omit:0,synchron:0,kleisath:5,filter:5,thing:[0,11,4,5],length:5,isn:5,confus:11,assign:17,frequent:[12,4],first:[17,4,13,14,15,16],renewtgt:17,setreadcfconsistencylevel:6,setcolumnfamili:14,directli:[0,12,11,10],feel:[0,15],onc:[10,14],arrai:[14,5],wast:0,yourself:[0,11],restrict:13,rapitano:1,alreadi:[0,15,6,14],suspens:12,least:[0,12],spanish:9,ring:4,clazz:0,primari:0,size:0,differ:[0,16,6,11,5],"long":[0,17,11,14],convent:5,printstacktrac:10,associ:17,krbnt:17,sometim:4,messag:12,master:[0,15,11],too:0,statement:11,illeg:0,getdesktyp:0,scheme:0,"final":[0,17,10,14],store:[0,11,10],schema:[0,14,13,5],xmln:13,option:[0,11],relationship:0,hectorexcept:[10,14],tool:[0,1],copi:15,rsa:17,specifi:[0,17,4,5],direct:15,b239:10,getcolumnnam:10,"short":[12,10],pars:11,constructor:[0,13],conserv:0,rst:15,number:[12,11,5],sign:17,newkeyspac:14,than:[0,5],setetyp:10,entitytyp:10,liter:11,clockresolut:9,john:[17,10],target:1,provid:[0,12,16,11,5],remov:[0,5],tree:11,second:[17,16,4,14],pojo:[0,7],"11e0":10,project:[15,1,9],matter:[1,6],info:[16,10],balanc:12,were:17,default_validation_class:[11,10],toward:0,initi:[7,6,11,14],myclust:[6,14],addanonymousprop:0,"function":[0,11,5],longtyp:[11,10],fashion:17,abov:[0,15,10],well:[0,4,13,5],maven2:[1,12],mind:5,ani:[0,1,5,7,6,11,16,17],nosqldaofactori:10,"123l":0,twissjava:9,inherit:[0,7],have:[0,12,11,4,5,6,13,15,17],tabl:[0,7,5],need:[0,1,4,5,6,15,16,17],take:4,"null":[10,14],cassandra:[0,12,11,5,6,10,13,14,9,16,17],compositetest:10,counter:12,realm:17,techniqu:0,greek:12,rantav:[1,11,12],lp1:0,couch:0,note:[0,17,5,6,10,11,14,15,16],also:[0,14,10,5],getorcreateclust:[0,16,14],client:[0,12,6,17],cheatsheet:15,build:[15,1,12],which:[0,1,4,5,12,6,10,11,14,16,17],artifactid:14,combin:11,detector:12,prepar:5,singl:[0,17,11,5],blue:0,getkeyspac:10,sure:[16,5],insur:0,distribut:[0,17,11],"enum":0,though:[0,11,5],usernam:1,object:[0,12,5,7,6,10,13,14],oracl:17,autodiscoverhost:4,discov:4,most:[0,15,11],plai:0,mykeyspac:[6,14],plan:11,hide:5,sun:17,foldoutb:0,why:11,charg:4,"_build":15,tradit:0,prove:17,uuid:[0,5],give:15,quorum:6,dob:10,doc:[15,1,17,11],clear:[4,14],partition:5,flow:11,drive:11,doe:[0,17,5,7,10,14],edanuff:10,folder:[1,11],declar:14,snapshot:12,runtim:1,determin:0,databas:[12,5],effect:5,latest:15,notion:0,your_realm:17,def_strategy_class:14,troi:12,setqueri:11,serializ:0,show:0,enumer:0,getcol:10,cql_ref:11,brother:12,connect:[17,12,7,6,4],replicationfactor:[13,14],column_metadata:11,queryresult:11,fine:0,eas:[7,11],setter:0,xml:13,despit:5,onli:[0,1,4,12,5,10,11,14,17],locat:[12,13],ksp:14,pretti:0,setnam:11,configur:[0,12,4,7,11,16,17],jar:[1,16],consistencylevelpolici:13,timeuuidtyp:10,should:[0,17,4,5,14,15,16],hector:[0,1,11,4,5,12,7,6,10,13,14,9,16,17,18],busi:14,comptempl:10,png:15,entity_typ:10,inalid_entity_kei:10,colorconvert:0,over:[15,14],jaa:[17,7],count:[12,11],get:[0,1,4,5,7,10,11,14,15],familiar:11,express:11,springframework:13,becaus:0,repo:12,nativ:5,bean:[0,13],cannot:[0,11],addcolumndefinit:11,standardlong1:11,accrur:12,edg:12,awai:5,requir:[0,17,11,5],slicequeri:14,mapper:[0,7],experi:12,enabl:[16,7,4],addlong:10,anonymousprop:0,"public":[0,17],zznate:9,reload:15,setstr:[10,14],entitymgr:0,integr:12,contain:[0,15,17,11,5],grab:15,cloudbe:12,where:[0,15,17,11,5],hectortemplateimpl:13,periodicallog:16,respond:6,certif:17,set:[0,17,13,4,7,6,11,14,16],setvalidationclass:11,setusekerberosauthent:17,noth:5,hector_except:10,assumpt:1,fail_:16,timinglogg:16,see:[0,1,5,6,10,11,14,15,16],temporarili:4,result:11,createslicequeri:14,arg:[0,13],fail:15,wait:6,simpl:[0,12,16,5],arm:0,subject:17,domain_realm:17,setautodiscoverhost:4,detect:4,extend:[0,11],correctli:11,hopefulli:16,jenkin:12,someth:[10,14],easi:[0,10],wikipedia:[17,12],discoveri:12,path_to_fil:17,groupid:14,hconsistencylevel:6,"import":[0,15,14],neither:5,entiti:[0,17,7,10],approach:[12,5],aslist:14,attribut:[17,16],warrior:12,accord:11,createvirtualkeyspac:5,setoptim:16,kei:[0,17,5,7,10,11,14],ask:12,extens:12,job:5,default_checksum:17,matplotlib:15,solv:14,cfdef:14,meta_read:16,come:[15,4],minut:4,kerberos_:17,addit:[17,12,11,5],both:[17,6,11,4,14],last:[15,1],setmateri:0,perf4j:16,arraylist:0,path_to_the_fil:17,equal:[0,5],against:17,newtimeuuid:10,etc:0,instanc:[16,13],monitor:[12,4],hijink:1,context:13,mani:0,login:17,browser:15,com:[0,1,12,5,10,11,14,9,16,17],col:10,load:[0,12,7],cql:[7,11],simpli:[0,17,11],mycolumnfamili:6,point:[15,17,5],color:0,overview:[0,7],trunk:15,form:[17,1],period:[12,16],distinguish:17,pom:[1,14],littl:11,shutdown:0,respect:[17,11],guid:17,assum:[0,6,13],panel:15,setretrydownedhostsqueues:4,save:[0,7],java:[0,12,5,7,11,16,17],mention:10,coupl:15,keyset:10,djava:17,rebuild:15,three:[0,16,6],been:0,mark:4,compon:14,hashcod:0,keyspac:[0,13,5,7,6,11,14],success_:16,treat:11,interest:11,basic:[0,15,7,11],createkeyspacedefinit:14,popul:17,dynamiccomposit:10,basic_screenshot:15,strategi:0,life:14,legaci:0,svnroot:15,imag:15,resolut:9,search:7,anywher:0,congif:17,understand:10,desk_typ:0,"catch":[10,14],furnitur:0,those:4,"case":[0,11,10,13,5],multi:5,main:0,look:[0,5,7,10,11,15],packag:[0,14],quickstart:15,columnfamilynam:[13,14],wiki:[17,1,12],properti:[0,17,16,7,13],straighten:1,cluster:[0,12,4,5,7,6,13,14,16],defin:[0,17,7,6,10,11,14],"while":[14,5],replica:6,behavior:[12,11],error:10,glossari:17,anonym:[0,7],servic:[17,7,4,13,14],howev:0,getlongprop1:0,layer:[12,5],getconnectionmanag:0,comparatortyp:[11,10,14],jpa:0,metric:16,querycolumn:[10,14],classnotfound:1,site:15,physic:5,speed4j:[16,7],autodiscoverydelayinsecond:4,anuff:10,"28protocol":17,conf:[15,17,7],other_nam:11,sai:14,mutat:[7,10],mykey1:11,perform:[0,12,5,7,14,9,16,17],make:[0,1,4,5,14,15,16],belong:4,classpath:[17,16],setlong:14,same:[0,17,11,4,5],columnfamilyupdat:[10,14],handl:[0,5],when:[0,4,6,10,11,15],thusli:11,utf8typ:[11,10],none:5,"_templat":15,document:[1,7],log4j:16,complet:[15,12,5],nightli:12,phi:12,safe:12,http:[17,1,11,12,5,10,9,13,15,16],structur:5,evid:17,optim:[16,7],utf8:5,invalidrequestexcept:11,struct:12,clientserv:17,column_nam:11,moment:0,rectangl:0,improv:12,php:5,respons:[12,11],typic:[17,4,5],defaultreadconsistencylevel:13,setdefaultvalidationclass:11,cassandrahostretryservic:[7,4],"break":11,autodiscoverydatacent:4,addutf8:10,off:4,center:17,framework:17,entri:[0,17,16],builder:12,getbyt:0,stablish:6,ba35:10,thought:11,person:17,exampl:[0,4,5,7,11,14,9],greatest:12,thi:[0,1,11,4,5,12,6,10,13,14,15,16,17],choos:[0,15],model:[0,12,13,5,11,14,16],virtualkeyspacetest:5,spend:11,revis:15,left:5,construct:11,identifi:14,setcolor:0,just:[0,17,4,10,15,16],excel:9,keyspaceserviceimpl:5,rest:[15,11],indic:[7,6],product:[15,12],retrydownedhostsqueues:4,jgss:17,apiv2systemtest:5,stringseri:[14,11,10,5],getstr:[10,14],yet:0,languag:11,getkei:10,web:15,cut:12,iablog:5,signific:5,expos:16,keyspacedefinit:14,makefil:15,except:[0,1,11,14],param:14,orderpreservingpartition:5,blog:[9,11],script:11,add:[16,14,5],other:[0,17,16,11,4],blob:11,voila:15,logger:[16,7],mainprog:0,match:[0,5],charact:11,real:[0,11,14],applic:[0,11,10,5],columnfamilydefinit:[11,14],opp:5,around:11,format:11,preserv:0,consensu:5,term:17,useticketcach:17,getclassnam:11,test:[0,1,3,5,11,14],know:[0,17,6,11],background:10,desk:0,consid:[0,4],part:[0,11,4,5],password:[17,1],datacent:[6,4],like:[0,17,5,6,10,11,14,15],insert:[11,14],setretrydownedhost:4,specif:17,addkeyspac:[14,5],signal:0,manual:[7,11],speedforjoptim:16,collect:[0,7],princip:17,api:[1,3,12,7,10,11,13,14,9],necessari:14,either:[4,14],xsd:13,integertyp:10,region:4,output:16,xsi:13,manag:[0,12,7],using_cql:11,poor:1,www:[11,10,13,14],right:[0,17,6],old:16,often:[16,5],deal:[12,7,11],spring:[7,13],some:[0,12,5,7,6,11,15,17],back:[15,4],kdc:17,quickli:12,googlegroup:12,contin:4,sampl:[0,17,7,6],refresh:15,ideal:[14,5],toctre:15,proper:0,unless:5,server:[0,1,17],sampledoc:15,sourceforg:15,librari:[0,1,16,5],storekei:17,testkeyspac:0,slice:10,keytab:17,easili:0,avoid:[17,16],deploy:4,definit:11,subclass:5,concaten:10,retri:12,leav:4,inject:[7,13],createupdat:[10,14],condit:11,highli:12,getnam:[0,10],refer:[17,7,11],core:[3,11,14],previou:[0,14],run:[4,5],"_static":15,cqlquerytest:11,setextend:0,dce:10,usag:[7,11,5],cqlqueri:11,host:[17,12,4],although:5,fulli:[7,14],reclin:0,post:[9,12],setnumdraw:0,between:0,activ:12,simpler:5,src:[0,11],default_realm:17,validation_class:11,column:[0,12,5,7,6,10,11,14],materi:0,commun:[9,12],slightli:16,simul:5,degre:5,birthyear:11,done:[12,5],perpetr:17,aa479086:5,discard:5,mean:[0,11,4,14],disabl:4,block:[6,14],underli:12,own:[17,10],effici:5,lexicaluuidtyp:10,table_desk:0,visit:17,within:[0,5],encod:[13,5],easy_instal:15,automat:[12,5],compos:4,hectortempl:13,orderedrowsimpl:11,keyspace1:[11,13],empti:5,orm:12,ensur:[16,11],chang:[15,14],pitfal:16,soon:4,your:[0,1,12,5,10,11,14,15,16,17],per:[6,14],clmap:6,replicationstrategyclass:13,log:[1,16,10],wai:[0,10,5],virtualkeyspaceserviceimpl:5,aren:5,execut:[1,11,5],support:[0,1,5],question:12,fast:[0,16],happi:5,avail:[0,12,11],start:[0,15,7,10,14],reli:5,much:[0,5],interfac:[12,5],configurableconsistencylevel:[6,13],lot:5,convertobjtypetocasstyp:0,thriftcolumnfamilytempl:[10,14],thriftksdef:14,select:11,analysi:16,setdesktyp:0,shall:16,properli:0,schemaloc:13,key_validation_class:[11,10],krb5loginmodul:17,topic:5,numcushion:0,randomuuid:0,continu:12,setdrawerlist:0,pwd:15,link:[15,14],gain:17,getvalu:10,don:[0,16,14],bed2e480:10,bed2e481:10,"true":[17,1,11,4,14],datastax:[17,11,14],nosqlutil:10,tobytebuff:11,notat:10,"throw":[0,10,14],immedi:11,utf:13,consist:[17,7,6],possibl:0,whether:4,getcolor:0,custom_look:15,access:[17,7,14,5],displai:16,tell:[0,17,10],directori:15,below:16,furniturepiec:0,otherwis:17,casssandra:11,similar:[0,11,5],illegalargumentexcept:0,featur:[12,11,5],creat:[0,1,11,5,7,6,10,13,14,9],"int":0,certain:4,"abstract":[0,5],deletecolumn:14,mypojo:0,doesn:5,repres:[17,14],each_quorum:6,intro:12,exist:[0,16,14,10,5],file:[17,1,7,14,15,16],logo:15,request:17,basiccolumnfamilydefinit:11,check:[0,15,4],bigtablecolumn:10,probabl:0,again:0,readi:15,local_quorum:6,googl:12,hex:11,usekeytab:17,index:[0,5,7,10,11,15],user:[15,12,17,5],dynamiccompositetyp:[7,10],detail:11,virtual:[7,5],prepend:5,"default":[0,12,4,7,6,11,15,17],finish:15,valid:[7,11,4],asciityp:10,rdbm:[0,5],normal:5,tid:0,you:[0,1,11,4,5,6,10,13,14,15,16,17],unlimit:4,page:[15,7],architectur:[7,18,5],node:[12,4,14],tmp:15,draw:18,relat:17,intend:[0,11],clean:5,thriftclust:13,actual:[10,5],"class":[0,1,16,7,13],setwritecfconsistencylevel:6,preform:5,previous:[0,14],keyspaceservic:5,cassandrahostconfigur:[17,16,4,13],pool:[12,7,18,4],svn:15,receiv:[4,13],sphinx:15,home:15,descript:1,involv:[17,4],microsoft:5,uffff:14,slf4j:[1,16],maxdepth:15,potenti:5,time:[0,12,5,11,14,15],retrydownedhost:4,columnsliceiter:14,basiccolumndefinit:11},objtypes:{},titles:["Hector Object Mapper","FAQ","<no title>","API","Services","Virtual Keyspaces","Defining Consistency Levels","Hector documentation contents:","<no title>","Community","DynamicCompositeType with Templates","Using CQL","Intro","Dependency injection through Spring","Getting started","Getting started","Speed4j","Security","Hector Pool Architecture"],objnames:{},filenames:["content/HOM/hector-object-mapper","content/FAQ","content/getting_started_sample","content/api","content/services","content/virtual_keyspaces","content/consistency_level","documentation","content/user_guide","content/community","content/composite_with_templates","content/cql_basics","index","content/spring_dependency_injection","content/getting_started","sampledoc_tut/getting_started","content/speed4j","content/security","content/poolArchitecture"]}) \ No newline at end of file +Search.setIndex({objects:{},terms:{scm:1,represent:[10,5],all:[0,18,5,6,10,15,16],code:[0,15,6,10,5],hashmap:[0,6],columnfamili:[0,6,15],illustr:[17,19],skip:1,global:1,default_cassandra_host_port:11,xstream:0,four:0,prefix:[10,5],getproperti:11,service_princip:18,follow:[0,18,19,6,12,15],chair:0,auth:18,als:4,forget:0,zookeep:0,privat:[0,18,11,10],depend:[1,17,7,14,15],system:[0,13,10,12,15,18],git:[1,13],elsewher:11,standard1:[12,14],send:0,articl:9,init:14,titl:[0,2,8],queri:[15,12,5],sens:5,dkerbero:18,sent:5,everyth:0,sourc:[0,1,18,12,13],everi:[4,5],string:[0,5,6,10,12,15,11],fals:[0,18,4,15],"void":[0,11],faq:[0,1,7,13],setkeyvalidationclass:12,ecyrd:17,util:0,ident:18,mechan:18,xmlschema:14,veri:[0,17,5],hasnext:15,ticket:18,ip_address:18,cqlquerytest_key1:12,foo:12,basict:0,level:[0,13,17,7,6],list:[0,1,13,4,5],desktyp:0,iter:[7,15],correct:[1,12,5],"try":[0,10,4,15],drawerlist:0,getanonymousprop:0,larg:[0,12,5],tostr:[10,5],println:0,smith:10,round:13,localhost:[0,14,15],backgroud:4,pojo2:0,pojo1:0,contructor:14,pressboard:0,uniqu:0,consequ:0,slf4jlognam:17,design:[0,17],pass:[6,12,5],download:[0,13,18],describekeyspac:15,click:5,simplecassandradao:14,even:[0,12],setshap:0,what:[0,16,12,4,5],abc:18,getclass:0,sub:10,compar:[7,12,10],datasourceexcept:10,setkeyspacenam:12,brief:10,bytetyp:10,simplestrategi:14,current:[0,13,12,5],delet:[7,15],tidarr:0,version:[0,16,7,14,15],setdefaultwriteconsistencylevel:11,"new":[0,18,4,5,6,10,12,15,16,17,11],net:16,row:[0,15,5],method:[0,15,12,14,5],metadata:[7,12],columnfamilytempl:[10,15],sybas:5,jdhunter:16,deriv:[0,7],entitymanagerimpl:0,gener:13,here:[0,12],comparisson:9,fun:1,shape:0,let:[0,18,4,6,10,15,16],inher:17,path:[17,11,5],becom:0,modifi:[16,15],sinc:[0,16],valu:[0,14,5,6,10,12,15],thrift:[13,12,10,5],box:0,maven:[1,7,15,13],convert:[0,7],produc:18,convers:[0,7,12],west:4,invit:13,host:[18,13,11,4],robin:13,amount:4,base:[0,18,7],execute_cql_queri:12,secondari:10,testclust:14,implement:[0,1,12,5],krb5:[18,7],via:12,repositori:[0,15],apach:[1,12,14,13],modul:[0,18,7],setautodiscoverydatacent:4,releas:[0,13],"boolean":0,famili:[7,6,12,10,5],discriminatorvalu:0,instal:[16,1],unfortun:5,getdrawerlist:0,unit:[12,5],encapsul:13,test_cql:12,hexadecim:12,from:[0,1,13,5,11,12,16,17,18],would:[0,18,4,5,12,15,17,11],memori:5,hudson:13,regist:0,two:[0,18,6,12,4],next:16,few:4,live:16,call:[0,4,5,7,10,15],keyspacedef:15,custom:[0,16,7,6,9],createschema:15,black:0,hfactori:[0,5,6,14,15,17,11],md5:18,type:[0,13,5,6,10,12],until:[0,6,4,15],more:[0,1,5,9,14,16,18],sort:5,jmx:[13,17],folliw:11,hundr:13,getascount:12,mismatch:12,about:1,notic:0,rigid:0,templat:[16,7,10,14,15],known:[18,12],central:13,getter:0,setdefaultreadconsistencylevel:11,easiest:0,often:[17,5],must:[0,1,18,15],high:13,mjone:18,retriev:[0,11,12],prettyprint:[0,13,14,12,15,17],scalabl:13,aspx:5,setup:1,work:[0,13,17,10,5],annot:[0,7],dev:[13,12],remain:0,itself:[16,1,12,13],can:[0,13,12,4,5,6,10,11,14,15,16,18],learn:16,under:15,root:[18,17],fetch:16,piec:0,overrid:[0,11],nodeautodiscoverservic:[7,4],setautodiscoverydelayinsecond:4,scan:0,process:18,lock:[0,7],sudo:16,share:[13,5],javadoc:13,accept:[0,16,12],"005056c00008":10,dmaven:1,drawer:0,discriminatortyp:0,want:[0,18,4,5,10,12,15],setlongprop1:0,serial:[0,5],keep:[0,15,4,5],setid:0,instanti:0,risk:5,multipl:[0,10],goal:0,quot:12,rather:5,anoth:12,loggerfactori:11,mycompani:0,getting_start:16,how:[0,1,4,7,10,12,17,11],getcompon:10,anyon:13,sever:[0,13,4],testcolumnfamili:0,reject:5,verifi:18,perspect:0,css:16,updat:[16,7,12,10,15],map:[0,7,6],msdn:5,uuidtyp:10,resourc:13,convertcasstypetoobjtyp:0,mess:17,decommis:4,clone:[1,13],after:13,them:[4,5,10,15,16,11],usabl:0,keyspaceoper:14,befor:[0,16,17,6],getid:0,attent:17,mai:[0,13,4,5,16,18],develop:[1,13],coast:4,data:[0,13,5,7,15,16,18],physic:5,github:[9,1,12,10,13],tutori:[16,9,18],read:[0,17,7,6,15],bind:[1,11],secur:[18,7],credenti:18,correspond:15,revolv:12,element:0,issu:13,inform:[0,1,18],hasresult:10,maintain:5,green:0,mvn:1,allow:0,longprop1:0,columndefinit:12,"6d796b657931":12,cli:[7,12,10],currenttimemilli:[10,15],order:[18,15,4,5],includ:[16,1,18,13],oper:[18,15,6,12,5],hom:[0,7,3],composit:10,help:10,discriminatorcolumn:0,no_result:10,find:[0,1],imperson:18,consid:[0,4],retrydownedhostsdelayinsecond:4,through:[14,4,5,7,12,11],hierarchi:0,still:[4,5],dynam:0,paramet:[4,14],write:[17,6],style:[0,13,18],getinst:[0,10],group:13,thank:1,fit:0,binari:18,entryset:0,fix:[13,5],cqlrow:12,better:10,html:[16,18,10],whole:[16,15],persist:[0,7],stephen:1,mail:[1,13,5],therefor:5,columnfamilyresult:[10,15],tri:[0,19],non:0,good:[0,5],"return":[0,6,11,12,5],thei:[0,4],python:16,timestamp:[9,10],dao:[11,14,15],rectangl:0,dynamiccompositeseri:10,entitymanag:0,numdraw:0,facilit:15,chc:11,fingerprint:18,mytholog:13,now:[0,16,5],discuss:[0,5],strive:0,wont:5,down:[13,12,4],connolli:1,mere:0,name:[0,18,14,5,10,12,15,16,17,11],anyth:16,edit:18,config:[18,1],unlik:[0,5],authent:18,accommod:0,pai:17,timeout:13,each:[0,6,4],found:[0,17],customerdb:17,side:[18,13],dperformreleas:1,compil:1,failov:[9,13],domain:15,equalsignorecas:10,javas:18,kerbero:[18,7],idea:[0,5],realli:4,line:[0,16,12,4,15],wrap:15,setkei:15,"static":[0,11,5],expect:[12,5],cassandraindexedcollect:10,our:[16,15],riptano:9,beyond:5,orient:13,special:5,out:[0,1,16,5],assertequ:12,screenshot:16,join:[13,4],space:[0,4],storag:0,hazelcast:0,createkeyspac:[0,5,6,14,15,11],possbil:13,content:[16,7],stuff:0,testpool:0,createcolumnfamilydefinit:15,setcomparatortyp:12,anonymouspropertyaddhandl:0,ref:14,factori:14,red:0,file_nam:18,repo2:13,bytestyp:[12,10,15],proxi:1,navig:16,advanc:0,tenanc:5,argument:0,free:0,standard:0,user_nam:18,reason:[0,1],anonymouspropertycollectiongett:0,discrimin:0,sampledoc_tut:16,put:[0,6,10],org:[18,1,17,14,13],"byte":[0,12,5],tenant:5,care:[16,4],indent:16,prop_cassandra_host_port:11,thread:1,columnnametyp:10,frequenc:4,could:[0,18],omit:0,synchron:0,kleisath:5,filter:5,thing:[0,12,4,5],length:5,unabl:11,confus:12,assign:18,frequent:[13,4],first:[18,4,14,15,16,17],renewtgt:18,setreadcfconsistencylevel:6,singleton:11,setcolumnfamili:15,directli:[0,13,12,10],feel:[0,16],onc:[10,15],arrai:[15,5],wast:0,yourself:[0,12],restrict:14,rapitano:1,alreadi:[0,16,6,15],suspens:13,least:[0,13],spanish:9,ring:4,mydao:11,primari:0,size:0,differ:[0,17,6,12,5],"long":[0,18,11,12,15],convent:5,printstacktrac:10,associ:18,krbnt:18,sometim:4,messag:13,master:[0,16,12],demonstr:18,statement:12,illeg:0,getdesktyp:0,scheme:0,"final":[0,18,11,10,15],store:[0,12,10],too:0,xmln:14,option:[0,12],relationship:0,hectorexcept:[10,15],tool:[0,1],copi:16,rsa:18,specifi:[0,18,4,5],direct:16,b239:10,getcolumnnam:10,"short":[13,10],pars:12,constructor:[0,14],conserv:0,rst:16,number:[13,12,5],sign:18,newkeyspac:15,than:[0,5],bindproperti:11,entitytyp:10,liter:12,clockresolut:9,john:[18,10],target:1,provid:[0,13,5,12,17,11],remov:[0,5],tree:12,second:[18,17,4,15],pojo:[0,7],"11e0":10,project:[16,1,9],matter:[1,6],info:[17,10],balanc:13,were:18,default_validation_class:[12,10],schema:[0,15,14,5],myclust:[6,15],addanonymousprop:0,"function":[0,12,5],longtyp:[12,10],fashion:18,abov:[0,16,10],well:[0,4,14,5],maven2:[1,13],mind:5,ani:[0,1,5,7,6,12,17,18],nosqldaofactori:10,"123l":0,twissjava:9,inherit:[0,7],have:[0,13,12,4,5,6,11,14,16,18],tabl:[0,7,5],need:[0,1,4,5,6,16,17,18],take:4,"null":[11,10,15],cassandra:[0,13,12,5,6,10,11,14,15,9,17,18],compositetest:10,counter:13,realm:18,techniqu:0,greek:13,rantav:[1,12,13],lp1:0,couch:0,note:[0,18,5,6,10,12,15,16,17],also:[0,15,10,5],getorcreateclust:[0,17,11,15],client:[0,13,6,18],cheatsheet:16,build:[16,1,13],which:[0,1,4,5,13,6,10,12,15,17,18],artifactid:15,combin:12,detector:13,prepar:5,singl:[0,18,12,5],blue:0,getkeyspac:10,sure:[17,5],insur:0,distribut:[0,18,12],"enum":0,though:[0,12,5],usernam:1,object:[0,13,5,7,6,10,14,15,11],oracl:18,autodiscoverhost:4,discov:4,most:[0,16,12],plai:0,loadproperti:11,plan:12,hide:5,sun:18,foldoutb:0,why:12,charg:4,"_build":16,tradit:0,prove:18,uuid:[0,5],give:16,quorum:[6,11],dob:10,doc:[16,1,18,12],clear:[4,15],partition:5,flow:12,drive:12,doe:[0,18,5,7,10,15],edanuff:10,folder:[1,12],declar:15,snapshot:13,runtim:1,determin:0,databas:[13,5],effect:5,latest:16,notion:0,your_realm:18,def_strategy_class:15,troi:13,setqueri:12,serializ:0,show:0,enumer:0,getcol:10,cql_ref:12,brother:13,connect:[18,13,7,6,4],replicationfactor:[14,15],column_metadata:12,queryresult:12,fine:0,eas:[7,12],setter:0,xml:14,despit:5,onli:[0,1,4,13,5,10,12,15,18],locat:[13,14],ksp:15,pretti:0,setnam:12,configur:[0,13,4,7,11,12,17,18],jar:[1,17],consistencylevelpolici:14,timeuuidtyp:10,should:[0,18,4,5,15,16,17],hector:[0,1,12,4,5,13,7,6,10,11,14,15,9,17,18,19],busi:15,comptempl:10,png:16,entity_typ:10,inalid_entity_kei:10,colorconvert:0,over:[16,15],jaa:[18,7],count:[13,12],get:[0,1,4,5,7,10,12,15,16],familiar:12,express:12,propertyfilesuffix:11,springframework:14,becaus:0,repo:13,nativ:5,bean:[0,14],cannot:[0,12],addcolumndefinit:12,standardlong1:12,accrur:13,edg:13,awai:5,requir:[0,18,12,5],slicequeri:15,mapper:[0,7],experi:13,enabl:[17,7,4],addlong:10,anonymousprop:0,"public":[0,18,11],zznate:9,reload:16,setstr:[10,15],entitymgr:0,integr:[13,7,11],contain:[0,16,18,12,5],grab:16,cloudbe:13,where:[0,16,18,12,5],hectortemplateimpl:14,periodicallog:17,respond:6,certif:18,set:[0,18,14,4,7,6,12,15,17],setvalidationclass:12,setusekerberosauthent:18,noth:5,hector_except:10,assumpt:1,fail_:17,timinglogg:17,see:[0,1,5,6,10,12,15,16,17],temporarili:4,result:12,createslicequeri:15,arg:[0,14],fail:16,wait:6,simpl:[0,13,17,11,5],arm:0,subject:18,domain_realm:18,setautodiscoverhost:[11,4],detect:4,extend:[0,11,12],correctli:12,hopefulli:17,jenkin:13,someth:[10,15],easi:[0,10],wikipedia:[18,13],discoveri:13,path_to_fil:18,groupid:15,hconsistencylevel:[6,11],"import":[0,16,15],neither:5,entiti:[0,18,7,10],approach:[13,5],aslist:15,attribut:[18,17],warrior:13,accord:12,createvirtualkeyspac:5,setoptim:17,kei:[0,18,5,7,10,12,15],ask:13,myifacedao:11,extens:13,job:5,default_checksum:18,matplotlib:16,solv:15,cfdef:15,meta_read:17,abstractmodul:11,minut:4,kerberos_:18,addit:[18,13,12,5],both:[18,6,12,4,15],protect:11,toward:0,last:[16,1],setmateri:0,perf4j:17,arraylist:0,path_to_the_fil:18,equal:[0,11,5],against:18,newtimeuuid:10,etc:0,instanc:[17,14],monitor:[13,4],hijink:1,context:14,mani:0,login:18,browser:16,com:[0,1,13,5,10,12,15,9,17,18],col:10,load:[0,13,7,11],cql:[7,12],simpli:[0,18,12],mycolumnfamili:6,providekeyspac:11,color:0,overview:[0,7],trunk:16,form:[18,1],period:[13,17],suffici:0,distinguish:18,pom:[1,15],littl:12,shutdown:0,respect:[18,12],guid:18,assum:[0,6,11,14],panel:16,setretrydownedhostsqueues:4,save:[0,7],java:[0,13,5,7,12,17,18],mention:10,coupl:16,keyset:10,djava:18,rebuild:16,three:[0,17,6],been:0,mark:4,compon:15,hashcod:0,keyspac:[0,14,5,7,6,12,15,11],success_:17,treat:12,interest:12,basic:[0,16,7,12],createkeyspacedefinit:15,popul:18,dynamiccomposit:10,basic_screenshot:16,strategi:0,configload:11,life:[11,15],legaci:0,mykeyspac:[6,15],svnroot:16,imag:16,resolut:9,search:7,anywher:0,congif:18,understand:10,desk_typ:0,"catch":[10,15],furnitur:0,those:4,"case":[0,12,10,14,5],multi:5,main:0,look:[0,5,7,10,12,16],packag:[0,15],quickstart:16,columnfamilynam:[14,15],wiki:[18,1,13],properti:[0,18,7,14,17,11],straighten:1,cluster:[0,13,4,5,7,6,14,15,17,11],defin:[0,18,7,6,10,12,15],"while":[15,5],replica:6,behavior:[13,12],error:[11,10],glossari:18,anonym:[0,7],servic:[18,7,4,14,15],howev:0,getlongprop1:0,layer:[13,5],getconnectionmanag:0,comparatortyp:[12,10,15],jpa:0,metric:17,querycolumn:[10,15],classnotfound:1,site:16,riq:11,speed4j:[17,7],autodiscoverydelayinsecond:4,anuff:10,"28protocol":18,conf:[16,18,7],other_nam:12,libdefault:18,sai:15,mutat:[7,10],mykey1:12,perform:[0,13,5,7,15,9,17,18],make:[0,1,4,5,15,16,17],belong:4,classpath:[18,17],setlong:15,same:[0,18,12,4,5],columnfamilyupdat:[10,15],port:11,handl:[0,5],when:[0,4,6,10,12,16],thusli:12,cassandra_host_port:11,utf8typ:[12,10],come:[16,4],"_templat":16,document:[1,7],log4j:17,complet:[16,13,5],clazz:0,phi:13,safe:13,http:[18,1,12,13,5,10,9,14,16,17],structur:5,evid:18,optim:[17,7],utf8:5,invalidrequestexcept:12,compos:4,struct:13,clientserv:18,column_nam:12,moment:0,initi:[7,6,12,15],improv:13,php:5,respons:[13,12],typic:[18,11,4,5],defaultreadconsistencylevel:14,setdefaultvalidationclass:12,cassandrahostretryservic:[7,4],"break":12,autodiscoverydatacent:4,addutf8:10,off:4,center:18,framework:18,entri:[0,18,17],builder:13,getbyt:0,stablish:6,ba35:10,thought:12,person:18,exampl:[0,4,5,7,12,15,9,11],greatest:13,thi:[0,1,12,4,5,13,6,10,11,14,15,16,17,18],choos:[0,16],model:[0,13,14,5,12,15,17],virtualkeyspacetest:5,spend:12,revis:16,left:5,construct:12,identifi:15,setcolor:0,just:[0,18,4,10,16,17,11],excel:9,keyspaceserviceimpl:5,rest:[16,12],indic:[7,6],product:[16,13],retrydownedhostsqueues:4,jgss:18,apiv2systemtest:5,stringseri:[15,12,10,5],getstr:[10,15],yet:0,languag:12,getkei:10,web:16,cut:13,iablog:5,signific:5,expos:17,keyspacedefinit:15,point:[16,18,5],makefil:16,except:[0,1,12,15],param:15,orderpreservingpartition:5,blog:[9,12],script:12,add:[17,15,5],other:[0,18,17,12,4],blob:12,voila:16,els:11,logger:[17,7,11],mainprog:0,app:11,match:[0,5],charact:12,real:[0,12,15],applic:[0,12,10,5],columnfamilydefinit:[12,15],opp:5,around:12,format:12,preserv:0,setconsistencylevelpolici:11,consensu:5,term:18,useticketcach:18,getclassnam:12,test:[0,1,3,5,12,15,11],know:[0,18,6,12],background:10,desk:0,step:[16,17,7,10],part:[0,12,4,5],password:[18,1],datacent:[6,4],like:[0,18,5,6,10,12,15,16,11],insert:[12,15],setretrydownedhost:[11,4],specif:18,addkeyspac:[15,5],signal:0,manual:[7,12],speedforjoptim:17,collect:[0,7],princip:18,api:[1,3,13,7,10,12,14,15,9],nightli:13,either:[4,15],xsd:14,integertyp:10,region:4,output:17,xsi:14,manag:[0,13,7],using_cql:12,poor:1,www:[12,10,14,15],right:[0,18,6],old:17,hectormodul:[7,11],deal:[13,7,12],spring:[7,14],some:[0,13,5,7,6,12,16,18],back:[16,4],kdc:18,quickli:13,googlegroup:13,contin:4,sampl:[0,18,7,6],refresh:16,ideal:[15,5],toctre:16,proper:0,unless:5,server:[0,1,18],sampledoc:16,sourceforg:16,librari:[0,1,17,5],none:5,storekei:18,testkeyspac:0,slice:10,keytab:18,easili:0,guic:[7,11],avoid:[18,17],deploy:4,definit:12,subclass:5,prop:11,concaten:10,retri:13,leav:4,inject:[7,11,14],createupdat:[10,15],condit:12,highli:13,getnam:[0,10],refer:[18,7,12],core:[3,12,15],previou:[0,15],run:[4,5],"_static":16,cqlquerytest:12,setextend:0,dce:10,usag:[7,12,5],cqlqueri:12,binder:11,isn:5,although:5,fulli:[7,15],reclin:0,post:[9,13],setnumdraw:0,between:0,activ:13,simpler:5,src:[0,12],default_realm:18,validation_class:12,column:[0,13,5,7,6,10,12,15],materi:0,commun:[9,13],slightli:17,simul:5,degre:5,birthyear:12,done:[13,5],perpetr:18,aa479086:5,discard:5,mean:[0,12,4,15],disabl:4,block:[6,15],underli:13,own:[18,10],effici:5,lexicaluuidtyp:10,table_desk:0,visit:18,within:[0,5],encod:[14,5],easy_instal:16,automat:[13,5],setetyp:10,hectortempl:14,orderedrowsimpl:12,keyspace1:[12,14],empti:5,orm:13,ensur:[17,12],chang:[16,15],pitfal:17,soon:4,your:[0,1,13,5,10,12,15,16,17,18],necessari:15,per:[6,15],clmap:6,replicationstrategyclass:14,log:[1,17,11,10],wai:[0,10,5],virtualkeyspaceserviceimpl:5,aren:5,execut:[1,12,5],support:[0,1,5],question:13,fast:[0,17],happi:5,avail:[0,13,12],start:[0,16,7,10,15],reli:5,much:[0,5],interfac:[13,5],configurableconsistencylevel:[6,11,14],lot:5,convertobjtypetocasstyp:0,cluster_nam:11,thriftcolumnfamilytempl:[10,15],thriftksdef:15,select:12,analysi:17,setdesktyp:0,shall:17,properli:0,schemaloc:14,key_validation_class:[12,10],krb5loginmodul:18,topic:5,numcushion:0,randomuuid:0,continu:13,setdrawerlist:0,pwd:16,link:[16,15],gain:18,getvalu:10,don:[0,17,15],bed2e480:10,bed2e481:10,"true":[18,1,4,12,15,11],datastax:[18,12,15],nosqlutil:10,tobytebuff:12,notat:10,"throw":[0,10,15],immedi:12,utf:14,consist:[18,7,6],possibl:0,whether:4,getcolor:0,custom_look:16,access:[18,7,15,5],displai:17,tell:[0,18,10],directori:16,below:17,furniturepiec:0,otherwis:18,casssandra:12,similar:[0,12,5],illegalargumentexcept:0,featur:[13,12,5],creat:[0,1,12,5,7,6,10,14,15,9,11],"int":0,certain:4,"abstract":[0,5],deletecolumn:15,mypojo:0,doesn:5,repres:[18,15],each_quorum:6,intro:13,exist:[0,17,15,10,5],file:[18,1,7,15,16,17,11],logo:16,request:18,basiccolumnfamilydefinit:12,check:[0,16,4],bigtablecolumn:10,probabl:0,again:0,readi:16,local_quorum:6,googl:[13,11],hex:12,usekeytab:18,index:[0,5,7,10,12,16],user:[16,13,18,5],dynamiccompositetyp:[7,10],detail:12,virtual:[7,5],prepend:5,"default":[0,13,4,7,6,11,12,16,18],finish:16,valid:[7,12,4],asciityp:10,rdbm:[0,5],normal:5,tid:0,daomodul:11,unlimit:4,page:[16,7],architectur:[7,19,5],node:[13,4,15],tmp:16,draw:19,relat:18,intend:[0,12],clean:5,thriftclust:14,actual:[10,5],"class":[0,1,7,14,17,11],time:[0,13,5,12,15,16],setwritecfconsistencylevel:6,preform:5,previous:[0,15],keyspaceservic:5,cassandrahostconfigur:[18,17,4,14,11],pool:[13,7,19,4],provideproperti:11,svn:16,receiv:[4,14],sphinx:16,home:16,descript:1,involv:[18,4],microsoft:5,uffff:15,slf4j:[1,17],maxdepth:16,potenti:5,you:[0,1,12,4,5,6,10,11,14,15,16,17,18],retrydownedhost:4,columnsliceiter:15,basiccolumndefinit:12,getlogg:11},objtypes:{},titles:["Hector Object Mapper","FAQ","<no title>","API","Services","Virtual Keyspaces","Defining Consistency Levels","Hector documentation contents:","<no title>","Community","DynamicCompositeType with Templates","Guice Integration","Using CQL","Intro","Dependency injection through Spring","Getting started","Getting started","Speed4j","Security","Hector Pool Architecture"],objnames:{},filenames:["content/HOM/hector-object-mapper","content/FAQ","content/getting_started_sample","content/api","content/services","content/virtual_keyspaces","content/consistency_level","documentation","content/user_guide","content/community","content/composite_with_templates","content/guice_integration","content/cql_basics","index","content/spring_dependency_injection","content/getting_started","sampledoc_tut/getting_started","content/speed4j","content/security","content/poolArchitecture"]}) \ No newline at end of file diff --git a/source/content/guice_integration.rst b/source/content/guice_integration.rst new file mode 100644 index 000000000..509f9b50c --- /dev/null +++ b/source/content/guice_integration.rst @@ -0,0 +1,89 @@ +.. highlight:: java + +.. index:: guice + +Guice Integration +***************** + +The folliwing is just a simple example on how you can inject Hector keyspaces through Google `Guice `_ + +HectorModule example +====================== + +This example assume there is a app.properties file in the path :: + + public class HectorModule extends AbstractModule { + + private static final Logger log = LoggerFactory.getLogger(DAOModule.class); + + private static final String PROP_CASSANDRA_HOST_PORT = "CASSANDRA_HOST_PORT"; + + private static final String DEFAULT_CASSANDRA_HOST_PORT = "127.0.0.1:9160"; + private static final String KEYSPACE = "RIQ"; + private static final String CLUSTER_NAME = "Test Cluster"; + + private String propertyFileSuffix; + private Properties properties; + + // private static Properties props; + + public HectorModule() {} + + @Override + protected void configure() { + + // load properties + properties = ConfigLoader.loadProperties(propertyFileSuffix); + + // bind so we can retrieve them elsewhere + Names.bindProperties(binder(), properties); + } + + @Singleton + @Provides + Properties provideProperties() { + return properties; + } + + + @Singleton + @Provides + Keyspace provideKeyspace() { + CassandraHostConfigurator chc = null; + // Create the cluster + if (properties.getProperty(PROP_CASSANDRA_HOST_PORT) != null || !properties.getProperty(PROP_CASSANDRA_HOST_PORT).equals("")) { + chc = new CassandraHostConfigurator(properties.getProperty(PROP_CASSANDRA_HOST_PORT)); + } else { + log.error("Unable to load cassandra host/port from properties; defaulting to " + DEFAULT_CASSANDRA_HOST_PORT); + chc = new CassandraHostConfigurator(DEFAULT_CASSANDRA_HOST_PORT); + } + + chc.setAutoDiscoverHosts(true); + chc.setRetryDownedHosts(true); + + Cluster cluster = HFactory.getOrCreateCluster(CLUSTER_NAME, chc); + + // Create the long-life Keyspace object + Keyspace keyspace = HFactory.createKeyspace(KEYSPACE, cluster); + + ConfigurableConsistencyLevel cp = new ConfigurableConsistencyLevel(); + cp.setDefaultReadConsistencyLevel(HConsistencyLevel.QUORUM); + cp.setDefaultWriteConsistencyLevel(HConsistencyLevel.QUORUM); + keyspace.setConsistencyLevelPolicy(cp); + + return keyspace; + } + + } + +And you would typically have a DAO like this :: + + public class MyDAO extends MyIFaceDAO { + + protected final Keyspace keyspace; + + @Inject + public MyDAO(Keyspace keyspace) { + this.keyspace = keyspace; + } + } diff --git a/source/documentation.rst b/source/documentation.rst index 2f2405f72..fe3f228dc 100644 --- a/source/documentation.rst +++ b/source/documentation.rst @@ -19,6 +19,7 @@ Hector documentation contents: content/virtual_keyspaces content/security content/speed4j + content/guice_integration content/HOM/hector-object-mapper Indices and tables