/** * Cancel a plan's IE subscription Always keep plans registered to CoreEventHandler * * @param sub The subscription to cancel due to event completion or cancellation * @return If the handler held and canceled this subscription */ @Override public boolean cancel(GeneratedInputEventSubscription sub) { LOGGER.log(Level.FINE, "CoreEventHandler asked to cancel subscription: " + sub); if ((sub.getSubscriptionClass() == AbortMissionReceived.class || sub.getSubscriptionClass() == TimerExpired.class || sub.getSubscriptionClass() == TokensReturned.class) && listeners.contains(sub.getListener())) { return true; } return false; }
/** * Offer a plan's IE subscription to the handler Always keep plans registered to CoreEventHandler * * @param sub The newly created input event subscription * @return If the handler accepts the subscription */ @Override public boolean offer(GeneratedInputEventSubscription sub) { LOGGER.log(Level.FINE, "CoreEventHandler offered subscription: " + sub); if (sub.getSubscriptionClass() == AbortMissionReceived.class || sub.getSubscriptionClass() == TimerExpired.class || sub.getSubscriptionClass() == TokensReturned.class) { LOGGER.log(Level.FINE, "\tCoreEventHandler took subscription request: " + sub); if (!listeners.contains(sub.getListener())) { LOGGER.log(Level.FINE, "\t\tCoreEventHandler adding listener: " + sub.getListener()); listeners.add(sub.getListener()); listenerGCCount.put(sub.getListener(), 1); } return true; } return false; }