You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by bl...@apache.org on 2004/12/02 23:03:10 UTC
svn commit: r109567 - in incubator/directory/seda/branches/berin_api_proposal: . src src/java src/java/org src/java/org/apache src/java/org/apache/directory src/java/org/apache/directory/seda src/test src/test/org src/test/org/apache src/test/org/apache/directory src/test/org/apache/directory/seda src/test/org/apache/directory/seda/test xdocs
Author: bloritsch
Date: Thu Dec 2 14:03:09 2004
New Revision: 109567
URL: http://svn.apache.org/viewcvs?view=rev&rev=109567
Log:
start the proposed SEDA restructure
Added:
incubator/directory/seda/branches/berin_api_proposal/project.properties
incubator/directory/seda/branches/berin_api_proposal/project.xml
incubator/directory/seda/branches/berin_api_proposal/src/
incubator/directory/seda/branches/berin_api_proposal/src/java/
incubator/directory/seda/branches/berin_api_proposal/src/java/org/
incubator/directory/seda/branches/berin_api_proposal/src/java/org/apache/
incubator/directory/seda/branches/berin_api_proposal/src/java/org/apache/directory/
incubator/directory/seda/branches/berin_api_proposal/src/java/org/apache/directory/seda/
incubator/directory/seda/branches/berin_api_proposal/src/java/org/apache/directory/seda/PipelineUtil.java
incubator/directory/seda/branches/berin_api_proposal/src/java/org/apache/directory/seda/Stage.java
incubator/directory/seda/branches/berin_api_proposal/src/test/
incubator/directory/seda/branches/berin_api_proposal/src/test/org/
incubator/directory/seda/branches/berin_api_proposal/src/test/org/apache/
incubator/directory/seda/branches/berin_api_proposal/src/test/org/apache/directory/
incubator/directory/seda/branches/berin_api_proposal/src/test/org/apache/directory/seda/
incubator/directory/seda/branches/berin_api_proposal/src/test/org/apache/directory/seda/test/
incubator/directory/seda/branches/berin_api_proposal/src/test/org/apache/directory/seda/test/TestPipelineUtil.java
incubator/directory/seda/branches/berin_api_proposal/src/test/org/apache/directory/seda/test/TestStage.java
incubator/directory/seda/branches/berin_api_proposal/xdocs/
Added: incubator/directory/seda/branches/berin_api_proposal/project.properties
Url: http://svn.apache.org/viewcvs/incubator/directory/seda/branches/berin_api_proposal/project.properties?view=auto&rev=109567
==============================================================================
--- (empty file)
+++ incubator/directory/seda/branches/berin_api_proposal/project.properties Thu Dec 2 14:03:09 2004
@@ -0,0 +1,3 @@
+maven.repo.remote = http://dist.d-haven.org,http://www.ibiblio.org/maven
+maven.compile.source = 1.4
+maven.compile.target = 1.4
Added: incubator/directory/seda/branches/berin_api_proposal/project.xml
Url: http://svn.apache.org/viewcvs/incubator/directory/seda/branches/berin_api_proposal/project.xml?view=auto&rev=109567
==============================================================================
--- (empty file)
+++ incubator/directory/seda/branches/berin_api_proposal/project.xml Thu Dec 2 14:03:09 2004
@@ -0,0 +1,105 @@
+<?xml version="1.0"?>
+<project>
+ <pomVersion>3</pomVersion>
+ <name>Directory SEDA</name>
+ <groupId>directory-seda</groupId>
+ <id>berin-seda</id>
+ <currentVersion>1.0.0</currentVersion>
+ <organization>
+ <name>Apache Software Foundation</name>
+ <url>http://apache.org</url>
+ </organization>
+ <inceptionYear>2004</inceptionYear>
+ <package>org.apache.directory.seda</package>
+
+ <shortDescription>SEDA Implementation for the Directory Project</shortDescription>
+
+ <description>
+ SEDA is the Staged Event Driven Architecture that drives the networking system.
+ </description>
+
+ <url>
+ http://incubator.apache.org/directory
+ </url>
+ <issueTrackingUrl>
+
+ </issueTrackingUrl>
+ <siteAddress></siteAddress>
+ <siteDirectory>
+ </siteDirectory>
+ <distributionDirectory>
+ </distributionDirectory>
+
+ <repository>
+ <connection>
+ scm:svn:http://svn.apache.org/asf/directory/
+ </connection>
+ <url>
+ http://svn.apache.org/asf/directory
+ </url>
+ </repository>
+
+ <versions>
+ <version>
+ <id>1.0.0</id>
+ <name>1.0.0</name>
+ <tag>seda/v1.0.0</tag>
+ </version>
+ </versions>
+
+ <mailingLists>
+ <mailingList>
+ <name></name>
+ <subscribe>
+
+ </subscribe>
+ <unsubscribe>
+
+ </unsubscribe>
+ <archive>
+
+ </archive>
+ </mailingList>
+ </mailingLists>
+
+ <developers>
+ <developer>
+ <name>Berin Loritsch</name>
+ <id>bloritsch</id>
+ <email>bloritsch@d-haven.org</email>
+ <organization>D-Haven.org</organization>
+ </developer>
+ </developers>
+
+ <dependencies>
+ <dependency>
+ <groupId>d-haven-event</groupId>
+ <artifactId>d-haven-event</artifactId>
+ <version>1.0.5</version>
+ <url>
+ http://api.d-haven.org/event/
+ </url>
+ </dependency>
+ <dependency>
+ <groupId>concurrent</groupId>
+ <artifactId>concurrent</artifactId>
+ <version>1.3.4</version>
+ <url>http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html</url>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <nagEmailAddress>
+ </nagEmailAddress>
+ <sourceDirectory>src/java</sourceDirectory>
+ <unitTestSourceDirectory>src/test</unitTestSourceDirectory>
+ <unitTest>
+ <includes>
+ <include>**/test/Test*.java</include>
+ </includes>
+ <excludes>
+ <exclude>**/mocks/*.java</exclude>
+ </excludes>
+ </unitTest>
+ </build>
+</project>
Added: incubator/directory/seda/branches/berin_api_proposal/src/java/org/apache/directory/seda/PipelineUtil.java
Url: http://svn.apache.org/viewcvs/incubator/directory/seda/branches/berin_api_proposal/src/java/org/apache/directory/seda/PipelineUtil.java?view=auto&rev=109567
==============================================================================
--- (empty file)
+++ incubator/directory/seda/branches/berin_api_proposal/src/java/org/apache/directory/seda/PipelineUtil.java Thu Dec 2 14:03:09 2004
@@ -0,0 +1,16 @@
+/*
+ * Copyright (c) 2004 Your Corporation. All Rights Reserved.
+ */
+package org.apache.directory.seda;
+
+/**
+ * Utility to connect pipelines together.
+ */
+public final class PipelineUtil
+{
+ public static void connectStage( final Stage origin,
+ final Stage destination )
+ {
+ destination.addSource( origin.getDefaultPipe() );
+ }
+}
Added: incubator/directory/seda/branches/berin_api_proposal/src/java/org/apache/directory/seda/Stage.java
Url: http://svn.apache.org/viewcvs/incubator/directory/seda/branches/berin_api_proposal/src/java/org/apache/directory/seda/Stage.java?view=auto&rev=109567
==============================================================================
--- (empty file)
+++ incubator/directory/seda/branches/berin_api_proposal/src/java/org/apache/directory/seda/Stage.java Thu Dec 2 14:03:09 2004
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2004 Your Corporation. All Rights Reserved.
+ */
+package org.apache.directory.seda;
+
+import org.d_haven.event.Source;
+import org.d_haven.event.EventHandler;
+import org.d_haven.event.Pipe;
+import org.d_haven.event.Sink;
+import org.d_haven.event.impl.AbstractEventHandler;
+import org.d_haven.event.impl.DefaultPipe;
+import org.d_haven.event.command.EventPipeline;
+
+import java.util.List;
+import java.util.LinkedList;
+import java.util.Map;
+import java.util.HashMap;
+
+/**
+ * Created by IntelliJ IDEA. User: berin Date: Dec 2, 2004 Time: 4:24:55
+ * PM To change this template use File | Settings | File Templates.
+ */
+public class Stage extends AbstractEventHandler implements EventPipeline
+{
+ private final List m_sources;
+ private final Pipe m_sink;
+ private final Map m_namedSinks;
+
+ public Stage()
+ {
+ m_sources = new LinkedList();
+ m_sink = new DefaultPipe();
+ m_namedSinks = new HashMap();
+ }
+
+ public void addSource( final Source source )
+ {
+ m_sources.add( source );
+ }
+
+ public Source[] getSources()
+ {
+ return (Source[])m_sources.toArray( new Source[m_sources.size()] );
+ }
+
+ public EventHandler getEventHandler()
+ {
+ return this;
+ }
+
+ public void handleEvent( final Object event )
+ {
+ getDefaultPipe().tryEnqueue(event);
+ }
+
+ public void addSink( final String name, final Sink sink )
+ {
+ if (null == name)
+ {
+ throw new IllegalArgumentException("'name' cannot be null");
+ }
+
+ if (null == sink)
+ {
+ throw new IllegalArgumentException("'sink' cannot be null");
+ }
+
+ m_namedSinks.put( name, sink );
+ }
+
+ public Pipe getDefaultPipe()
+ {
+ return m_sink;
+ }
+
+ public Sink getNamedSink( final String name )
+ {
+ return (Sink)m_namedSinks.get(name);
+ }
+}
Added: incubator/directory/seda/branches/berin_api_proposal/src/test/org/apache/directory/seda/test/TestPipelineUtil.java
Url: http://svn.apache.org/viewcvs/incubator/directory/seda/branches/berin_api_proposal/src/test/org/apache/directory/seda/test/TestPipelineUtil.java?view=auto&rev=109567
==============================================================================
--- (empty file)
+++ incubator/directory/seda/branches/berin_api_proposal/src/test/org/apache/directory/seda/test/TestPipelineUtil.java Thu Dec 2 14:03:09 2004
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2004 Your Corporation. All Rights Reserved.
+ */
+package org.apache.directory.seda.test;
+
+import junit.framework.TestCase;
+import org.apache.directory.seda.PipelineUtil;
+import org.apache.directory.seda.Stage;
+import org.d_haven.event.Pipe;
+
+/**
+ * Created by IntelliJ IDEA. User: berin Date: Dec 2, 2004 Time: 4:20:02
+ * PM To change this template use File | Settings | File Templates.
+ */
+public class TestPipelineUtil extends TestCase
+{
+ public TestPipelineUtil(final String name)
+ {
+ super(name);
+ }
+
+ public void testConnectStage()
+ {
+ final Stage origin = new Stage();
+ final Stage destination = new Stage();
+
+ assertEquals( 0, destination.getSources().length );
+
+ PipelineUtil.connectStage(origin, destination);
+ final Pipe originPipe = origin.getDefaultPipe();
+
+ assertEquals( 1, destination.getSources().length );
+ assertEquals( originPipe, destination.getSources()[0] );
+ }
+}
Added: incubator/directory/seda/branches/berin_api_proposal/src/test/org/apache/directory/seda/test/TestStage.java
Url: http://svn.apache.org/viewcvs/incubator/directory/seda/branches/berin_api_proposal/src/test/org/apache/directory/seda/test/TestStage.java?view=auto&rev=109567
==============================================================================
--- (empty file)
+++ incubator/directory/seda/branches/berin_api_proposal/src/test/org/apache/directory/seda/test/TestStage.java Thu Dec 2 14:03:09 2004
@@ -0,0 +1,95 @@
+/*
+ * Copyright (c) 2004 Your Corporation. All Rights Reserved.
+ */
+package org.apache.directory.seda.test;
+
+import junit.framework.TestCase;
+import org.apache.directory.seda.Stage;
+import org.d_haven.event.Pipe;
+import org.d_haven.event.impl.DefaultPipe;
+
+/**
+ * Created by IntelliJ IDEA. User: berin Date: Dec 2, 2004 Time: 4:27:36
+ * PM To change this template use File | Settings | File Templates.
+ */
+public class TestStage extends TestCase
+{
+ public TestStage(final String name)
+ {
+ super(name);
+ }
+
+ public void testCreateStage()
+ {
+ final Stage stage = new Stage();
+ assertNotNull(stage);
+
+ assertEquals( stage, stage.getEventHandler() );
+
+ assertNotNull( stage.getDefaultPipe() );
+ }
+
+ public void testAddSource()
+ {
+ final Stage stage = new Stage();
+ final Pipe input = new DefaultPipe();
+
+ stage.addSource(input);
+
+ assertEquals( 1, stage.getSources().length );
+ assertEquals( input, stage.getSources()[0] );
+ }
+
+ public void testAddSink()
+ {
+ final Stage stage = new Stage();
+ final String name = "test";
+ final Pipe output = new DefaultPipe();
+
+ stage.addSink(name, output);
+ assertNull( stage.getNamedSink( null ) );
+ assertEquals( output, stage.getNamedSink(name) );
+ }
+
+ public void testAddSink_nullName()
+ {
+ final Stage stage = new Stage();
+ final Pipe output = new DefaultPipe();
+
+ try
+ {
+ stage.addSink(null, output);
+ fail("Did not throw expected exception.");
+ }
+ catch(Exception e)
+ {
+ assertTrue("Threw exception, but not the expected type.", e instanceof IllegalArgumentException);
+ }
+ }
+
+ public void testAddSink_nullSink()
+ {
+ final Stage stage = new Stage();
+ final String name = "test";
+
+ try
+ {
+ stage.addSink(name, null);
+ fail("Did not throw expected exception.");
+ }
+ catch(Exception e)
+ {
+ assertTrue("Threw exception, but not the expected type.", e instanceof IllegalArgumentException);
+ }
+ }
+
+ public void testDefaultAction()
+ {
+ final Stage stage = new Stage();
+ final String event = "test";
+
+ stage.handleEvent( event );
+
+ assertEquals(event, stage.getDefaultPipe().dequeue());
+ }
+}