summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-1.5.1/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOContextHelper.java
diff options
context:
space:
mode:
authorrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2009-09-17 20:12:07 +0000
committerrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2009-09-17 20:12:07 +0000
commit12d905c8cd8cf3d1e64595ef9a0f42e8e988f61e (patch)
treea196f836185b3196d7eaaf60d5f7c77d47f22a24 /branches/sca-java-1.5.1/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOContextHelper.java
parent16b8b195e6e48294b7d651aba6fa9f47c9d277aa (diff)
Fix for TUSCANY-3273
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@816364 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r--branches/sca-java-1.5.1/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOContextHelper.java16
1 files changed, 13 insertions, 3 deletions
diff --git a/branches/sca-java-1.5.1/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOContextHelper.java b/branches/sca-java-1.5.1/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOContextHelper.java
index 695722be18..ada0c94a8d 100644
--- a/branches/sca-java-1.5.1/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOContextHelper.java
+++ b/branches/sca-java-1.5.1/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOContextHelper.java
@@ -138,16 +138,26 @@ public final class SDOContextHelper {
}
try {
Type type = helperContext.getTypeHelper().getType(javaType);
- if (type != null && (!type.isDataType())) {
+ return register(helperContext, type);
+ } catch (Exception e) {
+ throw new TransformationException(e);
+ }
+ }
+
+ public static boolean register(HelperContext helperContext, Type type) {
+ if (type != null && (!type.isDataType())) {
+ try {
Method method = type.getClass().getMethod("getEPackage");
Object factory = method.invoke(type, new Object[] {});
method = factory.getClass().getMethod("register", HelperContext.class);
method.invoke(factory, new Object[] {helperContext});
return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
}
+ } else {
return false;
- } catch (Exception e) {
- throw new TransformationException(e);
}
}