Title: [2468] trunk/openejb3/server/openejb-http: ServerMetaData is now primarily a URI

Diff

Modified: trunk/openejb3/server/openejb-client/src/main/java/org/openejb/client/Client.java (2467 => 2468)

--- trunk/openejb3/server/openejb-client/src/main/java/org/openejb/client/Client.java	2006-02-19 07:32:31 UTC (rev 2467)
+++ trunk/openejb3/server/openejb-client/src/main/java/org/openejb/client/Client.java	2006-02-19 22:36:28 UTC (rev 2468)
@@ -25,9 +25,9 @@
             try {
                 conn = ConnectionManager.getConnection(server);
             } catch (IOException e) {
-                throw new RemoteException("Cannot access server: " + server.getAddress() + ":" + server.getPort() + " Exception: ", e);
+                throw new RemoteException("Cannot access server: " + server.getHost() + ":" + server.getPort() + " Exception: ", e);
             } catch (Throwable e) {
-                throw new RemoteException("Cannot access server: " + server.getAddress() + ":" + server.getPort() + " due to an unkown exception in the OpenEJB client: ", e);
+                throw new RemoteException("Cannot access server: " + server.getHost() + ":" + server.getPort() + " due to an unkown exception in the OpenEJB client: ", e);
             }
 
             /*----------------------------------*/

Modified: trunk/openejb3/server/openejb-client/src/main/java/org/openejb/client/JNDIContext.java (2467 => 2468)

--- trunk/openejb3/server/openejb-client/src/main/java/org/openejb/client/JNDIContext.java	2006-02-19 07:32:31 UTC (rev 2467)
+++ trunk/openejb3/server/openejb-client/src/main/java/org/openejb/client/JNDIContext.java	2006-02-19 22:36:28 UTC (rev 2468)
@@ -4,6 +4,7 @@
 import java.net.InetAddress;
 import java.net.URL;
 import java.net.UnknownHostException;
+import java.net.URISyntaxException;
 import java.util.Hashtable;
 
 import javax.naming.ConfigurationException;
@@ -89,10 +90,8 @@
         }
 
         try {
-            server = new ServerMetaData();
-            server.setAddress(InetAddress.getByName(url.getHost()));
-            server.setPort(url.getPort());
-        } catch (UnknownHostException e) {
+            server = new ServerMetaData(url.getHost(), url.getPort());
+        } catch (URISyntaxException e) {
             throw new ConfigurationException("Invalid provider URL:" + serverURL + ": host unkown: " + e.getMessage());
         }
 

Modified: trunk/openejb3/server/openejb-client/src/main/java/org/openejb/client/ServerMetaData.java (2467 => 2468)

--- trunk/openejb3/server/openejb-client/src/main/java/org/openejb/client/ServerMetaData.java	2006-02-19 07:32:31 UTC (rev 2467)
+++ trunk/openejb3/server/openejb-client/src/main/java/org/openejb/client/ServerMetaData.java	2006-02-19 22:36:28 UTC (rev 2468)
@@ -6,67 +6,43 @@
 import java.io.ObjectOutput;
 import java.net.InetAddress;
 import java.net.UnknownHostException;
