Author: rfeng
Date: Mon Jun 30 14:37:31 2008
New Revision: 672933

URL: http://svn.apache.org/viewvc?rev=672933&view=rev
Log:
Apply the patApply the patch from Wojtek for TUSCANY-2397. Thanks. 
(modules-dir.patch)

Modified:
    
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaInvoker.java
    
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceBindingProvider.java
    
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/DynaCorbaServant.java
    
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTreeCreator.java
    
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/Utils.java
    
tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/CorbaBinding.java
    
tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingImpl.java
    
tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProcessor.java
    
tuscany/java/sca/modules/host-corba-jdk/src/test/java/org/apache/tuscany/sca/host/corba/testing/DefaultCorbaHostTestCase.java

Modified: 
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaInvoker.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaInvoker.java?rev=672933&r1=672932&r2=672933&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaInvoker.java
 (original)
+++ 
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaInvoker.java
 Mon Jun 30 14:37:31 2008
@@ -19,6 +19,7 @@
 
 package org.apache.tuscany.sca.binding.corba.impl;
 
+import 
org.apache.tuscany.sca.binding.corba.impl.exceptions.RequestConfigurationException;
 import org.apache.tuscany.sca.binding.corba.impl.reference.DynaCorbaRequest;
 import org.apache.tuscany.sca.binding.corba.impl.reference.DynaCorbaResponse;
 import org.apache.tuscany.sca.interfacedef.DataType;
@@ -60,8 +61,10 @@
             }
             DynaCorbaResponse response = request.invoke();
             msg.setBody(response.getContent());
-        } catch (Exception e) {
+        } catch (RequestConfigurationException e) {
             throw new ServiceRuntimeException(e);
+        } catch (Exception e) {
+            msg.setFaultBody(e);
         }
         return msg;
     }

Modified: 
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceBindingProvider.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceBindingProvider.java?rev=672933&r1=672932&r2=672933&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceBindingProvider.java
 (original)
+++ 
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceBindingProvider.java
 Mon Jun 30 14:37:31 2008
@@ -59,6 +59,7 @@
         try {
             this.orb = host.createORB(binding.getHost(), binding.getPort(), 
false);
             servant = new DynaCorbaServant(service, binding);
+            servant.setIds(new String[] {binding.getId()});
             host.registerServant(orb, binding.getName(), servant);
         } catch (Exception e) {
             throw new ServiceRuntimeException(e);

Modified: 
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/DynaCorbaServant.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/DynaCorbaServant.java?rev=672933&r1=672932&r2=672933&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/DynaCorbaServant.java
 (original)
+++ 
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/DynaCorbaServant.java
 Mon Jun 30 14:37:31 2008
@@ -88,11 +88,13 @@
     }
 
     public void setIds(String[] ids) {
-        if (ids != null) {
-            this.ids = ids;
-        } else {
-            this.ids = DEFAULT_IDS;
+        for (int i = 0; i < ids.length; i++) {
+            if (ids[i] == null || ids[i].length() == 0) {
+                this.ids = DEFAULT_IDS;
+                return;
+            }
         }
+        this.ids = ids;
     }
 
     public OutputStream _invoke(String method, InputStream in, ResponseHandler 
rh) {

Modified: 
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTreeCreator.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTreeCreator.java?rev=672933&r1=672932&r2=672933&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTreeCreator.java
 (original)
+++ 
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTreeCreator.java
 Mon Jun 30 14:37:31 2008
@@ -316,7 +316,7 @@
             }
         } catch (NoSuchMethodException e) {
         }
-        if (!isFromIntMethod && !isValueMethod) {
+        if (!isFromIntMethod || !isValueMethod) {
             return false;
         }
         /*
@@ -345,6 +345,7 @@
 
     /**
      * Tells whether given class is corba user exception
+     * 
      * @param forClass
      * @return
      */

Modified: 
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/Utils.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/Utils.java?rev=672933&r1=672932&r2=672933&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/Utils.java
 (original)
+++ 
tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/Utils.java
 Mon Jun 30 14:37:31 2008
@@ -29,9 +29,6 @@
     public static String getExceptionId(Class<?> forClass) {
         String result = forClass.getName().replace('.', '/');
         result = result.replaceAll("Package", "");
-        if (result.endsWith("Exception")) {
-            result = result.substring(0, result.length() - 
"Exception".length());
-        }
         result = "IDL:" + result + ":1.0";
         return result;
     }

Modified: 
tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/CorbaBinding.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/CorbaBinding.java?rev=672933&r1=672932&r2=672933&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/CorbaBinding.java
 (original)
+++ 
tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/CorbaBinding.java
 Mon Jun 30 14:37:31 2008
@@ -37,4 +37,8 @@
     int getPort();
 
     void setPort(int port);
+    
+    String getId();
+    
+    void setId(String id);
 }

