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

Reply via email to