diff options
author | jsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68> | 2008-09-29 01:20:26 +0000 |
---|---|---|
committer | jsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68> | 2008-09-29 01:20:26 +0000 |
commit | 18d4d2f06de5efa5bc55974e3b506f53a3da6585 (patch) | |
tree | c8f8f3abc42f2a1ca5e2a0b0e23b44c44be6b088 | |
parent | af8efbe0b8eba5d5cb28f27853eaa80d00d83828 (diff) |
Pulled from trunk. Clone interface to configure the databinding.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@699950 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | branches/sca-equinox/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/xml/XQueryIntrospector.java | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/branches/sca-equinox/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/xml/XQueryIntrospector.java b/branches/sca-equinox/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/xml/XQueryIntrospector.java index 6f18e518bd..d1e74dd40d 100644 --- a/branches/sca-equinox/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/xml/XQueryIntrospector.java +++ b/branches/sca-equinox/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/xml/XQueryIntrospector.java @@ -217,11 +217,21 @@ public class XQueryIntrospector { service.setName(name); // Set the call interface and, if present, the callback interface - JavaInterface callInterface = javaFactory.createJavaInterface(interfaze); + JavaInterface callInterface = null; + try { + callInterface = (JavaInterface) javaFactory.createJavaInterface(interfaze).clone(); + } catch (CloneNotSupportedException e) { + // Ignore + } //setDataBindingForInterface(callInterface, DataObject.class.getName()); service.getInterfaceContract().setInterface(callInterface); if (callInterface.getCallbackClass() != null) { - JavaInterface callbackInterface = javaFactory.createJavaInterface(callInterface.getCallbackClass()); + JavaInterface callbackInterface = null; + try { + callbackInterface = (JavaInterface) javaFactory.createJavaInterface(callInterface.getCallbackClass()).clone(); + } catch (CloneNotSupportedException e) { + //Ignore + } //setDataBindingForInterface(callbackInterface, DataObject.class.getName()); service.getInterfaceContract().setCallbackInterface(callbackInterface); } @@ -253,10 +263,21 @@ public class XQueryIntrospector { reference.setMultiplicity(Multiplicity.ONE_ONE); // Set the call interface and, if present, the callback interface - JavaInterface callInterface = javaFactory.createJavaInterface(interfaze); + // Set the call interface and, if present, the callback interface + JavaInterface callInterface = null; + try { + callInterface = (JavaInterface) javaFactory.createJavaInterface(interfaze).clone(); + } catch (CloneNotSupportedException e) { + // Ignore + } reference.getInterfaceContract().setInterface(callInterface); if (callInterface.getCallbackClass() != null) { - JavaInterface callbackInterface = javaFactory.createJavaInterface(callInterface.getCallbackClass()); + JavaInterface callbackInterface = null; + try { + callbackInterface = (JavaInterface) javaFactory.createJavaInterface(callInterface.getCallbackClass()).clone(); + } catch (CloneNotSupportedException e) { + //Ignore + } reference.getInterfaceContract().setCallbackInterface(callbackInterface); } |