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/22 11:34:52 UTC

svn commit: rev 9673 - in incubator/directory/eve/trunk/eve/frontend/encoder/merlin-impl: . conf src/java/org/apache/eve/encoder/impl src/test/org/apache/eve/encoder/impl

Author: akarasulu
Date: Mon Mar 22 02:34:52 2004
New Revision: 9673

Modified:
   incubator/directory/eve/trunk/eve/frontend/encoder/merlin-impl/conf/block.xml
   incubator/directory/eve/trunk/eve/frontend/encoder/merlin-impl/project.properties
   incubator/directory/eve/trunk/eve/frontend/encoder/merlin-impl/project.xml
   incubator/directory/eve/trunk/eve/frontend/encoder/merlin-impl/src/java/org/apache/eve/encoder/impl/MerlinEncoderManager.java
   incubator/directory/eve/trunk/eve/frontend/encoder/merlin-impl/src/test/org/apache/eve/encoder/impl/MerlinEncoderManagerTest.java
Log:
implemented merlin wrapper

Modified: incubator/directory/eve/trunk/eve/frontend/encoder/merlin-impl/conf/block.xml
==============================================================================
--- incubator/directory/eve/trunk/eve/frontend/encoder/merlin-impl/conf/block.xml	(original)
+++ incubator/directory/eve/trunk/eve/frontend/encoder/merlin-impl/conf/block.xml	Mon Mar 22 02:34:52 2004
@@ -27,6 +27,7 @@
         <resource id="commons-collections:commons-collections" version="3.0"/>
         <resource id="commons-primitives:commons-primitives" version="1.1-dev"/>
         <resource id="commons-lang:commons-lang" version="2.0"/>
+        <resource id="commons-logging:commons-logging" version="1.0.3"/>
   
         <!-- Directory Dependencies -->
 

Modified: incubator/directory/eve/trunk/eve/frontend/encoder/merlin-impl/project.properties
==============================================================================
--- incubator/directory/eve/trunk/eve/frontend/encoder/merlin-impl/project.properties	(original)
+++ incubator/directory/eve/trunk/eve/frontend/encoder/merlin-impl/project.properties	Mon Mar 22 02:34:52 2004
@@ -3,3 +3,5 @@
 merlin.debug=true
 merlin.info=true
 merlin.override=conf/config.xml
+
+org.apache.commons.logging.simplelog.defaultlog=debug

Modified: incubator/directory/eve/trunk/eve/frontend/encoder/merlin-impl/project.xml
==============================================================================
--- incubator/directory/eve/trunk/eve/frontend/encoder/merlin-impl/project.xml	(original)
+++ incubator/directory/eve/trunk/eve/frontend/encoder/merlin-impl/project.xml	Mon Mar 22 02:34:52 2004
@@ -43,6 +43,20 @@
       </dependency>
     
       <dependency>
+        <groupId>commons-codec</groupId>
+        <artifactId>commons-codec</artifactId>
+        <version>1.2</version>
+        <url>http://jakarta.apache.org/commons/codec</url>
+      </dependency>
+    
+      <dependency>
+        <groupId>commons-logging</groupId>
+        <artifactId>commons-logging</artifactId>
+        <version>1.0.3</version>
+        <url>http://jakarta.apache.org/commons/logging</url>
+      </dependency>
+        
+      <dependency>
         <groupId>commons-primitives</groupId>
         <artifactId>commons-primitives</artifactId>
         <version>1.1-dev</version>
@@ -131,6 +145,18 @@
         <artifactId>ldap-common</artifactId>
         <version>SNAPSHOT</version>
         <url>http://incubator.apache.org/directory/ldap/common</url>
+      </dependency>
+
+      <dependency>
+        <groupId>incubator-directory</groupId>
+        <artifactId>ldap-snacc-provider</artifactId>
+        <version>SNAPSHOT</version>
+      </dependency>
+
+      <dependency>
+        <groupId>snacc4j</groupId>
+        <artifactId>snacc</artifactId>
+        <version>2.3</version>
       </dependency>
 
       <dependency>

Modified: incubator/directory/eve/trunk/eve/frontend/encoder/merlin-impl/src/java/org/apache/eve/encoder/impl/MerlinEncoderManager.java
==============================================================================
--- incubator/directory/eve/trunk/eve/frontend/encoder/merlin-impl/src/java/org/apache/eve/encoder/impl/MerlinEncoderManager.java	(original)
+++ incubator/directory/eve/trunk/eve/frontend/encoder/merlin-impl/src/java/org/apache/eve/encoder/impl/MerlinEncoderManager.java	Mon Mar 22 02:34:52 2004
@@ -17,11 +17,14 @@
 package org.apache.eve.encoder.impl ;
 
 
+import org.apache.commons.codec.EncoderException ;
+
 import org.apache.eve.thread.ThreadPool ;
 import org.apache.eve.event.EventRouter ;
 import org.apache.eve.seda.DefaultStageConfig ;
 
 import org.apache.eve.encoder.EncoderManager ;