Modified: 
tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingImpl.java?rev=672933&r1=672932&r2=672933&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingImpl.java
 (original)
+++ 
tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingImpl.java
 Mon Jun 30 14:37:31 2008
@@ -36,6 +36,7 @@
     private String uri;
     private String host;
     private int port;
+    private String id;
 
     private List<Intent> requiredIntents = new ArrayList<Intent>();
     private List<PolicySet> policySets = new ArrayList<PolicySet>();
@@ -115,4 +116,12 @@
         return super.clone();
     }
 
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
 }

Modified: 
tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProcessor.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProcessor.java?rev=672933&r1=672932&r2=672933&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProcessor.java
 (original)
+++ 
tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProcessor.java
 Mon Jun 30 14:37:31 2008
@@ -80,6 +80,11 @@
         if (uri != null) {
             binding.setURI(uri);
         }
+        // Read CORBA id
+        String id = reader.getAttributeValue(null, "id");
+        if (id != null) {
+            binding.setId(id);
+        }
         return binding;
     }
 
@@ -105,6 +110,10 @@
         if (model.getPort() != -1) {
             writer.writeAttribute("port", String.valueOf(model.getPort()));
         }
+        
+        if (model.getId() != null) {
+            writer.writeAttribute("id", model.getId());
+        }
 
         writer.writeEndElement();
     }

Modified: 
tuscany/java/sca/modules/host-corba-jdk/src/test/java/org/apache/tuscany/sca/host/corba/testing/DefaultCorbaHostTestCase.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/host-corba-jdk/src/test/java/org/apache/tuscany/sca/host/corba/testing/DefaultCorbaHostTestCase.java?rev=672933&r1=672932&r2=672933&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/host-corba-jdk/src/test/java/org/apache/tuscany/sca/host/corba/testing/DefaultCorbaHostTestCase.java
 (original)
+++ 
tuscany/java/sca/modules/host-corba-jdk/src/test/java/org/apache/tuscany/sca/host/corba/testing/DefaultCorbaHostTestCase.java
 Mon Jun 30 14:37:31 2008
@@ -23,8 +23,6 @@
 import static junit.framework.Assert.assertTrue;
 import static junit.framework.Assert.fail;
 
-import java.io.IOException;
-
 import org.apache.tuscany.sca.host.corba.CorbaHost;
 import org.apache.tuscany.sca.host.corba.CorbaHostException;
 import org.apache.tuscany.sca.host.corba.jdk.DefaultCorbaHost;
@@ -46,67 +44,9 @@
 
     private static final String LOCALHOST = "localhost";
     private static final int DEFAULT_PORT = 11100; //1050;
-    private static final long INTERVAL = 500;
-
-    private static Process tn;
+    
     private static CorbaHost host;
 
-    /**
-     * Spawn tnameserv under given port
-     * 
-     * @param port
-     * @return
-     * @throws IOException
-     */
-    private static Process spawnTnameserv(int port) throws IOException {
-        Process process = Runtime.getRuntime().exec("tnameserv -ORBInitialPort 
" + port);
-        for (int i = 0; i < 3; i++) {
-            try {
-                // Thread.sleep(SPAWN_TIME);
-                String[] args = {"-ORBInitialHost", LOCALHOST, 
"-ORBInitialPort", "" + port};
-                ORB orb = ORB.init(args, null);
-                orb.resolve_initial_references("NameService");
-                break;
-            } catch (Throwable e) {
-                try {
-                    Thread.sleep(INTERVAL);
-                } catch (InterruptedException e1) {
-                    // Ignore
-                }
-            }
-        }
-        return process;
-    }
-
-    /**
-     * Kill previously spawned tnameserv
-     * 
-     * @param p
-     */
-    private static void killProcess(Process p) {
-        if (p != null) {
-            p.destroy();
-        }
-    }
-
-    /*
-    @BeforeClass
-    public static void start() {
-        try {
-            tn = spawnTnameserv(DEFAULT_PORT);
-            host = new DefaultCorbaHost();
-        } catch (Throwable e) {
-            e.printStackTrace();
-            fail(e.getMessage());
-        }
-    }
-
-    @AfterClass
-    public static void stop() {
-        killProcess(tn);
-    }
-    */
-
     private static TransientNameServer server;
 
     @BeforeClass


Reply via email to