Added some codestyle-induced fixes.
This commit is contained in:
parent
fb2bdd4c1a
commit
8349aef7c8
|
@ -43,15 +43,17 @@ public abstract class AbstractMessageBus<T, P extends IMessageBus.IPostCommand>
|
|||
// all subscriptions per message type
|
||||
// this is the primary list for dispatching a specific message
|
||||
// write access is synchronized and happens very infrequently
|
||||
private final Map<Class, Collection<Subscription>> subscriptionsPerMessage = new HashMap(50);
|
||||
private final Map<Class, Collection<Subscription>> subscriptionsPerMessage
|
||||
= new HashMap<Class, Collection<Subscription>>(50);
|
||||
|
||||
// all subscriptions per messageHandler type
|
||||
// this list provides fast access for subscribing and unsubscribing
|
||||
// write access is synchronized and happens very infrequently
|
||||
private final Map<Class, Collection<Subscription>> subscriptionsPerListener = new HashMap(50);
|
||||
private final Map<Class, Collection<Subscription>> subscriptionsPerListener
|
||||
= new HashMap<Class, Collection<Subscription>>(50);
|
||||
|
||||
// remember already processed classes that do not contain any listeners
|
||||
private final Collection<Class> nonListeners = new HashSet();
|
||||
private final Collection<Class> nonListeners = new HashSet<Class>();
|
||||
|
||||
// this handler will receive all errors that occur during message dispatch or message handling
|
||||
private final List<IPublicationErrorHandler> errorHandlers = new CopyOnWriteArrayList<IPublicationErrorHandler>();
|
||||
|
|
|
@ -103,7 +103,7 @@ public class MessagePublication {
|
|||
}
|
||||
|
||||
private enum State {
|
||||
Initial, Scheduled, Running, Finished, Error;
|
||||
Initial, Scheduled, Running, Finished, Error
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -22,15 +22,16 @@ import java.util.WeakHashMap;
|
|||
*/
|
||||
public class ConcurrentSet<T> implements Iterable<T> {
|
||||
|
||||
// Internal state
|
||||
private final Object lock = new Object();
|
||||
private WeakHashMap<T, Entry<T>> entries = new WeakHashMap<T, Entry<T>>(); // maintain a map of entries for O(log n) lookup
|
||||
|
||||
private Entry<T> head; // reference to the first element
|
||||
|
||||
public ConcurrentSet<T> add(T element) {
|
||||
if (element == null || entries.containsKey(element)) {
|
||||
return this;
|
||||
}
|
||||
synchronized (this) {
|
||||
synchronized (lock) {
|
||||
insert(element);
|
||||
}
|
||||
return this;
|
||||
|
@ -58,7 +59,7 @@ public class ConcurrentSet<T> implements Iterable<T> {
|
|||
}
|
||||
|
||||
public ConcurrentSet<T> addAll(Iterable<T> elements) {
|
||||
synchronized (this) {
|
||||
synchronized (lock) {
|
||||
for (T element : elements) {
|
||||
if (element == null || entries.containsKey(element)) {
|
||||
return this;
|
||||
|
@ -74,7 +75,7 @@ public class ConcurrentSet<T> implements Iterable<T> {
|
|||
if (!entries.containsKey(element)) {
|
||||
return false;
|
||||
}
|
||||
synchronized (this) {
|
||||
synchronized (lock) {
|
||||
Entry<T> listelement = entries.get(element);
|
||||
if (listelement == null) {
|
||||
return false; //removed by other thread
|
||||
|
|
|
@ -91,9 +91,6 @@ public class ReflectionUtils {
|
|||
Class[] superClassMethodParameters = superclassMethod.getParameterTypes();
|
||||
Class[] subClassMethodParameters = superclassMethod.getParameterTypes();
|
||||
// method must specify the same number of parameters
|
||||
if (subClassMethodParameters.length != subClassMethodParameters.length) {
|
||||
return false;
|
||||
}
|
||||
//the parameters must occur in the exact same order
|
||||
for (int i = 0; i < subClassMethodParameters.length; i++) {
|
||||
if (!superClassMethodParameters[i].equals(subClassMethodParameters[i])) {
|
||||
|
|
|
@ -26,8 +26,8 @@ public class FilteredMessageDispatcher extends DelegatingMessageDispatcher {
|
|||
if (filter == null) {
|
||||
return true;
|
||||
} else {
|
||||
for (int i = 0; i < filter.length; i++) {
|
||||
if (!filter[i].accepts(message, getContext().getHandlerMetadata())) {
|
||||
for (IMessageFilter aFilter : filter) {
|
||||
if (!aFilter.accepts(message, getContext().getHandlerMetadata())) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package net.engio.mbassy.listener;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.Collections;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
|
@ -33,8 +34,7 @@ public class MessageHandlerMetadata {
|
|||
this.envelope = handler.getAnnotation(Enveloped.class);
|
||||
this.acceptsSubtypes = !handlerConfig.rejectSubtypes();
|
||||
if (this.envelope != null) {
|
||||
for (Class messageType : envelope.messages())
|
||||
handledMessages.add(messageType);
|
||||
Collections.addAll(handledMessages, envelope.messages());
|
||||
} else {
|
||||
handledMessages.add(handler.getParameterTypes()[0]);
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@ import java.util.List;
|
|||
public class MessageListenerMetadata<T> {
|
||||
|
||||
|
||||
public static final IPredicate<MessageHandlerMetadata> ForMessage(final Class<?> messageType) {
|
||||
public static IPredicate<MessageHandlerMetadata> ForMessage(final Class<?> messageType) {
|
||||
return new IPredicate<MessageHandlerMetadata>() {
|
||||
@Override
|
||||
public boolean apply(MessageHandlerMetadata target) {
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
package net.engio.mbassy.subscription;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
|
||||
/**
|
||||
* A message envelope is used to wrap messages of arbitrary type such that a handler
|
||||
* my receive messages of different types.
|
||||
|
|
|
@ -32,9 +32,11 @@ public class ConcurrentSetTest extends UnitTest {
|
|||
@Ignore("Currently fails when building as a suite with JDK 1.7.0_15 and Maven 3.0.5 on a Mac")
|
||||
@Test
|
||||
public void testIteratorCleanup() {
|
||||
|
||||
// Assemble
|
||||
final HashSet<Object> persistingCandidates = new HashSet<Object>();
|
||||
final ConcurrentSet<Object> testSet = new ConcurrentSet<Object>();
|
||||
Random rand = new Random();
|
||||
final Random rand = new Random();
|
||||
|
||||
for (int i = 0; i < numberOfElements; i++) {
|
||||
Object candidate = new Object();
|
||||
|
@ -100,8 +102,6 @@ public class ConcurrentSetTest extends UnitTest {
|
|||
for (Object uniqueObject : distinct) {
|
||||
assertTrue(testSet.contains(uniqueObject));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -1,14 +1,16 @@
|
|||
package net.engio.mbassy.bus;
|
||||
|
||||
import net.engio.mbassy.bus.BusConfiguration;
|
||||
import net.engio.mbassy.bus.MBassador;
|
||||
import net.engio.mbassy.common.MessageBusTest;
|
||||
import net.engio.mbassy.events.SubTestMessage;
|
||||
import org.junit.Test;
|
||||
import net.engio.mbassy.common.TestUtil;
|
||||
import net.engio.mbassy.events.SubTestMessage;
|
||||
import net.engio.mbassy.events.TestMessage;
|
||||
import net.engio.mbassy.listeners.*;
|
||||
import net.engio.mbassy.listeners.EventingTestBean;
|
||||
import net.engio.mbassy.listeners.EventingTestBean2;
|
||||
import net.engio.mbassy.listeners.EventingTestBean3;
|
||||
import net.engio.mbassy.listeners.ListenerFactory;
|
||||
import net.engio.mbassy.listeners.NonListeningBean;
|
||||
import net.engio.mbassy.subscription.Subscription;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedList;
|
||||
|
|
Loading…
Reference in New Issue
Block a user