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