[ 
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]

Reply via email to