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>