[ 
https://issues.apache.org/jira/browse/TUSCANY-1434?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Luciano Resende resolved TUSCANY-1434.
--------------------------------------

       Resolution: Fixed
    Fix Version/s: Java-DAS-Next

Suggested fix applied.

> DAS.applyChanges() does not initialize database connection if needed
> --------------------------------------------------------------------
>
>                 Key: TUSCANY-1434
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-1434
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java DAS RDB
>    Affects Versions: Java-DAS-beta1
>            Reporter: Ron Gavlin
>             Fix For: Java-DAS-Next
>
>
> I am attempting to use das.applyChanges() to insert a row into the CUSTOMER 
> table. My augmented "basicCustomerMappingWithCUD2.xml" file includes a 
> "ConnectionInfo" element with a "datasource" attribute specified. Note below 
> that I am using static SDO without invoking the standard priming 
> das.getCommand("command").executeQuery() before invoking das.applyChanges(). 
> When I execute the following code snippet, I receive an error in 
> das.applyChanges() that there is no database connection currently open.
>         DAS das = 
> DAS.FACTORY.createDAS(getConfig("basicCustomerMappingWithCUD2.xml"));
>         DataGraph dg = SDOUtil.createDataGraph();
>         dg.getChangeSummary().beginLogging();
>         dg.createRootObject(TypeHelper.INSTANCE.getType(Customers.class));
>         Customers customers = (Customers) dg.getRootObject();
>         Customer customer = CustomerFactory.INSTANCE.createCustomer();
>         customer.setID(9999);
>         customer.setLASTNAME("Jones");
>         customers.getCustomer().add(customer);
>         // FIXME the following line is required to workaround this DAS bug  
>         // whereby no connection exists w/out a priming 
> getCommand().executeQuery()
>         // Note that the following line should be removed in this test code 
> after the patch for this bug is applied
>         ((DASImpl) das).getConnection();
>         // end of FIXME
>       
>         das.applyChanges((DataObject) customers);
> The proposed patch for this bug is as follows:
> org.apache.tuscany.das.rdb.impl.DASImpl.class
> Change line 114 FROM
> Line 107
>     /*
>      * (non-Javadoc)
>      * 
>      * @see org.apache.tuscany.das.rdb.CommandGroup#getApplyChangesCommand()
>      */
>     public ApplyChangesCommandImpl getApplyChangesCommand() {
>         ApplyChangesCommandImpl cmd = new 
> ApplyChangesCommandImpl(configWrapper, connection); // Line 114
>         return cmd;
>     }
> TO
> Line 107
>     /*
>      * (non-Javadoc)
>      * 
>      * @see org.apache.tuscany.das.rdb.CommandGroup#getApplyChangesCommand()
>      */
>     public ApplyChangesCommandImpl getApplyChangesCommand() {
>         ApplyChangesCommandImpl cmd = new 
> ApplyChangesCommandImpl(configWrapper, getConnection()); //Line 114
>         return cmd;
>     }
> FYI, the customer.xsd for this test was augmented to include the "Customers" 
> complex type as follows:
> <xsd:complexType name="Customers">
>        <xsd:sequence>
>           <xsd:element name="customer" type="Customer" maxOccurs="unbounded" 
> />
>        </xsd:sequence>
> </xsd:complexType>
> Let me know if you have questions.
> - Ron

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