small code improvements
This commit is contained in:
parent
7c0c0b6f82
commit
ed901a8501
@ -28,18 +28,16 @@ public abstract class AbstractConcurrentSet<T> implements IConcurrentSet<T> {
|
|||||||
protected abstract Entry<T> createEntry(T value, Entry<T> next);
|
protected abstract Entry<T> createEntry(T value, Entry<T> next);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IConcurrentSet<T> add(T element) {
|
public void add(T element) {
|
||||||
if (element == null) return this;
|
if (element == null) return;
|
||||||
Lock writeLock = lock.writeLock();
|
Lock writeLock = lock.writeLock();
|
||||||
writeLock.lock();
|
writeLock.lock();
|
||||||
if (element == null || entries.containsKey(element)) {
|
if (element == null || entries.containsKey(element)) {
|
||||||
writeLock.unlock();
|
writeLock.unlock();
|
||||||
return this;
|
|
||||||
} else {
|
} else {
|
||||||
insert(element);
|
insert(element);
|
||||||
writeLock.unlock();
|
writeLock.unlock();
|
||||||
}
|
}
|
||||||
return this;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -69,7 +67,7 @@ public abstract class AbstractConcurrentSet<T> implements IConcurrentSet<T> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IConcurrentSet<T> addAll(Iterable<T> elements) {
|
public void addAll(Iterable<T> elements) {
|
||||||
Lock writeLock = lock.writeLock();
|
Lock writeLock = lock.writeLock();
|
||||||
try {
|
try {
|
||||||
writeLock.lock();
|
writeLock.lock();
|
||||||
@ -81,7 +79,6 @@ public abstract class AbstractConcurrentSet<T> implements IConcurrentSet<T> {
|
|||||||
} finally {
|
} finally {
|
||||||
writeLock.unlock();
|
writeLock.unlock();
|
||||||
}
|
}
|
||||||
return this;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -8,13 +8,13 @@ package net.engio.mbassy.common;
|
|||||||
*/
|
*/
|
||||||
public interface IConcurrentSet<T> extends Iterable<T> {
|
public interface IConcurrentSet<T> extends Iterable<T> {
|
||||||
|
|
||||||
IConcurrentSet<T> add(T element);
|
void add(T element);
|
||||||
|
|
||||||
boolean contains(T element);
|
boolean contains(T element);
|
||||||
|
|
||||||
int size();
|
int size();
|
||||||
|
|
||||||
IConcurrentSet<T> addAll(Iterable<T> elements);
|
void addAll(Iterable<T> elements);
|
||||||
|
|
||||||
boolean remove(T element);
|
boolean remove(T element);
|
||||||
}
|
}
|
||||||
|
@ -56,7 +56,7 @@ public class MessageHandler {
|
|||||||
Map<String, Object> properties = new HashMap<String, Object>();
|
Map<String, Object> properties = new HashMap<String, Object>();
|
||||||
properties.put(HandlerMethod, handler);
|
properties.put(HandlerMethod, handler);
|
||||||
// add EL filter if a condition is present
|
// add EL filter if a condition is present
|
||||||
if(handlerConfig.condition() != null){
|
if(handlerConfig.condition().length() > 0){
|
||||||
if (!ElFilter.isELAvailable()) {
|
if (!ElFilter.isELAvailable()) {
|
||||||
throw new IllegalStateException("A handler uses an EL filter but no EL implementation is available.");
|
throw new IllegalStateException("A handler uses an EL filter but no EL implementation is available.");
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,8 @@ import org.junit.runners.Suite;
|
|||||||
DeadMessageTest.class,
|
DeadMessageTest.class,
|
||||||
SynchronizedHandlerTest.class,
|
SynchronizedHandlerTest.class,
|
||||||
SubscriptionManagerTest.class,
|
SubscriptionManagerTest.class,
|
||||||
AsyncFIFOBusTest.class
|
AsyncFIFOBusTest.class,
|
||||||
|
ConditionalHandlers.class
|
||||||
})
|
})
|
||||||
public class AllTests {
|
public class AllTests {
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@ import java.util.Set;
|
|||||||
* Some unit tests for the "condition" filter.
|
* Some unit tests for the "condition" filter.
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
public class ConditionTest extends MessageBusTest {
|
public class ConditionalHandlers extends MessageBusTest {
|
||||||
|
|
||||||
public static class TestEvent {
|
public static class TestEvent {
|
||||||
|
|
@ -30,7 +30,7 @@ public class ListenerFactory {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ListenerFactory create(int numberOfInstances, Class[] classes){
|
public ListenerFactory create(int numberOfInstances, Class ...classes){
|
||||||
for(Class clazz : classes)
|
for(Class clazz : classes)
|
||||||
create(numberOfInstances,clazz);
|
create(numberOfInstances,clazz);
|
||||||
return this;
|
return this;
|
||||||
|
Loading…
Reference in New Issue
Block a user