From f1eb8a5eca065e78cc0a06a1971a69e2f65aa931 Mon Sep 17 00:00:00 2001 From: Mohsin Husen Date: Tue, 30 May 2017 13:23:37 +0100 Subject: [PATCH] DATAES-285 - bump elasticsearch version to 5.4.0 --- pom.xml | 2 +- .../client/NodeClientFactoryBean.java | 2 +- .../core/DefaultResultMapperTests.java | 21 +++++++----------- ...on-5.2.1.jar => lang-expression-5.4.0.jar} | Bin 47124 -> 47147 bytes ...6.4.1.jar => lucene-expressions-6.5.0.jar} | Bin 73459 -> 73454 bytes .../plugin-descriptor.properties | 12 ++++++---- .../modules/lang-groovy/lang-groovy-5.2.1.jar | Bin 18104 -> 0 bytes .../modules/lang-groovy/lang-groovy-5.4.0.jar | Bin 0 -> 18128 bytes .../lang-groovy/plugin-descriptor.properties | 12 ++++++---- .../lang-groovy/plugin-security.policy | 2 +- 10 files changed, 27 insertions(+), 24 deletions(-) rename src/test/resources/test-home-dir/modules/lang-expression/{lang-expression-5.2.1.jar => lang-expression-5.4.0.jar} (89%) rename src/test/resources/test-home-dir/modules/lang-expression/{lucene-expressions-6.4.1.jar => lucene-expressions-6.5.0.jar} (90%) delete mode 100644 src/test/resources/test-home-dir/modules/lang-groovy/lang-groovy-5.2.1.jar create mode 100644 src/test/resources/test-home-dir/modules/lang-groovy/lang-groovy-5.4.0.jar diff --git a/pom.xml b/pom.xml index 23cf15a6f..aff0fa7dc 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ 3.2.1 2.6 - 5.2.1 + 5.4.0 2.0.0.BUILD-SNAPSHOT diff --git a/src/main/java/org/springframework/data/elasticsearch/client/NodeClientFactoryBean.java b/src/main/java/org/springframework/data/elasticsearch/client/NodeClientFactoryBean.java index b17c748f5..717e2895a 100644 --- a/src/main/java/org/springframework/data/elasticsearch/client/NodeClientFactoryBean.java +++ b/src/main/java/org/springframework/data/elasticsearch/client/NodeClientFactoryBean.java @@ -22,8 +22,8 @@ import org.apache.commons.lang.StringUtils; import org.elasticsearch.client.Client; import org.elasticsearch.client.node.NodeClient; import org.elasticsearch.common.settings.Settings; +import org.elasticsearch.node.InternalSettingsPreparer; import org.elasticsearch.node.Node; -import org.elasticsearch.node.internal.InternalSettingsPreparer; import org.elasticsearch.plugins.Plugin; import org.elasticsearch.transport.Netty4Plugin; import org.slf4j.Logger; diff --git a/src/test/java/org/springframework/data/elasticsearch/core/DefaultResultMapperTests.java b/src/test/java/org/springframework/data/elasticsearch/core/DefaultResultMapperTests.java index 907837b37..4a488f7b3 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/DefaultResultMapperTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/DefaultResultMapperTests.java @@ -15,19 +15,14 @@ */ package org.springframework.data.elasticsearch.core; -import static org.hamcrest.Matchers.*; -import static org.junit.Assert.*; -import static org.mockito.Mockito.*; - -import lombok.Getter; -import lombok.NoArgsConstructor; - import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.Map; - +import com.fasterxml.jackson.databind.util.ArrayIterator; +import lombok.Getter; +import lombok.NoArgsConstructor; import org.elasticsearch.action.get.GetResponse; import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.search.SearchHit; @@ -36,7 +31,6 @@ import org.elasticsearch.search.SearchHits; import org.elasticsearch.search.aggregations.Aggregation; import org.elasticsearch.search.aggregations.Aggregations; import org.elasticsearch.search.aggregations.bucket.terms.Terms; -import org.elasticsearch.search.internal.InternalSearchHitField; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; @@ -47,8 +41,9 @@ import org.springframework.data.elasticsearch.annotations.Document; import org.springframework.data.elasticsearch.core.aggregation.AggregatedPage; import org.springframework.data.elasticsearch.core.mapping.SimpleElasticsearchMappingContext; import org.springframework.data.elasticsearch.entities.Car; - -import com.fasterxml.jackson.databind.util.ArrayIterator; +import static org.hamcrest.Matchers.*; +import static org.junit.Assert.*; +import static org.mockito.Mockito.*; /** * @author Artur Konczak @@ -190,8 +185,8 @@ public class DefaultResultMapperTests { private Map createCarFields(String name, String model) { Map result = new HashMap<>(); - result.put("name", new InternalSearchHitField("name", Arrays.asList(name))); - result.put("model", new InternalSearchHitField("model", Arrays.asList(model))); + result.put("name", new SearchHitField("name", Arrays.asList(name))); + result.put("model", new SearchHitField("model", Arrays.asList(model))); return result; } diff --git a/src/test/resources/test-home-dir/modules/lang-expression/lang-expression-5.2.1.jar b/src/test/resources/test-home-dir/modules/lang-expression/lang-expression-5.4.0.jar similarity index 89% rename from src/test/resources/test-home-dir/modules/lang-expression/lang-expression-5.2.1.jar rename to src/test/resources/test-home-dir/modules/lang-expression/lang-expression-5.4.0.jar index 9884824cce464749a0f83ffd2777a005cac8e3c0..ade3e7cd7f4e68103f1ab677dd841a7e81378f85 100644 GIT binary patch delta 2215 zcmZ8h2~<-@6dit8V<-dy5k6}`K+0M$MNkApR^i~n5f>VGT>Ag7hd91X;9-8=%&OYKzd*qP2pZKOZ@MeoiuzJNMmp-gu53z{w+;R+?xC3NVRHEl>hLe#DCuWfldekmkICSI6F(9`6M~ z7Jk$92*0sh`W@RPOLec9d&p+$Rm*RdW0v9iW@(wPdoOG<$-n8ZCzzJy_V=b=QIB*m znds0wD`bln34HCp(utaUw|2ootD#phuG_3}m zoIcyA;)|Vu!^M}T=lxq-sG&1)&Gg`D-)99XW9JJ?+vMAGCp{6$cg75~K|cNbmlT{2jf`_4RS zI6A&=g00$rI!c?JKOJvyIrGFMtJ^uGa7*mw{7Mb`0HNN%lUwt)@$R}UYnF{XAr}Al zB)M$oqd>i$OP06o_#!37PQhDB<}9>T@Qsoq9_hc!iGIFSw}2r4Cu?s&Lc$$^h7K0Puv)5!Uc!jiDkf>?zIb zG?dU2sl6^Os=@Z4C*@mv=!ri^nKqZB_6?1!i^-=aHjfVfiryLv*DdEG7 z4Yc~Bsg>nM$cjP@051l)o{P!VYWgs&nkHwkj`A<40x+r#fDeQ0pf^LF4?|~sA3ye2 zKV{=6vcXjLH^SsRg+6SZQQj3VUR8^VG)C%7&pdNXj&9O}_bYgK8{8{N!qO7MZ31Pu zDS}Ha;byfv{dw*=YE&n>CPIe8&DJURhWSSn7#9N$K+u` zf3^%eDVdqW1)#?c0Dp#!*Gn*2WNQpvYIJZZ#!VzK7>eQOCTk2;DoBDCj-heI0u0Ge z)9$UuP@6yteq2c(X?YDvoQOfN7j=Fx^RApEuE%4hait+PFU|{kS%=!9irV7G@Ut!v z6Nl^taI}h!=T?wJax#Xi)eK;Ag)Wv|iab@MU^q`QeJ>jEWXZ9o~9TRgo zCa|rJmi@k*B*d9BvSwOyE+C9S8>*d!mfc}#j5-yCQ^=D%Or$6Ub+DE*oFC7@T9Fdd z*%ZzwMd@w~4--bS4M}Yvi8RSfW;SeT5a5E?RU|R67sDc3YnWY6`~0bqBpeT5m^z(A z(|qc!3A>vN{K~}JO8^L2vDVu@Fx1a+W#IA^p=(w+WMpN0Sk3!a>MmsW82ajdV7pAL aA%!U=dir6(DySj=tkEYLoxcVt_3wYn6#TOQ delta 2219 zcmZWp3pA8z82;zSVAdE0qx_f@rWg$gExBgT?u@cJMVF1Gwrsf!(#k|mQ`(gzzLc#g zx@-+&VqBsfls#<@)uIb^NS$iWIwjjphqlXp^L^I#=RarWd(ZPf@AE$I`_4D2XXJrr zBs(HZPoG5)Mn(ifBQ9b)v*96WFehD;83a*S6h!4DEp18ecb_(3Fl1+xzR~dd%%m&x zw3exRPHZGO-trS+!Fgp)q~)Cb%lEftUl_Z$#E{+Wch|1)>&~C;E`^pkgg!j#sIba> z-NF~Xx?e0Yx~>-U9G@Rw9~-&&bY6ML4NcoVbt=Cq%`LajAt=jpd||x&dB)toewvl- zV{>GPc_+t1vUZK!d$>gKc%;x##0owX-YuKeaWeJc6Gr!|7^g&MR%>}~`R{42yM!*Q zjG~O6yLPo2{NlEz)+6(9yowkr8x*8OX&(4kD|)je0cUq^67DbI>n&}3^N@WzbKq95(~-NZE8Tb#FBSERakBNdaab5-}xJX{cS?=>4@GA!g zHcq$Ox(mNjyLDilCh1j-I7D8;$a3Ga7BB0<#eP+;PmbF&fg>V|7?+@R!3NDieDlMJEaLNHR# zLqvh7S2+Ni=+OI=_|_N^6?HtmuJoy_koq%F(V9sRAv8r_(57+)7t?IOMK!jWu2*7x z9`c6FKIH~;kZ6CEC90nN#=h$ftn3N<5z|Ch^B~a!*zd6f)+#OEW^P(KgeEv~eM{nWwYK{O4G2$I7Q>CnL!-BP%hk||4c z^@Jn=7?E0mGFv8yt;ORMDyc0pbAq@kB#19*s$)JA&bXkV22UyAEJgN-k+V|*?vyUe zmqzjjVDZ@|1Q9^fvWh@S193K!h2v-Ahrf}>1#CkqwxuKwwMEpIYXTwS}{r7gfmMJ(||V|-B0Eu z!!~lK%&=!2A~&b;zy}oj=2za2hr8j5ER%*k^Q?7Q(MgfdmFLC&Kip36(g9f5zP4S tZ+IK5a1eehXqA?g7B^Xc^v4R>;CSP7z4{#=KuhCvVBKWOJf_s8{0rlMxs(6^ diff --git a/src/test/resources/test-home-dir/modules/lang-expression/lucene-expressions-6.4.1.jar b/src/test/resources/test-home-dir/modules/lang-expression/lucene-expressions-6.5.0.jar similarity index 90% rename from src/test/resources/test-home-dir/modules/lang-expression/lucene-expressions-6.4.1.jar rename to src/test/resources/test-home-dir/modules/lang-expression/lucene-expressions-6.5.0.jar index b2b9baa9994892804ecd697bf169080b70837257..f553e11e9c497287e1bc4d32562792e74603ee38 100644 GIT binary patch delta 3058 zcmaJ@eK?fq8h@V|6lTmYGt3xf1}7#A^8FbOMT1L=N=LSwwxpJ1N$t|8P)t6jytQb3 zta2>2P=}&(iVB?+PE^RpmP8@iQ%T!C@B2>Mna*{c`RBQ>-}Afg`*+{Z{XFl?w?z|vCYsaVD)ix*U6M!2j**3e3RNk=7P3ApS-uLGEY>rySU##Wm9n7;F5-9 zwxpYCI=*P!?X@#VGJ}YMf*O{dv9=0*)0yf#d0Hi(Rq6KigPxdUS;FbCoN#`B@jH!T zla9vWJzWnk%xBgt*h$LOHl$g;$Qx=Z4yRd*rwcFMP>FV2{!QttQ?svJxF_OBHX`M( z1WFU)4Rwb$X69DB^?thS@e}6utzz~s&wFiWw~pnho%$y4Wyp;c!C61%KS&Gw5H{DP zQyUeK)g0?WYv;%CS%o}?*$W4@hSIWseCj2)B0-i5_+)IY1IG9|07UqzPIAImACfD! z)~Az#fGRY^0fQenp|Vl3izGa_*MsRckbZ{RtxaFNMq4xt$SoB&QkAAhCSOh`qe&v@1`z6%UoDdY3Lr;D?{&l9$(EKq3b3M z#7(J2)-7M9e`MmvTm5B&|7r$srj zLwYvOAKr0mG)7wby>t9)%LSDbZ^4r0n}>62yY_O7Gp5P3X!jA&I`ARySg_+*&_c)k zIPWHDWZEX}q4Kg+6Vs4QL3=o>((g4S(@ieXL>{NB8ne09>(>ol)0MP}|56lOL3+$t zw>(sj^tpKd3|^xE9oIi{TCUwrjdxMggXWWp_dl_=U_Q)QyB&*Y;@KXtl9JNN2w zq1DFVvKzL6ckiq#W4%{x*qQ57FkW_mbcXBGKH=xnen9FKxueK9aZBM1Q?-3Qf|)&O zd#C@?Y9)0NTvVb;MV`m=BH6WLx;3YEWT(a)jNDmvn^9 z{CDne$R9^^DT0k&ipm2LK7*T72MEKNGO20viUU>p%Lz&!|69TcHcThD zgThp0oU_%!n@x~cyAqsdzLNyf7ZFCrw`{j95{6CG-{?3pyuW}z_9bT$hVsE0!nlx{ zOBlXKrDXh)P`cVSo5->Y-0Qi=Jc+%{Ifn`3Nqz}o94$yC4BGeMgt5E$2g1-Sbth?H zw{1XH86_hlNT8aGe$WxE<^WdxPvyk~%kOL%Va!%>2!m4VPZ(k6BMIYr1D}KIe|o!> zD8Ht6jEu*QwSE$q2H#FEWm$}c397FTbn74W=MXK4eb|rFW#W-G%wMKCdR56WK0#dH zH#*HFtoHXsR5E;!(MWaRNL6@}(Q0*IC&4N}{_CgohfPObcuL^gy*n<_a;+aAG0DX9 z{<(*`f=8*`BO*3p>yB;z*HH^PqFX3HjnoNbrTt7ag#sv8A!rT-a7haoC_w-95gfok zdlCeVP%c%@G^Ii?0RshSBo*lLF?IO+2fMaX1wkzSP=_Et9_&O*sK5=+F@kx;y|qq9Ta3LSj$Dk8}afT)bfSNTiG)Pk0F8s=(|NqJRTLsJ|xA$Ax~a z3DbRHfuph?Ea+yRH9-u#jZH?OW@T8eheE8A=u1ryh$k#PR2g5uMvx^A2;!tb>i7K^ zdMSEB3uxgX3838f>5 zJ1o*(foc#%MBW{xjt(;9r#;1hIdAXBc5G2sCh@IBzhpvmdoqFk%mhULVhq=(`auSKiEm`RtDpC{qD?htTw`(USAhjD(6$LER5Rn6Gbx=N6J{A^Sm~+i}B8Y@5Z+!`d);D0N z4LZw}Utelk1o#SGD{ac>y}XAS=z(DTe4Y!eGjd?@nG6JRRA@k9FBVTEd)7-uyY%Gw zhxA~klzw=B-ON9~dgG&iHcE&2R>G%Oal*fR2pz0Z4pfHsvq~REaU6l5kt}IM3tiNg uhgavpjStv{K;|(@Y~WuEbSDq!f>tz*2aE`y8Urq%H+jHVC0HFEA@Vzn_3@Pe delta 3104 zcmZ8j3piA37vA5D2AN^ZjBy#aiFA>nM2Yw%V~k5Uy5~O>m7Fe4N9W-0NEZn)+8w({ z7g4B`ee5TJQSy`qth9m(<=|Qey@9 z(ACCbm6qOFr{#((WU47Bpg3mV5&)uu<@2_{2 zMooX0c=7PyZaHm{xFvjDhAei%J%(_3=7E(ietgr2tJ%vEHm88R^=Z%Ymm7-?UJ7Pi zyY@j5YnWFRkv-*C@Yka>ms|1tN$+smWQcnbWl z9nc*1`7O>QWto0R_hhq{%&cH(NzvWPeRuyeJ%_(+g+ra!e9xmgSmJw;mBx?Jw zce&$S9<|exG2g`PAUm*dYW|}*8->jJPtljA;X6IQ&)=ZIIv6qQEO;Jjuea%^yjJPK z$By+DExjA6UoPo*%5Zai9m{@jP+$=6krN#8TjMX4D-1nL4SKgtcx#46ST{|4!-=5cTK6Oq>>Oi3E zru~?)B@-)BjH_36xF&NR?&O;{>UGrEXy%L^2u(;0vk)oH2Z7gHi+MBBg$d1{pFR_w zd$E7~{J&|g*A=0kO7ts++}@g27aN@u9P2e{*1a%eO_5%*o0cThpSSO%Q{am1RWF|3 zZb|v9w&Y%|h4)5(XL`$9u4UO-uH_ZaBU;lHxbqp0ZtL(sOId4$*!lg(uthZ-_TsHc zo>}J7)%gY`-HcQFSEqxJ%nh9Bb#Aiaz8a@DF}L=n=hf*B1wD>R7Iiyjy*v=O?V(BN zC4q!+80Niv`h$chEw+%}EZrWH;m-{}-C0#}%{Qc_QFbYDhx*|Gw=}C1A z>u2MG5=+vlCx51QQ5}UVFquS!Yc`9c4F7RS4CHE^xP1&V{wdocu8V}d)z(Y%&77YuWK+YKQWeE<7`eo7Bm)N zBf2s$Or%0m(DA9<$v9h$LDaL965Cl&;zkB?lrebU$fQyRMd{@v!)TGPt!Ju4n@5Cc z120tP32hj}hKYj6G&P7JZNNbe9UbT};zGx4B2ou1k-*WDfMHH5A+z=HQaxv)2{O_0 z$K>){6LS9uV>U2GpfekSwPqx^$DB{3vz6pr5*Lr7aBboRTd84~#2Y8#e>d0=Ub?^p zX=tPu-W$+|JtcvsRYk)B5y`~Oy)}sQx`2mLHtCWK&;rIDfFBC2%Y~~aL?Crbxxf;s`+XM8YY`j6+)Odd zQDvo7Bx2Tcfj(l|_#aAgggF%OyTwz5c_$V!?Q!Ec9&wqcl)9J)lSOSN9Yhfi2$6yY z68zs51e)l9aVYNfg&#yB823Jm>!lL6a64k|8DWl2kM9*YCnKghADE*=lld@FZ7Kre z_|*HKI6#6y83^p>15?Cg=|k|r9t4KyD|IH4V0;z{;@7jds4Ap29#1X#1Y7hL+-I?h zR$4Y<`)2EnvR_;8y*~?9)(b29_7LVLF3&~mlevaOlfg&_8o;D#N01U*L*?UX#|tBI z7-AkA2dbMRK8ixfj`BxC)EUAMuE$Xbfst}AT#X>uU5vnVBOpYDq|Cmy?*%NR85ZKL zQplH6D6V&j!RW)BB!D6OOHqhefpR-@NU)*|fqeq%1Y{XQtgQiJ;wht3h&tZ==F@g% zz*17U-yiS8EpUMianTqUB5@n0J)O4$it~VzSoOs0XoXA*{7S14d|Qr8Nfe%NH-V{F zv?={Mgv_V0t_4ak@{pGS(l%9i`ZfcEX+yLq@q-OEepfg<1q|Y{`HriSUHS059<*R NOaYs*i2U%x{ttyBJ3#;d diff --git a/src/test/resources/test-home-dir/modules/lang-expression/plugin-descriptor.properties b/src/test/resources/test-home-dir/modules/lang-expression/plugin-descriptor.properties index d505e56dc..6be681775 100644 --- a/src/test/resources/test-home-dir/modules/lang-expression/plugin-descriptor.properties +++ b/src/test/resources/test-home-dir/modules/lang-expression/plugin-descriptor.properties @@ -22,7 +22,7 @@ description=Lucene expressions integration for Elasticsearch # # 'version': plugin's version -version=5.2.1 +version=5.4.0 # # 'name': the plugin name name=lang-expression @@ -30,11 +30,15 @@ name=lang-expression # 'classname': the name of the class to load, fully-qualified. classname=org.elasticsearch.script.expression.ExpressionPlugin # -# 'java.version' version of java the code is built against +# 'java.version': version of java the code is built against # use the system property java.specification.version # version string must be a sequence of nonnegative decimal integers # separated by "."'s and may have leading zeros java.version=1.8 # -# 'elasticsearch.version' version of elasticsearch compiled against -elasticsearch.version=5.2.1 +# 'elasticsearch.version': version of elasticsearch compiled against +elasticsearch.version=5.4.0 +### optional elements for plugins: +# +# 'has.native.controller': whether or not the plugin has a native controller +has.native.controller=false diff --git a/src/test/resources/test-home-dir/modules/lang-groovy/lang-groovy-5.2.1.jar b/src/test/resources/test-home-dir/modules/lang-groovy/lang-groovy-5.2.1.jar deleted file mode 100644 index 8968d5a8f97e0bb2d8b42c33294bfd7291c4c16e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18104 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 diff --git a/src/test/resources/test-home-dir/modules/lang-groovy/lang-groovy-5.4.0.jar b/src/test/resources/test-home-dir/modules/lang-groovy/lang-groovy-5.4.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..85c7fd596c98168bd93844cddd1c590a909f9b66 GIT binary patch literal 18128 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 CRO_k$ literal 0 HcmV?d00001 diff --git a/src/test/resources/test-home-dir/modules/lang-groovy/plugin-descriptor.properties b/src/test/resources/test-home-dir/modules/lang-groovy/plugin-descriptor.properties index 9d6390c19..c3a5a276f 100644 --- a/src/test/resources/test-home-dir/modules/lang-groovy/plugin-descriptor.properties +++ b/src/test/resources/test-home-dir/modules/lang-groovy/plugin-descriptor.properties @@ -22,7 +22,7 @@ description=Groovy scripting integration for Elasticsearch # # 'version': plugin's version -version=5.2.1 +version=5.4.0 # # 'name': the plugin name name=lang-groovy @@ -30,11 +30,15 @@ name=lang-groovy # 'classname': the name of the class to load, fully-qualified. classname=org.elasticsearch.script.groovy.GroovyPlugin # -# 'java.version' version of java the code is built against +# 'java.version': version of java the code is built against # use the system property java.specification.version # version string must be a sequence of nonnegative decimal integers # separated by "."'s and may have leading zeros java.version=1.8 # -# 'elasticsearch.version' version of elasticsearch compiled against -elasticsearch.version=5.2.1 +# 'elasticsearch.version': version of elasticsearch compiled against +elasticsearch.version=5.4.0 +### optional elements for plugins: +# +# 'has.native.controller': whether or not the plugin has a native controller +has.native.controller=false diff --git a/src/test/resources/test-home-dir/modules/lang-groovy/plugin-security.policy b/src/test/resources/test-home-dir/modules/lang-groovy/plugin-security.policy index f7d1eea41..13d00d6d1 100644 --- a/src/test/resources/test-home-dir/modules/lang-groovy/plugin-security.policy +++ b/src/test/resources/test-home-dir/modules/lang-groovy/plugin-security.policy @@ -31,7 +31,7 @@ grant { // Standard set of classes permission org.elasticsearch.script.ClassPermission "<>"; - // groovy runtime + // groovy runtime (TODO: clean these up if possible) permission org.elasticsearch.script.ClassPermission "groovy.grape.GrabAnnotationTransformation"; permission org.elasticsearch.script.ClassPermission "groovy.lang.Binding"; permission org.elasticsearch.script.ClassPermission "groovy.lang.GroovyObject";