Author: hiranya
Date: Fri Jun 22 13:42:43 2012
New Revision: 1352889

URL: http://svn.apache.org/viewvc?rev=1352889&view=rev
Log:
Providig a hook to handle messages with no matching API resources

Modified:
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/rest/API.java
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/rest/RESTConstants.java

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/rest/API.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/rest/API.java?rev=1352889&r1=1352888&r2=1352889&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/rest/API.java 
(original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/rest/API.java 
Fri Jun 22 13:42:43 2012
@@ -22,6 +22,7 @@ package org.apache.synapse.rest;
 import org.apache.axis2.Constants;
 import org.apache.http.protocol.HTTP;
 import org.apache.synapse.ManagedLifecycle;
+import org.apache.synapse.Mediator;
 import org.apache.synapse.MessageContext;
 import org.apache.synapse.core.SynapseEnvironment;
 import org.apache.synapse.core.axis2.Axis2MessageContext;
@@ -286,8 +287,15 @@ public class API extends AbstractRESTPro
             }
         }
 
-        if (!processed && log.isDebugEnabled()) {
-            log.debug("No matching resource was found for the request: " + 
synCtx.getMessageID());
+        if (!processed) {
+            if (log.isDebugEnabled()) {
+                log.debug("No matching resource was found for the request: " + 
synCtx.getMessageID());
+            }
+
+            Mediator sequence = 
synCtx.getSequence(RESTConstants.NO_MATCHING_RESOURCE_HANDLER);
+            if (sequence != null) {
+                sequence.mediate(synCtx);
+            }
         }
     }
 

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/rest/RESTConstants.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/rest/RESTConstants.java?rev=1352889&r1=1352888&r2=1352889&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/rest/RESTConstants.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/rest/RESTConstants.java
 Fri Jun 22 13:42:43 2012
@@ -46,4 +46,6 @@ public class RESTConstants {
 
     public static final String DEFAULT_ENCODING = "UTF-8";
 
+    public static final String NO_MATCHING_RESOURCE_HANDLER = 
"NO_MATCHING_RESOURCE_HANDLER";
+
 }


Reply via email to