From da11fd7c5d2dc1e22d66841163f4b8f2fbcefdb1 Mon Sep 17 00:00:00 2001 From: "J. Brisbin" Date: Fri, 4 Feb 2011 12:42:30 -0600 Subject: [PATCH] First pass at adding Gradle as build tool --- .gitignore | 1 + build.gradle | 62 ++++++ gradle.properties | 15 ++ gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 12597 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 168 +++++++++++++++++ gradlew.bat | 82 ++++++++ pom.xml | 6 +- settings.gradle | 3 + spring-data-keyvalue-core/build.gradle | 0 spring-data-redis/build.gradle | 12 ++ spring-data-riak/build.gradle | 9 + .../mapreduce/AbstractRiakMapReduceJob.java | 176 +++++++++--------- .../mapreduce/MapReduceLinkOperation.java | 26 +++ .../riak/mapreduce/MapReducePhase.java | 82 ++++---- .../riak/mapreduce/RiakMapReducePhase.java | 87 +++++---- src/docbkx/index.xml | 2 +- 17 files changed, 573 insertions(+), 164 deletions(-) create mode 100644 build.gradle create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat create mode 100644 settings.gradle create mode 100644 spring-data-keyvalue-core/build.gradle create mode 100644 spring-data-redis/build.gradle create mode 100644 spring-data-riak/build.gradle create mode 100644 spring-data-riak/src/main/java/org/springframework/data/keyvalue/riak/mapreduce/MapReduceLinkOperation.java diff --git a/.gitignore b/.gitignore index 55b3d0f62..2e1c57a45 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ target +build .springBeans .ant-targets-build.xml src/ant/.ant-targets-upload-dist.xml diff --git a/build.gradle b/build.gradle new file mode 100644 index 000000000..9665eaa91 --- /dev/null +++ b/build.gradle @@ -0,0 +1,62 @@ +apply plugin: "eclipse" +apply plugin: "idea" + +subprojects { + apply plugin: "java" + apply plugin: "maven" + + releaseType = "M2" + version = "1.0.0.$releaseType" + + compileJava.options.compilerArgs = ["-Xlint:unchecked"] + + repositories { + // Read user's local Maven repo first + mavenRepo name: "mavenLocal", urls: new File(System.getProperty("user.home" ), ".m2/repository").toURL().toString() + // Public Spring artefacts + mavenRepo name: "spring-release", urls: "http://maven.springframework.org/release" + mavenRepo name: "spring-milestone", urls: "http://maven.springframework.org/milestone" + mavenRepo name: "spring-snapshot", urls: "http://maven.springframework.org/snapshot" + // Additional community artefacts + mavenCentral() + mavenRepo name: "sonatype-snapshot", urls: "http://oss.sonatype.org/content/repositories/snapshots" + mavenRepo name: "jboss", urls: "http://repository.jboss.org/maven2/" + mavenRepo name: "java.net", urls: "http://download.java.net/maven/2/" + } + + // Common dependencies + dependencies { + // Logging + compile "org.slf4j:slf4j-api:$slf4jVersion" + compile "org.slf4j:jcl-over-slf4j:$slf4jVersion" + runtime "log4j:log4j:$log4jVersion" + runtime "org.slf4j:slf4j-log4j12:$slf4jVersion" + // Spring Framework + compile("org.springframework:spring-core:$springVersion") { + exclude module: "commons-logging" + } + compile "org.springframework:spring-beans:$springVersion" + compile "org.springframework:spring-context:$springVersion" + compile "org.springframework:spring-context-support:$springVersion" + compile "org.springframework:spring-tx:$springVersion" + // Jackson JSON Mapper + compile "org.codehaus.jackson:jackson-mapper-asl:$jacksonVersion" + // Testing + testCompile "junit:junit:$junitVersion" + testCompile "org.springframework:spring-test:$springVersion" + testCompile "org.mockito:mockito-all:$mockitoVersion" + } + +} + +configurations { + build +} + +repositories { + mavenCentral() +} + +dependencies { +} + diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 000000000..9050c3111 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,15 @@ +# Logging +log4jVersion = 1.2.16 +slf4jVersion = 1.6.1 + +# Common libraries +springVersion = 3.0.5.RELEASE +jacksonVersion = 1.6.4 + +# Redis support +jedisVersion = 1.5.2-SNAPSHOT +jredisVersion = 03122010 + +# Testing +junitVersion = 4.8.1 +mockitoVersion = 1.8.5 \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..9d7bbe005f0b81b7d5248d2a6c245ab2618d3679 GIT binary patch literal 12597 zcmaKS1yo$i(lzex8iKo9kU(&EcXxLu=-}?|F2NlVV1VH64gm&&yXWWrPwu<R&wfoGRS-ZQcwxSFq6ap9+92^*iC$|9Dn?d|Byczu4B`2mT#3&^%&I}2r_!mb4 zX}%+oHwT%w3+q1}<%Hy=#KlxpndHQ;Qsd zCZrgcT9m&tOE1bWOUn*R&C@eWGtfvf&bYw3^po<(YwI)VGyS&c+dBWgJE*t0gR{l| zxv~HBLHwtWg|m^Vt=a!{#r&(QhqIBRqnY#n36V79-|c-{`tj|@q5Jy~iT}Tt#yH#)mO!_))9bgk&;1DaDix&?}1Y=xHF}=lFGrv`FM`3X#^`Bed;k7 zTFz!XpUxIhL3!5=IG*!1H}$A5<+Z2vNL=Em)BR)FF8kSjwMCzQJ^ge5OS%{9r7=c0 zC4C2EhrZHOtP4jC(o9THd{0hgqBR%^Ax5MzFkcLTO+p9ymKmKKRMi(0?N-oJV2G)M zARw$g=#IvR;C)_i=uak}2a|xlD1a#ZGrvL)Ukf@o96ABB^BwTOcye?p$w(3uN!3z# zsA_IPiJzl00@UE548fRePSXa?Rr^xx@d8rvQm1${r|l?o1XEM%;`&YjdQATW~2~G>`QiIqUX)qNh*N)sY)qT$s%$@yx6|_|XK4fM5rh zwJA_Eg$}{Z2v{6|dQ(D-4(a#$YEP?eI!l>|S{pOlD|i6;KgZlXCTXPb^E7HZ^BM zS?L5Fv2s@zruvZzMUa@@6xy)lvE|MtrjC}N$kggf@^Za6BIn#P`_$SeyIS-zvBXww zv!YJdkxwG2P-{C<*(|UZ6(2Vw&4&i`QgiDCah@99TgFiG9%=KFcO5JWYbJatBH`@`Y8MCRODw`D~!uBL&+fJzrL z*^@8>ROeX{tIewYFeRyTf-~n3b|hsR-H0cxiNOFkikWZ44!!SqBqw#I$WBHUP40q( zp&xm24|ds^X3k>@+fUB=p`eQUchHwQo!SF7a58PvEBuXS{bLcPZX6l+;DQY!3GkC` zk$LBhAqg5*rexe`>K=JNwbF7H40CR`GNSYeowqJKs&trnIF0g1&uyM-Vd93l++qOp zh5O0ZDwiF3jIk0L_qGO6q)}n5tuHX{7sc$QFU1xFMdlI4T`^&g}HnIj8 z1|;*2ycu=-hbJHL7aDBR696F@1b6kTyswCvVysyOS?-fxk;!`;R4}(1)G1~-1yMEE zjF)2~hY>?{R7ENJ8RySGL&56UxTCDKuFQ4KeV-%sL%-0;zJmQSXL&=4u8?Qr!vMg) zJ(OJA-gHR*wH4JC@dPK*hgX3J7yr(oa8=TU%&RA2G3)-Nn1o{*vWX%BHu)#vk8nMV z+o3qp7yVAQVNOMpTjR*8BfW1TUBlgw4%_Gs@OuUitq!{a-1@ztiaO9I*t*&9&|Uqz zbU&_HgLc(ii=Q0S3gSCdLo;jhukh01oJu0Aez*~n&IO#3VzGp{uZd9uq&E8*y7MZX zY#coa&m7N+$=d0H-iXxI%FIR5$o`Fmo&QOP>JJ*28d$FY2F$+j>YcX2LO@-I4vw8tHBD4x zXkj67Uwkw`Dq9xH`cAuZbzOaR7xg7HkALW$LQ$&9OZR8hlRGN#2CHqN4WIVAo~NEC zzq9opd7poIBN*cP-}OCBY4#CjP{B7YQy4({3S2 zAq<~tYVejOf}G0SuLpczSRIPo-_Y(Iktk`t>g_9vw6 zI#UYMC5$dTfYnkMMH@s6ImViVaZ*Rf{0pE0m8y)|^=CB~dPzy8AkIu7d8S$TB!1Cq zEFL`k_zNrj8cs{oaQOz8iPc4$eKYbTrLEs%GWIU)>J;V>XOexDim;nz>s2=f0mQ)* zv&~{tOSw5<6<{~Y(w`G!r82`+Xa}jCou#L7%@bJqUNz_-6Gsjsg}-LGAlzO`v9U$R zTQkoLV`#uK&pb3~wnGYKEz^t>O#>awRopE}zCuAbqF3y2N5GgVsthrmoJ&YsK$E9- zxy3$XAU<2V6R(*nZKeI5toz9s(;d5yzKO`VZ^nq+*4ll>I2MyW-)$g*8+OK>e8GJz z{7CG_1wPfTo1J&X4_Vthe1#P&+6HbiiQkzAoMS)kiokPJf>tT>Jz2f*%(2FcZ`NWNE`&eBuKM^*1JJ~i=&IJVG zFA9R<&g-KI5d?bOF4d|P;oX?yMf2M$wp4sew_F0NI>Nay78r5;sH|27n{xN6M=gq} ztwgB@*w+?pv{|^19S+Rv?MMxT*MwBcJN)#QhS2u zAD1sA$TB&r4djl@C7By++J&&+<7?X5oYMAZyYk-hxOdlK%UmwZ!8{T~-F%7kCG-){ z(O!!EfWNe$zPIM4?ZrqzgoM@8FDzqHKU8VD$@b2|^qqy-D?O&chaF)_&CcVIQ!KJR z%*a6uvKTa#xfhH_L}}O~wzcHGR8Ebo;!k4)KUUv!vFFg@J|=S2)_pJ^`lXo2YJ}Kw zi5qOI7#xLh`~&0`orShlUJN-E{{BFjqaZ_Rjls^8P0%h4 zN0IFouJ)Dg&cqWYD40>#86O%4Wk2gf%zHh&?(KyAykG0r--H+qn+u~&KKfRdWn**Jm72%;Xer>5 z5}TiiPWG#^IdavKD4?wl+kY5{-3HTmr$mD?gSd}BKo5G)y7wVQexF&$15nv?hNcll%xmCA~UU7YLUrDen;HVyYj-{i;S`NWY zww?>Rc@KTzW0kf7G)$Jt(m50%rE8no9j0yKl5$++ym=-+BOU%1Tw~8rDlC)EBR8NU zumG-Eu5yi`u!V)CX5jg12&+%b*dvjSRIHP|ilPis4L?v^akM^%^0d!7QCq4*HL*1X zcw(xHIc&Y>8vx}N-y%Q5B^@~^HRX1_MHRb+Bi0e4zeaw6O4Bcrt%>1Ge|5()IFLh# zw>Ua)SM35!Y3Bn;9+}np@xS1SMQu?i_~bMtxe{3jkZ!(2`_lQF+$LdJWPe==jjv@O zJv)F~o}3S8BzQ*s>mHFX_imZ#ZI4KL%P*+@eveQzabw^{n@xz z&yIl(IFzotB0X|G2?=!}W&+ic_i!Xpnm0Ru@GOjl^N5h(wt>k-$~8dWWP|T_uY?2k zE93sCpb)w8wIfF6Q%@%iQKfIwhu5BLob5f?8M0p{8OG#lEmCJ1uVx{9EBHqIDAiS) zgc(fmE7ijhm-41KXO%f@#Awyi16~KN`)-DT$|6-?4QU?8bht8Di_+RcOvL9+RIC#c zA~xtNOSKoFTw%r4p*%6XbAc$usxjjl(pu&Ww990>_ulffwKRZ{yVHW96;(O#e%f^! zAW``eqzG+V2D*-F^|;flDP?a0w2pxE-yAM08$vQ$Rf-SUINIRI@`Rjd#)p& zU#qxt6&`M?O1~Da&tJp-2>7+R62kFNk&279%(vNz*^jt6 zlS2+321$%~<*EbeUiVdb(od!yLkNMp9@oXY!ZvMA&~dd!@;k219%fc#g3%qF>}WlT z_V~uqfNAZ9lD$L5ZIPRag!NBW(E1c|B8FoHNSUN_Qc8)nMvHN>1&8aFMd8xVoYH3DC0~+OtWmB_zGM6@taLznqNu?Vq^h?d z0)FtSLOS3S`Dzyi`nnXe`yqxM%`w$o53lg0J@p0t5ww@zENO8aKZRGgE|v+M=@Y~W zC%9T@L_nDdF31msR*-TGM;eJYzVsA#~v$DVd*Whz{?L zWM}GqhmUPQ5ad=Hr3eXH9^ zxvOeK4ntpMO|t0@5VX1wNS3X4P&v=Tbf4cL?f4NIly=|`g~TWba^e2sIlM@x6zM6T z(|-cr*kT5)pghPgb%N(IY!2gkb_2LuyyDl2AD)xT(I(d_ya!}?&4O#g8V_fykz z!BoTZm(LuhS}kcxE(HdCLYJbUgp;Ne`<99W(OiSfm|EB-C*LpJK*&v~{oLUw?m#q1 zXhCE_M9f5#t;BRBmX0oQ)^;vYF}dt-$7*8ke4Bl@>y>wBGWmLQ=kOWK6FQGTayuxH zo3$`isacn!4%P%_&`D~@jMxj(NtZQ$w=xjE%ghi%1*Y_(1+c~K^*#_EYp2cJ5XS|k zb~oq4{`@weK}RtWnwZYH5)c zTFt=QgyoBi`V5`W=NQ(=SXTt##7gW*9;T&?#XeMFk-ZecadsUs&vH4F^jT)JW`XHq zh)xroOR7cHRR_z_X3I~ACo0`9*^EBw6=aR0xoTBX%s$h4?sT&I<+3H_0Q_9@c2)tD_NowSE(rt7W5qpf-tD&5=khS4=xW^%MY zdF|m{?L)@-dajA8`X~tX_jtD8y$5j!Wn^YB!x^IE182)8BnR9r#$84u$I4d~@fc39 zgW8Y{-nZlXS8gv7`1jrwt5Iq;fq08sEp*V_`xC?lVsOy29&_b>bz!=5BiQ%TOQ&FV zwkZwljw}I%u77%NhJ=b?iY3cRHuD8W$5LXNt>G+n2J&H0P|6tj|G=)*)-0K_YhIgn zS`>v=BaVf~FaKmS(wNTn|kZ1$mcH#fqp8r0^nBjQT|hDl;F0Hg-tf}Zjs3@so~ zut#Yv%5cu=m`vCENWbn)ckk6Nn}M@uBd*eD9CsL?nm@oqX{5e3?MV$8sCbmJPsYhs zd$*eU+#naInHWnn`ArSHiEY>|>`SwI7{ zhwh8#b0@Fe1|Hdy?k9WqhS(g2Cdm5hNFdz(?5PI8x~??l;CPa<23jA9ez{Su7J9%+ z4Q4yGS9{;V=+iQ}0s4_J348V#Ow}k>yMAYZ64n{jK@A51{q?CX?a8l;n%pzt;HBUS zyvb?OBjhKkbc3%mQvtCbL_I-z7myPN?#U6)+8h$HE1KLFp*W!+#W@vfmpEd>L{79v z%r#}Qg{p8d4u!}E!VZxM-pz?*E7U)p`-#*QfZ%`lD5B0MOv z8cMBG1zRXw)Ceo(D^1zRY_2I$23#KmzgOCwtLR)$2opAJo5GK{a$;F5F4~I;6Pvp{ zA6b(nt!TR=h_A|a6G$A{GC&cZ?U5-HBi2FXR6Vcn*1s0IXlP(|LL?ALBb8pa{3rgo77?e+Wj;XKO6@qY?tgu_$U=^Bcc0j<|;Mw=fNsOX@Rz2DwS;%X?3o{gX5)) zvA>4C+#()+w-n^vjdSMr@PL%EI#T}%zI`NLOwS4i|!C%CQl4i7!*>0I9w?I&;!Yz2z#SX8h%34Zz%cp3*U*3A!B1XK3`@D z;yOFvn7n(?(Wk#@WVoRu1u56p%4(jjHL-?lB4qQ3!e!}2(9%_i`H@juB zz>5J2*jhbwz~Kx4r$AMkYvjw@HF^A0%wCo+?7Y~b4azrccGeKqLx>(LX7klLVyDK6 z{I*wQ`n^z85m)(z9L@gK0@7IgKyq|#uWMpE;o@idFT5PY{gvTZ6YSmCH5o(c~`UdKRoT&^s6ol z{mZYEb-w_+k1s}#FGPa2JSS94(x6*VV!ftQ4Qb1JOIOZ%+Fg^Fc74OWF*Gc`w|fIB zQY^1A0x=o*A0fCbg(Cs9;lz?qvP<$TU1I}csZq(meH&M6q%eJ$vvWwQ+h1C>dg;S= zzOd!(nVPI?h`u+qP9Q$YnKIA(XC zaD6PhAQQ*WtcL*G;E8x84|46avnV z9H6ra>SU$r(%B$y^tX-ctUQ@uZ0n8O!WzE7?zk9uusppcuF3h;8AgYHc|9 z+Iem~tF7DB_R;5V`8AArtlFY6o>HET4MZriW7ElaCLEg>n#1zR#I^_a(4Z*oT{Ti@K#QZMM9F72==C*4sNS9h?HTZjoL&?2rZ9R^R2CfdP=W3km*_d zR8L9)FUVzPI~+~}>Vw2b#kMt(5TA+D+wP)%_q22IJ#G@a_*`=^kVFA^i3m;VOS?-C zv)N^TGyxGzjj?VKpIXge(Uv$R*P}*P+}>SPf}9A2sV>fb%c+C=RH^8E>778DS$C|< zZ(*YqJe0S*a>3fVd&e+J%iFX(=gNL)+0uW)1LL5?fImnE8$o^|8bz3y5k*a`!|mdN z9brG9;Tk;I?#aO?f$zPF$4--yT%{gZ=W5_?4yv|X>ieZAE-&`3 zBa)n-lF8NCI7NIQnr?W>&x3iUibe7Lx55=*afKnBtR_+*;zjT^I<~=JeWZgTtcsbu z#oE*?1hf|~O~r>^_CjSTK|L8k;w(>LUpxFVy4+ozqcgFfoWw&AwEh`-|7D^YTZ7T8 zb03V`%C-^pWIr~-w)WWhu=r5TLUGVE<(PH>)B6e&$CS%XS^RZv=gu)V~s&h*%)8dEo$6MpYTW*>{86-Z*Ct14}-xqDU;1P&=FN<_6~=s_hV9nbmtd=2XU&=COKD)O0WU%f|al zx0D2TnSHLN!lCNAm8=R+VA_nT*t9x&zvV1LE9oIl5K8n^)G7^z9lm9Tq=VHCPM7ZM zqa40vYJ!503&>I#`08HbCkutjm=&D~*HU3Z7<4mc7ksu${8)kb$(P@7N58-#-QCHX z-P?zH;+y_dVX!QC9z7AT^IDZ225$hb`_OdjV*|#-mtpzRyIbHKK5xs!wv^Q8Ptsnc zqvxsHGPy#zDf)dRi6bB+DWQ_+R`YIB2Sv)x+T=3a^{3s;63n{U z5Z~*vws{w1W|+4s((@ikDUKN#ssnxWfd~?Tlz*(!;iJgRmy@K zQ5gMJ)&$~IuyG&eL6F$19jd#M#Gi6WQ6&0GDuKvq)nhypIP08Z4XxRhd;mRckKASY zjGpGj{#GE|XxST?R;YP4m>`YOwp(^z(lZA^spG}Z`g!EZ2q+71UxBL@ZLb#Hw~)y= zq8zerxm0xARv$&Spy#2b38~shW;dej3%y_)e=Le{xujDE`I+9q*HD0e(N9EfMJt>~ zw9i%e{p5CVtm#tuMrW&U7uny_n$%x&Qn8p`ggzD|z^}2xeJu1Y1pOQ1i>@jJNFl{* z{Z=-vH{pS+Ko%^?w=fL86nwbhwC9H_-*pl&9FPyl8xGFDke-rL0WRr~>Of;6nP%At zH`HK+L&rinq>-FdbKO`eIYZq7_2a0IA8UR2U5HTAv)1@ekv`3=_ zpzqv-xm|ksHaV(|BKoyxUnT65qatj32#)Tkos8Sb(zWf`x8IZR<1p!ltvAVm9qxZU zqe|JkxEk5o{_~8g;pIzYhVS2VY;Mt*QF>UqnEGy&!)i9Wsf1Au)iM*yc(#e-qip3j zstgXqPQKA&2CH*nF|i9MF>U^M`fzO8sSpeVPc<=gZ04?bx(&~QLYjqxoMkz#@s{(e zxE!y8r;W3Zxp$AZ7rz9q;R4L8UBLG6=!9`k6Nk$7oLcz>Fu#%das_~$q93^kuUBo? zb)C&Reg@+O{MZFAh`ncJI78R+QhX;7b&e+f;;ES$2Yn9rj&acBzU$bpH;#GaNd}zm zv4Ldhd%8*ivIe2_sf7M_~)ddP0nZX07i%@oIuh5+|cbj zg4dGm5-_Gj$khvn`d7h*D`&7@1H%D9%EH~U2+TH>pL#cKP$-Pei#3e=v#d^RmMp}) zO~m^Hu%)Pws|uQV8o#O+P`o8XNTr!W^5sm>>w0S`lH%S>8tIAAOD}{fwB#Ga>^@}m z>*(}!n;BwX)=A`O$HuF85*oC+nXb#bV6gmw$ zM)I+^tBj39k|mil)9It-i3ny%_@-e87SUFg>s;n6cYQq6+L$dyT8G7U*ZU2!PEJdv zgS!b(DhAX^R(2)F-vy+ZB1>;YF{>#bw=1+qI?gjHZo>oA=WKvT!-Vv4XQp$?hwthW zsKg&^C~H5yTo18fT$?%cq%^=6K4IgU1d=Yweo&-0X?fWbq)W5NJqxF1BjZc06HqXG5~#2R>#admR?GE z1(JjxoAGi7-5x@U{Hz+b``~9$?$Y7;FyumFUZg5Hya!X-*0nS987>?k%xG zx+S}ML5BH!ncrP?%?}Qbyn{aAss%00l5lH<=g!k>99ah+Z*QbP|%2)$57Isj4R15>8Mm!S@JEBn=eBGa0_#| zsufw|m-5R=Xt+5WzGghd3g1w%6aRGkq|jYRZ__e_)Z#Em%Yex^CZA&NjtVI9+ZJLc zeiu$*I~>H}b?i@`4S!v$4kOF1asz)$FE{_QQYfdU%FLQ44R)=zvRV$1l) z*=}dwNcpbmJ$WU;qEG1_nMAfBz9t?c(Is~M-P8}7!5464)0zB7cRd8ChuX9Q_K_50 zqRER48mD8G{M=v`rR-6RI&0(Doc@~`TvkezJQ&T~S*b~TU6#p;n;{qc^wgbHu`A0D zu&tWPTs?Ov$98R)s2`G^g{`Ja_T?pY+5;&&$ow_>W*D)j0$VrU#_K@|5!JqyOB`V zksGy)z;{yTDN@a5xn0eeRI%Yr`Z(5lzem*Z!~Xk?eP79`YXMTskj;!+RUNfCg1MPj z?2KOoZARrS7d*l2RmApf0Cvi|{Dhijw?lh|ADdIouZMSJG--6oLha@}XEJOK8;$o1 z`5(l+?~nHu=V?BXZn{)TIbwPJi&4){& z=`~I^f){>{+8D}l(Un>X^Z!-=gxFIw76}xIaC;Yq;nTGix5IWiO>o0jL%-8m`v{J; zurQC*zX&4Nb3|jmza$cs`p%7X0_ID)+1-bA2|yU$cbL;{*@@?hE(~7ci~LkJHBdCg zC&3~HN;Hy1PQ7G}wjzh)dK7szNgzM1 zIlG>7b@evuF5VSlAP^cTicOT>VZq5KPM@$qcAaCxKf)`7ss6TX*~bQB#3DYX%I_*-II{r9LkZSt-BC%5ZWGRTZHa&w{;xQq*DsyM5gTxJ^k zaV1FD3gvvM2epKYinYTy&cFgH#v3gOMtMR;h+dS^TB1C*j6K^AqtA zK?I9@bjk}nb>FdrC&t-(N`a5PT}jzA@xLfC7G?*S%P65HsR4IJyDXV2)OMKffvwRxk$P=^w7r)2*#iHg$CR{{Y?V#+NXm2V4uvG|tXY<#?5Px&j~sr)edcCU z)E(kXQ0Ezs3VS)>tnOORsp{e`DsGuz4_2QYKfo_rY$)Va$Wh}y_aZMRhp+DaLt+f6$QBKqE@e?KcBao~IK zzXkX&a_ir5f7dJiiAxLfx48dPz4$x&?@E_H(dFLsk$?BK|F7=lcg){=xqo7QMgLpO zzh=?D!~Nbt`4cW3=WpTu(ogvv?e}8kpJ+aWe~b3tOP9Yx|6VZo6I%KG-$MUZKKLE) o_q6;^JpQ*9`QJR7za;63GSF}T4=^y~x7Pq97?}1SrCG552M#f=-~a#s literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 000000000..574f232ce --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Fri Feb 04 09:28:52 CST 2011 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=http\://gradle.artifactoryonline.com/gradle/distributions/gradle-0.9.2-bin.zip diff --git a/gradlew b/gradlew new file mode 100755 index 000000000..d8809f151 --- /dev/null +++ b/gradlew @@ -0,0 +1,168 @@ +#!/bin/bash + +############################################################################## +## ## +## Gradle wrapper script for UN*X ## +## ## +############################################################################## + +# Uncomment those lines to set JVM options. GRADLE_OPTS and JAVA_OPTS can be used together. +# GRADLE_OPTS="$GRADLE_OPTS -Xmx512m" +# JAVA_OPTS="$JAVA_OPTS -Xmx512m" + +GRADLE_APP_NAME=Gradle + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; +esac + +# Attempt to set JAVA_HOME if it's not already set. +if [ -z "$JAVA_HOME" ] ; then + if $darwin ; then + [ -z "$JAVA_HOME" -a -d "/Library/Java/Home" ] && export JAVA_HOME="/Library/Java/Home" + [ -z "$JAVA_HOME" -a -d "/System/Library/Frameworks/JavaVM.framework/Home" ] && export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Home" + else + javaExecutable="`which javac`" + [ -z "$javaExecutable" -o "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ] && die "JAVA_HOME not set and cannot find javac to deduce location, please set JAVA_HOME." + # readlink(1) is not available as standard on Solaris 10. + readLink=`which readlink` + [ `expr "$readLink" : '\([^ ]*\)'` = "no" ] && die "JAVA_HOME not set and readlink not available, please set JAVA_HOME." + javaExecutable="`readlink -f \"$javaExecutable\"`" + javaHome="`dirname \"$javaExecutable\"`" + javaHome=`expr "$javaHome" : '\(.*\)/bin'` + export JAVA_HOME="$javaHome" + fi +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched. +if $cygwin ; then + [ -n "$JAVACMD" ] && JAVACMD=`cygpath --unix "$JAVACMD"` + [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` +fi + +STARTER_MAIN_CLASS=org.gradle.wrapper.GradleWrapperMain +CLASSPATH=`dirname "$0"`/gradle/wrapper/gradle-wrapper.jar +WRAPPER_PROPERTIES=`dirname "$0"`/gradle/wrapper/gradle-wrapper.properties +# Determine the Java command to use to start the JVM. +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="java" + fi +fi +if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi +if [ -z "$JAVA_HOME" ] ; then + warn "JAVA_HOME environment variable is not set" +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query businessSystem maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add GRADLE_APP_NAME to the JAVA_OPTS as -Xdock:name +if $darwin; then + JAVA_OPTS="$JAVA_OPTS -Xdock:name=$GRADLE_APP_NAME" +# we may also want to set -Xdock:image +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + JAVA_HOME=`cygpath --path --mixed "$JAVA_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +GRADLE_APP_BASE_NAME=`basename "$0"` + +exec "$JAVACMD" $JAVA_OPTS $GRADLE_OPTS \ + -classpath "$CLASSPATH" \ + -Dorg.gradle.appname="$GRADLE_APP_BASE_NAME" \ + -Dorg.gradle.wrapper.properties="$WRAPPER_PROPERTIES" \ + $STARTER_MAIN_CLASS \ + "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 000000000..4855abb88 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,82 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem ## +@rem Gradle startup script for Windows ## +@rem ## +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +@rem Uncomment those lines to set JVM options. GRADLE_OPTS and JAVA_OPTS can be used together. +@rem set GRADLE_OPTS=%GRADLE_OPTS% -Xmx512m +@rem set JAVA_OPTS=%JAVA_OPTS% -Xmx512m + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=.\ + +@rem Find java.exe +set JAVA_EXE=java.exe +if not defined JAVA_HOME goto init + +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. +echo. +goto end + +:init +@rem Get command-line arguments, handling Windowz variants + +if not "%OS%" == "Windows_NT" goto win9xME_args +if "%eval[2+2]" == "4" goto 4NT_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +set CMD_LINE_ARGS=%$ + +:execute +@rem Setup the command line + +set STARTER_MAIN_CLASS=org.gradle.wrapper.GradleWrapperMain +set CLASSPATH=%DIRNAME%\gradle\wrapper\gradle-wrapper.jar +set WRAPPER_PROPERTIES=%DIRNAME%\gradle\wrapper\gradle-wrapper.properties + +set GRADLE_OPTS=%JAVA_OPTS% %GRADLE_OPTS% -Dorg.gradle.wrapper.properties="%WRAPPER_PROPERTIES%" + +@rem Execute Gradle +"%JAVA_EXE%" %GRADLE_OPTS% -classpath "%CLASSPATH%" %STARTER_MAIN_CLASS% %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +if not "%OS%"=="Windows_NT" echo 1 > nul | choice /n /c:1 + +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit "%ERRORLEVEL%" +exit /b "%ERRORLEVEL%" + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega \ No newline at end of file diff --git a/pom.xml b/pom.xml index 8308bf52f..e22db00df 100644 --- a/pom.xml +++ b/pom.xml @@ -52,9 +52,9 @@ jbrisbin Jon Brisbin - jon at jbrisbin.com - NPC International - http://www.npcinternational.com + jbrisbin at vmware.com + SpringSource + http://www.SpringSource.com Developer diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 000000000..3f8921f80 --- /dev/null +++ b/settings.gradle @@ -0,0 +1,3 @@ +include "spring-data-keyvalue-core", + "spring-data-redis", + "spring-data-riak" \ No newline at end of file diff --git a/spring-data-keyvalue-core/build.gradle b/spring-data-keyvalue-core/build.gradle new file mode 100644 index 000000000..e69de29bb diff --git a/spring-data-redis/build.gradle b/spring-data-redis/build.gradle new file mode 100644 index 000000000..553a5bc8e --- /dev/null +++ b/spring-data-redis/build.gradle @@ -0,0 +1,12 @@ +repositories { + mavenRepo name: "ext-snapshots", urls: "http://springframework.svn.sourceforge.net/svnroot/springframework/repos/repo-ext/" +} + +dependencies { + compile project(":spring-data-keyvalue-core") + compile "javax.annotation:jsr250-api:1.0" + compile "com.thoughtworks.xstream:xstream:1.3" + compile "redis.clients:jedis:$jedisVersion" + compile "org.jredis:jredis-anthonylauzon:$jredisVersion" + compile "org.springframework:spring-oxm:$springVersion" +} diff --git a/spring-data-riak/build.gradle b/spring-data-riak/build.gradle new file mode 100644 index 000000000..0610d27c2 --- /dev/null +++ b/spring-data-riak/build.gradle @@ -0,0 +1,9 @@ +dependencies { + compile project(":spring-data-keyvalue-core") + compile "org.codehaus.groovy:groovy-all:1.7.6" + compile "javax.mail:mail:1.4.1" + compile "javax.activation:activation:1.1.1" + compile "commons-cli:commons-cli:1.2" + + compile "org.springframework:spring-web:$springVersion" +} diff --git a/spring-data-riak/src/main/java/org/springframework/data/keyvalue/riak/mapreduce/AbstractRiakMapReduceJob.java b/spring-data-riak/src/main/java/org/springframework/data/keyvalue/riak/mapreduce/AbstractRiakMapReduceJob.java index fc41e66db..9ce6b664a 100644 --- a/spring-data-riak/src/main/java/org/springframework/data/keyvalue/riak/mapreduce/AbstractRiakMapReduceJob.java +++ b/spring-data-riak/src/main/java/org/springframework/data/keyvalue/riak/mapreduce/AbstractRiakMapReduceJob.java @@ -40,103 +40,105 @@ import java.util.Map; @SuppressWarnings({"unchecked"}) public abstract class AbstractRiakMapReduceJob implements MapReduceJob { - protected final Log log = LogFactory.getLog(getClass()); - protected List inputs = new LinkedList(); - protected List phases = new ArrayList(); + protected final Log log = LogFactory.getLog(getClass()); + protected List inputs = new LinkedList(); + protected List phases = new ArrayList(); - public List getInputs() { - return this.inputs; - } + public List getInputs() { + return this.inputs; + } - public MapReduceJob addInputs(List keys) { - inputs.addAll(keys); - return this; - } + public MapReduceJob addInputs(List keys) { + inputs.addAll(keys); + return this; + } - public MapReduceJob addPhase(MapReducePhase phase) { - phases.add(phase); - return this; - } + public MapReduceJob addPhase(MapReducePhase phase) { + phases.add(phase); + return this; + } - public List getPhases() { - return this.phases; - } + public List getPhases() { + return this.phases; + } - public String toJson() { - StringWriter out = new StringWriter(); - try { - JsonGenerator json = new JsonFactory().createJsonGenerator(out); - json.setCodec(new ObjectMapper()); - json.writeStartObject(); + public String toJson() { + StringWriter out = new StringWriter(); + try { + JsonGenerator json = new JsonFactory().createJsonGenerator(out); + json.setCodec(new ObjectMapper()); + json.writeStartObject(); - // Inputs - json.writeFieldName("inputs"); - if (1 == inputs.size() && !(inputs.get(0) instanceof List)) { - json.writeString(inputs.get(0).toString()); - } else if (inputs.size() > 0) { - json.writeStartArray(); - for (Object obj : inputs) { - List pair = (List) obj; - json.writeStartArray(); - json.writeString(pair.get(0).toString()); - json.writeString(pair.get(1).toString()); - json.writeEndArray(); - } - json.writeEndArray(); - } + // Inputs + json.writeFieldName("inputs"); + if (1 == inputs.size() && !(inputs.get(0) instanceof List)) { + json.writeString(inputs.get(0).toString()); + } else if (inputs.size() > 0) { + json.writeStartArray(); + for (Object obj : inputs) { + List pair = (List) obj; + json.writeStartArray(); + json.writeString(pair.get(0).toString()); + json.writeString(pair.get(1).toString()); + json.writeEndArray(); + } + json.writeEndArray(); + } - // Query - json.writeFieldName("query"); - json.writeStartArray(); - for (MapReducePhase phase : phases) { - json.writeStartObject(); - switch (phase.getPhase()) { - case MAP: - json.writeFieldName("map"); - break; - case REDUCE: - json.writeFieldName("reduce"); - break; - } + // Query + json.writeFieldName("query"); + json.writeStartArray(); + for (MapReducePhase phase : phases) { + json.writeStartObject(); + switch (phase.getPhase()) { + case MAP: + json.writeFieldName("map"); + break; + case REDUCE: + json.writeFieldName("reduce"); + break; + case LINK: + json.writeFieldName("link"); + } - json.writeStartObject(); - json.writeStringField("language", phase.getLanguage()); - Object repr = phase.getOperation().getRepresentation(); - if (repr instanceof String) { - // Using source - json.writeStringField("source", - String.format("%s", phase.getOperation().getRepresentation())); - } else if (repr instanceof BucketKeyPair) { - BucketKeyPair pair = (BucketKeyPair) repr; - json.writeStringField("bucket", - String.format("%s", pair.getBucket())); - json.writeStringField("key", String.format("%s", pair.getKey())); - } else if (repr instanceof Map) { - for (Map.Entry entry : ((Map) repr).entrySet()) { - json.writeStringField(entry.getKey().toString(), - entry.getValue().toString()); - } - } - if (phase.getKeepResults()) { - json.writeBooleanField("keep", true); - } - // Arg - if (null != phase.getArg()) { - json.writeObjectField("arg", phase.getArg()); - } + json.writeStartObject(); + json.writeStringField("language", phase.getLanguage()); + Object repr = phase.getOperation().getRepresentation(); + if (repr instanceof String) { + // Using source + json.writeStringField("source", + String.format("%s", phase.getOperation().getRepresentation())); + } else if (repr instanceof BucketKeyPair) { + BucketKeyPair pair = (BucketKeyPair) repr; + json.writeStringField("bucket", + String.format("%s", pair.getBucket())); + json.writeStringField("key", String.format("%s", pair.getKey())); + } else if (repr instanceof Map) { + for (Map.Entry entry : ((Map) repr).entrySet()) { + json.writeStringField(entry.getKey().toString(), + entry.getValue().toString()); + } + } + if (phase.getKeepResults()) { + json.writeBooleanField("keep", true); + } + // Arg + if (null != phase.getArg()) { + json.writeObjectField("arg", phase.getArg()); + } - json.writeEndObject(); - json.writeEndObject(); - } - json.writeEndArray(); + json.writeEndObject(); + json.writeEndObject(); + } + json.writeEndArray(); - json.writeEndObject(); - json.flush(); + json.writeEndObject(); + json.flush(); - } catch (IOException e) { - log.error(e.getMessage(), e); - } - return out.toString(); - } + } catch (IOException e) { + log.error(e.getMessage(), e); + } + return out.toString(); + } } diff --git a/spring-data-riak/src/main/java/org/springframework/data/keyvalue/riak/mapreduce/MapReduceLinkOperation.java b/spring-data-riak/src/main/java/org/springframework/data/keyvalue/riak/mapreduce/MapReduceLinkOperation.java new file mode 100644 index 000000000..844628d63 --- /dev/null +++ b/spring-data-riak/src/main/java/org/springframework/data/keyvalue/riak/mapreduce/MapReduceLinkOperation.java @@ -0,0 +1,26 @@ +package org.springframework.data.keyvalue.riak.mapreduce; + +import java.util.LinkedHashMap; +import java.util.Map; + +/** + * @author J. Brisbin + */ +public class MapReduceLinkOperation implements MapReduceOperation { + + protected String bucket = null; + protected String key; + + public MapReduceLinkOperation(String bucket, String key) { + this.bucket = bucket; + this.key = key; + } + + public Object getRepresentation() { + Map repr = new LinkedHashMap(); + repr.put("bucket", (null != bucket ? bucket : "_")); + repr.put("key", (null != key ? key : "_")); + return repr; + } + +} diff --git a/spring-data-riak/src/main/java/org/springframework/data/keyvalue/riak/mapreduce/MapReducePhase.java b/spring-data-riak/src/main/java/org/springframework/data/keyvalue/riak/mapreduce/MapReducePhase.java index 030d75c16..0eadb4b0f 100644 --- a/spring-data-riak/src/main/java/org/springframework/data/keyvalue/riak/mapreduce/MapReducePhase.java +++ b/spring-data-riak/src/main/java/org/springframework/data/keyvalue/riak/mapreduce/MapReducePhase.java @@ -25,44 +25,58 @@ package org.springframework.data.keyvalue.riak.mapreduce; */ public interface MapReducePhase { - public static enum Phase { - MAP, REDUCE - } + public static enum Phase { + MAP, REDUCE, LINK + } - Phase getPhase(); + /** + * The bucket pattern to match on link phases. + * + * @return + */ + String getBucket(); - /** - * The language this phase is described in. - * - * @return - */ - String getLanguage(); + /** + * Set the bucket pattern to match on link phases. + * + * @param bucket + */ + void setBucket(String bucket); - /** - * Whether or not to keep the result of this phase. - * - * @return - */ - boolean getKeepResults(); + Phase getPhase(); - /** - * Get the operation this phase will execute. - * - * @return - */ - MapReduceOperation getOperation(); + /** + * The language this phase is described in. + * + * @return + */ + String getLanguage(); - /** - * Set the static argument for this job. - * - * @param arg - */ - void setArg(Object arg); + /** + * Whether or not to keep the result of this phase. + * + * @return + */ + boolean getKeepResults(); - /** - * Get the static argument for this phase. - * - * @return - */ - Object getArg(); + /** + * Get the operation this phase will execute. + * + * @return + */ + MapReduceOperation getOperation(); + + /** + * Set the static argument for this job. + * + * @param arg + */ + void setArg(Object arg); + + /** + * Get the static argument for this phase. + * + * @return + */ + Object getArg(); } diff --git a/spring-data-riak/src/main/java/org/springframework/data/keyvalue/riak/mapreduce/RiakMapReducePhase.java b/spring-data-riak/src/main/java/org/springframework/data/keyvalue/riak/mapreduce/RiakMapReducePhase.java index dfdee5ab9..3e5ca4b87 100644 --- a/spring-data-riak/src/main/java/org/springframework/data/keyvalue/riak/mapreduce/RiakMapReducePhase.java +++ b/spring-data-riak/src/main/java/org/springframework/data/keyvalue/riak/mapreduce/RiakMapReducePhase.java @@ -26,54 +26,63 @@ package org.springframework.data.keyvalue.riak.mapreduce; */ public class RiakMapReducePhase implements MapReducePhase { - protected Phase phase; - protected String language; - protected MapReduceOperation operation; - protected boolean keepResults = false; - protected Object arg; + protected Phase phase; + protected String bucket; + protected String language; + protected MapReduceOperation operation; + protected boolean keepResults = false; + protected Object arg; - public RiakMapReducePhase(String phase, String language, MapReduceOperation oper) { - this.phase = Phase.valueOf(phase.toUpperCase()); - this.language = language; - this.operation = oper; - } + public RiakMapReducePhase(String phase, String language, MapReduceOperation oper) { + this.phase = Phase.valueOf(phase.toUpperCase()); + this.language = language; + this.operation = oper; + } - public RiakMapReducePhase(Phase phase, String language, MapReduceOperation oper) { - this.phase = phase; - this.language = language; - this.operation = oper; - } + public RiakMapReducePhase(Phase phase, String language, MapReduceOperation oper) { + this.phase = phase; + this.language = language; + this.operation = oper; + } - public Phase getPhase() { - return phase; - } + public String getBucket() { + return this.bucket; + } - public String getLanguage() { - return language; - } + public void setBucket(String bucket) { + this.bucket = bucket; + } - public MapReduceOperation getOperation() { - return this.operation; - } + public Phase getPhase() { + return phase; + } - public boolean getKeepResults() { - return this.keepResults; - } + public String getLanguage() { + return language; + } - public void setKeepResults(boolean keepResults) { - this.keepResults = keepResults; - } + public MapReduceOperation getOperation() { + return this.operation; + } - public void setOperation(MapReduceOperation oper) { + public boolean getKeepResults() { + return this.keepResults; + } - this.operation = oper; - } + public void setKeepResults(boolean keepResults) { + this.keepResults = keepResults; + } - public Object getArg() { - return arg; - } + public void setOperation(MapReduceOperation oper) { - public void setArg(Object arg) { - this.arg = arg; - } + this.operation = oper; + } + + public Object getArg() { + return arg; + } + + public void setArg(Object arg) { + this.arg = arg; + } } diff --git a/src/docbkx/index.xml b/src/docbkx/index.xml index d3ec64c7d..0d1b02b26 100644 --- a/src/docbkx/index.xml +++ b/src/docbkx/index.xml @@ -15,7 +15,7 @@ Jon Brisbin - NPC International, Inc. + SpringSource