Author: asankaa Date: Mon Nov 24 21:28:52 2008 New Revision: 24781 URL: http://wso2.org/svn/browse/wso2?view=rev&revision=24781
Log: add expiration Modified: branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/managers/DefaultInMemorySubscriptionManager.java Modified: branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/managers/DefaultInMemorySubscriptionManager.java URL: http://wso2.org/svn/browse/wso2/branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/managers/DefaultInMemorySubscriptionManager.java?rev=24781&r1=24780&r2=24781&view=diff ============================================================================== --- branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/managers/DefaultInMemorySubscriptionManager.java (original) +++ branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/managers/DefaultInMemorySubscriptionManager.java Mon Nov 24 21:28:52 2008 @@ -33,6 +33,7 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.Calendar; import java.util.concurrent.ConcurrentHashMap; /** @@ -85,14 +86,18 @@ return list; } - public List<Subscription> getMatchingSubscribers(MessageContext mc) { - //TODO : check the expiration + public List<Subscription> getMatchingSubscribers(MessageContext mc) { LinkedList<Subscription> list = new LinkedList<Subscription>(); for (Map.Entry<String, Subscription> stringSubscriptionEntry : store.entrySet()) { XPathBasedEventFilter filter =(XPathBasedEventFilter) stringSubscriptionEntry.getValue().getFilter(); filter.setSourceXpath(topicXPath); if (filter == null || filter.isSatisfied(mc)) { - list.add(stringSubscriptionEntry.getValue()); + Subscription subscription = stringSubscriptionEntry.getValue(); + Calendar current = Calendar.getInstance(); //Get current date and time + if(current.before(subscription.getExpires())){ + // add only valid subscriptions by checking the expiration + list.add(subscription); + } } } return list; @@ -104,6 +109,7 @@ public void init() { try { + //TODO: pick values from the constants topicXPath = new SynapseXPath("s11:Header/ns:" + topicHeaderName + " | s12:Header/ns:" + topicHeaderName); topicXPath.addNamespace("s11", "http://schemas.xmlsoap.org/soap/envelope/"); topicXPath.addNamespace("s12", "http://www.w3.org/2003/05/soap-envelope"); _______________________________________________ Esb-java-dev mailing list [email protected] https://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev
