From acd19169afcab3332c446384f5ab2874b126daf2 Mon Sep 17 00:00:00 2001 From: benni Date: Tue, 25 Dec 2012 17:19:58 +0100 Subject: [PATCH] release of 1.0.6.RC, fixed #14 and #11 --- README.md | 11 ++++++----- .../mbassador/1.0.6.RC/mbassador-1.0.6.RC.jar | Bin 46135 -> 46149 bytes .../1.0.6.RC/mbassador-1.0.6.RC.jar.md5 | 2 +- .../1.0.6.RC/mbassador-1.0.6.RC.jar.sha1 | 2 +- maven/org/mbassy/mbassador/maven-metadata.xml | 2 +- .../mbassy/mbassador/maven-metadata.xml.md5 | 2 +- .../mbassy/mbassador/maven-metadata.xml.sha1 | 2 +- .../java/org/mbassy/listener/Listener.java | 2 +- .../listener/MessageHandlerMetadata.java | 2 +- .../java/org/mbassy/MetadataReaderTest.java | 6 +++--- 10 files changed, 16 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index ae47ce1..7a8c311 100644 --- a/README.md +++ b/README.md @@ -66,19 +66,20 @@ Listener definition (in any bean): // do something more expensive here } - // this handler will receive events of type SubTestEvent - // or any subtabe and that passes the given filter(s) + // this handler will receive messages of type SubTestEvent + // or any of its sub types that passe the given filter(s) @Listener(priority = 10, dispatch = Mode.Synchronous, - filters = {@Filter(MessageFilter.None.class),@Filter(MessageFilter.All.class)}) + filters = {@Filter(Filters.SpecialEvent.class)}) public void handleFiltered(SubTestEvent event) { //do something special here } - @Listener(dispatch = Mode.Synchronous, filters = @Filter(Filters.RejectSubtypes.class)) + @Listener(dispatch = Mode.Synchronous, rejectSubtypes = true) @Enveloped(messages = {TestEvent.class, TestEvent2.class}) public void handleSuperTypeEvents(MessageEnvelope envelope) { - // detect the type of event here and then decide the course of action + // the envelope will contain either an instance of TestEvent or TestEvent2 + // if rejectSubtypes were set to 'false' (default) also subtypes of TestEvent or TestEvent2 would be allowed } diff --git a/maven/org/mbassy/mbassador/1.0.6.RC/mbassador-1.0.6.RC.jar b/maven/org/mbassy/mbassador/1.0.6.RC/mbassador-1.0.6.RC.jar index fa1d364a0bc5f5d330d4f3ed59c6dd3c77154619..8554bc95dcb1ce33661e5eccc1a47b8bc37d7d1f 100644 GIT binary patch delta 2379 zcmY*bc{tQ<7oPc9l3imPYlJBz+XxvQCbs4^phpAs>)S&T?dcJnY zd^k>&A<7aQQU_794UODsgfT|owo}U*#d#-mvr7_kbyJ^wLt6mNg8TY0E#WU}vQxL$ zv!!Ji) zM=D5}tm_n;Iuft0(tXz>8DVn-99E7-vUm=2c`KHP%^ous@AdXVAd7Th9v&w!m(RY| zb-J?l7&<6sX^~W1gQE0&s>y?Ar+<N zgl9_carqHRHvV<@V|bH*sdr(MRoS>J)=8)w@f!t&b@TWb--TED(He32{(s9p$>_>w z5=A42+&qp>^gtN{(E(syHjVm7A`&bbzL*r~cq^HkQ@!PeE45O- z9cyWP;xQn(=*h8gJvrwfrRVBuKV9iVxVent`Tn9LGv}TdNo1HWo^nX%U|F+@TVBFR z_i7DRn8naUk#8gaWq41hQy{NngBSA^u^OMtN|igc5_|t!T){^UF&T#bojgaFh2=|n z@vSI;Zi6D*nBMDSP0-_k>o7Ihe(LM(+-h*5Ai&Jl|PTI9;HRZc#)Epfpv$8375Zkp2 z3EGOB*~vBoJx|3doZHxaY*qxdtd@nE5`*2FN~Tdwv}qP6kIVK!MR8i3Wz!fo>4%PO zU3H4HFt!KpDQGZE+l;dh4gI?F$Mf1F=Zg3TO z%U+}fBh=Y$%>Nh;1j`c@Y|JS`9E}1a4)qpT`VXIp22s{y{^xRa(uug|#84^bI8{gG zuF|$lbxgInAXdG@&U$_NW-dQ`^L1K35p&f30ReZYU3{TdC|O`Stj~@ zEQQ@B?PO00`pq;giH6dGJw^Jcll~*itx?z5q|hc zlS^kzFW#?`Ae`d9s7&o9z76RR^+ji4bZWiIj5{S1m#GorgP%F0#gp^lrfA=tQxO~G z_pYtkcbA(KgI}sM*(NZn_@*V3p%LsVenP5Dq!^sH5^7!TmC>qNS>`UTFAw1zZqwR` zc-Bsr@V=d29XX0yMBBV+NZNTGcO=4geZx%hm!o;AG2n@6s~{1{Q?a=1(3DnP3p{}% zL5X!3Iev{FZvZo@H7!ZhYc@)DB1L$XM?y|^-$smgH)6iOz9iD)m(uj5z&aKagBsQSLYp;H1eS@CojS}_)QWJ3SAMSbxHv`eI;{${WO~Z>zGM@<7)xJxMv7~