+import org.apache.ldap.common.message.Response;
 
 import org.apache.avalon.framework.logger.Logger ;
 import org.apache.avalon.framework.logger.LogEnabled ;
@@ -75,10 +78,12 @@
 
 
     /* (non-Javadoc)
-     * @see org.apache.eve.processor.RequestProcessor#dummy()
+     * @see org.apache.eve.encoder.EncoderManager#encode(
+     * org.apache.ldap.common.message.Response)
      */
-    public void dummy()
+    public byte[] encode( Response response ) throws EncoderException
     {
+        return encoderManager.encode( response ) ;
     }
     
     
@@ -142,7 +147,7 @@
      */
     public void initialize() throws Exception
     {
-        //throw new NotImplementedException( "STUB" ) ;
+        encoderManager = new DefaultEncoderManager( router, stageConfig ) ;
     }
     
     
@@ -151,7 +156,7 @@
      */
     public void start() throws Exception
     {
-        //throw new NotImplementedException( "STUB" ) ;
+        encoderManager.start() ;
     }
     
     
@@ -160,6 +165,6 @@
      */
     public void stop() throws Exception
     {
-        //throw new NotImplementedException( "STUB" ) ;
+        encoderManager.stop() ;
     }
 }

Modified: incubator/directory/eve/trunk/eve/frontend/encoder/merlin-impl/src/test/org/apache/eve/encoder/impl/MerlinEncoderManagerTest.java
==============================================================================
--- incubator/directory/eve/trunk/eve/frontend/encoder/merlin-impl/src/test/org/apache/eve/encoder/impl/MerlinEncoderManagerTest.java	(original)
+++ incubator/directory/eve/trunk/eve/frontend/encoder/merlin-impl/src/test/org/apache/eve/encoder/impl/MerlinEncoderManagerTest.java	Mon Mar 22 02:34:52 2004
@@ -17,9 +17,21 @@
 package org.apache.eve.encoder.impl ;
 
 
+import java.util.EventObject;
+
 import org.apache.avalon.merlin.unit.AbstractMerlinTestCase ;
 
 import org.apache.eve.encoder.EncoderManager ;
+import org.apache.eve.event.AbstractSubscriber;
+import org.apache.eve.event.EventRouter;
+import org.apache.eve.event.OutputEvent;
+import org.apache.eve.event.OutputSubscriber;
+import org.apache.eve.event.ResponseEvent;
+import org.apache.ldap.common.message.AddResponse;
+import org.apache.ldap.common.message.AddResponseImpl;
+import org.apache.ldap.common.message.LdapResult;
+import org.apache.ldap.common.message.LdapResultImpl;
+import org.apache.ldap.common.message.ResultCodeEnum;
 
 
 /**
@@ -30,8 +42,11 @@
  * @version $Rev$
  */
 public class MerlinEncoderManagerTest extends AbstractMerlinTestCase
+    implements OutputSubscriber
 {
     EncoderManager encman = null ;
+    OutputEvent event = null ;
+    EventRouter router = null ;
 
     
     public MerlinEncoderManagerTest( String a_name )
@@ -54,6 +69,9 @@
         super.setUp() ;
         encman = ( EncoderManager ) 
             resolve( "/server/encoder-manager" ) ; 
+        router = ( EventRouter )
+            resolve( "/server/event-router" ) ; 
+        router.subscribe( OutputEvent.class, this ) ;
     }
 
     
@@ -64,11 +82,53 @@
     {
         super.tearDown() ;
         encman = null ;
+        router = null ;
+        event = null ;
     }
 
+    
+    /* (non-Javadoc)
+     * @see org.apache.eve.event.Subscriber#inform(java.util.EventObject)
+     */
+    public void inform( EventObject event )
+    {
+        try
+        {
+            AbstractSubscriber.inform( this, event ) ;
+        }
+        catch( Throwable t )
+        {
+            t.printStackTrace() ;
+        }
+    }
+    
+    
+    /* (non-Javadoc)
+     * @see org.apache.eve.event.OutputSubscriber#
+     * inform(org.apache.eve.event.OutputEvent)
+     */
+    public void inform( OutputEvent event )
+    {
+        this.event = event ;
+    }
+    
 
-    public void testDummy()
+    /**
+     * Tests the encoding of a response to an add request.
+     *
+     */
+    public void testAddResponse() throws Exception 
     {
-        encman.dummy() ;
+        AddResponse response = new AddResponseImpl( 5 ) ;
+        LdapResult result = new LdapResultImpl( response ) ;
+        result.setErrorMessage( "Server is stubbed out" ) ;
+        result.setMatchedDn( "uid=akarasulu,dc=example,dc=com" ) ;
+        result.setResultCode( ResultCodeEnum.UNWILLINGTOPERFORM ) ;
+        response.setLdapResult( result ) ;
+        ResponseEvent event = new ResponseEvent( this, null, response ) ;
+        router.publish( event ) ;
+        
+        Thread.sleep(1000) ;
+        assertNotNull( this.event ) ;
     }
 }