You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by ak...@apache.org on 2008/08/27 04:18:18 UTC

svn commit: r689337 - in /mina/trunk: ./ core/src/main/java/org/apache/mina/core/filterchain/ core/src/main/java/org/apache/mina/core/session/ core/src/main/java/org/apache/mina/filter/buffer/ core/src/main/java/org/apache/mina/filter/codec/ core/src/m...

Author: akarasulu
Date: Tue Aug 26 19:18:17 2008
New Revision: 689337

URL: http://svn.apache.org/viewvc?rev=689337&view=rev
Log:
annotating some classes with javadoc tags for xbean and adding some simple tests

Added:
    mina/trunk/integration-xbean/src/main/java/org/
    mina/trunk/integration-xbean/src/main/java/org/apache/
    mina/trunk/integration-xbean/src/main/java/org/apache/mina/
    mina/trunk/integration-xbean/src/main/java/org/apache/mina/integration/
    mina/trunk/integration-xbean/src/main/java/org/apache/mina/integration/xbean/
    mina/trunk/integration-xbean/src/main/java/org/apache/mina/integration/xbean/MinaPropertyEditorRegistrar.java   (with props)
    mina/trunk/integration-xbean/src/main/java/org/apache/mina/integration/xbean/StandardThreadPool.java   (with props)
    mina/trunk/integration-xbean/src/test/java/org/
    mina/trunk/integration-xbean/src/test/java/org/apache/
    mina/trunk/integration-xbean/src/test/java/org/apache/mina/
    mina/trunk/integration-xbean/src/test/java/org/apache/mina/integration/
    mina/trunk/integration-xbean/src/test/java/org/apache/mina/integration/xbean/
    mina/trunk/integration-xbean/src/test/java/org/apache/mina/integration/xbean/SpringXBeanTest.java
    mina/trunk/integration-xbean/src/test/resources/org/
    mina/trunk/integration-xbean/src/test/resources/org/apache/
    mina/trunk/integration-xbean/src/test/resources/org/apache/mina/
    mina/trunk/integration-xbean/src/test/resources/org/apache/mina/integration/
    mina/trunk/integration-xbean/src/test/resources/org/apache/mina/integration/xbean/
    mina/trunk/integration-xbean/src/test/resources/org/apache/mina/integration/xbean/datagramAcceptor.xml   (with props)
Modified:
    mina/trunk/core/src/main/java/org/apache/mina/core/filterchain/DefaultIoFilterChainBuilder.java
    mina/trunk/core/src/main/java/org/apache/mina/core/session/ExpiringSessionRecycler.java
    mina/trunk/core/src/main/java/org/apache/mina/filter/buffer/BufferedWriteFilter.java
    mina/trunk/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java
    mina/trunk/core/src/main/java/org/apache/mina/filter/errorgenerating/ErrorGeneratingFilter.java
    mina/trunk/core/src/main/java/org/apache/mina/filter/executor/ExecutorFilter.java
    mina/trunk/core/src/main/java/org/apache/mina/filter/executor/OrderedThreadPoolExecutor.java
    mina/trunk/core/src/main/java/org/apache/mina/filter/executor/UnorderedThreadPoolExecutor.java
    mina/trunk/core/src/main/java/org/apache/mina/filter/firewall/BlacklistFilter.java
    mina/trunk/core/src/main/java/org/apache/mina/filter/keepalive/KeepAliveFilter.java
    mina/trunk/core/src/main/java/org/apache/mina/filter/logging/LoggingFilter.java
    mina/trunk/core/src/main/java/org/apache/mina/filter/reqres/RequestResponseFilter.java
    mina/trunk/core/src/main/java/org/apache/mina/filter/ssl/SslFilter.java
    mina/trunk/core/src/main/java/org/apache/mina/filter/statistic/ProfilerTimerFilter.java
    mina/trunk/core/src/main/java/org/apache/mina/filter/stream/FileRegionWriteFilter.java
    mina/trunk/core/src/main/java/org/apache/mina/filter/stream/StreamWriteFilter.java
    mina/trunk/core/src/main/java/org/apache/mina/filter/util/ReferenceCountingFilter.java
    mina/trunk/core/src/main/java/org/apache/mina/filter/util/SessionAttributeInitializingFilter.java
    mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/NioDatagramAcceptor.java
    mina/trunk/integration-xbean/pom.xml
    mina/trunk/pom.xml