1YCJ2$dhb13oikM^_&?|CY96?dvPQC9gp-Z}CdFBW+g4F6>OX8g~hodDq-5 zc;wlI%eC31tS+_4>*HMENk0lOk%9Y3e7Okd7sw8Fl=6f0GBKbf7+fip1i5Isz}1lb ziVHM-fH!iVR?##8+yCs--!vVdJo@Nk?8c%_&d94?mv9>?!W1&|TX10JnV z1n_tEWoU&e@Cn?dV&IDk17I;7M3=~eQW=7vVWlE)^e&ieBMrt^9@?A!L8SzA5^SoJ z+7pwz;vk5wl2pQ*LjggSKh`G;{b!y%l>1lkLq4O?yY*Jk$lZtl8>-X*bS{`eQ3OS* L#n`uU_bUGZI1)+Y delta 2370 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 Q4KzU2N+t2>yIYz60Q=EAo&W#< diff --git a/maven/org/mbassy/mbassador/1.0.6.RC/mbassador-1.0.6.RC.jar.md5 b/maven/org/mbassy/mbassador/1.0.6.RC/mbassador-1.0.6.RC.jar.md5 index d99cfcc..1487a66 100644 --- a/maven/org/mbassy/mbassador/1.0.6.RC/mbassador-1.0.6.RC.jar.md5 +++ b/maven/org/mbassy/mbassador/1.0.6.RC/mbassador-1.0.6.RC.jar.md5 @@ -1 +1 @@ -a2ddea6754519b5b4c029f48431e0605 \ No newline at end of file +dac16b8c129ee38d08e63d4cd487bdc9 \ No newline at end of file diff --git a/maven/org/mbassy/mbassador/1.0.6.RC/mbassador-1.0.6.RC.jar.sha1 b/maven/org/mbassy/mbassador/1.0.6.RC/mbassador-1.0.6.RC.jar.sha1 index 1ce755e..de87fa1 100644 --- a/maven/org/mbassy/mbassador/1.0.6.RC/mbassador-1.0.6.RC.jar.sha1 +++ b/maven/org/mbassy/mbassador/1.0.6.RC/mbassador-1.0.6.RC.jar.sha1 @@ -1 +1 @@ -f2496df5cf69076115670219c0127968e3c7ad63 \ No newline at end of file +110fd15551d0a40fafd46cc4e66c590e4d1b2fc7 \ No newline at end of file diff --git a/maven/org/mbassy/mbassador/maven-metadata.xml b/maven/org/mbassy/mbassador/maven-metadata.xml index b951c9a..638db88 100644 --- a/maven/org/mbassy/mbassador/maven-metadata.xml +++ b/maven/org/mbassy/mbassador/maven-metadata.xml @@ -13,6 +13,6 @@ 1.0.5.RC 1.0.6.RC - 20121225153509 + 20121225161830 diff --git a/maven/org/mbassy/mbassador/maven-metadata.xml.md5 b/maven/org/mbassy/mbassador/maven-metadata.xml.md5 index 53584d1..23b7009 100644 --- a/maven/org/mbassy/mbassador/maven-metadata.xml.md5 +++ b/maven/org/mbassy/mbassador/maven-metadata.xml.md5 @@ -1 +1 @@ -0cc21fcd52a994d6b22f9fe57f210143 \ No newline at end of file +3ad8909f1f842b3c7a9644c8ad1cdb84 \ No newline at end of file diff --git a/maven/org/mbassy/mbassador/maven-metadata.xml.sha1 b/maven/org/mbassy/mbassador/maven-metadata.xml.sha1 index ce8d7f7..9a49cd7 100644 --- a/maven/org/mbassy/mbassador/maven-metadata.xml.sha1 +++ b/maven/org/mbassy/mbassador/maven-metadata.xml.sha1 @@ -1 +1 @@ -dc58ab03113b6edefe5f3bfdfc464e5c344b253a \ No newline at end of file +025b0b9e37663a19aeaf95c12a7d6cf8d8e470fc \ No newline at end of file diff --git a/src/main/java/org/mbassy/listener/Listener.java b/src/main/java/org/mbassy/listener/Listener.java index 33514bc..faf3c40 100644 --- a/src/main/java/org/mbassy/listener/Listener.java +++ b/src/main/java/org/mbassy/listener/Listener.java @@ -21,6 +21,6 @@ public @interface Listener { int priority() default 0; - boolean handlesSubtypes() default true; + boolean rejectSubtypes() default false; } diff --git a/src/main/java/org/mbassy/listener/MessageHandlerMetadata.java b/src/main/java/org/mbassy/listener/MessageHandlerMetadata.java index 023a523..d83e1a3 100644 --- a/src/main/java/org/mbassy/listener/MessageHandlerMetadata.java +++ b/src/main/java/org/mbassy/listener/MessageHandlerMetadata.java @@ -33,7 +33,7 @@ public class MessageHandlerMetadata { this.listenerConfig = listenerConfig; this.isAsynchronous = listenerConfig.dispatch().equals(Mode.Asynchronous); this.envelope = handler.getAnnotation(Enveloped.class); - this.acceptsSubtypes = listenerConfig.handlesSubtypes(); + this.acceptsSubtypes = !listenerConfig.rejectSubtypes(); if(this.envelope != null){ for(Class messageType : envelope.messages()) handledMessages.add(messageType); diff --git a/src/test/java/org/mbassy/MetadataReaderTest.java b/src/test/java/org/mbassy/MetadataReaderTest.java index c0c1d85..212bdc4 100644 --- a/src/test/java/org/mbassy/MetadataReaderTest.java +++ b/src/test/java/org/mbassy/MetadataReaderTest.java @@ -111,7 +111,7 @@ public class MetadataReaderTest extends UnitTest { // a simple event listener public class EventListener1 { - @Listener(handlesSubtypes = false) + @Listener(rejectSubtypes = true) public void handleObject(Object o) { } @@ -135,7 +135,7 @@ public class MetadataReaderTest extends UnitTest { public class EventListener3 extends EventListener2 { // narrow the handler - @Listener(handlesSubtypes = false) + @Listener(rejectSubtypes = true) public void handleAny(Object o) { } @@ -150,7 +150,7 @@ public class MetadataReaderTest extends UnitTest { public class EnvelopedListener{ - @Listener(handlesSubtypes = false) + @Listener(rejectSubtypes = true) @Enveloped(messages = {String.class, Integer.class, Long.class}) public void handleEnveloped(MessageEnvelope o) {