+import java.net.URI;
+import java.net.URISyntaxException;
 
 public class ServerMetaData implements Externalizable {
 
-    private transient int port;
+    private transient URI location;
 
-    private transient InetAddress address;
-
     public ServerMetaData() {
+    }
 
+    public ServerMetaData(String host, int port) throws URISyntaxException {
+        this.location = new URI("foo://"+host+":"+port);
     }
 
-    public ServerMetaData(String host, int port) throws UnknownHostException {
-        this.setAddress(InetAddress.getByName(host));
-        this.setPort(port);
+    public ServerMetaData(URI location)  {
+        this.location = location;
     }
 
     public int getPort() {
-        return port;
+        return location.getPort();
     }
 
-    public InetAddress getAddress() {
-        return address;
+    public String getHost() {
+        return location.getHost();
     }
 
-    public void setPort(int port) {
-        this.port = port;
-    }
-
-    public void setAddress(InetAddress address) {
-        this.address = address;
-    }
-
     public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
-
-        StringBuffer IP = new StringBuffer(15);
-
-        IP.append(in.readByte()).append('.');
-        IP.append(in.readByte()).append('.');
-        IP.append(in.readByte()).append('.');
-        IP.append(in.readByte());
-
-//        System.out.println(IP.toString());        
+        String uri = (String) in.readObject();
         try {
-            setAddress(InetAddress.getByName(IP.toString()));
-        } catch (java.net.UnknownHostException e) {
-            throw new IOException("Cannot read in the host address " + IP + ": The host is unknown");
+            location = new URI(uri);
+        } catch (URISyntaxException e) {
+            throw (IOException)new IOException("cannot create uri from '"+uri+"'").initCause(e);
         }
-
-        setPort(in.readInt());
-
     }
 
     public void writeExternal(ObjectOutput out) throws IOException {
-        byte[] addr = getAddress().getAddress();
-
-        out.writeByte(addr[0]);
-        out.writeByte(addr[1]);
-        out.writeByte(addr[2]);
-        out.writeByte(addr[3]);
-
-        out.writeInt(getPort());
+        out.writeObject(location.toString());
     }
 
 }

Modified: trunk/openejb3/server/openejb-client/src/main/java/org/openejb/client/SocketConnectionFactory.java (2467 => 2468)

--- trunk/openejb3/server/openejb-client/src/main/java/org/openejb/client/SocketConnectionFactory.java	2006-02-19 07:32:31 UTC (rev 2467)
+++ trunk/openejb3/server/openejb-client/src/main/java/org/openejb/client/SocketConnectionFactory.java	2006-02-19 22:36:28 UTC (rev 2468)
@@ -29,16 +29,16 @@
             /* Open socket to server */
             /*-----------------------*/
             try {
-                socket = new Socket(server.getAddress(), server.getPort());
+                socket = new Socket(server.getHost(), server.getPort());
                 socket.setTcpNoDelay(true);
             } catch (IOException e) {
-                throw new IOException("Cannot access server: " + server.getAddress() + ":" + server.getPort() + " Exception: " + e.getClass().getName() + " : " + e.getMessage());
+                throw new IOException("Cannot access server: " + server.getHost() + ":" + server.getPort() + " Exception: " + e.getClass().getName() + " : " + e.getMessage());
 
             } catch (SecurityException e) {
-                throw new IOException("Cannot access server: " + server.getAddress() + ":" + server.getPort() + " due to security restrictions in the current VM: " + e.getClass().getName() + " : " + e.getMessage());
+                throw new IOException("Cannot access server: " + server.getHost() + ":" + server.getPort() + " due to security restrictions in the current VM: " + e.getClass().getName() + " : " + e.getMessage());
 
             } catch (Throwable e) {
-                throw new IOException("Cannot access server: " + server.getAddress() + ":" + server.getPort() + " due to an unkown exception in the OpenEJB client: " + e.getClass().getName() + " : " + e.getMessage());
+                throw new IOException("Cannot access server: " + server.getHost() + ":" + server.getPort() + " due to an unkown exception in the OpenEJB client: " + e.getClass().getName() + " : " + e.getMessage());
             }
 
         }

Modified: trunk/openejb3/server/openejb-ejbd/src/main/java/org/openejb/server/ejbd/ClientObjectFactory.java (2467 => 2468)

--- trunk/openejb3/server/openejb-ejbd/src/main/java/org/openejb/server/ejbd/ClientObjectFactory.java	2006-02-19 07:32:31 UTC (rev 2467)
+++ trunk/openejb3/server/openejb-ejbd/src/main/java/org/openejb/server/ejbd/ClientObjectFactory.java	2006-02-19 22:36:28 UTC (rev 2468)
@@ -21,7 +21,7 @@
 
         try {
             this.sMetaData = new ServerMetaData("127.0.0.1", 4201);
-        } catch (UnknownHostException e) {
+        } catch (Exception e) {
 
             e.printStackTrace();
         }

Modified: trunk/openejb3/server/openejb-http/pom.xml (2467 => 2468)

--- trunk/openejb3/server/openejb-http/pom.xml	2006-02-19 07:32:31 UTC (rev 2467)
+++ trunk/openejb3/server/openejb-http/pom.xml	2006-02-19 22:36:28 UTC (rev 2468)
@@ -23,6 +23,11 @@
     </dependency>
     <dependency>
       <groupId>org.openejb</groupId>
+      <artifactId>openejb-ejbd</artifactId>
+      <version>3.0-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.openejb</groupId>
       <artifactId>openejb-itests</artifactId>
       <version>3.0-SNAPSHOT</version>
       <scope>test</scope>

Reply via email to