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/02/16 04:57:37 UTC
svn commit: rev 6681 - in incubator/directory/eve/trunk/eve/frontend: buffer/merlin-impl common/api/src/java/org/apache/eve/event event/merlin-impl frontend frontend/merlin-impl frontend/merlin-impl/conf frontend/merlin-impl/src frontend/merlin-impl/src/java frontend/merlin-impl/src/java/org frontend/merlin-impl/src/java/org/apache frontend/merlin-impl/src/java/org/apache/eve frontend/pojo-impl frontend/pojo-impl/src frontend/pojo-impl/src/java frontend/pojo-impl/src/java/org frontend/pojo-impl/src/java/org/apache frontend/pojo-impl/src/java/org/apache/eve frontend/spi frontend/spi/src frontend/spi/src/java frontend/spi/src/java/org frontend/spi/src/java/org/apache frontend/spi/src/java/org/apache/eve input/merlin-impl input/merlin-impl/conf input/merlin-impl/src/java/org/apache/eve/input input/pojo-impl input/pojo-impl/src/java/org/apache/eve/input listener/merlin-impl listener/pojo-impl
Author: akarasulu
Date: Sun Feb 15 19:57:35 2004
New Revision: 6681
Added:
incubator/directory/eve/trunk/eve/frontend/frontend/
incubator/directory/eve/trunk/eve/frontend/frontend/merlin-impl/ (props changed)
incubator/directory/eve/trunk/eve/frontend/frontend/merlin-impl/conf/
incubator/directory/eve/trunk/eve/frontend/frontend/merlin-impl/conf/block.xml
incubator/directory/eve/trunk/eve/frontend/frontend/merlin-impl/conf/config.xml
incubator/directory/eve/trunk/eve/frontend/frontend/merlin-impl/conf/debug.xml
incubator/directory/eve/trunk/eve/frontend/frontend/merlin-impl/maven.xml
incubator/directory/eve/trunk/eve/frontend/frontend/merlin-impl/project.properties
incubator/directory/eve/trunk/eve/frontend/frontend/merlin-impl/project.xml
incubator/directory/eve/trunk/eve/frontend/frontend/merlin-impl/src/
incubator/directory/eve/trunk/eve/frontend/frontend/merlin-impl/src/java/
incubator/directory/eve/trunk/eve/frontend/frontend/merlin-impl/src/java/org/
incubator/directory/eve/trunk/eve/frontend/frontend/merlin-impl/src/java/org/apache/
incubator/directory/eve/trunk/eve/frontend/frontend/merlin-impl/src/java/org/apache/eve/
incubator/directory/eve/trunk/eve/frontend/frontend/merlin-impl/src/java/org/apache/eve/MerlinFrontend.java (contents, props changed)
incubator/directory/eve/trunk/eve/frontend/frontend/pojo-impl/ (props changed)
incubator/directory/eve/trunk/eve/frontend/frontend/pojo-impl/project.xml
incubator/directory/eve/trunk/eve/frontend/frontend/pojo-impl/src/
incubator/directory/eve/trunk/eve/frontend/frontend/pojo-impl/src/java/
incubator/directory/eve/trunk/eve/frontend/frontend/pojo-impl/src/java/org/
incubator/directory/eve/trunk/eve/frontend/frontend/pojo-impl/src/java/org/apache/
incubator/directory/eve/trunk/eve/frontend/frontend/pojo-impl/src/java/org/apache/eve/
incubator/directory/eve/trunk/eve/frontend/frontend/pojo-impl/src/java/org/apache/eve/DefaultFrontend.java (contents, props changed)
incubator/directory/eve/trunk/eve/frontend/frontend/spi/ (props changed)
incubator/directory/eve/trunk/eve/frontend/frontend/spi/project.xml
incubator/directory/eve/trunk/eve/frontend/frontend/spi/src/
incubator/directory/eve/trunk/eve/frontend/frontend/spi/src/java/
incubator/directory/eve/trunk/eve/frontend/frontend/spi/src/java/org/
incubator/directory/eve/trunk/eve/frontend/frontend/spi/src/java/org/apache/
incubator/directory/eve/trunk/eve/frontend/frontend/spi/src/java/org/apache/eve/
incubator/directory/eve/trunk/eve/frontend/frontend/spi/src/java/org/apache/eve/Frontend.java (contents, props changed)
Modified:
incubator/directory/eve/trunk/eve/frontend/buffer/merlin-impl/maven.xml
incubator/directory/eve/trunk/eve/frontend/common/api/src/java/org/apache/eve/event/InputEvent.java
incubator/directory/eve/trunk/eve/frontend/event/merlin-impl/maven.xml
incubator/directory/eve/trunk/eve/frontend/input/merlin-impl/conf/block.xml
incubator/directory/eve/trunk/eve/frontend/input/merlin-impl/conf/config.xml
incubator/directory/eve/trunk/eve/frontend/input/merlin-impl/maven.xml
incubator/directory/eve/trunk/eve/frontend/input/merlin-impl/project.xml
incubator/directory/eve/trunk/eve/frontend/input/merlin-impl/src/java/org/apache/eve/input/MerlinInputManager.java
incubator/directory/eve/trunk/eve/frontend/input/pojo-impl/project.xml
incubator/directory/eve/trunk/eve/frontend/input/pojo-impl/src/java/org/apache/eve/input/DefaultInputManager.java
incubator/directory/eve/trunk/eve/frontend/listener/merlin-impl/maven.xml
incubator/directory/eve/trunk/eve/frontend/listener/pojo-impl/project.xml
Log:
Added top level frontend component so I can begin experimenting with
stubing out components of the server. There really is not much here.
Also ran into some problems with reactor that I fixed.
Modified: incubator/directory/eve/trunk/eve/frontend/buffer/merlin-impl/maven.xml
==============================================================================
--- incubator/directory/eve/trunk/eve/frontend/buffer/merlin-impl/maven.xml (original)
+++ incubator/directory/eve/trunk/eve/frontend/buffer/merlin-impl/maven.xml Sun Feb 15 19:57:35 2004
@@ -1,4 +1,5 @@
-<project default="java:compile"
+<project
+ default="jar:install"
xmlns:j="jelly:core"
xmlns:u="jelly:util"
xmlns:ant="jelly:ant"
Modified: incubator/directory/eve/trunk/eve/frontend/common/api/src/java/org/apache/eve/event/InputEvent.java
==============================================================================
--- incubator/directory/eve/trunk/eve/frontend/common/api/src/java/org/apache/eve/event/InputEvent.java (original)
+++ incubator/directory/eve/trunk/eve/frontend/common/api/src/java/org/apache/eve/event/InputEvent.java Sun Feb 15 19:57:35 2004
@@ -51,7 +51,6 @@
import java.nio.ByteBuffer ;
-import java.util.EventObject ;
import org.apache.eve.listener.ClientKey ;
@@ -70,10 +69,10 @@
* @author $Author$
* @version $Rev$
*/
-public abstract class InputEvent extends EventObject
+public abstract class InputEvent extends ClientEvent
{
/** the buffer used to store the read input */
- protected final ByteBuffer m_buffer ;
+ private final ByteBuffer m_buffer ;
/**
@@ -82,9 +81,10 @@
* @param a_client
* @param a_buffer
*/
- public InputEvent( ClientKey a_client, ByteBuffer a_buffer )
+ public InputEvent( Object a_source, ClientKey a_client,
+ ByteBuffer a_buffer )
{
- super( a_client ) ;
+ super( a_source, a_client ) ;
m_buffer = a_buffer ;
}
@@ -107,5 +107,16 @@
* @param a_party the party that originally claimed interest
*/
public abstract void releaseInterest( Object a_party ) ;
+
+
+ /**
+ * Gets the underlying byte buffer associated with this InputEvent.
+ *
+ * @return the underlying byte buffer
+ */
+ protected ByteBuffer getBuffer()
+ {
+ return m_buffer ;
+ }
}
Modified: incubator/directory/eve/trunk/eve/frontend/event/merlin-impl/maven.xml
==============================================================================
--- incubator/directory/eve/trunk/eve/frontend/event/merlin-impl/maven.xml (original)
+++ incubator/directory/eve/trunk/eve/frontend/event/merlin-impl/maven.xml Sun Feb 15 19:57:35 2004
@@ -1,4 +1,5 @@
-<project default="java:compile"
+<project
+ default="jar:install"
xmlns:j="jelly:core"
xmlns:u="jelly:util"
xmlns:ant="jelly:ant"
Added: incubator/directory/eve/trunk/eve/frontend/frontend/merlin-impl/conf/block.xml
==============================================================================
--- (empty file)
+++ incubator/directory/eve/trunk/eve/frontend/frontend/merlin-impl/conf/block.xml Sun Feb 15 19:57:35 2004
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<container name="eve">
+
+ <classloader>
+ <classpath>
+ <repository>
+
+ <resource
+ id="commons-collections:commons-collections" version="2.1"/>
+
+ <resource
+ id="cornerstone-threads:cornerstone-threads-api" version="1.0"/>
+ <resource
+ id="cornerstone-threads:cornerstone-threads-impl" version="1.0"/>
+
+ <resource
+ id="excalibur-thread:excalibur-thread" version="1.1.1"/>
+ <resource
+ id="excalibur-pool:excalibur-pool" version="1.2"/>
+ <resource
+ id="excalibur-event:excalibur-event" version="1.0.3"/>
+
+ <resource
+ id="avalon-framework:avalon-framework-api" version="4.1.5"/>
+ <resource
+ id="avalon-framework:avalon-framework-impl" version="4.1.5"/>
+
+ <resource
+ id="directory:eve-frontend-common-api" version="SNAPSHOT"/>
+ <resource
+ id="directory:eve-frontend-spi" version="SNAPSHOT"/>
+
+ <resource
+ id="directory:eve-frontend-event-spi" version="SNAPSHOT"/>
+ <resource
+ id="directory:eve-frontend-event-pojo-impl" version="SNAPSHOT"/>
+ <resource
+ id="directory:eve-frontend-event-merlin-impl" version="SNAPSHOT"/>
+
+ <resource
+ id="directory:eve-frontend-buffer-spi" version="SNAPSHOT"/>
+ <resource
+ id="directory:eve-frontend-buffer-pojo-impl" version="SNAPSHOT"/>
+ <resource
+ id="directory:eve-frontend-buffer-merlin-impl" version="SNAPSHOT"/>
+
+ <resource
+ id="directory:eve-frontend-listener-spi" version="SNAPSHOT"/>
+ <resource
+ id="directory:eve-frontend-listener-pojo-impl" version="SNAPSHOT"/>
+ <resource
+ id="directory:eve-frontend-listener-merlin-impl" version="SNAPSHOT"/>
+
+ <resource
+ id="directory:eve-frontend-input-spi" version="SNAPSHOT"/>
+ <resource
+ id="directory:eve-frontend-input-pojo-impl" version="SNAPSHOT"/>
+ <resource
+ id="directory:eve-frontend-input-merlin-impl" version="SNAPSHOT"/>
+ </repository>
+ </classpath>
+ </classloader>
+
+ <component name="thread-manager"
+ class="org.apache.avalon.cornerstone.blocks.threads.DefaultThreadManager">
+ <configuration>
+ <thread-group>
+ <name>default</name>
+ <priority>5</priority>
+ <is-daemon>false</is-daemon>
+ <max-threads>5</max-threads>
+ <min-threads>2</min-threads>
+ <min-spare-threads>1</min-spare-threads>
+ </thread-group>
+
+ <thread-group>
+ <name>input-consumer</name>
+ <priority>5</priority>
+ <is-daemon>false</is-daemon>
+ <max-threads>5</max-threads>
+ <min-threads>2</min-threads>
+ <min-spare-threads>1</min-spare-threads>
+ </thread-group>
+ </configuration>
+ </component>
+
+ <component
+ name="event-router"
+ class="org.apache.eve.event.MerlinEventRouter"/>
+
+ <component
+ name="buffer-pool"
+ class="org.apache.eve.buffer.MerlinBufferPool"/>
+
+ <component
+ name="listener-manager"
+ class="org.apache.eve.listener.MerlinListenerManager"/>
+
+ <component
+ name="input-manager"
+ class="org.apache.eve.input.MerlinInputManager"/>
+
+ <component
+ name="frontend"
+ class="org.apache.eve.MerlinFrontend"/>
+</container>
Added: incubator/directory/eve/trunk/eve/frontend/frontend/merlin-impl/conf/config.xml
==============================================================================
--- (empty file)
+++ incubator/directory/eve/trunk/eve/frontend/frontend/merlin-impl/conf/config.xml Sun Feb 15 19:57:35 2004
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<targets>
+ <target path="/eve/frontend">
+ <categories priority="DEBUG"/>
+ </target>
+</targets>
Added: incubator/directory/eve/trunk/eve/frontend/frontend/merlin-impl/conf/debug.xml
==============================================================================
--- (empty file)
+++ incubator/directory/eve/trunk/eve/frontend/frontend/merlin-impl/conf/debug.xml Sun Feb 15 19:57:35 2004
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<kernel>
+
+ <!-- logging system parameters -->
+ <logging target="default" priority="DEBUG" name="kernel">
+ </logging>
+
+</kernel>
+
Added: incubator/directory/eve/trunk/eve/frontend/frontend/merlin-impl/maven.xml
==============================================================================
--- (empty file)
+++ incubator/directory/eve/trunk/eve/frontend/frontend/merlin-impl/maven.xml Sun Feb 15 19:57:35 2004
@@ -0,0 +1,39 @@
+<project
+ default="jar:install"
+ xmlns:j="jelly:core"
+ xmlns:u="jelly:util"
+ xmlns:ant="jelly:ant"
+ xmlns:maven="jelly:maven"
+ xmlns:m="maven"
+ xmlns:deploy="deploy">
+
+ <preGoal name="site">
+ <attainGoal name="docbook:transform"/>
+ </preGoal>
+
+ <postGoal name="site">
+ <attainGoal name="server:copy-images"/>
+ </postGoal>
+
+ <goal name="server:copy-images">
+ <copy toDir="target/docs/images">
+ <fileSet dir="${basedir}/src/images">
+ <include name="*.gif"/>
+ </fileSet>
+ </copy>
+ </goal>
+
+ <goal name="cleanall">
+ <attainGoal name="clean"/>
+ <delete dir="home"/>
+ </goal>
+
+ <postGoal name="java:compile">
+ <attainGoal name="avalon:meta"/>
+ </postGoal>
+
+ <postGoal name="aspectj:compile">
+ <attainGoal name="avalon:meta"/>
+ </postGoal>
+
+</project>
Added: incubator/directory/eve/trunk/eve/frontend/frontend/merlin-impl/project.properties
==============================================================================
--- (empty file)
+++ incubator/directory/eve/trunk/eve/frontend/frontend/merlin-impl/project.properties Sun Feb 15 19:57:35 2004
@@ -0,0 +1,3 @@
+maven.xdoc.date=left
+maven.xdoc.version=${pom.currentVersion}
+merlin.debug=true
Added: incubator/directory/eve/trunk/eve/frontend/frontend/merlin-impl/project.xml
==============================================================================
--- (empty file)
+++ incubator/directory/eve/trunk/eve/frontend/frontend/merlin-impl/project.xml Sun Feb 15 19:57:35 2004
@@ -0,0 +1,201 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project>
+ <extend>${basedir}/../../../project.xml</extend>
+ <groupId>directory</groupId>
+ <id>eve-frontend-merlin-impl</id>
+
+ <name>Merlin Wrapper for Eve's Frontend</name>
+ <package>org.apache.eve.input</package>
+ <currentVersion>SNAPSHOT</currentVersion>
+ <inceptionYear>2003</inceptionYear>
+
+ <shortDescription>
+ Merlin Wrapper for Eve's Frontend
+ </shortDescription>
+
+ <description>
+ A Merlin specific Frontend implementation which wraps the POJO
+ implementation to serve as a bridge for Avalon lifecycles.
+ </description>
+
+ <dependencies>
+
+ <!-- cornerstone dependencies -->
+
+ <dependency>
+ <groupId>cornerstone-threads</groupId>
+ <artifactId>cornerstone-threads-api</artifactId>
+ <version>SNAPSHOT</version>
+ <url>
+ http://avalon.apache.org/components/components/threads.html
+ </url>
+ </dependency>
+
+ <dependency>
+ <groupId>cornerstone-threads</groupId>
+ <artifactId>cornerstone-threads-impl</artifactId>
+ <version>SNAPSHOT</version>
+ <url>
+ http://avalon.apache.org/components/components/threads.html
+ </url>
+ </dependency>
+
+ <!-- excalibur dependencies from cornerstone -->
+
+ <dependency>
+ <groupId>excalibur-thread</groupId>
+ <artifactId>excalibur-thread</artifactId>
+ <version>1.1.1</version>
+ <url>http://avalon.apache.org/excalibur/index.html</url>
+ </dependency>
+
+ <dependency>
+ <groupId>excalibur-pool</groupId>
+ <artifactId>excalibur-pool</artifactId>
+ <version>1.2</version>
+ <url>http://avalon.apache.org/excalibur/index.html</url>
+ </dependency>
+
+ <dependency>
+ <groupId>excalibur-event</groupId>
+ <artifactId>excalibur-event</artifactId>
+ <version>1.0.3</version>
+ <url>http://avalon.apache.org/excalibur/index.html</url>
+ </dependency>
+
+ <!-- framework dependencies -->
+
+ <dependency>
+ <groupId>avalon-framework</groupId>
+ <artifactId>avalon-framework-api</artifactId>
+ <version>4.1.5</version>
+ <url>http://avalon.apache.org/framework</url>
+ </dependency>
+
+ <dependency>
+ <groupId>avalon-framework</groupId>
+ <artifactId>avalon-framework-impl</artifactId>
+ <version>4.1.5</version>
+ <url>http://avalon.apache.org/framework</url>
+ </dependency>
+
+ <!-- commons dependencies -->
+
+ <dependency>
+ <id>commons-collections</id>
+ <version>2.1</version>
+ <url>http://jakarta.apache.org/commons/collections</url>
+ </dependency>
+
+ <!-- directory dependencies -->
+
+ <dependency>
+ <groupId>directory</groupId>
+ <artifactId>eve-frontend-common-api</artifactId>
+ <version>SNAPSHOT</version>
+ <url>http://directory.apache.org</url>
+ </dependency>
+
+ <dependency>
+ <groupId>directory</groupId>
+ <artifactId>eve-frontend-spi</artifactId>
+ <version>SNAPSHOT</version>
+ <url>http://directory.apache.org</url>
+ </dependency>
+
+ <dependency>
+ <groupId>directory</groupId>
+ <artifactId>eve-frontend-event-spi</artifactId>
+ <version>SNAPSHOT</version>
+ <url>http://directory.apache.org</url>
+ </dependency>
+
+ <dependency>
+ <groupId>directory</groupId>
+ <artifactId>eve-frontend-event-pojo-impl</artifactId>
+ <version>SNAPSHOT</version>
+ <url>http://directory.apache.org</url>
+ </dependency>
+
+ <dependency>
+ <groupId>directory</groupId>
+ <artifactId>eve-frontend-event-merlin-impl</artifactId>
+ <version>SNAPSHOT</version>
+ <url>http://directory.apache.org</url>
+ </dependency>
+
+ <dependency>
+ <groupId>directory</groupId>
+ <artifactId>eve-frontend-buffer-spi</artifactId>
+ <version>SNAPSHOT</version>
+ <url>http://directory.apache.org</url>
+ </dependency>
+
+ <dependency>
+ <groupId>directory</groupId>
+ <artifactId>eve-frontend-buffer-pojo-impl</artifactId>
+ <version>SNAPSHOT</version>
+ <url>http://directory.apache.org</url>
+ </dependency>
+
+ <dependency>
+ <groupId>directory</groupId>
+ <artifactId>eve-frontend-buffer-merlin-impl</artifactId>
+ <version>SNAPSHOT</version>
+ <url>http://directory.apache.org</url>
+ </dependency>
+
+ <dependency>
+ <groupId>directory</groupId>
+ <artifactId>eve-frontend-listener-spi</artifactId>
+ <version>SNAPSHOT</version>
+ <url>http://directory.apache.org</url>
+ </dependency>
+
+ <dependency>
+ <groupId>directory</groupId>
+ <artifactId>eve-frontend-listener-pojo-impl</artifactId>
+ <version>SNAPSHOT</version>
+ <url>http://directory.apache.org</url>
+ </dependency>
+
+ <dependency>
+ <groupId>directory</groupId>
+ <artifactId>eve-frontend-listener-merlin-impl</artifactId>
+ <version>SNAPSHOT</version>
+ <url>http://directory.apache.org</url>
+ </dependency>
+
+ <!--
+ <dependency>
+ <groupId>directory</groupId>
+ <artifactId>eve-frontend-input-spi</artifactId>
+ <version>SNAPSHOT</version>
+ <url>http://directory.apache.org</url>
+ </dependency>
+
+ <dependency>
+ <groupId>directory</groupId>
+ <artifactId>eve-frontend-input-pojo-impl</artifactId>
+ <version>SNAPSHOT</version>
+ <url>http://directory.apache.org</url>
+ </dependency>
+
+ <dependency>
+ <groupId>directory</groupId>
+ <artifactId>eve-frontend-input-merlin-impl</artifactId>
+ <version>SNAPSHOT</version>
+ <url>http://directory.apache.org</url>
+ </dependency>
+
+ -->
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <url>http://junit.org</url>
+ </dependency>
+ </dependencies>
+</project>
+
Added: incubator/directory/eve/trunk/eve/frontend/frontend/merlin-impl/src/java/org/apache/eve/MerlinFrontend.java
==============================================================================
--- (empty file)
+++ incubator/directory/eve/trunk/eve/frontend/frontend/merlin-impl/src/java/org/apache/eve/MerlinFrontend.java Sun Feb 15 19:57:35 2004
@@ -0,0 +1,92 @@
+/*
+ * 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 ;
+
+
+import org.apache.avalon.cornerstone.services.threads.ThreadManager ;
+import org.apache.avalon.framework.service.Serviceable ;
+import org.apache.avalon.framework.service.ServiceManager ;
+import org.apache.avalon.framework.service.ServiceException ;
+
+import org.apache.eve.event.EventRouter ;
+import org.apache.eve.buffer.BufferPool ;
+import org.apache.eve.input.InputManager ;
+import org.apache.eve.listener.ListenerManager ;
+
+
+/**
+ * Eve's frontend wrapper for Merlin. There really is nothing here but this
+ * will evolve as we determine the use cases for applications embedding the
+ * frontend and accessing it outside of the container.
+ *
+ * @avalon.component name="frontend" lifestyle="singleton"
+ * @avalon.service type="org.apache.eve.Frontend" version="1.0"
+ *
+ * @author <a href="mailto:directory-dev@incubator.apache.org">
+ * Apache Directory Project</a>
+ * @version $Rev$
+ */
+public class MerlinFrontend
+ implements
+ Frontend,
+ Serviceable
+{
+ BufferPool m_bufferPool = null ;
+ ThreadManager m_threadManager = null ;
+ EventRouter m_eventRouter = null ;
+ ListenerManager m_listenerManager = null ;
+ InputManager m_inputManager = null ;
+
+
+ // ------------------------------------------------------------------------
+ // A V A L O N L I F E C Y C L E M E T H O D S
+ // ------------------------------------------------------------------------
+
+
+ /**
+ * @avalon.dependency key="thread-manager"
+ * type="org.apache.avalon.cornerstone.services.threads.ThreadManager"
+ * @avalon.dependency type="org.apache.eve.event.EventRouter"
+ * key="event-router" version="1.0"
+ * @avalon.dependency type="org.apache.eve.buffer.BufferPool"
+ * key="buffer-pool" version="1.0"
+ * @avalon.dependency type="org.apache.eve.listener.ListenerManager"
+ * key="listener-manager" version="1.0"
+ * @avalon.dependency type="org.apache.eve.input.InputManager"
+ * key="input-manager" version="1.0"
+ *
+ * @see org.apache.avalon.framework.service.Serviceable#service(
+ * org.apache.avalon.framework.service.ServiceManager)
+ */
+ public void service( ServiceManager a_manager ) throws ServiceException
+ {
+ m_threadManager = ( ThreadManager ) a_manager
+ .lookup( "thread-manager" ) ;
+
+ m_eventRouter = ( EventRouter ) a_manager
+ .lookup( "event-router" ) ;
+
+ m_bufferPool = ( BufferPool ) a_manager
+ .lookup( "buffer-pool" ) ;
+
+ m_listenerManager = ( ListenerManager ) a_manager
+ .lookup( "listener-manager" ) ;
+
+ m_inputManager = ( InputManager ) a_manager
+ .lookup( "input-manager" ) ;
+ }
+}
Added: incubator/directory/eve/trunk/eve/frontend/frontend/pojo-impl/project.xml
==============================================================================
--- (empty file)
+++ incubator/directory/eve/trunk/eve/frontend/frontend/pojo-impl/project.xml Sun Feb 15 19:57:35 2004
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project>
+ <extend>${basedir}/../../../project.xml</extend>
+ <groupId>directory</groupId>
+ <id>eve-frontend-pojo-impl</id>
+
+ <name>Eve Frontend Service SPI</name>
+ <package>org.apache.eve</package>
+ <currentVersion>SNAPSHOT</currentVersion>
+ <inceptionYear>2003</inceptionYear>
+
+ <shortDescription>Eve's frontend pojo implementatin</shortDescription>
+
+ <description>
+ A plain old java object implementation for Eve's frontend.
+ </description>
+
+ <dependencies>
+ <dependency>
+ <groupId>directory</groupId>
+ <artifactId>eve-frontend-spi</artifactId>
+ <version>SNAPSHOT</version>
+ <url>
+ http://directory.apache.org/ldap/eve/frontend/frontend/spi
+ </url>
+ </dependency>
+ </dependencies>
+</project>
+
Added: incubator/directory/eve/trunk/eve/frontend/frontend/pojo-impl/src/java/org/apache/eve/DefaultFrontend.java
==============================================================================
--- (empty file)
+++ incubator/directory/eve/trunk/eve/frontend/frontend/pojo-impl/src/java/org/apache/eve/DefaultFrontend.java Sun Feb 15 19:57:35 2004
@@ -0,0 +1,32 @@
+/*
+ * 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 ;
+
+
+/**
+ * A container neutral implementation of the Eve frontend. There really is
+ * nothing here but this will evolve as we determine the use cases for
+ * applications embedding the frontend and accessing it outside of the
+ * container.
+ *
+ * @author <a href="mailto:directory-dev@incubator.apache.org">
+ * Apache Directory Project</a>
+ * @version $Rev$
+ */
+public class DefaultFrontend implements Frontend
+{
+}
Added: incubator/directory/eve/trunk/eve/frontend/frontend/spi/project.xml
==============================================================================
--- (empty file)
+++ incubator/directory/eve/trunk/eve/frontend/frontend/spi/project.xml Sun Feb 15 19:57:35 2004
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project>
+ <extend>${basedir}/../../../project.xml</extend>
+ <groupId>directory</groupId>
+ <id>eve-frontend-spi</id>
+
+ <name>Eve Frontend Service SPI</name>
+ <package>org.apache.eve</package>
+ <currentVersion>SNAPSHOT</currentVersion>
+ <inceptionYear>2003</inceptionYear>
+
+ <shortDescription>Eve's frontend SPI</shortDescription>
+
+ <description>
+ Eve's frontend service interface which is the top service for the
+ server's frontend subsystem. This interface is primarily here for
+ applications to access Eve's frontend outside of the container.
+ </description>
+
+</project>
+
Added: incubator/directory/eve/trunk/eve/frontend/frontend/spi/src/java/org/apache/eve/Frontend.java
==============================================================================
--- (empty file)
+++ incubator/directory/eve/trunk/eve/frontend/frontend/spi/src/java/org/apache/eve/Frontend.java Sun Feb 15 19:57:35 2004
@@ -0,0 +1,32 @@
+/*
+ * 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 ;
+
+
+/**
+ * Eve's frontend service interface. There really is nothing here but this
+ * service will evolve as we determine the use cases for applications embedding
+ * the frontend and accessing it outside of the container.
+ *
+ * @author <a href="mailto:directory-dev@incubator.apache.org">
+ * Apache Directory Project</a>
+ * @version $Rev$
+ */
+public interface Frontend
+{
+ String ROLE = Frontend.class.getName() ;
+}
Modified: incubator/directory/eve/trunk/eve/frontend/input/merlin-impl/conf/block.xml
==============================================================================
--- incubator/directory/eve/trunk/eve/frontend/input/merlin-impl/conf/block.xml (original)
+++ incubator/directory/eve/trunk/eve/frontend/input/merlin-impl/conf/block.xml Sun Feb 15 19:57:35 2004
@@ -1,11 +1,18 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<container name="server">
+<container name="frontend">
<classloader>
<classpath>
<repository>
+ <resource id="commons-collections:commons-collections" version="2.1"/>
+ <resource id="cornerstone-threads:cornerstone-threads-api" version="1.0"/>
+ <resource id="cornerstone-threads:cornerstone-threads-impl" version="1.0"/>
+ <resource id="excalibur-thread:excalibur-thread" version="1.1.1"/>
+ <resource id="excalibur-pool:excalibur-pool" version="1.2"/>
+ <resource id="excalibur-event:excalibur-event" version="1.0.3"/>
<resource id="avalon-framework:avalon-framework-api" version="4.1.5"/>
+ <resource id="avalon-framework:avalon-framework-impl" version="4.1.5"/>
<resource id="directory:eve-frontend-common-api" version="SNAPSHOT"/>
<resource id="directory:eve-frontend-event-spi" version="SNAPSHOT"/>
<resource id="directory:eve-frontend-event-pojo-impl" version="SNAPSHOT"/>
@@ -15,9 +22,25 @@
<resource id="directory:eve-frontend-buffer-merlin-impl" version="SNAPSHOT"/>
<resource id="directory:eve-frontend-input-spi" version="SNAPSHOT"/>
<resource id="directory:eve-frontend-input-pojo-impl" version="SNAPSHOT"/>
+ <resource id="directory:eve-frontend-input-merlin-impl" version="SNAPSHOT"/>
</repository>
</classpath>
</classloader>
+
+ <component name="thread-manager"
+ class="org.apache.avalon.cornerstone.blocks.threads.DefaultThreadManager">
+ <configuration>
+ <thread-group>
+ <name>default</name>
+ <priority>5</priority>
+ <is-daemon>false</is-daemon>
+ <max-threads>5</max-threads>
+ <min-threads>2</min-threads>
+ <min-spare-threads>1</min-spare-threads>
+ </thread-group>
+ </configuration>
+ </component>
+
<component
name="event-router"
Modified: incubator/directory/eve/trunk/eve/frontend/input/merlin-impl/conf/config.xml
==============================================================================
--- incubator/directory/eve/trunk/eve/frontend/input/merlin-impl/conf/config.xml (original)
+++ incubator/directory/eve/trunk/eve/frontend/input/merlin-impl/conf/config.xml Sun Feb 15 19:57:35 2004
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<targets>
- <target path="/server/input-manager">
+ <target path="/frontend/input-manager">
<categories priority="DEBUG"/>
</target>
</targets>
Modified: incubator/directory/eve/trunk/eve/frontend/input/merlin-impl/maven.xml
==============================================================================
--- incubator/directory/eve/trunk/eve/frontend/input/merlin-impl/maven.xml (original)
+++ incubator/directory/eve/trunk/eve/frontend/input/merlin-impl/maven.xml Sun Feb 15 19:57:35 2004
@@ -1,4 +1,5 @@
-<project default="java:compile"
+<project
+ default="jar:install"
xmlns:j="jelly:core"
xmlns:u="jelly:util"
xmlns:ant="jelly:ant"
Modified: incubator/directory/eve/trunk/eve/frontend/input/merlin-impl/project.xml
==============================================================================
--- incubator/directory/eve/trunk/eve/frontend/input/merlin-impl/project.xml (original)
+++ incubator/directory/eve/trunk/eve/frontend/input/merlin-impl/project.xml Sun Feb 15 19:57:35 2004
@@ -10,78 +10,138 @@
<inceptionYear>2003</inceptionYear>
<shortDescription>
- Eve's Frontend InputManager Implementation
+ Eve's Frontend InputManager Implementation
</shortDescription>
<description>
- Eve's frontend input manager reads input from client sockets bound to
- the server. The input manager responds to input events enqueued by
- the listener modules which detects io to read from the socket channel.
+ Eve's frontend input manager reads input from client sockets bound to
+ the server. The input manager responds to input events enqueued by
+ the listener modules which detects io to read from the socket channel.
</description>
<dependencies>
- <dependency>
- <groupId>avalon-framework</groupId>
- <artifactId>avalon-framework-api</artifactId>
- <version>4.1.5</version>
- <url>http://avalon.apache.org/framework</url>
- </dependency>
-
- <dependency>
- <groupId>directory</groupId>
- <artifactId>eve-frontend-common-api</artifactId>
- <version>SNAPSHOT</version>
- <url>http://directory.apache.org</url>
- </dependency>
-
- <dependency>
- <groupId>directory</groupId>
- <artifactId>eve-frontend-event-spi</artifactId>
- <version>SNAPSHOT</version>
- <url>http://directory.apache.org</url>
- </dependency>
-
- <dependency>
- <groupId>directory</groupId>
- <artifactId>eve-frontend-event-pojo-impl</artifactId>
- <version>SNAPSHOT</version>
- <url>http://directory.apache.org</url>
- </dependency>
-
- <dependency>
- <groupId>directory</groupId>
- <artifactId>eve-frontend-input-spi</artifactId>
- <version>SNAPSHOT</version>
- <url>http://directory.apache.org</url>
- </dependency>
-
- <dependency>
- <groupId>directory</groupId>
- <artifactId>eve-frontend-input-pojo-impl</artifactId>
- <version>SNAPSHOT</version>
- <url>http://directory.apache.org</url>
- </dependency>
-
- <dependency>
- <groupId>directory</groupId>
- <artifactId>eve-frontend-buffer-spi</artifactId>
- <version>SNAPSHOT</version>
- <url>http://directory.apache.org</url>
- </dependency>
-
- <dependency>
- <groupId>directory</groupId>
- <artifactId>eve-frontend-buffer-impl</artifactId>
- <version>SNAPSHOT</version>
- <url>http://directory.apache.org</url>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.1</version>
- <url>http://junit.org</url>
- </dependency>
+
+ <!-- cornerstone dependencies -->
+
+ <dependency>
+ <groupId>cornerstone-threads</groupId>
+ <artifactId>cornerstone-threads-api</artifactId>
+ <version>SNAPSHOT</version>
+ <url>
+ http://avalon.apache.org/components/components/threads.html
+ </url>
+ </dependency>
+
+ <dependency>
+ <groupId>cornerstone-threads</groupId>
+ <artifactId>cornerstone-threads-impl</artifactId>
+ <version>SNAPSHOT</version>
+ <url>
+ http://avalon.apache.org/components/components/threads.html
+ </url>
+ </dependency>
+
+ <!-- excalibur dependencies from cornerstone -->
+
+ <dependency>
+ <id>excalibur-thread</id>
+ <version>1.1.1</version>
+ <url>http://avalon.apache.org/excalibur/index.html</url>
+ </dependency>
+
+ <dependency>
+ <id>excalibur-pool</id>
+ <version>1.2</version>
+ <url>http://avalon.apache.org/excalibur/index.html</url>
+ </dependency>
+
+ <dependency>
+ <id>excalibur-event</id>
+ <version>1.0.3</version>
+ <url>http://avalon.apache.org/excalibur/index.html</url>
+ </dependency>
+
+ <!-- framework dependencies -->
+
+ <dependency>
+ <groupId>avalon-framework</groupId>
+ <artifactId>avalon-framework-api</artifactId>
+ <version>4.1.5</version>
+ <url>http://avalon.apache.org/framework</url>
+ </dependency>
+
+ <dependency>
+ <groupId>avalon-framework</groupId>
+ <artifactId>avalon-framework-impl</artifactId>
+ <version>4.1.5</version>
+ <url>http://avalon.apache.org/framework</url>
+ </dependency>
+
+ <!-- commons dependencies -->
+
+ <dependency>
+ <id>commons-collections</id>
+ <version>2.1</version>
+ <url>http://jakarta.apache.org/commons/collections</url>
+ </dependency>
+
+ <!-- directory dependencies -->
+
+ <dependency>
+ <groupId>directory</groupId>
+ <artifactId>eve-frontend-common-api</artifactId>
+ <version>SNAPSHOT</version>
+ <url>http://directory.apache.org</url>
+ </dependency>
+
+ <dependency>
+ <groupId>directory</groupId>
+ <artifactId>eve-frontend-event-spi</artifactId>
+ <version>SNAPSHOT</version>
+ <url>http://directory.apache.org</url>
+ </dependency>
+
+ <dependency>
+ <groupId>directory</groupId>
+ <artifactId>eve-frontend-event-pojo-impl</artifactId>
+ <version>SNAPSHOT</version>
+ <url>http://directory.apache.org</url>
+ </dependency>
+
+ <dependency>
+ <groupId>directory</groupId>
+ <artifactId>eve-frontend-input-spi</artifactId>
+ <version>SNAPSHOT</version>
+ <url>http://directory.apache.org</url>
+ </dependency>
+
+ <dependency>
+ <groupId>directory</groupId>
+ <artifactId>eve-frontend-input-pojo-impl</artifactId>
+ <version>SNAPSHOT</version>
+ <url>http://directory.apache.org</url>
+ </dependency>
+
+ <dependency>
+ <groupId>directory</groupId>
+ <artifactId>eve-frontend-buffer-spi</artifactId>
+ <version>SNAPSHOT</version>
+ <url>http://directory.apache.org</url>
+ </dependency>
+
+ <dependency>
+ <groupId>directory</groupId>
+ <artifactId>eve-frontend-buffer-pojo-impl</artifactId>
+ <version>SNAPSHOT</version>
+ <url>http://directory.apache.org</url>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <url>http://junit.org</url>
+ </dependency>
</dependencies>
</project>
Modified: incubator/directory/eve/trunk/eve/frontend/input/merlin-impl/src/java/org/apache/eve/input/MerlinInputManager.java
==============================================================================
--- incubator/directory/eve/trunk/eve/frontend/input/merlin-impl/src/java/org/apache/eve/input/MerlinInputManager.java (original)
+++ incubator/directory/eve/trunk/eve/frontend/input/merlin-impl/src/java/org/apache/eve/input/MerlinInputManager.java Sun Feb 15 19:57:35 2004
@@ -27,6 +27,7 @@
import org.apache.avalon.framework.service.ServiceManager ;
import org.apache.avalon.framework.service.ServiceException ;
import org.apache.avalon.framework.logger.AbstractLogEnabled ;
+import org.apache.avalon.cornerstone.services.threads.ThreadManager ;
import org.apache.eve.buffer.BufferPool ;
import org.apache.eve.event.EventRouter ;
@@ -51,6 +52,8 @@
Startable,
Initializable
{
+ /** the thread manager we get thread pools from */
+ private ThreadManager m_tm = null ;
/** the buffer pool to get buffers from */
private BufferPool m_bp = null ;
/** event router used to decouple source to sink relationships */
@@ -58,7 +61,7 @@
/** selector used to select a ready socket channel */
private Selector m_selector = null ;
/** the wrapped input manager implementation */
- private DefaultInputManager m_inputManager = null ;
+ private DefaultInputManager m_delegate = null ;
// ------------------------------------------------------------------------
@@ -66,29 +69,32 @@
// ------------------------------------------------------------------------
- /**
+ /*
* @see org.apache.eve.event.ConnectListener#
* connectPerformed(org.apache.eve.event.ConnectEvent)
*/
public void inform( ConnectEvent an_event )
{
+ m_delegate.inform( an_event ) ;
}
- /**
+ /*
* @see org.apache.eve.event.DisconnectListener#
* inform(org.apache.eve.event.DisconnectEvent)
*/
public void inform( DisconnectEvent an_event )
{
+ m_delegate.inform( an_event ) ;
}
- /**
- *
+ /*
+ * @see org.apache.eve.event.Subscriber#inform(java.util.EventObject)
*/
public void inform( EventObject an_event )
{
+ m_delegate.inform( an_event ) ;
}
@@ -104,7 +110,11 @@
*/
public void start() throws Exception
{
- m_inputManager.start() ;
+ getLogger().debug(
+ "Merlin wrapper about to invoke delegate start()" ) ;
+ m_delegate.start() ;
+ getLogger().debug(
+ "Merlin wrapper invoked delegate start()" ) ;
}
@@ -115,7 +125,14 @@
*/
public void stop() throws Exception
{
- m_inputManager.stop() ;
+ if ( m_delegate != null )
+ {
+ getLogger().debug(
+ "Merlin wrapper about to invoke delegate stop()" ) ;
+ m_delegate.stop() ;
+ getLogger().debug(
+ "Merlin wrapper invoked delegate stop()" ) ;
+ }
}
@@ -124,22 +141,25 @@
*/
public void initialize() throws Exception
{
- m_inputManager = new DefaultInputManager( m_router, m_bp ) ;
-
+ getLogger().debug( "Delegate constructed" ) ;
+ m_delegate = new DefaultInputManager( m_router, m_bp ) ;
}
/**
* @avalon.dependency type="org.apache.eve.event.EventRouter"
- * key="event-router" version="1.0"
+ * key="event-router" version="1.0"
* @avalon.dependency type="org.apache.eve.buffer.BufferPool"
- * key="buffer-pool" version="1.0"
+ * key="buffer-pool" version="1.0"
+ * @avalon.dependency key="thread-manager"
+ * type="org.apache.avalon.cornerstone.services.threads.ThreadManager"
*
* @see org.apache.avalon.framework.service.Serviceable#service(
* org.apache.avalon.framework.service.ServiceManager)
*/
public void service( ServiceManager a_manager ) throws ServiceException
{
+ m_tm = ( ThreadManager ) a_manager.lookup( "thread-manager" ) ;
m_bp = ( BufferPool ) a_manager.lookup( "buffer-pool" ) ;
m_router = ( EventRouter ) a_manager.lookup( "event-router" ) ;
}
Modified: incubator/directory/eve/trunk/eve/frontend/input/pojo-impl/project.xml
==============================================================================
--- incubator/directory/eve/trunk/eve/frontend/input/pojo-impl/project.xml (original)
+++ incubator/directory/eve/trunk/eve/frontend/input/pojo-impl/project.xml Sun Feb 15 19:57:35 2004
@@ -65,7 +65,7 @@
<dependency>
<groupId>directory</groupId>
- <artifactId>eve-frontend-buffer-impl</artifactId>
+ <artifactId>eve-frontend-buffer-pojo-impl</artifactId>
<version>SNAPSHOT</version>
<url>http://directory.apache.org</url>
</dependency>
Modified: incubator/directory/eve/trunk/eve/frontend/input/pojo-impl/src/java/org/apache/eve/input/DefaultInputManager.java
==============================================================================
--- incubator/directory/eve/trunk/eve/frontend/input/pojo-impl/src/java/org/apache/eve/input/DefaultInputManager.java (original)
+++ incubator/directory/eve/trunk/eve/frontend/input/pojo-impl/src/java/org/apache/eve/input/DefaultInputManager.java Sun Feb 15 19:57:35 2004
@@ -193,14 +193,10 @@
}
catch ( KeyExpiryException e )
{
- String l_msg = "Attempting session creation using expired key for "
- + an_event.getClientKey() ;
m_monitor.keyExpiryFailure( l_key, e ) ;
}
catch ( IOException e )
{
- String l_msg = "Input managmer registration failure for " +
- an_event.getClientKey() + " due to exception." ;
m_monitor.channelRegistrationFailure( m_selector, l_channel,
SelectionKey.OP_READ, e ) ;
}
@@ -290,7 +286,10 @@
ByteBuffer l_buf = null ;
SocketChannel l_channel = ( SocketChannel ) l_key.channel() ;
- // claim a buffer and read & return buffer on errors
+ /*
+ * claim a buffer, read from channel into it and remove
+ * the current selection key from selected set
+ */
try
{
l_buf = m_bp.getBuffer( this ) ;
@@ -309,7 +308,14 @@
continue ;
}
- // report to monitor, create the event, and publish it
+ /*
+ * Monitor input and create the event publishing it. Note that
+ * releasing claim to the buffer does not free it. It just
+ * removes this object as an interested party from the list
+ * of interested parties. After synchronously publishing the
+ * input event there are other interesed parties that have
+ * increased the reference count.
+ */
m_monitor.inputRecieved( l_client ) ;
InputEvent l_event = new ConcreteInputEvent( l_client, l_buf ) ;
m_router.publish( l_event ) ;
@@ -331,18 +337,18 @@
{
ConcreteInputEvent( ClientKey a_key, ByteBuffer a_buffer )
{
- super( a_key, a_buffer ) ;
+ super( DefaultInputManager.this, a_key, a_buffer ) ;
}
public ByteBuffer claimInterest( Object a_party )
{
- m_bp.claimInterest( m_buffer, a_party ) ;
- return m_buffer.asReadOnlyBuffer() ;
+ m_bp.claimInterest( getBuffer(), a_party ) ;
+ return getBuffer().asReadOnlyBuffer() ;
}
public void releaseInterest( Object a_party )
{
- m_bp.releaseClaim( m_buffer, a_party ) ;
+ m_bp.releaseClaim( getBuffer(), a_party ) ;
}
}
Modified: incubator/directory/eve/trunk/eve/frontend/listener/merlin-impl/maven.xml
==============================================================================
--- incubator/directory/eve/trunk/eve/frontend/listener/merlin-impl/maven.xml (original)
+++ incubator/directory/eve/trunk/eve/frontend/listener/merlin-impl/maven.xml Sun Feb 15 19:57:35 2004
@@ -1,4 +1,5 @@
-<project default="java:compile"
+<project
+ default="jar:install"
xmlns:j="jelly:core"
xmlns:u="jelly:util"
xmlns:ant="jelly:ant"
Modified: incubator/directory/eve/trunk/eve/frontend/listener/pojo-impl/project.xml
==============================================================================
--- incubator/directory/eve/trunk/eve/frontend/listener/pojo-impl/project.xml (original)
+++ incubator/directory/eve/trunk/eve/frontend/listener/pojo-impl/project.xml Sun Feb 15 19:57:35 2004
@@ -38,7 +38,7 @@
<dependency>
<groupId>directory</groupId>
- <artifactId>eve-frontend-event-impl</artifactId>
+ <artifactId>eve-frontend-event-pojo-impl</artifactId>
<version>SNAPSHOT</version>
<url>http://directory.apache.org</url>
</dependency>