You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2007/03/16 20:54:47 UTC
svn commit: r519114 -
/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOLoader.java
Author: rfeng
Date: Fri Mar 16 12:54:46 2007
New Revision: 519114
URL: http://svn.apache.org/viewvc?view=rev&rev=519114
Log:
[sca-integration-branch] Make sure the class loader from the deployment context is used as TCCL
Modified:
incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOLoader.java
Modified: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOLoader.java?view=diff&rev=519114&r1=519113&r2=519114
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOLoader.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOLoader.java Fri Mar 16 12:54:46 2007
@@ -52,8 +52,9 @@
*/
public class ImportSDOLoader extends LoaderExtension {
- @Constructor({"registry"})
- public ImportSDOLoader(@Autowire LoaderRegistry registry) {
+ @Constructor( {"registry"})
+ public ImportSDOLoader(@Autowire
+ LoaderRegistry registry) {
super(registry);
}
@@ -95,7 +96,7 @@
}
}
}
-
+
private static void register(Class factoryClass, HelperContext helperContext) throws Exception {
Field field = factoryClass.getField("INSTANCE");
Object factory = field.get(null);
@@ -113,7 +114,7 @@
String location = reader.getAttributeValue(null, "location");
if (location == null) {
location = reader.getAttributeValue(null, "wsdlLocation");
- }
+ }
if (location != null) {
try {
URL wsdlURL = null;
@@ -136,14 +137,22 @@
}
// FIXME: How do we associate the application HelperContext with the one
// imported by the composite
- HelperContext defaultContext = HelperProvider.getDefaultContext();
+ HelperContext defaultContext = HelperProvider.getDefaultContext();
xsdInputStream = wsdlURL.openStream();
try {
XSDHelper xsdHelper = defaultContext.getXSDHelper();
- xsdHelper.define(xsdInputStream, wsdlURL.toExternalForm());
+ ClassLoader oldCL = Thread.currentThread().getContextClassLoader();
+ try {
+ // set TCCL as SDO needs it
+ ClassLoader cl = deploymentContext.getClassLoader();
+ Thread.currentThread().setContextClassLoader(cl);
+ xsdHelper.define(xsdInputStream, wsdlURL.toExternalForm());
+ } finally {
+ Thread.currentThread().setContextClassLoader(oldCL);
+ }
} finally {
xsdInputStream.close();
- }
+ }
} catch (IOException e) {
LoaderException sfe = new LoaderException(e.getMessage());
sfe.setResourceURI(location);
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org