Modified: mina/trunk/core/src/main/java/org/apache/mina/core/filterchain/DefaultIoFilterChainBuilder.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/core/filterchain/DefaultIoFilterChainBuilder.java?rev=689337&r1=689336&r2=689337&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/core/filterchain/DefaultIoFilterChainBuilder.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/core/filterchain/DefaultIoFilterChainBuilder.java Tue Aug 26 19:18:17 2008
@@ -58,6 +58,7 @@
  *
  * @author The Apache MINA Project (dev@mina.apache.org)
  * @version $Rev: 594846 $, $Date: 2007-11-14 13:03:07 +0100 (Wed, 14 Nov 2007) $
+ * @org.apache.xbean.XBean
  */
 public class DefaultIoFilterChainBuilder implements IoFilterChainBuilder {
     

Modified: mina/trunk/core/src/main/java/org/apache/mina/core/session/ExpiringSessionRecycler.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/core/session/ExpiringSessionRecycler.java?rev=689337&r1=689336&r2=689337&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/core/session/ExpiringSessionRecycler.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/core/session/ExpiringSessionRecycler.java Tue Aug 26 19:18:17 2008
@@ -33,6 +33,7 @@
  *
  * @author The Apache MINA Project (dev@mina.apache.org)
  * @version $Rev$, $Date$
+ * @org.apache.xbean.XBean
  */
 public class ExpiringSessionRecycler implements IoSessionRecycler {
     private ExpiringMap<Object, IoSession> sessionMap;

Modified: mina/trunk/core/src/main/java/org/apache/mina/filter/buffer/BufferedWriteFilter.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/buffer/BufferedWriteFilter.java?rev=689337&r1=689336&r2=689337&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/buffer/BufferedWriteFilter.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/buffer/BufferedWriteFilter.java Tue Aug 26 19:18:17 2008
@@ -45,6 +45,7 @@
  * @author The Apache MINA Project (dev@mina.apache.org)
  * @version $Rev$, $Date$
  * @since MINA 2.0.0-M2
+ * @org.apache.xbean.XBean
  */
 public final class BufferedWriteFilter extends IoFilterAdapter {
     private final Logger logger = LoggerFactory

Modified: mina/trunk/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java?rev=689337&r1=689336&r2=689337&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java Tue Aug 26 19:18:17 2008
@@ -45,6 +45,7 @@
  *
  * @author The Apache MINA Project (dev@mina.apache.org)
  * @version $Rev$, $Date$
+ * @org.apache.xbean.XBean
  */
 public class ProtocolCodecFilter extends IoFilterAdapter {
 

Modified: mina/trunk/core/src/main/java/org/apache/mina/filter/errorgenerating/ErrorGeneratingFilter.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/errorgenerating/ErrorGeneratingFilter.java?rev=689337&r1=689336&r2=689337&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/errorgenerating/ErrorGeneratingFilter.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/errorgenerating/ErrorGeneratingFilter.java Tue Aug 26 19:18:17 2008
@@ -51,6 +51,7 @@
  * 
  * @author The Apache MINA Project (dev@mina.apache.org)
  * @version $Rev: 612456 $, $Date: 2008-01-16 14:49:47 +0100 (mer., 16 janv. 2008) $
+ * @org.apache.xbean.XBean
  */
 public class ErrorGeneratingFilter extends IoFilterAdapter {
     private int removeByteProbability = 0;

Modified: mina/trunk/core/src/main/java/org/apache/mina/filter/executor/ExecutorFilter.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/executor/ExecutorFilter.java?rev=689337&r1=689336&r2=689337&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/executor/ExecutorFilter.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/executor/ExecutorFilter.java Tue Aug 26 19:18:17 2008
@@ -111,6 +111,7 @@
  * 
  * @see OrderedThreadPoolExecutor
  * @see UnorderedThreadPoolExecutor
+ * @org.apache.xbean.XBean
  */
 public class ExecutorFilter extends IoFilterAdapter {
 

Modified: mina/trunk/core/src/main/java/org/apache/mina/filter/executor/OrderedThreadPoolExecutor.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/executor/OrderedThreadPoolExecutor.java?rev=689337&r1=689336&r2=689337&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/executor/OrderedThreadPoolExecutor.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/executor/OrderedThreadPoolExecutor.java Tue Aug 26 19:18:17 2008
@@ -48,6 +48,7 @@
 
  * @author The Apache MINA Project (dev@mina.apache.org)
  * @version $Rev$, $Date$
+ * @org.apache.xbean.XBean
  */
 public class OrderedThreadPoolExecutor extends ThreadPoolExecutor {
 

Modified: mina/trunk/core/src/main/java/org/apache/mina/filter/executor/UnorderedThreadPoolExecutor.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/executor/UnorderedThreadPoolExecutor.java?rev=689337&r1=689336&r2=689337&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/executor/UnorderedThreadPoolExecutor.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/executor/UnorderedThreadPoolExecutor.java Tue Aug 26 19:18:17 2008
@@ -50,6 +50,7 @@
  *
  * @author The Apache MINA Project (dev@mina.apache.org)
  * @version $Rev$, $Date$
+ * @org.apache.xbean.XBean
  */
 public class UnorderedThreadPoolExecutor extends ThreadPoolExecutor {
 

Modified: mina/trunk/core/src/main/java/org/apache/mina/filter/firewall/BlacklistFilter.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/firewall/BlacklistFilter.java?rev=689337&r1=689336&r2=689337&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/firewall/BlacklistFilter.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/firewall/BlacklistFilter.java Tue Aug 26 19:18:17 2008
@@ -39,6 +39,7 @@
  *
  * @author The Apache MINA Project (dev@mina.apache.org)
  * @version $Rev$, $Date$
+ * @org.apache.xbean.XBean
  */
 public class BlacklistFilter extends IoFilterAdapter {
     private final List<Subnet> blacklist = new CopyOnWriteArrayList<Subnet>();

Modified: mina/trunk/core/src/main/java/org/apache/mina/filter/keepalive/KeepAliveFilter.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/keepalive/KeepAliveFilter.java?rev=689337&r1=689336&r2=689337&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/keepalive/KeepAliveFilter.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/keepalive/KeepAliveFilter.java Tue Aug 26 19:18:17 2008
@@ -136,6 +136,7 @@
  *
  * @author The Apache MINA Project (dev@mina.apache.org)
  * @version $Rev$, $Date$
+ * @org.apache.xbean.XBean
  */
 public class KeepAliveFilter extends IoFilterAdapter {
 

Modified: mina/trunk/core/src/main/java/org/apache/mina/filter/logging/LoggingFilter.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/logging/LoggingFilter.java?rev=689337&r1=689336&r2=689337&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/logging/LoggingFilter.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/logging/LoggingFilter.java Tue Aug 26 19:18:17 2008
@@ -43,6 +43,7 @@
  *
  * @author The Apache MINA Project (dev@mina.apache.org)
  * @version $Rev$, $Date$
+ * @org.apache.xbean.XBean
  */
 public class LoggingFilter extends IoFilterAdapter {
 

Modified: mina/trunk/core/src/main/java/org/apache/mina/filter/reqres/RequestResponseFilter.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/reqres/RequestResponseFilter.java?rev=689337&r1=689336&r2=689337&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/reqres/RequestResponseFilter.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/reqres/RequestResponseFilter.java Tue Aug 26 19:18:17 2008
@@ -43,6 +43,7 @@
  * 
  * @author The Apache MINA Project (dev@mina.apache.org)
  * @version $Rev$, $Date$
+ * @org.apache.xbean.XBean
  */
 public class RequestResponseFilter extends WriteRequestFilter {
 

Modified: mina/trunk/core/src/main/java/org/apache/mina/filter/ssl/SslFilter.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/ssl/SslFilter.java?rev=689337&r1=689336&r2=689337&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/ssl/SslFilter.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/ssl/SslFilter.java Tue Aug 26 19:18:17 2008
@@ -82,6 +82,7 @@
  *
  * @author The Apache MINA Project (dev@mina.apache.org)
  * @version $Rev$, $Date$
+ * @org.apache.xbean.XBean
  */
 public class SslFilter extends IoFilterAdapter {
     /**

Modified: mina/trunk/core/src/main/java/org/apache/mina/filter/statistic/ProfilerTimerFilter.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/statistic/ProfilerTimerFilter.java?rev=689337&r1=689336&r2=689337&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/statistic/ProfilerTimerFilter.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/statistic/ProfilerTimerFilter.java Tue Aug 26 19:18:17 2008
@@ -49,6 +49,7 @@
  *
  * @author The Apache MINA Project (dev@mina.apache.org)
  * @version $Rev$, $Date$
+ * @org.apache.xbean.XBean
  */
 public class ProfilerTimerFilter extends IoFilterAdapter {
     

Modified: mina/trunk/core/src/main/java/org/apache/mina/filter/stream/FileRegionWriteFilter.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/stream/FileRegionWriteFilter.java?rev=689337&r1=689336&r2=689337&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/stream/FileRegionWriteFilter.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/stream/FileRegionWriteFilter.java Tue Aug 26 19:18:17 2008
@@ -54,6 +54,7 @@
  *
  * @author The Apache MINA Project (dev@mina.apache.org)
  * @version $Rev$, $Date$
+ * @org.apache.xbean.XBean
  */
 public class FileRegionWriteFilter extends
         AbstractStreamWriteFilter<FileRegion> {

Modified: mina/trunk/core/src/main/java/org/apache/mina/filter/stream/StreamWriteFilter.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/stream/StreamWriteFilter.java?rev=689337&r1=689336&r2=689337&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/stream/StreamWriteFilter.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/stream/StreamWriteFilter.java Tue Aug 26 19:18:17 2008
@@ -51,6 +51,7 @@
  *
  * @author The Apache MINA Project (dev@mina.apache.org)
  * @version $Rev$, $Date$
+ * @org.apache.xbean.XBean
  */
 public class StreamWriteFilter extends AbstractStreamWriteFilter<InputStream> {
 

Modified: mina/trunk/core/src/main/java/org/apache/mina/filter/util/ReferenceCountingFilter.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/util/ReferenceCountingFilter.java?rev=689337&r1=689336&r2=689337&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/util/ReferenceCountingFilter.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/util/ReferenceCountingFilter.java Tue Aug 26 19:18:17 2008
@@ -32,6 +32,7 @@
  *
  * @author The Apache MINA Project (dev@mina.apache.org)
  * @version $Rev$, $Date$
+ * @org.apache.xbean.XBean
  */
 public class ReferenceCountingFilter implements IoFilter {
     private final IoFilter filter;

Modified: mina/trunk/core/src/main/java/org/apache/mina/filter/util/SessionAttributeInitializingFilter.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/util/SessionAttributeInitializingFilter.java?rev=689337&r1=689336&r2=689337&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/util/SessionAttributeInitializingFilter.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/util/SessionAttributeInitializingFilter.java Tue Aug 26 19:18:17 2008
@@ -37,6 +37,7 @@
  *
  * @author The Apache MINA Project (dev@mina.apache.org)
  * @version $Rev$, $Date$
+ * @org.apache.xbean.XBean
  */
 public class SessionAttributeInitializingFilter extends IoFilterAdapter {
     private final Map<String, Object> attributes = new ConcurrentHashMap<String, Object>();

Modified: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/NioDatagramAcceptor.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/NioDatagramAcceptor.java?rev=689337&r1=689336&r2=689337&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/NioDatagramAcceptor.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/NioDatagramAcceptor.java Tue Aug 26 19:18:17 2008
@@ -42,6 +42,7 @@
  *
  * @author The Apache MINA Project (dev@mina.apache.org)
  * @version $Rev$, $Date$
+ * @org.apache.xbean.XBean
  */
 public final class NioDatagramAcceptor
         extends AbstractPollingConnectionlessIoAcceptor<NioSession, DatagramChannel>

Modified: mina/trunk/integration-xbean/pom.xml
URL: http://svn.apache.org/viewvc/mina/trunk/integration-xbean/pom.xml?rev=689337&r1=689336&r2=689337&view=diff
==============================================================================
--- mina/trunk/integration-xbean/pom.xml (original)
+++ mina/trunk/integration-xbean/pom.xml Tue Aug 26 19:18:17 2008
@@ -42,11 +42,31 @@
   <url>http://maven.apache.org</url>
   <dependencies>
     <dependency>
-      <groupId>org.apache.mina</groupId>
+      <groupId>${pom.groupId}</groupId>
+      <artifactId>mina-integration-beans</artifactId>
+      <version>${pom.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>${pom.groupId}</groupId>
       <artifactId>mina-core</artifactId>
-      <version>2.0.0-M4-SNAPSHOT</version>
+      <version>${pom.version}</version>
       <classifier>sources</classifier>
     </dependency>
+    <dependency>
+      <groupId>${pom.groupId}</groupId>
+      <artifactId>mina-core</artifactId>
+      <version>${pom.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xbean</groupId>
+      <artifactId>xbean-spring</artifactId>
+    </dependency>
   </dependencies>
 
   <build>
@@ -57,7 +77,7 @@
         <executions>
           <execution>
             <configuration>
-              <namespace>http://mina.org/config/1.0</namespace>
+              <namespace>http://mina.apache.org/config/1.0</namespace>
               <schema>target/xbean/${pom.artifactId}.xsd</schema>
             </configuration>
             <goals>

Added: mina/trunk/integration-xbean/src/main/java/org/apache/mina/integration/xbean/MinaPropertyEditorRegistrar.java
URL: http://svn.apache.org/viewvc/mina/trunk/integration-xbean/src/main/java/org/apache/mina/integration/xbean/MinaPropertyEditorRegistrar.java?rev=689337&view=auto
==============================================================================
--- mina/trunk/integration-xbean/src/main/java/org/apache/mina/integration/xbean/MinaPropertyEditorRegistrar.java (added)
+++ mina/trunk/integration-xbean/src/main/java/org/apache/mina/integration/xbean/MinaPropertyEditorRegistrar.java Tue Aug 26 19:18:17 2008
@@ -0,0 +1,77 @@
+/*
+ *   Licensed to the Apache Software Foundation (ASF) under one
+ *   or more contributor license agreements.  See the NOTICE file
+ *   distributed with this work for additional information
+ *   regarding copyright ownership.  The ASF licenses this file
+ *   to you 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.mina.integration.xbean;
+
+
+import java.beans.PropertyEditor;
+import java.net.InetAddress;
+import java.net.InetSocketAddress;
+import java.net.SocketAddress;
+
+import org.apache.mina.core.session.TrafficMask;
+import org.apache.mina.integration.beans.InetAddressEditor;
+import org.apache.mina.integration.beans.InetSocketAddressEditor;
+import org.apache.mina.integration.beans.TrafficMaskEditor;
+import org.apache.mina.integration.beans.VmPipeAddressEditor;
+import org.apache.mina.transport.vmpipe.VmPipeAddress;
+import org.springframework.beans.PropertyEditorRegistrar;
+import org.springframework.beans.PropertyEditorRegistry;
+
+
+/**
+ * A custom Spring {@link PropertyEditorRegistrar} implementation which 
+ * registers by default all the {@link PropertyEditor} implementations in the 
+ * MINA Integration Beans module.
+ *
+ * @author <a href="mailto:dev@mina.apache.org">Apache MINA Project</a>
+ * @version $Rev$, $Date$
+ */
+public class MinaPropertyEditorRegistrar implements PropertyEditorRegistrar
+{
+    /**
+     * Registers custom {@link PropertyEditor}s in the MINA Integration Beans
+     * module.
+     * 
+     * Note: I did not know just how useful the rest of the property editors 
+     * were or if they were redundant and replicated existing functionality of
+     * default editors packaged into Spring.  So presently we're only 
+     * registering editors for the following classes which are not found in
+     * Spring:
+     * 
+     * <ul>
+     *   <li>java.net.InetAddress</li>
+     *   <li>java.net.InetSocketAddress</li>
+     *   <li>org.apache.mina.core.session.TrafficMask</li>
+     *   <li>org.apache.mina.integration.beans.VmPipeAddressEditor</li>
+     * </ul>
+     * 
+     * @see org.springframework.beans.PropertyEditorRegistrar#
+     * registerCustomEditors(org.springframework.beans.PropertyEditorRegistry)
+     */
+    public void registerCustomEditors( PropertyEditorRegistry registry ) 
+    {
+        // it is expected that new PropertyEditor instances are created
+        registry.registerCustomEditor( InetAddress.class, new InetAddressEditor() );
+        registry.registerCustomEditor( InetSocketAddress.class, new InetSocketAddressEditor() );
+        registry.registerCustomEditor( SocketAddress.class, new InetSocketAddressEditor() );
+        registry.registerCustomEditor( TrafficMask.class, new TrafficMaskEditor() );
+        registry.registerCustomEditor( VmPipeAddress.class, new VmPipeAddressEditor() );
+    }
+}

Propchange: mina/trunk/integration-xbean/src/main/java/org/apache/mina/integration/xbean/MinaPropertyEditorRegistrar.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: mina/trunk/integration-xbean/src/main/java/org/apache/mina/integration/xbean/StandardThreadPool.java
URL: http://svn.apache.org/viewvc/mina/trunk/integration-xbean/src/main/java/org/apache/mina/integration/xbean/StandardThreadPool.java?rev=689337&view=auto
==============================================================================
--- mina/trunk/integration-xbean/src/main/java/org/apache/mina/integration/xbean/StandardThreadPool.java (added)
+++ mina/trunk/integration-xbean/src/main/java/org/apache/mina/integration/xbean/StandardThreadPool.java Tue Aug 26 19:18:17 2008
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.mina.integration.xbean;
+
+
+import java.util.concurrent.Executor;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.TimeUnit;
+
+
+/**
+ * @version $Rev$ $Date$
+ * @org.apache.xbean.XBean
+ */
+public class StandardThreadPool implements Executor
+{
+    private final ExecutorService delegate;
+
+
+    public StandardThreadPool( int maxThreads )
+    {
+        delegate = Executors.newFixedThreadPool( maxThreads );
+    }
+
+    
+    public void execute( Runnable command )
+    {
+        delegate.execute( command );
+    }
+
+    
+    /**
+     * TODO wont this hang if some tasks are sufficiently badly behaved?
+     * @org.apache.xbean.DestroyMethod
+     */
+    public void stop()
+    {
+        delegate.shutdown();
+        for ( ; ; )
+        {
+            try
+            {
+                if ( delegate.awaitTermination( Integer.MAX_VALUE, TimeUnit.SECONDS ) )
+                {
+                    break;
+                }
+            }
+            catch ( InterruptedException e )
+            {
+                //ignore
+            }
+        }
+    }
+}

Propchange: mina/trunk/integration-xbean/src/main/java/org/apache/mina/integration/xbean/StandardThreadPool.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: mina/trunk/integration-xbean/src/test/java/org/apache/mina/integration/xbean/SpringXBeanTest.java
URL: http://svn.apache.org/viewvc/mina/trunk/integration-xbean/src/test/java/org/apache/mina/integration/xbean/SpringXBeanTest.java?rev=689337&view=auto
==============================================================================
--- mina/trunk/integration-xbean/src/test/java/org/apache/mina/integration/xbean/SpringXBeanTest.java (added)
+++ mina/trunk/integration-xbean/src/test/java/org/apache/mina/integration/xbean/SpringXBeanTest.java Tue Aug 26 19:18:17 2008
@@ -0,0 +1,81 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.mina.integration.xbean;
+
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import org.apache.mina.transport.socket.nio.NioDatagramAcceptor;
+import org.apache.xbean.spring.context.FileSystemXmlApplicationContext;
+import org.junit.Test;
+import org.springframework.context.ApplicationContext;
+
+import java.io.File;
+import java.net.URL;
+
+
+/**
+ * @version $Rev: 596086 $ $Date: 2007-11-18 09:15:50 -0500 (Sun, 18 Nov 2007) $
+ */
+public class SpringXBeanTest
+{
+    /**
+     * Checks to see we can easily configure a NIO based DatagramAcceptor 
+     * using XBean-Spring.  Tests various configuration settings for the 
+     * NIO based DatagramAcceptor.
+     */
+    @Test
+    public void testNioDatagramAcceptor() throws Exception 
+    {
+        ClassLoader classLoader = this.getClass().getClassLoader();
+        URL configURL = classLoader.getResource( "org/apache/mina/integration/xbean/datagramAcceptor.xml" );
+
+        File configF = new File( configURL.toURI() );
+        ApplicationContext factory = new FileSystemXmlApplicationContext( configF.toURI().toURL().toString() );
+        
+        // test default without any properties
+        NioDatagramAcceptor acceptor0 = ( NioDatagramAcceptor ) factory.getBean( "datagramAcceptor0" );
+        assertNotNull( acceptor0 );
+        
+        // test setting the port and IP for the acceptor
+        NioDatagramAcceptor acceptor1 = ( NioDatagramAcceptor ) factory.getBean( "datagramAcceptor1" );
+        assertNotNull( acceptor1 );
+        assertEquals( "192.168.0.1", acceptor1.getDefaultLocalAddress().getAddress().getHostAddress() );
+        assertEquals( 110, acceptor1.getDefaultLocalAddress().getPort() );
+        
+        // test creating with executor
+        NioDatagramAcceptor acceptor2 = ( NioDatagramAcceptor ) factory.getBean( "datagramAcceptor2" );
+        assertNotNull( acceptor2 );
+        
+        // test with multiple default addresses 
+//        NioDatagramAcceptor acceptor3 = ( NioDatagramAcceptor ) factory.getBean( "datagramAcceptor3" );
+//        assertNotNull( acceptor3 );
+//        assertEquals( 3, acceptor3.getDefaultLocalAddresses().size() );
+//
+//        SocketAddress address0 = acceptor3.getDefaultLocalAddresses().get( 0 );
+//        assertNotNull( address0 );
+//        
+//        SocketAddress address1 = acceptor3.getDefaultLocalAddresses().get( 1 );
+//        assertNotNull( address1 );
+//
+//        SocketAddress address2 = acceptor3.getDefaultLocalAddresses().get( 2 );
+//        assertNotNull( address2 );
+    }
+}

Added: mina/trunk/integration-xbean/src/test/resources/org/apache/mina/integration/xbean/datagramAcceptor.xml
URL: http://svn.apache.org/viewvc/mina/trunk/integration-xbean/src/test/resources/org/apache/mina/integration/xbean/datagramAcceptor.xml?rev=689337&view=auto
==============================================================================
--- mina/trunk/integration-xbean/src/test/resources/org/apache/mina/integration/xbean/datagramAcceptor.xml (added)
+++ mina/trunk/integration-xbean/src/test/resources/org/apache/mina/integration/xbean/datagramAcceptor.xml Tue Aug 26 19:18:17 2008
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you 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.
+-->
+
+<spring:beans xmlns:spring="http://xbean.apache.org/schemas/spring/1.0" 
+			  xmlns:s="http://www.springframework.org/schema/beans"
+			  xmlns="http://mina.apache.org/config/1.0">
+  
+  <nioDatagramAcceptor id="datagramAcceptor0" />
+  
+  <nioDatagramAcceptor id="datagramAcceptor1" defaultLocalAddress="192.168.0.1:110" />
+  
+  <nioDatagramAcceptor id="datagramAcceptor2" executor="#threadPoolExecutor" />
+
+  <nioDatagramAcceptor id="datagramAcceptor3"/>
+
+  <nioDatagramAcceptor id="datagramAcceptor4" />
+  
+  <standardThreadPool id="threadPoolExecutor" maxThreads="4"/>
+  
+  <!--
+    Sets up the MinaPropertyEditorRegistrar which conveniently installs all the 
+    required MINA PropertyEditor implementations found in the MINA Integration 
+    Beans module.
+  -->
+  <s:bean class="org.springframework.beans.factory.config.CustomEditorConfigurer">
+    <s:property name="propertyEditorRegistrars">
+      <s:list>
+        <s:bean class="org.apache.mina.integration.xbean.MinaPropertyEditorRegistrar"/>
+      </s:list>
+    </s:property>
+  </s:bean>     
+</spring:beans>
\ No newline at end of file

Propchange: mina/trunk/integration-xbean/src/test/resources/org/apache/mina/integration/xbean/datagramAcceptor.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: mina/trunk/pom.xml
URL: http://svn.apache.org/viewvc/mina/trunk/pom.xml?rev=689337&r1=689336&r2=689337&view=diff
==============================================================================
--- mina/trunk/pom.xml (original)
+++ mina/trunk/pom.xml Tue Aug 26 19:18:17 2008
@@ -161,6 +161,12 @@
       </dependency>
 
       <dependency>
+        <groupId>org.apache.xbean</groupId>
+        <artifactId>xbean-spring</artifactId>
+        <version>3.4.3</version>
+      </dependency>
+
+      <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring</artifactId>
         <version>2.5.5</version>
@@ -314,6 +320,7 @@
     <module>filter-codec-netty</module>
     <module>statemachine</module>
     <module>integration-beans</module>
+    <module>integration-xbean</module>
     <module>integration-ognl</module>
     <module>integration-jmx</module>
     <module>example</module>