Code cleanup
This commit is contained in:
parent
97ab13891e
commit
2faab3d67f
|
@ -1,5 +1,14 @@
|
||||||
package ctbrec.event;
|
package ctbrec.event;
|
||||||
|
|
||||||
|
import com.google.common.eventbus.Subscribe;
|
||||||
|
import ctbrec.Config;
|
||||||
|
import ctbrec.event.Event.Type;
|
||||||
|
import ctbrec.event.EventHandlerConfiguration.ActionConfiguration;
|
||||||
|
import ctbrec.event.EventHandlerConfiguration.PredicateConfiguration;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
@ -7,16 +16,7 @@ import java.util.List;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
|
|
||||||
import ctbrec.Config;
|
@EqualsAndHashCode(of = "id")
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import com.google.common.eventbus.Subscribe;
|
|
||||||
|
|
||||||
import ctbrec.event.Event.Type;
|
|
||||||
import ctbrec.event.EventHandlerConfiguration.ActionConfiguration;
|
|
||||||
import ctbrec.event.EventHandlerConfiguration.PredicateConfiguration;
|
|
||||||
|
|
||||||
public class EventHandler {
|
public class EventHandler {
|
||||||
private static final Logger LOG = LoggerFactory.getLogger(EventHandler.class);
|
private static final Logger LOG = LoggerFactory.getLogger(EventHandler.class);
|
||||||
|
|
||||||
|
@ -36,17 +36,13 @@ public class EventHandler {
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
@SafeVarargs
|
|
||||||
public EventHandler(Action action, EventPredicate... predicates) {
|
public EventHandler(Action action, EventPredicate... predicates) {
|
||||||
this(Collections.singletonList(action), predicates);
|
this(Collections.singletonList(action), predicates);
|
||||||
}
|
}
|
||||||
|
|
||||||
@SafeVarargs
|
|
||||||
public EventHandler(List<Action> actions, EventPredicate... predicates) {
|
public EventHandler(List<Action> actions, EventPredicate... predicates) {
|
||||||
this.actions = actions;
|
this.actions = actions;
|
||||||
for (EventPredicate predicate : predicates) {
|
Collections.addAll(this.predicates, predicates);
|
||||||
this.predicates.add(predicate);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Subscribe
|
@Subscribe
|
||||||
|
@ -74,7 +70,7 @@ public class EventHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<EventPredicate> createPredicates(EventHandlerConfiguration config) {
|
private List<EventPredicate> createPredicates(EventHandlerConfiguration config) {
|
||||||
List<EventPredicate> predicates = new ArrayList<>(config.getPredicates().size());
|
List<EventPredicate> predicateList = new ArrayList<>(config.getPredicates().size());
|
||||||
for (PredicateConfiguration pc : config.getPredicates()) {
|
for (PredicateConfiguration pc : config.getPredicates()) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@ -86,16 +82,17 @@ public class EventHandler {
|
||||||
}
|
}
|
||||||
EventPredicate predicate = cls.getDeclaredConstructor().newInstance();
|
EventPredicate predicate = cls.getDeclaredConstructor().newInstance();
|
||||||
predicate.configure(pc);
|
predicate.configure(pc);
|
||||||
predicates.add(predicate);
|
predicateList.add(predicate);
|
||||||
} catch (InstantiationException | IllegalAccessException | ClassNotFoundException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException e) {
|
} catch (InstantiationException | IllegalAccessException | ClassNotFoundException | IllegalArgumentException | InvocationTargetException |
|
||||||
|
NoSuchMethodException | SecurityException e) {
|
||||||
LOG.warn("Error while creating action {} {}", pc.getType(), pc.getConfiguration(), e);
|
LOG.warn("Error while creating action {} {}", pc.getType(), pc.getConfiguration(), e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return predicates;
|
return predicateList;
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<Action> createActions(EventHandlerConfiguration config) {
|
private List<Action> createActions(EventHandlerConfiguration config) {
|
||||||
List<Action> actions = new ArrayList<>(config.getActions().size());
|
List<Action> actionList = new ArrayList<>(config.getActions().size());
|
||||||
for (ActionConfiguration ac : config.getActions()) {
|
for (ActionConfiguration ac : config.getActions()) {
|
||||||
try {
|
try {
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
|
@ -106,38 +103,11 @@ public class EventHandler {
|
||||||
}
|
}
|
||||||
Action action = cls.getDeclaredConstructor().newInstance();
|
Action action = cls.getDeclaredConstructor().newInstance();
|
||||||
action.configure(ac);
|
action.configure(ac);
|
||||||
actions.add(action);
|
actionList.add(action);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.warn("Error while creating action {} {}", ac.getType(), ac.getConfiguration(), e);
|
LOG.warn("Error while creating action {} {}", ac.getType(), ac.getConfiguration(), e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return actions;
|
return actionList;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public int hashCode() {
|
|
||||||
final int prime = 31;
|
|
||||||
int result = 1;
|
|
||||||
result = prime * result + ((id == null) ? 0 : id.hashCode());
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean equals(Object obj) {
|
|
||||||
if (this == obj)
|
|
||||||
return true;
|
|
||||||
if (obj == null)
|
|
||||||
return false;
|
|
||||||
if (getClass() != obj.getClass())
|
|
||||||
return false;
|
|
||||||
EventHandler other = (EventHandler) obj;
|
|
||||||
if (id == null) {
|
|
||||||
if (other.id != null)
|
|
||||||
return false;
|
|
||||||
} else if (!id.equals(other.id))
|
|
||||||
return false;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue