You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ak...@apache.org on 2004/03/19 07:11:07 UTC

svn commit: rev 9608 - incubator/directory/eve/trunk/eve/frontend/processor/spi/src/java/org/apache/eve/processor

Author: akarasulu
Date: Thu Mar 18 22:11:06 2004
New Revision: 9608

Added:
   incubator/directory/eve/trunk/eve/frontend/processor/spi/src/java/org/apache/eve/processor/ManyReplyHandler.java
Modified:
   incubator/directory/eve/trunk/eve/frontend/processor/spi/src/java/org/apache/eve/processor/HandlerTypeEnum.java
   incubator/directory/eve/trunk/eve/frontend/processor/spi/src/java/org/apache/eve/processor/RequestProcessor.java
   incubator/directory/eve/trunk/eve/frontend/processor/spi/src/java/org/apache/eve/processor/RequestProcessorMonitor.java
   incubator/directory/eve/trunk/eve/frontend/processor/spi/src/java/org/apache/eve/processor/RequestProcessorMonitorAdapter.java
   incubator/directory/eve/trunk/eve/frontend/processor/spi/src/java/org/apache/eve/processor/SingleReplyHandler.java
Log:
should be set with the stubs

Modified: incubator/directory/eve/trunk/eve/frontend/processor/spi/src/java/org/apache/eve/processor/HandlerTypeEnum.java
==============================================================================
--- incubator/directory/eve/trunk/eve/frontend/processor/spi/src/java/org/apache/eve/processor/HandlerTypeEnum.java	(original)
+++ incubator/directory/eve/trunk/eve/frontend/processor/spi/src/java/org/apache/eve/processor/HandlerTypeEnum.java	Thu Mar 18 22:11:06 2004
@@ -34,8 +34,8 @@
     public static final int NOREPLY_VAL = 0 ;
     /** Value for singlereply enumeration type */
     public static final int SINGLEREPLY_VAL = 1 ;
-    /** Value for search enumeration type */
-    public static final int SEARCH_VAL = 2 ;
+    /** Value for many value enumeration type */
+    public static final int MANYREPLY_VAL = 2 ;
 
     /** Enum for noreply type */
 	public static final HandlerTypeEnum NOREPLY =
@@ -45,7 +45,7 @@
         new HandlerTypeEnum( "SINGLEREPLY", SINGLEREPLY_VAL ) ;
     /** Enum for search type */
 	public static final HandlerTypeEnum SEARCH =
-        new HandlerTypeEnum( "SEARCH", SEARCH_VAL ) ;
+        new HandlerTypeEnum( "MANYREPLY", MANYREPLY_VAL ) ;
 
 
     /**

Added: incubator/directory/eve/trunk/eve/frontend/processor/spi/src/java/org/apache/eve/processor/ManyReplyHandler.java
==============================================================================
--- (empty file)
+++ incubator/directory/eve/trunk/eve/frontend/processor/spi/src/java/org/apache/eve/processor/ManyReplyHandler.java	Thu Mar 18 22:11:06 2004
@@ -0,0 +1,42 @@
+/*
+ *   Copyright 2004 The Apache Software Foundation
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ *
+ */
+package org.apache.eve.processor ;
+
+
+import java.util.Iterator ;
+
+import org.apache.ldap.common.message.ManyReplyRequest ;
+
+
+/**
+ * A handler for requests that can generate zero, one or more responses.
+ *
+ * @author <a href="mailto:directory-dev@incubator.apache.org">
+ * Apache Directory Project</a>
+ * @version $Rev$
+ */
+public interface ManyReplyHandler extends RequestHandler
+{
+    /**
+     * A handler for a request that can create multiple responses of 
+     * heterogenous messages.
+     * 
+     * @param request the request that may generate many replies
+     * @return an enumeration over the responses
+     */
+    Iterator handle( ManyReplyRequest request ) ;
+}

Modified: incubator/directory/eve/trunk/eve/frontend/processor/spi/src/java/org/apache/eve/processor/RequestProcessor.java
==============================================================================
--- incubator/directory/eve/trunk/eve/frontend/processor/spi/src/java/org/apache/eve/processor/RequestProcessor.java	(original)
+++ incubator/directory/eve/trunk/eve/frontend/processor/spi/src/java/org/apache/eve/processor/RequestProcessor.java	Thu Mar 18 22:11:06 2004
@@ -27,5 +27,4 @@
  */
 public interface RequestProcessor
 {
-    void dummy() ;
 }

