From 3f507fb7ca1c6c7bec8a41e0a09d6710fced282a Mon Sep 17 00:00:00 2001 From: Viktor Klang Date: Tue, 31 Aug 2010 19:12:14 +0200 Subject: [PATCH] Initial UUID migration --- .../se/scalablesolutions/akka/util/UUID.java | 59 ------------------ akka-actor/src/main/scala/util/UUID.scala | 9 +++ .../src/main/scala/remote/RemoteClient.scala | 12 ---- .../serialization/SerializationProtocol.scala | 5 +- embedded-repo/com/eaio/uuid/3.2/uuid-3.2.jar | Bin 0 -> 15009 bytes embedded-repo/com/eaio/uuid/3.2/uuid-3.2.pom | 8 +++ project/build/AkkaProject.scala | 3 + 7 files changed, 23 insertions(+), 73 deletions(-) delete mode 100644 akka-actor/src/main/java/se/scalablesolutions/akka/util/UUID.java create mode 100644 akka-actor/src/main/scala/util/UUID.scala create mode 100644 embedded-repo/com/eaio/uuid/3.2/uuid-3.2.jar create mode 100644 embedded-repo/com/eaio/uuid/3.2/uuid-3.2.pom diff --git a/akka-actor/src/main/java/se/scalablesolutions/akka/util/UUID.java b/akka-actor/src/main/java/se/scalablesolutions/akka/util/UUID.java deleted file mode 100644 index f06aab34df..0000000000 --- a/akka-actor/src/main/java/se/scalablesolutions/akka/util/UUID.java +++ /dev/null @@ -1,59 +0,0 @@ -/** - * Copyright (C) 2009-2010 Scalable Solutions AB - */ -package se.scalablesolutions.akka.util; - -/** - * NOTE: - *

- * This code is based on code from the [Plasmid Replication Engine] project. - *
- * Licensed under [Mozilla Public License 1.0 (MPL)]. - *

- * Original JavaDoc: - *

- * Our distributed objects are generally named most efficiently (and cleanly) - * by their UUID's. This class provides some static helpers for using UUID's. - * If it was efficient to do in Java, I would make the uuid an normal class - * and use instances of it. However, in current JVM's, we would end up using an - * Object to represent a long, which is pretty expensive. Maybe someday. ### - *

- * UUID format: currently using currentTimeMillis() for the low bits. This uses - * about 40 bits for the next 1000 years, leaving 24 bits for debugging - * and consistency data. I'm using 8 of those for a magic asci 'U' byte. - *

- * Future: use one instance of Uuid per type of object for better performance - * and more detailed info (instance could be matched to its uuid's via a map or - * array). This all static version bites.### - */ -public final class UUID { - - public static final long UUID_NONE = 0; - public static final long UUID_WILD = -1; - public static final long UUID_MAGICMASK = 0xff << 56; - public static final long UUID_MAGIC = 'U' << 56; - - protected static long lastTime; - - /** - * Generate and return a new Universally Unique ID. - * Happens to be monotonically increasing. - */ - public synchronized static long newUuid() { - long time = System.currentTimeMillis(); - - if (time <= lastTime) { - time = lastTime + 1; - } - lastTime = time; - return UUID_MAGIC | time; - } - - /** - * Returns true if uuid could have been generated by Uuid. - */ - public static boolean isValid(final long uuid) { - return (uuid & UUID_MAGICMASK) == UUID_MAGIC - && (uuid & ~UUID_MAGICMASK) != 0; - } -} \ No newline at end of file diff --git a/akka-actor/src/main/scala/util/UUID.scala b/akka-actor/src/main/scala/util/UUID.scala new file mode 100644 index 0000000000..548f014e58 --- /dev/null +++ b/akka-actor/src/main/scala/util/UUID.scala @@ -0,0 +1,9 @@ +/** + * Copyright (C) 2009-2010 Scalable Solutions AB + */ + +package se.scalablesolutions.akka.util + +object UUID { + def newUuid = new com.eaio.uuid.UUID() +} \ No newline at end of file diff --git a/akka-remote/src/main/scala/remote/RemoteClient.scala b/akka-remote/src/main/scala/remote/RemoteClient.scala index 35578477ff..459c260a62 100644 --- a/akka-remote/src/main/scala/remote/RemoteClient.scala +++ b/akka-remote/src/main/scala/remote/RemoteClient.scala @@ -31,18 +31,6 @@ import java.util.concurrent.atomic.AtomicLong import scala.collection.mutable.{HashSet, HashMap} import scala.reflect.BeanProperty -/** - * Atomic remote request/reply message id generator. - * - * @author Jonas Bonér - */ -object RemoteRequestProtocolIdFactory { - private val nodeId = UUID.newUuid - private val id = new AtomicLong - - def nextId: Long = id.getAndIncrement + nodeId -} - /** * Life-cycle events for RemoteClient. */ diff --git a/akka-remote/src/main/scala/serialization/SerializationProtocol.scala b/akka-remote/src/main/scala/serialization/SerializationProtocol.scala index 3f54f8e921..4050c2026f 100644 --- a/akka-remote/src/main/scala/serialization/SerializationProtocol.scala +++ b/akka-remote/src/main/scala/serialization/SerializationProtocol.scala @@ -10,11 +10,12 @@ import se.scalablesolutions.akka.stm.global._ import se.scalablesolutions.akka.stm.TransactionManagement._ import se.scalablesolutions.akka.stm.TransactionManagement import se.scalablesolutions.akka.remote.protocol.RemoteProtocol._ -import se.scalablesolutions.akka.remote.{RemoteServer, RemoteRequestProtocolIdFactory, MessageSerializer} +import se.scalablesolutions.akka.remote.{RemoteServer, MessageSerializer} import se.scalablesolutions.akka.remote.protocol.RemoteProtocol.ActorType._ import se.scalablesolutions.akka.serialization.Serializer import com.google.protobuf.ByteString +import se.scalablesolutions.akka.util.UUID /** * Type class definition for Actor Serialization @@ -267,7 +268,7 @@ object RemoteActorSerialization { val actorInfo = actorInfoBuilder.build val requestBuilder = RemoteRequestProtocol.newBuilder - .setId(RemoteRequestProtocolIdFactory.nextId) + .setId(UUID.newUuid) .setMessage(MessageSerializer.serialize(message)) .setActorInfo(actorInfo) .setIsOneWay(isOneWay) diff --git a/embedded-repo/com/eaio/uuid/3.2/uuid-3.2.jar b/embedded-repo/com/eaio/uuid/3.2/uuid-3.2.jar new file mode 100644 index 0000000000000000000000000000000000000000..b205a2488e6c050feec7e89352e93fc9ae59ab09 GIT binary patch literal 15009 zcmWIWW@h1H00GO~={6u5hB+A+7<^qr9CbbY-1K3}I2bH)r`!01`D&ywFfi0IFffQ9 zEAw^q^K^3!4$<><`|Nw>w2!y0-bG$-U9EFx&TkGfxMKX^X_1cCxf43xx=tMIPnLvD z5z{`PQn7PRcaX4mP;kjyt+gUD+(MI$gG6hDPX~Rj*g40`xY+B!qsX6_zdL;l}0BvM)C9r6xJS5=n3kPP_G5x$St7p-~t?&}BNg~v7-Ew9d)D?Lw6F0WZtai*02t*G@&b+=@N zw3}P>rM?f5buiX?Y8#SkDHqCcZozSLi7Odru_;!zE-^b^kt|-{q zb}1_OrO?j>W>>$=TYGWtrh@06bw6n*70L^UtPH)``0n|e?b;UE*JqtPxMGcT=~GLl zm{q%0ev`|)KG*JLH`B)tJC$G0^%oPan9n%JXRY-A_0J*>m%P}L%e-RiayuWs_G|pw zSCzXG`q+(|LSvsxn*7?g@66d)gLK!a2gP5l6Fs}@`L#KJ^nT7}(au`7(cRNDIjec< z*{=1gis~M%l)ha0?9JlPW$U;4r_AS=SP?3BCf_uDXARTd!i=v;2kj4h__yl1_U&me z{w`S8x^h;+-ly#ri>GhrlaEXO-Yl8E_kZ#uab!6=^96Viw>Iy$(>n}N)toNO9%}$>Q!q+^!6c;;v+R(AGVU0lKEaNHt6U-i- zj9S2Tdy|V^;8YdO4dONq`xX}3cwc0?%Y8*qVA;*M56^pBe5KrZ+O^xxz0gV%*W?jB zHYJ}~=%Q|Inz5FvnBn@^yKl{MI~At{>iz?p1K z1_lOo1_lNm1_lODw$e+^&($j}%IW@gM%z>Ol(#PDxfA+Yo_e~SPoHw}e%g3eLsN6Z zrR)B_XU<&rK6joK&B*neA8vMIW?=Zv%D}+Ez`y{?q zN`#n(hc^E|86z2K5qa?H*R%513%)-8^Xl@S%g6iYFW;auWnbgpxRwu$U3?+8%{NV* zt3BtE>R&Zc?40MTNVCv6 zu`DfZYqcUx7FgML28+y_vij?T10Jt?v^docEZHQfl~lxKzAE%xYEsJs^)$}%4H~UC z*e<;Cl6|SYcVC@_$*F6MAzc^vo1K@drfXWSQPL6Fa)E74juca%M#8PN!p9GEA9J(i zz3%(?)7tr2cZ2j8_j(*Elx4r1nEdjzR`27_we=@1O>Do=zbo^LaHdXaxaOp^{AICc z4C7?J+`n{M>b%=>*-dgQFZ6v`Z*AL}6T6_TdCoC)?WRMO;`vh~7bVKhV{e^(G5hiF zf8ifrnmm=}i`;bXedH;}lnvgK^Oc?`&e_QGb~D2}*L|MfEEC*LJ^I5q$#laH#(zSE z5)A+Mc~?#o44Kq)#X(8%ra+^#*-H@MNf`T6O`Y*a98M&BiH87n~-}`_IoQQ z(^9+QM-}@Y-cwD|VcK@eRp@d}nCG138EhKnXE$Cs-yZbd^%!%)$`ctDuT5^UIb1%v z=*Z)Q%rou^v;O?%JtVS)GiUzCa5u$t!9%Gb|IO-eJvo}wwmmK5#hR@j&hw~s$B7yF zo9%7SI4?F`-@T;f+#E?SbNPu3YSle^{mWM!OCsHcm2YMzQmVo^$YVo|DNN=i{`aj{Q+es*brUUE)iaq-lU z+kV1={6@mBW&4HrCG*QMB0e`bqM`J4bTE_IGmTjmP2tXh%TIb-`~wK=ZIx@SFn zulPy5YO*BKkJF!z%$0-aj3kH;S0V#ZOru%P60Med8t!?!Mc)~KE``?cGo z$}LZNrxkpiQBa6-%@9z@T58$N>O*`2n#%XF>wM1B9{9z6^)1HTniWPZoypJnRtQG$}@6(wQFAJl`EnS|x!85L1 z=umUITxqmohGNOz<1U<6(@W>C%k5Ojj@YhvCuy3^oCh!Wc=s&dx1_PW?DC0oxBF)J zcFQL2ym`lKy?~bP#^+)O9{HZS{9uXcnZ+HZ>&rECzPoa|K3RRS;M(dnbGzqHUj4}2 zNHTFLN9{uUApd6$mcK7vU0IOHY#tosu*LE5_mH}pKTj>2uRflAPW@x#y-JQ>GmPV( zEst*!apt|hbq{ma#RKXmHN~3h7xWY=I9^o#@ocxhz{`IvMu(z(KDa8@I9IND&hSrA zb;TS7k&wRCf8Spe3z@=r-`b?MaaYXU!j7&5MJ?Ry94_A<-v9r#RQ^=Wb@p|S4l_Mk z@x*G<)d@L`(;h5N|8TjOB|~!SmZq>MSL?k84E7!ou4=6`+TifIBbcju%f#17bE>nR z{$H&y%QD*9>SB|2fJE(~AEE2EoQS&~p`jVD=)zi;^^e(%Gxaqlet)0P&2L^Tw>{u| zdPA-hTVQ+Febn6ZzR^3^kDGy^T$F)98dvUt*#Ws(DDH{&Y1w75evPVV{fjF)9g!iun!0jqhnwq&(C?|muIpdVX}<5}!M_y;dhHI zZ@Vulul>DFnq5Su{<1|v@x;U#CS)b@z+lY7p^S6D0Mia zZ!6b|s}no&!rHcGg!FUmI2m!;S$9{%jvm3xi%guXjdy0P-pV`6evRv_KVPRwcA1S}YZ{Sw%2wOuV?%a2mslpo0(11{`OaxJ~Ow5sLzQ?r+0PhUnCsmq0R zzL0+G{+-1qcJr4X?VBGMX`bag;uG9|JnuTGj(b_xW_|Jbb@kzf zdrMkRGhgZ}`OCP#i#jg@!?Em6$7QIViT{;IJ)9>ly}Us2Q#|n zKhWKI)&J=SV^Mqe&0X;cy1`1$Rx2x{^EH1g?J6&bIk-M#&V+#K?x0zbQL-CLHV1O6 zR5v%3hyIb;FQ}0uHSLs<&eYV1Sq7y^$Kn<}+Wup1*Zswj36~;OCmi^3-fRAn?sFdV z7tNhA{{Fa-qBl6e%ib(Oa&D5FLq{dsC%YbklQ zV%5_x-8+*_7PzMT@n88v_@9n}iXNw_T6y`D46c8R9^l-p?ppn|LDYY?@xqyx(-!cXyXwyEJMnUU zlvuaQE)(m#SIIXT*3FrbmTC3X%vK@bLuBlZ{jtyH7a zRLHlB->-48V)fH4(cjW5vkjOlD&4;Rs4ELo|9<-P2DSGAho&7_vt{O=EyYW{D-7b7 zRW3^m=#N^qv2*p@u<9wMQfYf!{j`3Re80(cC&gg>or+Y}FPGP!sxUfnEnD*BEeRj) z7f-|PZmDRBlq|D6efsiYTVL&6S}AL%pPb;Bz4gEypU8r1of8W~kLgF}bGxox@%PmO zwPf~ZRsSz1u1s@F)h^%a<@Vsu`45?=wmtl-9ks9^W`~EJn9Vn@udjJ8|FS=x94?vC zoW=9H!=_G{MhBQ(vo}G ziQB~<|J%0C;_=&dGQH;V{L%1# z(odGfJO8IVbn297x%o&YqVM4SGByy}T)?U2u{xt%cBSy-nH~vGn!g z-9p~akad;D5tcxw_kOMuXRz(paGp7%Q}U718KL5W&K(k>Nph=>)aZzXt`HWD&=N~f z{g~akzw3v>N8cmu9r>zuUNt>GUU%I0sJ;wC9ir(HF-C|-WOJ1@p#X>?a{xPsx0_d%b*-aAeE_hRdY|6X&ivck58f zvRgSefw^Td>UpbGtB&7X#4J>M^yVV{IgeHL%qZBZ5oo&Z(7#oMqTj-MpB(Qkkel>P zp}+RL*~(RO6W<>RwT-yY+sd1k5$j;5J=1I~!`PLWp9GApQCd_(D$=l0IG zN$yVf4!*BG^7oPBCEG`VA1yMc-_Yk%dD0&Fzjx8eWwJ@refvAij|4vI>)d{{@RIN& z+rmj-HdHvCl9fANbX@D3^zQZ!>k8fz>t>%l^)-Rjf3MWx%2eN!seWpU8n$$N4=`Lg zKQ>bVpT-kGNRSZ^2DT3Os{)lbsT za}v+~FR<;iey41Oxb;WHyvKJ7cAs!<|ByIcqS^Y0%N@> z?az)CZqp;WmcKY#n`F7`sFchC_v#~4Ej;?~sn1$**+;h7D)3d#f^%-Kau)homu?G8 zw=OLUNLMel`p|I0b?)6OJKL?k2S0aw^=9F@#aAllSjAqs=|7kGilxWg!$TMc)Gz4W$D*uI{XDHN`0dVYOTX>U*FBbae>DDq#rbF3 z3f?4a%X?a^(j7PVh{S~C7{5*2<{!?j@cWX)UOVH-I-f${&QO^zF-3XNUAJdGDqFh4 zR&$;9QCXkD<3e+~=Xn+_pCpsNMDI5r!{%RxXw_#!UiH~Y& zt7^`yj)lAi9KA8#mPoustrIuGma%5w|k*qpueN{=4-EztivuHx0V+O8?P4<7h> z{%(MWJ@=}M?jJiB?qm6D_n|$`gLl=pO~*D(SGDHm^kuuE=X74y$mC6)KwpJ{+{eTB zKF(&g<2~f@?XmmhOqsbZQ_TDrd<@>Ko#eB>@}s4QVClxy zq3ds-IUUtJx^%^qlzA+L79Z|$u8e)T-|MaS_fuO7q^GemFY8;z%C5_O{=*$7>DfG6 zZCWL-rJ8=fd$QyEuj%&`l5U)nw30R7yF1n8{CuxPv*M1NzN(k>GcI%Hy}4JvoVzU; zddh2c+!EjP9j^S7g)aWeE>Svq;-2Dq=2pLkmw#A_Z}4l}KM}mat&Ep-lXSpFzpbKE zPHeuE({*R*c9p5dLH(;ls-{0vSzgKo=%bR#K{iUxs@WmY5%TqVu zAn$Th=Z9?9eC%>A+2_R`mMos*I5Defb>LyvnA1P`QrSucw>$5+D-$EjFMLNiYu2M% zo%}0|Gvc2wNfOGAne03F^tP!fw*S~slhXDVEQ&1b3=F0G3=9%jlM*x$g}p46PM58V zi_Jc{N!hw{w$(w;VDpKp*S+}rCM~w;yM1D6Zii6&7KhE#%)eQETBoyCXgebpOGeej zNn#n7i)t4d3#6UlDU~rgJS98fmw3UM0$%3B<#x>Hf4{3zea%sE?ETN``S(9thrj>( zTiu?uK>l9OL!A=KGsiCUJMru`5Py1V!r`5MXOb1!gu4yrxEr>qMg*OkR;0>%+OTAy zPJ5S(4DVHmswbVD+;ewyi0-WN;`7hmp%PykbvWImCTx+-;)lgjcIzKvygtf%*^ zc`UipToa<#CFrN}+}&b)b(Q6GOIJH~)KxCDlxEu* zZ(A_^DcZvpoOpObEu^t`<3y7<7|Jbz8syNh40 z3SMPZxjg5Ew^!kXbwPR8-yUH}daTX5_=y4263NF8@3b{Fy0J!P8`mA!lJPsYg~du{ zcJ}32%iAYAm--d>YhK)|Sh%I?-JC$N9ria>p2f-L)V+_*`Idh;^v*_iZ`H%IiXYns z@yGAJ!4g;Qqundo_;%mao0<0$_lWFrh~GV3mb)tTps!n+TC+sjt0=d{+A;eB>*8xC zd7RX|eKOozb@v;I;;&I#D-T<)>}uShGc)ep@mZ^yG?$4>UU_>mE!DaI^p_d2Q(P}L zb*9Zc8oWyBx5w7h)GaPcdmE=RpLw~*GXJIDRv$TilhapkubdQb^(H{u)}8NH-}%*f ziFRw}+3obx=m{^4t>eTvVoKmE`qvyL+-cVbJS zPhwQUhyR|kZo6+DFWe(9pJ1NXBXoI7=nS(yX{Ak$dBq+q-~OzhVK8}?rEOM(5od3A z-n8#q^X9$jnEEOwcf0n?vwU0gx73>2_C=Ps_MLvzcWF!4#LcPGclm0kFZ{Yae`!nL z+ncSNs#nt=pWC)~;$6pYw|HN!nbIf1n|&`b!QW&JS9ZFO{!7-Ui#pc*>T+1-`~B3m z-1ys3b020BI%Fn`g54%)P8Xmpt%u&o*vh14THNhQ?5BjehHaRYlp3wF=lc!j;+_g~OO+?}J z?Pg2oqlxFDgUkiI-qx`{yb}9fA*lJ4s`~@azI4IXzPvM99w%p?H6)#afhcJd2rKIB`BtBU-vqxn)zC-@de+#SN#%A{w%%hXm#n&efPH~+UH7y z8}4Y=lMbKrll6cSVMY?8;l{9{6Ie%(RQ1Z+4cX%0>%+zjtICgWvA-PVexz z*yG=P+kMq19%)S5=%KW)Z{Ov7WfRjqUQC=}6PGH5d+)ek_`O={EBn2F6VE>N_nBk= z*ziwl>fi8F|L5xeW0U?LaBP{!y=OHtk*VJ{<$p6$`{6Y!_wt+LQ*K&5b6tBTHKeR6 z?9|ImNjsiTnx!AV^Pa$&`m3zP%jJFQF4>-#6U0`s!SQXx+0IZ^$wiB-%~S8x3yA&k z>sTsx&CP50na&~ zqQf0-UYY+-^4I#6$0pT@|INNp$s5&CxaPI^DXT(r6T^-bH^RgH|JDWk>a3V`Bd}%; z@7=2#r^h^reuG}``1->>B!Qpv8(G|MEwnny<2WH zX$JdO=XX1c-|c+du`^ z414vASw>GgV!|g|(f7%L=hmIL8Okcp@mgedUml-yXU3=G$XC3q*F)b- zXS}>a@WGiWhkYfpkM{R8t!bL$usBbTo8__jx;F=Y~D%a`@aa(|E3Ni7b~s$B(Yx(T~&4 z%{Z4nou}Gv=M=*fAML4UbX0PK>#Dux7axuhwh-`-yg6f{$=V3Je7)m(@$)41XQYJj z&i**-?44PO)=U!vSXW%U^Q@qE?qQ*J53V;W6W<^6xfJcbcJ7%&r;0y%96c9$x=iKK z4WE0FXRX)FoOtF^lwqE=*=j|Bb*y?Z)@}aRW=6Ij`np=?!sfO$_ik}E&RZ>7)-&JV zlJk1QHr-v5XYGvJw$O3X9mnsc8Q%o0!rQez<}J6FsGS<2&UiGY_&V#a_#@p8m#d5> zr=Rkb-u5z}?@I5#n8w!=S4W(G^xHj1a{d1+mfHEtd$^b7thpA%&3j5IgF|u6flC{@ zqNV(jJ@~e@ecrJk!MC}2Pg`kDMuqfZsb7UI3pSfsOZ7dP(R5qNtkC_iqRh1qhVLd_ z_@$%y!{zYuA3ld|YxJxSoRJc`EZ#EfRK&`umXEJx=H<6leQDuK zBPxzx(4DUSSCaqus;Zs$CR#>#{w=%goyNbvL0B$_zh$QO@q#UOZO?ZHPIY(q9`)%B zw`|K?gYYSx%r__dYHrxhCDi^fh-urzQ@6ACcvm*DvN>I4FKgFcv^Xg>=hT^xDesHI zzVuA>J}qCpqiBEj(Yv{shcAZb8fRObe>8u^qGcI-nA<)|O?Vv{{^I8HqLaFbv%~vM zzn|EVui(&^KbI=A49^NHCV$u04QUXC|KDtSIOOlEVjG~0bDjHlpA7n?<&<0*#i zb3T}@H}FwT^-gHir;M_HJo(g~P8CAb8ow+Vw4)7e0nbssxF3Ep_ z{bKjz50AFEFWSFgcf<50Zx-s9hIZe!*j!@Z{{3_6y4!b~4$Kve{askN`y>0_l;|dX zd#COXH!3&GExVX+Exlp-gkLM>79{(j_fVF9d*x)o%)kIDYgI6MD87!)&`H{W#G+zY zXCg}wZS~yx`Ml@l?`^7o{+4HG zGn{--PR4iP3`hB2!51R=H&`4?n&8@bRG|AIPhWD&#pgPH8zfQ-jXHxp=ZJaCDU4Cq z;Xcw`+s(A;QRKD*d4~(%-VEEE_B;GcRI`oc;nlNyT`!m4xL0_p;3_9eRnM;LIyaX+ zo*JclTle`)BvzE5KTsK9`>3(7OvETQ~FUG9? zc56yDXNQ(#ob49pS5xw4I7XD}R`;@flPZzfZmIEXhfPwuRpEM3t|cpOIc5A}G3Jgt zz5e!PKK%uItzRij514qkJ)|TNS@gSBt$#Dc!tY*nX45QMKCNVTae;mWfMHWP@b4 zcWUvSOP(w{a4+e2*UX0XDnD*LZ0WnLvvL3B2QM6_*|GdP`ojM^YnJmhj!eg>m-kyL zq-3*IjF&VDskB}2^|;G-$o+=9Rcrso`rQpTTx2{y{k@+5VrPW($IhA@*}YYMLTXd4 zZ?^quHl;{$y-vQu;^*ACDn05I0{X9SCg-XoO9ybK9>3)wX|?*xiYrU*xw&mLn;<0e zX5-S6M?U4>FrBqSSbUaDDA&r;IhRySE!TPOY-IG>r@Y$h*X{{b9e)GQ#l=qUTB@3{%*<|qUzfob`-$CUFL(8CS-0io=WF$~zP;VdD#uS~ zDfe!6IboSpF63S)*ZgHo`%A_C2SREI2~x!~j)w1OtE}mFy>le=)P6R3?;n!)AL#8n zs$A24yyO>m)(scg`iEBY7IxNaeqzmY|8idVsqKqJ=PDOfvwRQexS&&a$kAz%R@_lV zC$6tQ8k0VId|3KGxJJtNAJcrnMecpiEqs<69&%qa`CfPcbU7kqt;Bgp6Jvi?28I?c z1_l|FoL7>WqYqx~=aE_g9Uln&ogbVkQRi3f=YLzYY)1)Gw4`~V_H;f8={Lu2+;Dr& zrk0w}Y*=zP(R#_2#jgvPnLOGit!QbLzq(**L~nwFut@TSie8UBD*rhDG5%w8tJ$|+ zJ+)cxG5_$mz`WcMz_@Kw!`l^**y|EPQJ^!Hrr9nIGkXAPH&uyjk@^DL=9A96|NeB{h8^%v~# zJoQPN;V-`4dg9r2!nMlJOajm7vgKA-rElV|dEEJ?#d3mYzt)O*(aWlJCic!$S36sB zDQE3+6V;RLcb7-hq_A5yXlfeId_32;C(^yx{VcOTqQ+8A@qtAE?I<1U-+ zHm*Hzdz#P9z3=){)i!%>zAohZCUtq9*bfG=MMez@*H{D&Fv$jPRJg60I_JvA90pSf zjs$_&9f%ca=EC^`qyQ9T2_7HJ1IWB_Kjyzv3c<7(u=>| zRl0WbeaKd{6KiM^b&^XLE#N$P$8g83V}TD>wAwcp%@!6HGyG-AR2mT2e{>FOmx9j0 zpgudRkW}>yWw(UA4_|fvdR}l>>*Ufw9i{V<;w9TinHV1{$CE0^KXQIW|q}*oCQSN)TcH7Oh8;xThKh2OaZ{4Cc!>$MK)Yp)Ruoz>2>AtS+QlRCC7w&BJcfV>3sI%w~3&BBD0^TRji;7uVwC>_lKli_8hZ6 zemdw#T+*~j-;7;4ir-F=c(!6;>m-&${aG6Wz20n7?TUV(>G@{imJNGa&vuBkYQD}* z46m7+_v%tp)DJxyu1^-?Mm;vm4m-ZpD-mx=Q7)3*BfD6&KUMMTi5&N}c6T++q}=rO z-HCM2Uq08><)1M5J>*Ppby?BJ%{qW7q6+FIn&j6MaA6t%~m&g&fZ9@-qw`eIKOcF&fBT_E$wQb`e(7E7 zwWu-i@QVDh4f81ub~f121@k75JE1l?Z7?(a*tPlR4eyc|MD&5(@)^ z11|#uXpJm<`8~v)s8)mZ7v$&aRpjOz4fD-^Y$jl;Qs z-PPH)oK?3s)k?)_rF7KTreS+69f1$p5cJeH4uk3BC6F0Oy&GuNL^>Tjw zoeP^&(l%S1?`A(+e((GD?Kn-KN|v3`EBQQdn~z~416PttBvU5q|K+VJOAB2i5>~I$*|2|N zw%UACvD7xPyJuHE6CIpy#&odoWw zISzk6@fPi$a>nV?*X5$;9WyTEJvP|*_=2N(xctej+uuoLo|w0{b4Fao%~f~qPtj9f zyK`on=cP5X`~0~lW-tD+sr0EvhKiWf>>SfA`swD^_Dy6~v0ZX{`7_sNFApYbD{08j znfT|8XZOVg4j;5w{+cW^TUuAyQ++?5ozF6%slGHkE&ukxNArHajh60_mGw0ImGP`Y z>it(U!S)5WSKG&K+f!t+-1q7ttxWz?{&#kSJM_F2xq3RAqx0y6U+$lthl(%V{7`ho zN`48>CA=?}C!lpvcuXYItoTF-us336@@PPG$Rd&)epn*+1_6pSNq@!TBeho~@U?)hOG1iZ}b( zt0mK>KgxxxAG7^Cu50~I99B?4 zHt>X4RtqM97T+^4Fc=V3P=N}Xf};F_)S{Bi)Z*YW|Fhn@UOJw>fgYJoM7hI_cx>qsQpg@RK3Hn~_O`8TZa4$Sx%ThPRF&7QCQDXoGkZeWwyg zF$gbdR7dtU(!M2x379*ESU_6A7-aE&XpqXaW!N#jJY0q`A5 z=o->|voN4+3_;hq9&N`5LgzLX#QqOtT_(BHZP3@QBXlWopocIKE7{SFM_=5F zFg}4Bhw+fUAG$&4%M%a=Jr~1f5b|OLbhFUsrx9iuNn$e#yNl4r>Jg^oC}15g_m<>2kLlI&UDC=I=!_sWT zT||KzjtI>x`WTu~+j98a0cuDhjIt+W6k7R!y + + 4.0.0 + com.eaio + uuid + 3.2 + jar + \ No newline at end of file diff --git a/project/build/AkkaProject.scala b/project/build/AkkaProject.scala index 53afac6a22..cf7378b0d2 100644 --- a/project/build/AkkaProject.scala +++ b/project/build/AkkaProject.scala @@ -140,6 +140,8 @@ class AkkaParentProject(info: ProjectInfo) extends DefaultProject(info) { lazy val jetty_util = "org.eclipse.jetty" % "jetty-util" % JETTY_VERSION % "compile" lazy val jetty_xml = "org.eclipse.jetty" % "jetty-xml" % JETTY_VERSION % "compile" + lazy val uuid = "com.eaio" % "uuid" % "3.2" % "compile" + lazy val guicey = "org.guiceyfruit" % "guice-all" % "2.0" % "compile" lazy val h2_lzf = "voldemort.store.compress" % "h2-lzf" % "1.0" % "compile" @@ -340,6 +342,7 @@ class AkkaParentProject(info: ProjectInfo) extends DefaultProject(info) { // ------------------------------------------------------------------------------------------------------------------- class AkkaActorProject(info: ProjectInfo) extends AkkaDefaultProject(info, distPath) { + val uuid = Dependencies.uuid val configgy = Dependencies.configgy val hawtdispatch = Dependencies.hawtdispatch val multiverse = Dependencies.multiverse