Attached is a small patch to replace some references to SDO implementation classes with calls to the appropriate public APIs.
Brent
Index: src/main/java/org/apache/tuscany/das/rdb/impl/ChangeSummarizer.java =================================================================== --- src/main/java/org/apache/tuscany/das/rdb/impl/ChangeSummarizer.java (revision 393597) +++ src/main/java/org/apache/tuscany/das/rdb/impl/ChangeSummarizer.java (working copy) @@ -31,10 +31,7 @@ import org.apache.tuscany.das.rdb.config.wrapper.RelationshipWrapper; import org.apache.tuscany.das.rdb.config.wrapper.TableWrapper; import org.apache.tuscany.das.rdb.util.DebugUtil; -import org.apache.tuscany.sdo.impl.AttributeImpl; import org.apache.tuscany.sdo.impl.ChangeSummaryImpl; -import org.apache.tuscany.sdo.impl.ChangeSummarySettingImpl; -import org.apache.tuscany.sdo.impl.ReferenceImpl; import commonj.sdo.ChangeSummary; import commonj.sdo.DataObject; @@ -120,15 +117,15 @@ List values = changeSummary.getOldValues(changedObject); Iterator i = values.iterator(); while (i.hasNext()) { - ChangeSummarySettingImpl setting = (ChangeSummarySettingImpl) i + ChangeSummary.Setting setting = (ChangeSummary.Setting) i .next(); - if (setting.getFeature() instanceof ReferenceImpl) { + if (!setting.getProperty().getType().isDataType()) { DebugUtil.debugln(getClass(), debug, "Reference change for " + changedObject.getType().getName()); - ReferenceImpl ref = (ReferenceImpl) setting.getFeature(); + Property ref = setting.getProperty(); DebugUtil.debugln(getClass(), debug, ref.getName()); if (hasState(ref, changedObject) ) { @@ -175,8 +172,8 @@ private boolean hasAttributeChange(List theChanges) { Iterator i = theChanges.iterator(); while (i.hasNext()) { - ChangeSummarySettingImpl setting = (ChangeSummarySettingImpl) i.next(); - if (setting.getFeature() instanceof AttributeImpl) + ChangeSummary.Setting setting = (ChangeSummary.Setting) i.next(); + if (setting.getProperty().getType().isDataType()) return true; } return false; Index: src/main/java/org/apache/tuscany/das/rdb/impl/BaseCommandImpl.java =================================================================== --- src/main/java/org/apache/tuscany/das/rdb/impl/BaseCommandImpl.java (revision 395330) +++ src/main/java/org/apache/tuscany/das/rdb/impl/BaseCommandImpl.java (working copy) @@ -1,17 +1,10 @@ package org.apache.tuscany.das.rdb.impl; -import java.io.IOException; -import java.io.InputStream; import java.sql.Connection; import org.apache.tuscany.das.rdb.Key; -import org.apache.tuscany.das.rdb.config.Config; -import org.apache.tuscany.das.rdb.config.ConfigFactory; import org.apache.tuscany.das.rdb.config.wrapper.MappingWrapper; -import org.apache.tuscany.sdo.util.SDOUtil; -import commonj.sdo.helper.XMLHelper; - public abstract class BaseCommandImpl { protected MappingWrapper configWrapper = new MappingWrapper(); Index: src/main/java/org/apache/tuscany/das/rdb/impl/ReadCommandImpl.java =================================================================== --- src/main/java/org/apache/tuscany/das/rdb/impl/ReadCommandImpl.java (revision 395330) +++ src/main/java/org/apache/tuscany/das/rdb/impl/ReadCommandImpl.java (working copy) @@ -28,11 +28,7 @@ import org.apache.tuscany.das.rdb.config.wrapper.MappingWrapper; import org.apache.tuscany.das.rdb.graphbuilder.impl.GraphBuilderMetadata; import org.apache.tuscany.das.rdb.graphbuilder.impl.ResultSetProcessor; -import org.apache.tuscany.sdo.util.DataObjectUtil; import org.apache.tuscany.sdo.util.SDOUtil; -import org.eclipse.emf.common.util.URI; -import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.emf.ecore.resource.ResourceSet; import commonj.sdo.ChangeSummary; import commonj.sdo.DataGraph; @@ -93,7 +89,12 @@ GraphBuilderMetadata gbmd = new GraphBuilderMetadata(results, getSchema(), configWrapper.getConfig(), resultSetShape); - DataGraph g = createEDataGraph(gbmd.getSchema()); + // Create the DataGraph + DataGraph g = SDOUtil.createDataGraph(); + + // Create the root object + g.createRootObject(gbmd.getSchema()); + ChangeSummary summary = g.getChangeSummary(); ResultSetProcessor rsp = new ResultSetProcessor(g.getRootObject(), gbmd); @@ -123,25 +124,8 @@ protected void setEndRow(int endRow) { this.endRow = endRow; } + - private DataGraph createEDataGraph(Type type) { - - DataGraph g = SDOUtil.createDataGraph(); - - // Create a ResourceSet to contain the DataGraph - ResourceSet resourceSet = DataObjectUtil.createResourceSet(); - - // Create a Resource to hold the schema - - Resource r = resourceSet.createResource(URI.createURI(type.getURI())); - r.getContents().add(g); - - // Create the root object - g.createRootObject(type); - - return g; - } - private void setMappingModel(Config config) { configWrapper = new MappingWrapper(config); if (config.getConnectionProperties() != null)