Modified: incubator/directory/eve/trunk/eve/frontend/processor/spi/src/java/org/apache/eve/processor/RequestProcessorMonitor.java
==============================================================================
--- incubator/directory/eve/trunk/eve/frontend/processor/spi/src/java/org/apache/eve/processor/RequestProcessorMonitor.java	(original)
+++ incubator/directory/eve/trunk/eve/frontend/processor/spi/src/java/org/apache/eve/processor/RequestProcessorMonitor.java	Thu Mar 18 22:11:06 2004
@@ -19,7 +19,9 @@
 
 import java.util.EventObject ;
 
-import org.apache.eve.event.Subscriber ; 
+import org.apache.eve.event.Subscriber ;
+import org.apache.eve.listener.ClientKey ;
+import org.apache.ldap.common.message.Request ;
 
 
 /**
@@ -40,4 +42,12 @@
      */
     void failedOnInform( Subscriber subscriber, EventObject event, 
                          Throwable t ) ;
+
+    /**
+     * 
+     * @param key
+     * @param request
+     * @param t
+     */
+    void failedOnSingleReply( ClientKey key, Request request, Throwable t ) ;
 }

Modified: incubator/directory/eve/trunk/eve/frontend/processor/spi/src/java/org/apache/eve/processor/RequestProcessorMonitorAdapter.java
==============================================================================
--- incubator/directory/eve/trunk/eve/frontend/processor/spi/src/java/org/apache/eve/processor/RequestProcessorMonitorAdapter.java	(original)
+++ incubator/directory/eve/trunk/eve/frontend/processor/spi/src/java/org/apache/eve/processor/RequestProcessorMonitorAdapter.java	Thu Mar 18 22:11:06 2004
@@ -19,7 +19,10 @@
 
 import java.util.EventObject ;
 
-import org.apache.eve.event.Subscriber ; 
+import org.apache.commons.lang.exception.ExceptionUtils;
+import org.apache.eve.event.Subscriber ;
+import org.apache.eve.listener.ClientKey ;
+import org.apache.ldap.common.message.Request ;
 
 
 /**
@@ -41,5 +44,28 @@
 								Throwable t )
     {
         throw new RuntimeException( t ) ;
+    }
+    
+    
+    /* (non-Javadoc)
+     * @see org.apache.eve.processor.RequestProcessorMonitor#failedOnSingleReply
+     * (org.apache.eve.listener.ClientKey, 
+     * org.apache.ldap.common.message.Request, java.lang.Throwable)
+     */
+    public void failedOnSingleReply( ClientKey key, Request request, 
+                                     Throwable t )
+    {
+        // @todo We should be able to email this or even post it to JIRA.
+        // if some of error reporting configuration parameters are set. Or
+        // perhaps this is something best left to a logger customization.
+        
+        StringBuffer buf = new StringBuffer() ;
+        buf.append( "Encountered an operational error while processing " ) ;
+        buf.append( request.getType().getName() ) ;
+        buf.append( " request. Please report the the following server stack" );
+        buf.append( " trace to the Apache Directory Project:\n" ) ;
+        buf.append( ExceptionUtils.getFullStackTrace( t ) ) ;
+        
+        throw new RuntimeException( buf.toString(), t ) ;
     }
 }

Modified: incubator/directory/eve/trunk/eve/frontend/processor/spi/src/java/org/apache/eve/processor/SingleReplyHandler.java
==============================================================================
--- incubator/directory/eve/trunk/eve/frontend/processor/spi/src/java/org/apache/eve/processor/SingleReplyHandler.java	(original)
+++ incubator/directory/eve/trunk/eve/frontend/processor/spi/src/java/org/apache/eve/processor/SingleReplyHandler.java	Thu Mar 18 22:11:06 2004
@@ -26,9 +26,9 @@
  * Request handler signature for those requests that generate a single response
  * for a request.
  *
- * @author <a href="mailto:aok123@bellsouth.net">Alex Karasulu</a>
- * @author $Author: akarasulu $
- * @version $Revision: 1.2 $
+ * @author <a href="mailto:directory-dev@incubator.apache.org">
+ * Apache Directory Project</a>
+ * @version $Rev$
  */
 public interface SingleReplyHandler
     extends RequestHandler