You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2012/10/29 01:38:55 UTC

svn commit: r1403134 - in /openejb/trunk/openejb/server: openejb-derbynet/src/test/ openejb-derbynet/src/test/java/ openejb-derbynet/src/test/java/org/ openejb-derbynet/src/test/java/org/apache/ openejb-derbynet/src/test/java/org/apache/openejb/ openej...

Author: dblevins
Date: Mon Oct 29 00:38:55 2012
New Revision: 1403134

URL: http://svn.apache.org/viewvc?rev=1403134&view=rev
Log:
Test for the the derbynet server service

Added:
    openejb/trunk/openejb/server/openejb-derbynet/src/test/
    openejb/trunk/openejb/server/openejb-derbynet/src/test/java/
    openejb/trunk/openejb/server/openejb-derbynet/src/test/java/org/
    openejb/trunk/openejb/server/openejb-derbynet/src/test/java/org/apache/
    openejb/trunk/openejb/server/openejb-derbynet/src/test/java/org/apache/openejb/
    openejb/trunk/openejb/server/openejb-derbynet/src/test/java/org/apache/openejb/server/
    openejb/trunk/openejb/server/openejb-derbynet/src/test/java/org/apache/openejb/server/derbynet/
    openejb/trunk/openejb/server/openejb-derbynet/src/test/java/org/apache/openejb/server/derbynet/DerbyNetworkServiceTest.java
    openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceFinder.java
Modified:
    openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceManager.java
    openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/SimpleServiceManager.java

Added: openejb/trunk/openejb/server/openejb-derbynet/src/test/java/org/apache/openejb/server/derbynet/DerbyNetworkServiceTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-derbynet/src/test/java/org/apache/openejb/server/derbynet/DerbyNetworkServiceTest.java?rev=1403134&view=auto
==============================================================================
--- openejb/trunk/openejb/server/openejb-derbynet/src/test/java/org/apache/openejb/server/derbynet/DerbyNetworkServiceTest.java (added)
+++ openejb/trunk/openejb/server/openejb-derbynet/src/test/java/org/apache/openejb/server/derbynet/DerbyNetworkServiceTest.java Mon Oct 29 00:38:55 2012
@@ -0,0 +1,61 @@
+/*
+ * 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.openejb.server.derbynet;
+
+import org.apache.openejb.server.ServerService;
+import org.apache.openejb.server.ServiceFinder;
+import org.apache.openejb.server.SimpleServiceManager;
+import org.apache.openejb.util.NetworkUtil;
+import org.junit.Test;
+
+import java.io.IOException;
+import java.net.Socket;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class DerbyNetworkServiceTest {
+
+    @Test
+    public void test() throws Exception {
+        final int port = NetworkUtil.getNextAvailablePort();
+
+        final SimpleServiceManager serviceManager = new SimpleServiceManager(new ServiceFinder() {
+            @Override
+            public Map<String, Properties> mapAvailableServices(Class interfase) throws IOException, ClassNotFoundException {
+                final Properties properties = new Properties();
+                properties.setProperty("server", DerbyNetworkService.class.getName());
+                properties.setProperty("port", port + "");
+                properties.setProperty("disabled", "false");
+                properties.put(ServerService.class, DerbyNetworkService.class);
+                Map<String, Properties> services = new HashMap<String, Properties>();
+                services.put("derbynet", properties);
+                return services;
+            }
+        });
+
+        serviceManager.init();
+        serviceManager.start(false);
+
+        final Socket derbyClient = new Socket("localhost", port);
+
+        serviceManager.stop();
+    }
+}

Added: openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceFinder.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceFinder.java?rev=1403134&view=auto
==============================================================================
--- openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceFinder.java (added)
+++ openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceFinder.java Mon Oct 29 00:38:55 2012
@@ -0,0 +1,28 @@
+/*
+ * 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.openejb.server;
+
+import java.io.IOException;
+import java.util.Map;
+import java.util.Properties;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public interface ServiceFinder {
+    Map<String, Properties> mapAvailableServices(Class interfase) throws IOException, ClassNotFoundException;
+}

Modified: openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceManager.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceManager.java?rev=1403134&r1=1403133&r2=1403134&view=diff
==============================================================================
--- openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceManager.java (original)
+++ openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceManager.java Mon Oct 29 00:38:55 2012
@@ -168,6 +168,7 @@ public abstract class ServiceManager {
 
                 return service;
             } catch (Throwable t) {
+                t.printStackTrace();
                 logger.error("service.instantiation.err", t, serviceClass.getName(), t.getClass().getName(), t.getMessage());
             }
         }

Modified: openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/SimpleServiceManager.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/SimpleServiceManager.java?rev=1403134&r1=1403133&r2=1403134&view=diff
==============================================================================
--- openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/SimpleServiceManager.java (original)
+++ openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/SimpleServiceManager.java Mon Oct 29 00:38:55 2012
@@ -44,9 +44,15 @@ public class SimpleServiceManager extend
 
     private ServerService[] daemons;
     private boolean stop = false;
+    private ServiceFinder serviceFinder;
 
 
     public SimpleServiceManager() {
+        this(new SimpleServiceFinder("META-INF/"));
+    }
+
+    public SimpleServiceManager(ServiceFinder serviceFinder) {
+        this.serviceFinder = serviceFinder;
     }
 
     // Have properties files (like xinet.d) that specifies what daemons to
@@ -66,24 +72,25 @@ public class SimpleServiceManager extend
     // The port to use
     // whether it's turned on
     // May be reusable elsewhere, move if another use occurs
-    public static class ServiceFinder {
+    public static class SimpleServiceFinder implements ServiceFinder {
 
         private final ResourceFinder resourceFinder;
         private ClassLoader classLoader;
 
-        public ServiceFinder(String basePath) {
+        public SimpleServiceFinder(String basePath) {
             this(basePath, Thread.currentThread().getContextClassLoader());
         }
 
-        public ServiceFinder(String basePath, ClassLoader classLoader) {
+        public SimpleServiceFinder(String basePath, ClassLoader classLoader) {
             this.resourceFinder = new ResourceFinder(basePath, classLoader);
             this.classLoader = classLoader;
         }
 
-        public Map mapAvailableServices(Class interfase) throws IOException, ClassNotFoundException {
-            Map services = resourceFinder.mapAvailableProperties(ServerService.class.getName());
+        @Override
+        public Map<String, Properties> mapAvailableServices(Class interfase) throws IOException, ClassNotFoundException {
+            final Map<String, Properties> service = resourceFinder.mapAvailableProperties(ServerService.class.getName());
 
-            for (Iterator iterator = services.entrySet().iterator(); iterator.hasNext(); ) {
+            for (Iterator iterator = service.entrySet().iterator(); iterator.hasNext(); ) {
                 Map.Entry entry = (Map.Entry) iterator.next();
                 String name = (String) entry.getKey();
                 Properties properties = (Properties) entry.getValue();
@@ -103,7 +110,7 @@ public class SimpleServiceManager extend
                 properties.put(Properties.class, rawProperties);
 
             }
-            return services;
+            return service;
         }
     }
 
@@ -138,9 +145,7 @@ public class SimpleServiceManager extend
 
         SystemInstance.get().setComponent(DiscoveryRegistry.class, registry);
 
-        ServiceFinder serviceFinder = new ServiceFinder("META-INF/");
-
-        Map<String, Properties> availableServices = serviceFinder.mapAvailableServices(ServerService.class);
+        Map<String, Properties> availableServices = this.serviceFinder.mapAvailableServices(ServerService.class);
 
         List<ServerService> enabledServers = initServers(availableServices);