[ https://issues.apache.org/jira/browse/TUSCANY-1302?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Frank Budinsky resolved TUSCANY-1302. ------------------------------------- Resolution: Invalid Fix Version/s: Java-M1 The problem is in the test program. It needs to make the "accountProperty" a containment reference: accountProperty.set("containment", Boolean.TRUE); > Changesummary of datagraph does not log changes for dataobject contained by > the rootObject > ------------------------------------------------------------------------------------------ > > Key: TUSCANY-1302 > URL: https://issues.apache.org/jira/browse/TUSCANY-1302 > Project: Tuscany > Issue Type: Bug > Components: Java SDO Implementation > Affects Versions: Java-SDO-Next > Reporter: Steffen Glomb > Fix For: Java-M1 > > > Changesummary on a datagraph, > begin logging, > changes on the rootObject are logged in the changesummary, but changes on > objects contained by the rootobject do not get logged. > Here is the testcase for the bug: > public void testDataGraphChangeInNestedObjects() throws IOException { > > HelperContext hc = SDOUtil.createHelperContext(); > TypeHelper types = hc.getTypeHelper(); > DataFactory factory = hc.getDataFactory(); > > Type intType = types.getType("commonj.sdo", "Int"); > Type stringType = types.getType("commonj.sdo", "String"); > > // create a new Type for Account > DataObject accountType = factory.create("commonj.sdo", "Type"); > accountType.set("uri", "http://example.com/customer"); > accountType.set("name", "Account"); > // create an account number property > DataObject custNumProperty = > accountType.createDataObject("property"); > custNumProperty.set("name", "accountNum"); > custNumProperty.set("type", intType); > types.define(accountType); > > // create a new Type for Customers > DataObject customerType = factory.create("commonj.sdo", "Type"); > customerType.set("uri", "http://example.com/customer"); > customerType.set("name", "Customer"); > > // create a first name property > DataObject firstNameProperty = > customerType.createDataObject("property"); > firstNameProperty.set("name", "firstName"); > firstNameProperty.set("type", stringType); > // create a account property > DataObject accountProperty = > customerType.createDataObject("property"); > accountProperty.set("name", "account"); > accountProperty.set("type", accountType); > // now define the Customer type so that customers can be made > types.define(customerType); > > Type customerTypeType = > types.getType("http://example.com/customer", "Customer"); > Type accountTypeType = types.getType("http://example.com/customer", > "Account"); > > DataGraph datagraph = > org.apache.tuscany.sdo.api.SDOUtil.createDataGraph(); > > DataObject account = factory.create(accountTypeType); > account.setInt("accountNum", 2); > > DataObject customer1 = datagraph.createRootObject(customerTypeType); > customer1.setString("firstName", "Steffen"); > customer1.set("account", account); > > datagraph.getChangeSummary().beginLogging(); > > DataObject loadedCustomer = datagraph.getRootObject(); > DataObject loadedAccount = (DataObject) loadedCustomer.get("account"); > loadedAccount.setInt("accountNum", 5); > > datagraph.getChangeSummary().endLogging(); > List changedDataObjects = > datagraph.getChangeSummary().getChangedDataObjects(); > > assertEquals("1 Object is changed by the code", 1, > changedDataObjects.size()); > } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]