NotSerializableException found when serializing service reference
hi, I wrote some code on @ConversationAttributes(maxIdleTime=1 seconds, maxAge=2 seconds, singlePrincipal=false) feature and found below error message: java.io.NotSerializableException: org.apache.tuscany.sca.core.context.ConversationImpl Anybody can give me some hints? Thanks! The error message reported by JUnit: java.io.NotSerializableException: org.apache.tuscany.sca.core.context.ConversationImpl at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1108) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java :1462) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java :1434) at java.io.ObjectOutputStream.writeOrdinaryObject( ObjectOutputStream.java:1377) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1106) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java :1462) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java :1434) at java.io.ObjectOutputStream.writeOrdinaryObject( ObjectOutputStream.java:1377) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1106) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:324) at samples.hex.HexTest.testConversationAttributesSinglePrincipalFalse( HexTest.java:220) The JUnit Code: @Test public void testConversationAttributesSinglePrincipalFalse() throws InterruptedException, IOException, ClassNotFoundException { CartService cart1 = hex.getService(CartService.class, CartComponent/CartService); cart1.updateItem(Portus, 1); ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream os = new ObjectOutputStream(baos); os.writeObject(cart1); os.close(); ObjectInputStream oi = new ObjectInputStream(new ByteArrayInputStream( baos.toByteArray())); CartService cart2 = (CartService) oi.readObject(); assertNotNull(cart2); cart2.updateItem(Avis, 1); assertEquals(2, cart1.getItems().size()); assertEquals(2, cart2.getItems().size()); } The component definition: component name=CartComponent implementation.java class=samples.hex.cart.impl.CartImpl/ /component The Interface: package samples.hex.cart.services; import java.util.Map; import org.osoa.sca.annotations.Conversational; import org.osoa.sca.annotations.EndsConversation; @Conversational public interface CartService{ public void updateItem(String itemID, int quantity); @EndsConversation public void empty(); public MapString, Integer getItems(); } The implementation: package samples.hex.cart.impl; import java.util.HashMap; import java.util.Map; import org.osoa.sca.annotations.ConversationAttributes; import org.osoa.sca.annotations.ConversationID; import org.osoa.sca.annotations.Destroy; import org.osoa.sca.annotations.Init; import org.osoa.sca.annotations.Scope; import org.osoa.sca.annotations.Service; import samples.hex.cart.services.CartService; @Scope(CONVERSATION) @Service(CartService.class) @ConversationAttributes(maxIdleTime=1 seconds, maxAge=2 seconds, singlePrincipal=false) public class CartImpl implements CartService { @ConversationID protected String conversationID; private MapString, Integer cart; @Init protected void init(){ if(cart==null) cart = new HashMapString, Integer(); } public void empty() { System.out.println([empty] +conversationID + : + this); } public MapString, Integer getItems() { return cart; } public void updateItem(String itemID, int quantity) { if(quantity=0) cart.remove(itemID); cart.put(itemID, quantity); System.out.println(conversationID + : + this); } @Destroy protected void destroy(){ empty(); } } -- Cheers Jun Jie Nan ∧ ∧�� ミ^ō^ミ灬)~
RE: Help with Tuscany Customer's Demo using MySQL
I've had little luck with my remaining problem, however, any idea what java.lang.IllegalArgumentException: Class 'CUSTOMER' does not have a feature named 'ID' means I've done? It's creating the database, but perhaps never correctly constructing the data graph? If you notice, the program output is supposed to display the four lines of db entries after each operation (as it does using derby), but with mysql, none. :( I was reading about oracle and das this morning: https://issues.apache.org/jira/browse/TUSCANY-1355 Is this problem applicable? I may tinker with those ideas in the meantime. Plz help, seems like it would be a common issue when dealing with mysql. Especially since it's the most basic of the demos! -Eric -Original Message- From: Luciano Resende [mailto:[EMAIL PROTECTED] Sent: Tuesday, September 04, 2007 3:01 PM To: tuscany-user@ws.apache.org Subject: Re: Help with Tuscany Customer's Demo using MySQL Thanks Eric, I'll update the customer.xml and steps on the readme for better/simpler support of MySQL On 9/4/07, Eborn, Eric D [EMAIL PROTECTED] wrote: I never explained how I got over the other errors... sorry. Basically I just had to peck at the Customers.xml config file. It seems rather outdated, perhaps someone could permanently modify the example download for future users, I made the following changes: ConnectionInfo ConnectionProperties driverClass=com.mysql.jdbc.Driver password=foobar userName=root databaseURL=jdbc:mysql://localhost:3306/dastest loginTimeout=60 /ConnectionProperties /ConnectionInfo Note the difference: https://svn.apache.org/repos/asf/incubator/tuscany/java/das/samples/cust omer/src/main/resources/Customers.xml Make sure that you've downloaded an installed the proper Connector/J, and that you have the path in your CLASSPATH env variable or copy the jar to your JAVA_HOME/lib/ext dir. Also you'll likely have to manually create the dastest database in mysql (leave it empty (without any tables), just create the db). -Original Message- From: Eborn, Eric D Sent: Tuesday, September 04, 2007 12:31 PM To: tuscany-user@ws.apache.org Subject: RE: Help with Tuscany Customer's Demo using MySQL Update: I bypassed these errors as I will explain below. NOW I have new errors :) It seems to start running correctly, I've confirmed that it creates the dastest table CUSTOMER. And fills it with 4 records. However, it fails in CustomerClient.java at the line: '171 newCustomer.setInt(ID, 5);' I had read in another message: http://mail-archives.apache.org/mod_mbox/ws-tuscany-dev/200706.mbox/%3C1 [EMAIL PROTECTED] Exception in thread main java.lang.IllegalArgumentException: Class 'DataGraphRoot' does not have a feature named 'MYCUSTOMER'... which is similar, but seemed to stem from his use of oracle or SQLServer (not mysql). Any additional help is welcome... In the meantime, I'll continue to work at it. (error messages as follows) D:\data\eeborn\Desktop\tuscany-das-1.0-incubating-beta1\samples\customer ant Buildfile: build.xml build: [javac] Compiling 1 source file to D:\data\eeborn\Desktop\tuscany-das-1.0-incubating-beta1\samples\customer run: [java] ** connection info from config file [java] databaseURL:jdbc:mysql://localhost:3306/dastest userName:root password:foobar [java] [java] [Messages.java 3params: getBundle(com.mysql.jdbc.LocalizedErrorMessages) [java] Setting up for mysql run! [java] Dropping tables [java] Dropping procedures [java] Creating tables [java] Creating procedures [java] Inserting data in tables [java] Database setup complete! [java] log4j:WARN No appenders could be found for logger (org.apache.tuscany.das.rdb.impl.Parameters). [java] log4j:WARN Please initialize the log4j system properly. [java] Result:select all customers [java] Result:insert new customer [java] Exception in thread main java.lang.IllegalArgumentException: Class 'CUSTOMER' does not have a feature named 'ID' [java] at org.apache.tuscany.sdo.util.DataObjectUtil$Accessor.setFeatureName(DataO bjectUtil.java:2104) [java] at org.apache.tuscany.sdo.util.DataObjectUtil$Accessor.process(DataObjectUt il.java:2247) [java] at org.apache.tuscany.sdo.util.DataObjectUtil$Accessor.init(DataObjectUtil. java:1968) [java] at
RE: Help with Tuscany Customer's Demo using MySQL
Additional progress: Making the following additional changes to the Customers.xml file allowed the program to create the graph it seems, at least it is displaying the select all customers results now in the console: Command name=AllCustomers SQL=select * from CUSTOMER kind=Select ResultDescriptor columnName=ID tableName=MYCUSTOMER columnType=commonj.sdo.Int/ ResultDescriptor columnName=LASTNAME tableName=CUSTOMER columnType=commonj.sdo.String/ ResultDescriptor columnName=ADDRESS tableName=CUSTOMER columnType=commonj.sdo.String/ /Command Table tableName=CUSTOMER Column columnName = ID primaryKey=true / Column columnName = LASTNAME / Column columnName = ADDRESS / /Table HOWEVER, note that I now get this error message: [java] Result:insert new customer [java] Exception in thread main java.lang.IllegalArgumentException: Class 'CUSTOMER' does not have a feature named 'ID' [java] at org.apache.tuscany.sdo.util.DataObjectUtil$Accessor.setFeatureName(DataO bjectUtil.java:2104) [java] at org.apache.tuscany.sdo.util.DataObjectUtil$Accessor.process(DataObjectUt il.java:2247) [java] at org.apache.tuscany.sdo.util.DataObjectUtil$Accessor.init(DataObjectUtil. java:1968) [java] at org.apache.tuscany.sdo.util.DataObjectUtil$Accessor.create(DataObjectUti l.java:1883) [java] at org.apache.tuscany.sdo.util.DataObjectUtil$Accessor.create(DataObjectUti l.java:1877) [java] at org.apache.tuscany.sdo.util.DataObjectUtil.setInt(DataObjectUtil.java:52 7) [java] at org.apache.tuscany.sdo.impl.DataObjectImpl.setInt(DataObjectImpl.java:52 5) [java] at org.apache.tuscany.samples.das.customer.CustomerClient.addCustomer(Custo merClient.java:173) [java] at org.apache.tuscany.samples.das.customer.CustomerClient.main(CustomerClie nt.java:126) [java] Java Result: 1 Stemming from thenewCustomer.setInt(ID, 5);command. (even when I change the order to setString first, it says there is no LASTNAME feature... public final void addCustomer() { Command read = das.getCommand(AllCustomers); DataObject root = read.executeQuery(); DataObject newCustomer = root.createDataObject(CUSTOMER); newCustomer.setInt(ID, 5); newCustomer.setString(LASTNAME, Jenny); newCustomer.setString(ADDRESS, USA); das.applyChanges(root); } Por Favor -Original Message- From: Eborn, Eric D Sent: Wednesday, September 05, 2007 7:34 AM To: tuscany-user@ws.apache.org Subject: RE: Help with Tuscany Customer's Demo using MySQL I've had little luck with my remaining problem, however, any idea what java.lang.IllegalArgumentException: Class 'CUSTOMER' does not have a feature named 'ID' means I've done? It's creating the database, but perhaps never correctly constructing the data graph? If you notice, the program output is supposed to display the four lines of db entries after each operation (as it does using derby), but with mysql, none. :( I was reading about oracle and das this morning: https://issues.apache.org/jira/browse/TUSCANY-1355 Is this problem applicable? I may tinker with those ideas in the meantime. Plz help, seems like it would be a common issue when dealing with mysql. Especially since it's the most basic of the demos! -Eric -Original Message- From: Luciano Resende [mailto:[EMAIL PROTECTED] Sent: Tuesday, September 04, 2007 3:01 PM To: tuscany-user@ws.apache.org Subject: Re: Help with Tuscany Customer's Demo using MySQL Thanks Eric, I'll update the customer.xml and steps on the readme for better/simpler support of MySQL On 9/4/07, Eborn, Eric D [EMAIL PROTECTED] wrote: I never explained how I got over the other errors... sorry. Basically I just had to peck at the Customers.xml config file. It seems rather outdated, perhaps someone could permanently modify the example download for future users, I made the following changes: ConnectionInfo ConnectionProperties driverClass=com.mysql.jdbc.Driver password=foobar userName=root databaseURL=jdbc:mysql://localhost:3306/dastest loginTimeout=60 /ConnectionProperties /ConnectionInfo Note the difference: https://svn.apache.org/repos/asf/incubator/tuscany/java/das/samples/cust omer/src/main/resources/Customers.xml Make sure that you've downloaded an installed the proper Connector/J, and that you have the path in your CLASSPATH env variable or copy the jar to your JAVA_HOME/lib/ext dir. Also you'll likely have to manually create the dastest database in mysql (leave it empty (without any tables), just create the db). -Original Message- From: Eborn, Eric D
Re: Help with Tuscany Customer's Demo using MySQL
Hey Eric I had it working in my environment yesterday, and I thought you had it too after the changes on the connection info. In my case, I have a dastest user in mySQL, I created the empty database in mySQL and granted all the permissions to the dastest user. After that the customer sample worked fine. Maybe you could check if the mySQL table was created properly, and I can check further in my env. BTW the only issue you are having now is the exception below ? [java] Exception in thread main java.lang.IllegalArgumentException: Class 'CUSTOMER' does not have a feature named 'ID' On 9/5/07, Eborn, Eric D [EMAIL PROTECTED] wrote: Additional progress: Making the following additional changes to the Customers.xml file allowed the program to create the graph it seems, at least it is displaying the select all customers results now in the console: Command name=AllCustomers SQL=select * from CUSTOMER kind=Select ResultDescriptor columnName=ID tableName=MYCUSTOMER columnType=commonj.sdo.Int/ ResultDescriptor columnName=LASTNAME tableName=CUSTOMER columnType=commonj.sdo.String/ ResultDescriptor columnName=ADDRESS tableName=CUSTOMER columnType=commonj.sdo.String/ /Command Table tableName=CUSTOMER Column columnName = ID primaryKey=true / Column columnName = LASTNAME / Column columnName = ADDRESS / /Table HOWEVER, note that I now get this error message: [java] Result:insert new customer [java] Exception in thread main java.lang.IllegalArgumentException: Class 'CUSTOMER' does not have a feature named 'ID' [java] at org.apache.tuscany.sdo.util.DataObjectUtil$Accessor.setFeatureName(DataO bjectUtil.java:2104) [java] at org.apache.tuscany.sdo.util.DataObjectUtil$Accessor.process(DataObjectUt il.java:2247) [java] at org.apache.tuscany.sdo.util.DataObjectUtil$Accessor.init(DataObjectUtil. java:1968) [java] at org.apache.tuscany.sdo.util.DataObjectUtil$Accessor.create(DataObjectUti l.java:1883) [java] at org.apache.tuscany.sdo.util.DataObjectUtil$Accessor.create(DataObjectUti l.java:1877) [java] at org.apache.tuscany.sdo.util.DataObjectUtil.setInt(DataObjectUtil.java:52 7) [java] at org.apache.tuscany.sdo.impl.DataObjectImpl.setInt(DataObjectImpl.java:52 5) [java] at org.apache.tuscany.samples.das.customer.CustomerClient.addCustomer(Custo merClient.java:173) [java] at org.apache.tuscany.samples.das.customer.CustomerClient.main(CustomerClie nt.java:126) [java] Java Result: 1 Stemming from thenewCustomer.setInt(ID, 5);command. (even when I change the order to setString first, it says there is no LASTNAME feature... public final void addCustomer() { Command read = das.getCommand(AllCustomers); DataObject root = read.executeQuery(); DataObject newCustomer = root.createDataObject(CUSTOMER); newCustomer.setInt(ID, 5); newCustomer.setString(LASTNAME, Jenny); newCustomer.setString(ADDRESS, USA); das.applyChanges(root); } Por Favor -Original Message- From: Eborn, Eric D Sent: Wednesday, September 05, 2007 7:34 AM To: tuscany-user@ws.apache.org Subject: RE: Help with Tuscany Customer's Demo using MySQL I've had little luck with my remaining problem, however, any idea what java.lang.IllegalArgumentException: Class 'CUSTOMER' does not have a feature named 'ID' means I've done? It's creating the database, but perhaps never correctly constructing the data graph? If you notice, the program output is supposed to display the four lines of db entries after each operation (as it does using derby), but with mysql, none. :( I was reading about oracle and das this morning: https://issues.apache.org/jira/browse/TUSCANY-1355 Is this problem applicable? I may tinker with those ideas in the meantime. Plz help, seems like it would be a common issue when dealing with mysql. Especially since it's the most basic of the demos! -Eric -Original Message- From: Luciano Resende [mailto:[EMAIL PROTECTED] Sent: Tuesday, September 04, 2007 3:01 PM To: tuscany-user@ws.apache.org Subject: Re: Help with Tuscany Customer's Demo using MySQL Thanks Eric, I'll update the customer.xml and steps on the readme for better/simpler support of MySQL On 9/4/07, Eborn, Eric D [EMAIL PROTECTED] wrote: I never explained how I got over the other errors... sorry. Basically I just had to peck at the Customers.xml config file. It seems rather outdated, perhaps someone could permanently modify the example download for future users, I made the following changes: ConnectionInfo ConnectionProperties driverClass=com.mysql.jdbc.Driver password=foobar
RE: Help with Tuscany Customer's Demo using MySQL
Correct, that is the only error. I've been logging using root with all access so I don't imagine that is the problem, though I'll try that too. I've verified that it is correctly generating the table also (using mysql toolset), also the Customer example correctly displays the SQL Select results (just before it fails on the insert record). I've tried other approaches to find this problem, like commenting out the problem insert command so that it jumps straight from the select statement to the Update record command, where it also erred with: [java] Result:select all customers [java]ID:0 LASTNAME:Eric ADDRESS:USA [java]ID:0 LASTNAME:Amita ADDRESS:INDIA [java]ID:0 LASTNAME:Patrick ADDRESS:UK [java]ID:0 LASTNAME:Jane ADDRESS:UN [java] Result:update first customer [java] Exception in thread main java.lang.NullPointerException [java] at org.apache.tuscany.das.rdb.generator.impl.UpdateGenerator.fillParameter( UpdateGenerator.java:205) [java] at org.apache.tuscany.das.rdb.generator.impl.UpdateGenerator.createParamete r(UpdateGenerator.java:226) [java] at org.apache.tuscany.das.rdb.generator.impl.UpdateGenerator.getUpdateComma nd(UpdateGenerator.java:104) [java] at org.apache.tuscany.das.rdb.impl.ChangeFactory.getUpdateCommand(ChangeFac tory.java:154) [java] at org.apache.tuscany.das.rdb.impl.ChangeFactory.createUpdateOperation(Chan geFactory.java:69) [java] at org.apache.tuscany.das.rdb.impl.ChangeSummarizer.createChange(ChangeSumm arizer.java:115) [java] at org.apache.tuscany.das.rdb.impl.ChangeSummarizer.loadChanges(ChangeSumma rizer.java:80) [java] at org.apache.tuscany.das.rdb.impl.ApplyChangesCommandImpl.execute(ApplyCha ngesCommandImpl.java:64) [java] at org.apache.tuscany.das.rdb.impl.DASImpl.applyChanges(DASImpl.java:310) [java] at org.apache.tuscany.samples.das.customer.CustomerClient.changeFirstCustom erName(CustomerClient.java:212) [java] at org.apache.tuscany.samples.das.customer.CustomerClient.main(CustomerClie nt.java:131) [java] Java Result: 1 And then commented out the update, so it jumped straight to the delete last record command, where it also erred by not deleting the last record: [java] Result:select all customers [java]ID:0 LASTNAME:Eric ADDRESS:USA [java]ID:0 LASTNAME:Amita ADDRESS:INDIA [java]ID:0 LASTNAME:Patrick ADDRESS:UK [java]ID:0 LASTNAME:Jane ADDRESS:UN [java] Result:delete last customer [java] Deleting customer named: Jane [java]ID:0 LASTNAME:Eric ADDRESS:USA [java]ID:0 LASTNAME:Amita ADDRESS:INDIA [java]ID:0 LASTNAME:Patrick ADDRESS:UK [java]ID:0 LASTNAME:Jane ADDRESS:UN Perhaps we can triangulate the problem? There seems to be an issue with applying the updates perhaps? It kind of baffles me seeing that you haven't experienced the same issues, hmmm... -Original Message- From: Luciano Resende [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 05, 2007 8:52 AM To: tuscany-user@ws.apache.org Subject: Re: Help with Tuscany Customer's Demo using MySQL Hey Eric I had it working in my environment yesterday, and I thought you had it too after the changes on the connection info. In my case, I have a dastest user in mySQL, I created the empty database in mySQL and granted all the permissions to the dastest user. After that the customer sample worked fine. Maybe you could check if the mySQL table was created properly, and I can check further in my env. BTW the only issue you are having now is the exception below ? [java] Exception in thread main java.lang.IllegalArgumentException: Class 'CUSTOMER' does not have a feature named 'ID' On 9/5/07, Eborn, Eric D [EMAIL PROTECTED] wrote: Additional progress: Making the following additional changes to the Customers.xml file allowed the program to create the graph it seems, at least it is displaying the select all customers results now in the console: Command name=AllCustomers SQL=select * from CUSTOMER kind=Select ResultDescriptor columnName=ID tableName=MYCUSTOMER columnType=commonj.sdo.Int/ ResultDescriptor columnName=LASTNAME tableName=CUSTOMER columnType=commonj.sdo.String/ ResultDescriptor columnName=ADDRESS tableName=CUSTOMER columnType=commonj.sdo.String/ /Command Table tableName=CUSTOMER Column columnName = ID primaryKey=true / Column columnName = LASTNAME / Column columnName = ADDRESS / /Table HOWEVER, note that I now get this error message: [java] Result:insert new customer [java] Exception in thread main java.lang.IllegalArgumentException: Class 'CUSTOMER' does not have a feature named 'ID' [java] at org.apache.tuscany.sdo.util.DataObjectUtil$Accessor.setFeatureName(DataO bjectUtil.java:2104) [java] at org.apache.tuscany.sdo.util.DataObjectUtil$Accessor.process(DataObjectUt il.java:2247) [java] at
RE: Help with Tuscany Customer's Demo using MySQL
Well I found the issue... Once again in my Config file: I had: ResultDescriptor columnName=ID tableName=MYCUSTOMER columnType=commonj.sdo.Int/ Changed it to: ResultDescriptor columnName=ID tableName=CUSTOMER columnType=commonj.sdo.Int/ And SUCCESS!! Is it really necessary for mysql to specify so much the Command and Table tags like it seems to be for oracle? If so, you can update the demo download for future users. I think it may be because if I don't replace the original: Command name=AllCustomers SQL=select * from CUSTOMER kind=Select/ Table tableName=CUSTOMER Column columnName=ID primaryKey=true/ /Table With: Command name=AllCustomers SQL=select * from CUSTOMER kind=Select ResultDescriptor columnName=ID tableName=CUSTOMER columnType=commonj.sdo.Int/ ResultDescriptor columnName=LASTNAME tableName=CUSTOMER columnType=commonj.sdo.String/ ResultDescriptor columnName=ADDRESS tableName=CUSTOMER columnType=commonj.sdo.String/ /Command Table tableName=CUSTOMER Column columnName = ID primaryKey=true / Column columnName = LASTNAME / Column columnName = ADDRESS / /Table I get that same java.lang.IllegalArgumentException: Class 'CUSTOMER' does not have a feature named 'ID' error Let others benefit from my struggles please. :) Great little product btw, once u get it workin Eric -Original Message- From: Eborn, Eric D Sent: Wednesday, September 05, 2007 9:27 AM To: tuscany-user@ws.apache.org Subject: RE: Help with Tuscany Customer's Demo using MySQL Correct, that is the only error. I've been logging using root with all access so I don't imagine that is the problem, though I'll try that too. I've verified that it is correctly generating the table also (using mysql toolset), also the Customer example correctly displays the SQL Select results (just before it fails on the insert record). I've tried other approaches to find this problem, like commenting out the problem insert command so that it jumps straight from the select statement to the Update record command, where it also erred with: [java] Result:select all customers [java]ID:0 LASTNAME:Eric ADDRESS:USA [java]ID:0 LASTNAME:Amita ADDRESS:INDIA [java]ID:0 LASTNAME:Patrick ADDRESS:UK [java]ID:0 LASTNAME:Jane ADDRESS:UN [java] Result:update first customer [java] Exception in thread main java.lang.NullPointerException [java] at org.apache.tuscany.das.rdb.generator.impl.UpdateGenerator.fillParameter( UpdateGenerator.java:205) [java] at org.apache.tuscany.das.rdb.generator.impl.UpdateGenerator.createParamete r(UpdateGenerator.java:226) [java] at org.apache.tuscany.das.rdb.generator.impl.UpdateGenerator.getUpdateComma nd(UpdateGenerator.java:104) [java] at org.apache.tuscany.das.rdb.impl.ChangeFactory.getUpdateCommand(ChangeFac tory.java:154) [java] at org.apache.tuscany.das.rdb.impl.ChangeFactory.createUpdateOperation(Chan geFactory.java:69) [java] at org.apache.tuscany.das.rdb.impl.ChangeSummarizer.createChange(ChangeSumm arizer.java:115) [java] at org.apache.tuscany.das.rdb.impl.ChangeSummarizer.loadChanges(ChangeSumma rizer.java:80) [java] at org.apache.tuscany.das.rdb.impl.ApplyChangesCommandImpl.execute(ApplyCha ngesCommandImpl.java:64) [java] at org.apache.tuscany.das.rdb.impl.DASImpl.applyChanges(DASImpl.java:310) [java] at org.apache.tuscany.samples.das.customer.CustomerClient.changeFirstCustom erName(CustomerClient.java:212) [java] at org.apache.tuscany.samples.das.customer.CustomerClient.main(CustomerClie nt.java:131) [java] Java Result: 1 And then commented out the update, so it jumped straight to the delete last record command, where it also erred by not deleting the last record: [java] Result:select all customers [java]ID:0 LASTNAME:Eric ADDRESS:USA [java]ID:0 LASTNAME:Amita ADDRESS:INDIA [java]ID:0 LASTNAME:Patrick ADDRESS:UK [java]ID:0 LASTNAME:Jane ADDRESS:UN [java] Result:delete last customer [java] Deleting customer named: Jane [java]ID:0 LASTNAME:Eric ADDRESS:USA [java]ID:0 LASTNAME:Amita ADDRESS:INDIA [java]ID:0 LASTNAME:Patrick ADDRESS:UK [java]ID:0 LASTNAME:Jane ADDRESS:UN Perhaps we can triangulate the problem? There seems to be an issue with applying the updates perhaps? It kind of baffles me seeing that you haven't experienced the same issues, hmmm... -Original Message- From: Luciano Resende [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 05, 2007 8:52 AM To: tuscany-user@ws.apache.org Subject: Re: Help with Tuscany Customer's Demo using MySQL Hey Eric I had it working in my environment yesterday, and I thought you had it too after the changes on the connection info. In my case, I have a dastest user in mySQL, I created the empty database in mySQL and granted all the permissions to the
Re: Help with Tuscany Customer's Demo using MySQL
Great !!! But just to be clear, the original config file [1] is not using ResultDescriptor, right ? [1] https://svn.apache.org/repos/asf/incubator/tuscany/java/das/samples/customer/src/main/resources/Customers.xml On 9/5/07, Eborn, Eric D [EMAIL PROTECTED] wrote: Well I found the issue... Once again in my Config file: I had: ResultDescriptor columnName=ID tableName=MYCUSTOMER columnType=commonj.sdo.Int/ Changed it to: ResultDescriptor columnName=ID tableName=CUSTOMER columnType=commonj.sdo.Int/ And SUCCESS!! Is it really necessary for mysql to specify so much the Command and Table tags like it seems to be for oracle? If so, you can update the demo download for future users. I think it may be because if I don't replace the original: Command name=AllCustomers SQL=select * from CUSTOMER kind=Select/ Table tableName=CUSTOMER Column columnName=ID primaryKey=true/ /Table With: Command name=AllCustomers SQL=select * from CUSTOMER kind=Select ResultDescriptor columnName=ID tableName=CUSTOMER columnType=commonj.sdo.Int/ ResultDescriptor columnName=LASTNAME tableName=CUSTOMER columnType=commonj.sdo.String/ ResultDescriptor columnName=ADDRESS tableName=CUSTOMER columnType=commonj.sdo.String/ /Command Table tableName=CUSTOMER Column columnName = ID primaryKey=true / Column columnName = LASTNAME / Column columnName = ADDRESS / /Table I get that same java.lang.IllegalArgumentException: Class 'CUSTOMER' does not have a feature named 'ID' error Let others benefit from my struggles please. :) Great little product btw, once u get it workin Eric -Original Message- From: Eborn, Eric D Sent: Wednesday, September 05, 2007 9:27 AM To: tuscany-user@ws.apache.org Subject: RE: Help with Tuscany Customer's Demo using MySQL Correct, that is the only error. I've been logging using root with all access so I don't imagine that is the problem, though I'll try that too. I've verified that it is correctly generating the table also (using mysql toolset), also the Customer example correctly displays the SQL Select results (just before it fails on the insert record). I've tried other approaches to find this problem, like commenting out the problem insert command so that it jumps straight from the select statement to the Update record command, where it also erred with: [java] Result:select all customers [java]ID:0 LASTNAME:Eric ADDRESS:USA [java]ID:0 LASTNAME:Amita ADDRESS:INDIA [java]ID:0 LASTNAME:Patrick ADDRESS:UK [java]ID:0 LASTNAME:Jane ADDRESS:UN [java] Result:update first customer [java] Exception in thread main java.lang.NullPointerException [java] at org.apache.tuscany.das.rdb.generator.impl.UpdateGenerator.fillParameter( UpdateGenerator.java:205) [java] at org.apache.tuscany.das.rdb.generator.impl.UpdateGenerator.createParamete r(UpdateGenerator.java:226) [java] at org.apache.tuscany.das.rdb.generator.impl.UpdateGenerator.getUpdateComma nd(UpdateGenerator.java:104) [java] at org.apache.tuscany.das.rdb.impl.ChangeFactory.getUpdateCommand(ChangeFac tory.java:154) [java] at org.apache.tuscany.das.rdb.impl.ChangeFactory.createUpdateOperation(Chan geFactory.java:69) [java] at org.apache.tuscany.das.rdb.impl.ChangeSummarizer.createChange(ChangeSumm arizer.java:115) [java] at org.apache.tuscany.das.rdb.impl.ChangeSummarizer.loadChanges(ChangeSumma rizer.java:80) [java] at org.apache.tuscany.das.rdb.impl.ApplyChangesCommandImpl.execute(ApplyCha ngesCommandImpl.java:64) [java] at org.apache.tuscany.das.rdb.impl.DASImpl.applyChanges(DASImpl.java:310) [java] at org.apache.tuscany.samples.das.customer.CustomerClient.changeFirstCustom erName(CustomerClient.java:212) [java] at org.apache.tuscany.samples.das.customer.CustomerClient.main(CustomerClie nt.java:131) [java] Java Result: 1 And then commented out the update, so it jumped straight to the delete last record command, where it also erred by not deleting the last record: [java] Result:select all customers [java]ID:0 LASTNAME:Eric ADDRESS:USA [java]ID:0 LASTNAME:Amita ADDRESS:INDIA [java]ID:0 LASTNAME:Patrick ADDRESS:UK [java]ID:0 LASTNAME:Jane ADDRESS:UN [java] Result:delete last customer [java] Deleting customer named: Jane [java]ID:0 LASTNAME:Eric ADDRESS:USA [java]ID:0 LASTNAME:Amita ADDRESS:INDIA [java]ID:0 LASTNAME:Patrick ADDRESS:UK [java]ID:0 LASTNAME:Jane ADDRESS:UN Perhaps we can triangulate the problem? There seems to be an issue with applying the updates perhaps? It kind of baffles me seeing that you haven't experienced the same issues, hmmm... -Original Message- From: Luciano Resende [mailto:[EMAIL PROTECTED] Sent:
RE: Help with Tuscany Customer's Demo using MySQL
This is correct -Original Message- From: Luciano Resende [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 05, 2007 9:53 AM To: tuscany-user@ws.apache.org Subject: Re: Help with Tuscany Customer's Demo using MySQL Great !!! But just to be clear, the original config file [1] is not using ResultDescriptor, right ? [1] https://svn.apache.org/repos/asf/incubator/tuscany/java/das/samples/cust om er/src/main/resources/Customers.xml On 9/5/07, Eborn, Eric D [EMAIL PROTECTED] wrote: Well I found the issue... Once again in my Config file: I had: ResultDescriptor columnName=ID tableName=MYCUSTOMER columnType=commonj.sdo.Int/ Changed it to: ResultDescriptor columnName=ID tableName=CUSTOMER columnType=commonj.sdo.Int/ And SUCCESS!! Is it really necessary for mysql to specify so much the Command and Table tags like it seems to be for oracle? If so, you can update the demo download for future users. I think it may be because if I don't replace the original: Command name=AllCustomers SQL=select * from CUSTOMER kind=Select/ Table tableName=CUSTOMER Column columnName=ID primaryKey=true/ /Table With: Command name=AllCustomers SQL=select * from CUSTOMER kind=Select ResultDescriptor columnName=ID tableName=CUSTOMER columnType=commonj.sdo.Int/ ResultDescriptor columnName=LASTNAME tableName=CUSTOMER columnType=commonj.sdo.String/ ResultDescriptor columnName=ADDRESS tableName=CUSTOMER columnType=commonj.sdo.String/ /Command Table tableName=CUSTOMER Column columnName = ID primaryKey=true / Column columnName = LASTNAME / Column columnName = ADDRESS / /Table I get that same java.lang.IllegalArgumentException: Class 'CUSTOMER' does not have a feature named 'ID' error Let others benefit from my struggles please. :) Great little product btw, once u get it workin Eric -Original Message- From: Eborn, Eric D Sent: Wednesday, September 05, 2007 9:27 AM To: tuscany-user@ws.apache.org Subject: RE: Help with Tuscany Customer's Demo using MySQL Correct, that is the only error. I've been logging using root with all access so I don't imagine that is the problem, though I'll try that too. I've verified that it is correctly generating the table also (using mysql toolset), also the Customer example correctly displays the SQL Select results (just before it fails on the insert record). I've tried other approaches to find this problem, like commenting out the problem insert command so that it jumps straight from the select statement to the Update record command, where it also erred with: [java] Result:select all customers [java]ID:0 LASTNAME:Eric ADDRESS:USA [java]ID:0 LASTNAME:Amita ADDRESS:INDIA [java]ID:0 LASTNAME:Patrick ADDRESS:UK [java]ID:0 LASTNAME:Jane ADDRESS:UN [java] Result:update first customer [java] Exception in thread main java.lang.NullPointerException [java] at org.apache.tuscany.das.rdb.generator.impl.UpdateGenerator.fillParameter( UpdateGenerator.java:205) [java] at org.apache.tuscany.das.rdb.generator.impl.UpdateGenerator.createParamete r(UpdateGenerator.java:226) [java] at org.apache.tuscany.das.rdb.generator.impl.UpdateGenerator.getUpdateComma nd(UpdateGenerator.java:104) [java] at org.apache.tuscany.das.rdb.impl.ChangeFactory.getUpdateCommand(ChangeFac tory.java:154) [java] at org.apache.tuscany.das.rdb.impl.ChangeFactory.createUpdateOperation(Chan geFactory.java:69) [java] at org.apache.tuscany.das.rdb.impl.ChangeSummarizer.createChange(ChangeSumm arizer.java:115) [java] at org.apache.tuscany.das.rdb.impl.ChangeSummarizer.loadChanges(ChangeSumma rizer.java:80) [java] at org.apache.tuscany.das.rdb.impl.ApplyChangesCommandImpl.execute(ApplyCha ngesCommandImpl.java:64) [java] at org.apache.tuscany.das.rdb.impl.DASImpl.applyChanges(DASImpl.java:310) [java] at org.apache.tuscany.samples.das.customer.CustomerClient.changeFirstCustom erName(CustomerClient.java:212) [java] at org.apache.tuscany.samples.das.customer.CustomerClient.main(CustomerClie nt.java:131) [java] Java Result: 1 And then commented out the update, so it jumped straight to the delete last record command, where it also erred by not deleting the last record: [java] Result:select all customers [java]ID:0 LASTNAME:Eric ADDRESS:USA [java]ID:0 LASTNAME:Amita ADDRESS:INDIA [java]ID:0 LASTNAME:Patrick ADDRESS:UK [java]ID:0 LASTNAME:Jane ADDRESS:UN [java] Result:delete last customer [java] Deleting customer named: Jane [java]ID:0 LASTNAME:Eric ADDRESS:USA [java]ID:0 LASTNAME:Amita ADDRESS:INDIA
Re: Help with Tuscany Customer's Demo using MySQL
Great !!! I have also already applied the suggested changes for the config file connection info under the latest version in trunk. Thanks for finding that... and let me know if you find anything else, or have any other questions. On 9/5/07, Eborn, Eric D [EMAIL PROTECTED] wrote: This is correct -Original Message- From: Luciano Resende [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 05, 2007 9:53 AM To: tuscany-user@ws.apache.org Subject: Re: Help with Tuscany Customer's Demo using MySQL Great !!! But just to be clear, the original config file [1] is not using ResultDescriptor, right ? [1] https://svn.apache.org/repos/asf/incubator/tuscany/java/das/samples/cust om er/src/main/resources/Customers.xml On 9/5/07, Eborn, Eric D [EMAIL PROTECTED] wrote: Well I found the issue... Once again in my Config file: I had: ResultDescriptor columnName=ID tableName=MYCUSTOMER columnType=commonj.sdo.Int/ Changed it to: ResultDescriptor columnName=ID tableName=CUSTOMER columnType=commonj.sdo.Int/ And SUCCESS!! Is it really necessary for mysql to specify so much the Command and Table tags like it seems to be for oracle? If so, you can update the demo download for future users. I think it may be because if I don't replace the original: Command name=AllCustomers SQL=select * from CUSTOMER kind=Select/ Table tableName=CUSTOMER Column columnName=ID primaryKey=true/ /Table With: Command name=AllCustomers SQL=select * from CUSTOMER kind=Select ResultDescriptor columnName=ID tableName=CUSTOMER columnType=commonj.sdo.Int/ ResultDescriptor columnName=LASTNAME tableName=CUSTOMER columnType=commonj.sdo.String/ ResultDescriptor columnName=ADDRESS tableName=CUSTOMER columnType=commonj.sdo.String/ /Command Table tableName=CUSTOMER Column columnName = ID primaryKey=true / Column columnName = LASTNAME / Column columnName = ADDRESS / /Table I get that same java.lang.IllegalArgumentException: Class 'CUSTOMER' does not have a feature named 'ID' error Let others benefit from my struggles please. :) Great little product btw, once u get it workin Eric -Original Message- From: Eborn, Eric D Sent: Wednesday, September 05, 2007 9:27 AM To: tuscany-user@ws.apache.org Subject: RE: Help with Tuscany Customer's Demo using MySQL Correct, that is the only error. I've been logging using root with all access so I don't imagine that is the problem, though I'll try that too. I've verified that it is correctly generating the table also (using mysql toolset), also the Customer example correctly displays the SQL Select results (just before it fails on the insert record). I've tried other approaches to find this problem, like commenting out the problem insert command so that it jumps straight from the select statement to the Update record command, where it also erred with: [java] Result:select all customers [java]ID:0 LASTNAME:Eric ADDRESS:USA [java]ID:0 LASTNAME:Amita ADDRESS:INDIA [java]ID:0 LASTNAME:Patrick ADDRESS:UK [java]ID:0 LASTNAME:Jane ADDRESS:UN [java] Result:update first customer [java] Exception in thread main java.lang.NullPointerException [java] at org.apache.tuscany.das.rdb.generator.impl.UpdateGenerator.fillParameter( UpdateGenerator.java:205) [java] at org.apache.tuscany.das.rdb.generator.impl.UpdateGenerator.createParamete r(UpdateGenerator.java:226) [java] at org.apache.tuscany.das.rdb.generator.impl.UpdateGenerator.getUpdateComma nd(UpdateGenerator.java:104) [java] at org.apache.tuscany.das.rdb.impl.ChangeFactory.getUpdateCommand(ChangeFac tory.java:154) [java] at org.apache.tuscany.das.rdb.impl.ChangeFactory.createUpdateOperation(Chan geFactory.java:69) [java] at org.apache.tuscany.das.rdb.impl.ChangeSummarizer.createChange(ChangeSumm arizer.java:115) [java] at org.apache.tuscany.das.rdb.impl.ChangeSummarizer.loadChanges(ChangeSumma rizer.java:80) [java] at org.apache.tuscany.das.rdb.impl.ApplyChangesCommandImpl.execute(ApplyCha ngesCommandImpl.java:64) [java] at org.apache.tuscany.das.rdb.impl.DASImpl.applyChanges(DASImpl.java:310) [java] at org.apache.tuscany.samples.das.customer.CustomerClient.changeFirstCustom erName(CustomerClient.java:212) [java] at org.apache.tuscany.samples.das.customer.CustomerClient.main(CustomerClie nt.java:131) [java] Java Result: 1 And then commented out the update, so it jumped straight to the delete last record command, where it
RE: Help with Tuscany Customer's Demo using MySQL
No, thank you for volunteering you assistance. I don't have access to outside svn's, would you mind posting the new Customer.xml file so I can verify its contents? -Original Message- From: Luciano Resende [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 05, 2007 10:16 AM To: tuscany-user@ws.apache.org Subject: Re: Help with Tuscany Customer's Demo using MySQL Great !!! I have also already applied the suggested changes for the config file connection info under the latest version in trunk. Thanks for finding that... and let me know if you find anything else, or have any other questions. On 9/5/07, Eborn, Eric D [EMAIL PROTECTED] wrote: This is correct -Original Message- From: Luciano Resende [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 05, 2007 9:53 AM To: tuscany-user@ws.apache.org Subject: Re: Help with Tuscany Customer's Demo using MySQL Great !!! But just to be clear, the original config file [1] is not using ResultDescriptor, right ? [1] https://svn.apache.org/repos/asf/incubator/tuscany/java/das/samples/cust om er/src/main/resources/Customers.xml On 9/5/07, Eborn, Eric D [EMAIL PROTECTED] wrote: Well I found the issue... Once again in my Config file: I had: ResultDescriptor columnName=ID tableName=MYCUSTOMER columnType=commonj.sdo.Int/ Changed it to: ResultDescriptor columnName=ID tableName=CUSTOMER columnType=commonj.sdo.Int/ And SUCCESS!! Is it really necessary for mysql to specify so much the Command and Table tags like it seems to be for oracle? If so, you can update the demo download for future users. I think it may be because if I don't replace the original: Command name=AllCustomers SQL=select * from CUSTOMER kind=Select/ Table tableName=CUSTOMER Column columnName=ID primaryKey=true/ /Table With: Command name=AllCustomers SQL=select * from CUSTOMER kind=Select ResultDescriptor columnName=ID tableName=CUSTOMER columnType=commonj.sdo.Int/ ResultDescriptor columnName=LASTNAME tableName=CUSTOMER columnType=commonj.sdo.String/ ResultDescriptor columnName=ADDRESS tableName=CUSTOMER columnType=commonj.sdo.String/ /Command Table tableName=CUSTOMER Column columnName = ID primaryKey=true / Column columnName = LASTNAME / Column columnName = ADDRESS / /Table I get that same java.lang.IllegalArgumentException: Class 'CUSTOMER' does not have a feature named 'ID' error Let others benefit from my struggles please. :) Great little product btw, once u get it workin Eric -Original Message- From: Eborn, Eric D Sent: Wednesday, September 05, 2007 9:27 AM To: tuscany-user@ws.apache.org Subject: RE: Help with Tuscany Customer's Demo using MySQL Correct, that is the only error. I've been logging using root with all access so I don't imagine that is the problem, though I'll try that too. I've verified that it is correctly generating the table also (using mysql toolset), also the Customer example correctly displays the SQL Select results (just before it fails on the insert record). I've tried other approaches to find this problem, like commenting out the problem insert command so that it jumps straight from the select statement to the Update record command, where it also erred with: [java] Result:select all customers [java]ID:0 LASTNAME:Eric ADDRESS:USA [java]ID:0 LASTNAME:Amita ADDRESS:INDIA [java]ID:0 LASTNAME:Patrick ADDRESS:UK [java]ID:0 LASTNAME:Jane ADDRESS:UN [java] Result:update first customer [java] Exception in thread main java.lang.NullPointerException [java] at org.apache.tuscany.das.rdb.generator.impl.UpdateGenerator.fillParameter( UpdateGenerator.java:205) [java] at org.apache.tuscany.das.rdb.generator.impl.UpdateGenerator.createParamete r(UpdateGenerator.java:226) [java] at org.apache.tuscany.das.rdb.generator.impl.UpdateGenerator.getUpdateComma nd(UpdateGenerator.java:104) [java] at org.apache.tuscany.das.rdb.impl.ChangeFactory.getUpdateCommand(ChangeFac tory.java:154) [java] at org.apache.tuscany.das.rdb.impl.ChangeFactory.createUpdateOperation(Chan geFactory.java:69) [java] at org.apache.tuscany.das.rdb.impl.ChangeSummarizer.createChange(ChangeSumm arizer.java:115) [java] at org.apache.tuscany.das.rdb.impl.ChangeSummarizer.loadChanges(ChangeSumma rizer.java:80) [java] at
Re: Help with Tuscany Customer's Demo using MySQL
Sure, contents from [1] Config xmlns=http:///org.apache.tuscany.das.rdb/config.xsd; !--Uncomment below for derby test-- ConnectionInfo ConnectionProperties driverClass=org.apache.derby.jdbc.EmbeddedDriver databaseURL=jdbc:derby:target/dastest; create = true loginTimeout=60/ /ConnectionInfo !--Uncomment below for MySQL test-- !-- ConnectionInfo ConnectionProperties driverClass=com.mysql.jdbc.Driver databaseURL=jdbc:mysql://localhost/dastest userName=dastest password=dastest loginTimeout=60/ /ConnectionInfo -- Command name=AllCustomers SQL=select * from CUSTOMER kind=Select/ Table tableName=CUSTOMER Column columnName=ID primaryKey=true/ /Table Command name=NamedCustomers SQL={call GETNAMEDCUSTOMERS(?,?)} kind=procedure Parameter direction=IN index=1 columnType=commonj.sdo.String/ Parameter direction=OUT index=2 columnType=commonj.sdo.IntObject/ /Command /Config [1] https://svn.apache.org/repos/asf/incubator/tuscany/java/das/samples/customer/src/main/resources/Customers.xml On 9/5/07, Eborn, Eric D [EMAIL PROTECTED] wrote: No, thank you for volunteering you assistance. I don't have access to outside svn's, would you mind posting the new Customer.xml file so I can verify its contents? -Original Message- From: Luciano Resende [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 05, 2007 10:16 AM To: tuscany-user@ws.apache.org Subject: Re: Help with Tuscany Customer's Demo using MySQL Great !!! I have also already applied the suggested changes for the config file connection info under the latest version in trunk. Thanks for finding that... and let me know if you find anything else, or have any other questions. On 9/5/07, Eborn, Eric D [EMAIL PROTECTED] wrote: This is correct -Original Message- From: Luciano Resende [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 05, 2007 9:53 AM To: tuscany-user@ws.apache.org Subject: Re: Help with Tuscany Customer's Demo using MySQL Great !!! But just to be clear, the original config file [1] is not using ResultDescriptor, right ? [1] https://svn.apache.org/repos/asf/incubator/tuscany/java/das/samples/cust om er/src/main/resources/Customers.xml On 9/5/07, Eborn, Eric D [EMAIL PROTECTED] wrote: Well I found the issue... Once again in my Config file: I had: ResultDescriptor columnName=ID tableName=MYCUSTOMER columnType=commonj.sdo.Int/ Changed it to: ResultDescriptor columnName=ID tableName=CUSTOMER columnType=commonj.sdo.Int/ And SUCCESS!! Is it really necessary for mysql to specify so much the Command and Table tags like it seems to be for oracle? If so, you can update the demo download for future users. I think it may be because if I don't replace the original: Command name=AllCustomers SQL=select * from CUSTOMER kind=Select/ Table tableName=CUSTOMER Column columnName=ID primaryKey=true/ /Table With: Command name=AllCustomers SQL=select * from CUSTOMER kind=Select ResultDescriptor columnName=ID tableName=CUSTOMER columnType=commonj.sdo.Int/ ResultDescriptor columnName=LASTNAME tableName=CUSTOMER columnType=commonj.sdo.String/ ResultDescriptor columnName=ADDRESS tableName=CUSTOMER columnType=commonj.sdo.String/ /Command Table tableName=CUSTOMER Column columnName = ID primaryKey=true / Column columnName = LASTNAME / Column columnName = ADDRESS / /Table I get that same java.lang.IllegalArgumentException: Class 'CUSTOMER' does not have a feature named 'ID' error Let others benefit from my struggles please. :) Great little product btw, once u get it workin Eric -Original Message- From: Eborn, Eric D Sent: Wednesday, September 05, 2007 9:27 AM To: tuscany-user@ws.apache.org Subject: RE: Help with Tuscany Customer's Demo using MySQL Correct, that is the only error. I've been logging using root with all access so I don't imagine that is the problem, though I'll try that too. I've verified that it is correctly generating the table also (using mysql toolset), also the Customer example correctly displays the SQL Select results (just before it fails on the insert record).
RE: Help with Tuscany Customer's Demo using MySQL
Yeah that looks fine, as mentioned below, I just had to modify the Command and Table Tags with additional attributes. (although it seems you did not) -Original Message- From: Luciano Resende [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 05, 2007 11:07 AM To: tuscany-user@ws.apache.org Subject: Re: Help with Tuscany Customer's Demo using MySQL Sure, contents from [1] Config xmlns=http:///org.apache.tuscany.das.rdb/config.xsd; !--Uncomment below for derby test-- ConnectionInfo ConnectionProperties driverClass=org.apache.derby.jdbc.EmbeddedDriver databaseURL=jdbc:derby:target/dastest; create = true loginTimeout=60/ /ConnectionInfo !--Uncomment below for MySQL test-- !-- ConnectionInfo ConnectionProperties driverClass=com.mysql.jdbc.Driver databaseURL=jdbc:mysql://localhost/dastest userName=dastest password=dastest loginTimeout=60/ /ConnectionInfo -- Command name=AllCustomers SQL=select * from CUSTOMER kind=Select/ Table tableName=CUSTOMER Column columnName=ID primaryKey=true/ /Table Command name=NamedCustomers SQL={call GETNAMEDCUSTOMERS(?,?)} kind=procedure Parameter direction=IN index=1 columnType=commonj.sdo.String/ Parameter direction=OUT index=2 columnType=commonj.sdo.IntObject/ /Command /Config [1] https://svn.apache.org/repos/asf/incubator/tuscany/java/das/samples/cust om er/src/main/resources/Customers.xml On 9/5/07, Eborn, Eric D [EMAIL PROTECTED] wrote: No, thank you for volunteering you assistance. I don't have access to outside svn's, would you mind posting the new Customer.xml file so I can verify its contents? -Original Message- From: Luciano Resende [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 05, 2007 10:16 AM To: tuscany-user@ws.apache.org Subject: Re: Help with Tuscany Customer's Demo using MySQL Great !!! I have also already applied the suggested changes for the config file connection info under the latest version in trunk. Thanks for finding that... and let me know if you find anything else, or have any other questions. On 9/5/07, Eborn, Eric D [EMAIL PROTECTED] wrote: This is correct -Original Message- From: Luciano Resende [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 05, 2007 9:53 AM To: tuscany-user@ws.apache.org Subject: Re: Help with Tuscany Customer's Demo using MySQL Great !!! But just to be clear, the original config file [1] is not using ResultDescriptor, right ? [1] https://svn.apache.org/repos/asf/incubator/tuscany/java/das/samples/cust om er/src/main/resources/Customers.xml On 9/5/07, Eborn, Eric D [EMAIL PROTECTED] wrote: Well I found the issue... Once again in my Config file: I had: ResultDescriptor columnName=ID tableName=MYCUSTOMER columnType=commonj.sdo.Int/ Changed it to: ResultDescriptor columnName=ID tableName=CUSTOMER columnType=commonj.sdo.Int/ And SUCCESS!! Is it really necessary for mysql to specify so much the Command and Table tags like it seems to be for oracle? If so, you can update the demo download for future users. I think it may be because if I don't replace the original: Command name=AllCustomers SQL=select * from CUSTOMER kind=Select/ Table tableName=CUSTOMER Column columnName=ID primaryKey=true/ /Table With: Command name=AllCustomers SQL=select * from CUSTOMER kind=Select ResultDescriptor columnName=ID tableName=CUSTOMER columnType=commonj.sdo.Int/ ResultDescriptor columnName=LASTNAME tableName=CUSTOMER columnType=commonj.sdo.String/ ResultDescriptor columnName=ADDRESS tableName=CUSTOMER columnType=commonj.sdo.String/ /Command Table tableName=CUSTOMER Column columnName = ID primaryKey=true / Column columnName = LASTNAME / Column columnName = ADDRESS / /Table I get that same java.lang.IllegalArgumentException: Class 'CUSTOMER' does not have a feature named 'ID' error Let others benefit from my struggles please. :) Great little product btw, once u get it workin Eric -Original Message- From: Eborn, Eric D Sent: Wednesday, September 05, 2007 9:27 AM To: tuscany-user@ws.apache.org Subject: RE: Help with Tuscany Customer's Demo
Re: Policy samples? (showcasing the killer feature of separation of concerns)
Two comments inline. Venkata Krishnan wrote: Hi, The policy framework implementation is underway. We have some basic things in place which allows the inclusion of policy intents and policysets into an assembly model. There is simply sample policy that we have put in place along with the echo-binding-extension sample to test this basic framework. This is a part of the recent 0.99 release. We shall be very soon adding support for some security policies with our ws bindings. So you must soon be able to see the basic authentication support coming out thro the ws bindings. Other than this, adding audit logging could be something we can try out for implementation policies support. I have created the following JIRA for this work: http://issues.apache.org/jira/browse/TUSCANY-1651 It should help people interested in the security policy track progress, add comments, or if people are interested in helping out with this work, attach tests or implementation code :) I have targeted the JIRA for the Tuscany SCA-1.0 release, which I'd like to get out in a few weeks. Thanks. - Venkat On 8/30/07, Skip Schuler [EMAIL PROTECTED] wrote: Hi, I'm currently evaluating SCA and Tuscany. I really like much of what I've seen so far, especially when experimenting with the assembly model and different bindings. What I'd like to know more about is the policy framework. I think the clear separation of concern that SCA promotes is a killer, however I don't see any good resources or samples. I've checked the documentation link on the Tuscany site, and I've tested with Tuscany Java version 0.91.. So my questions are: (1) Are there policies available for me and my services (to leverage and test)? If so, which and how (guidelines)? (2) A particular use case I have is to (a) reference a web service protected by basic authentication, and (b) add audit logging to certain services (invocations). I was thinking these were candidates for policies, however I'm not sure how to approach this... Thoughts? Thanks. An initial implementation of the Policy framework is available now, so you should be able to develop your own logging/auditing policy extension and plug it in the framework. The APIs to do that are still a little rough I think but trying them will help everybody get what they want in terms of policy, if you're interested. To see how a policy is implemented see the Encryption sample policy classes in java/sca/samples/binding-echo. IMO a logging policy would make another good sample for an implementation policy (i.e. a policy that you attach to a component implementation). -- Jean-Sebastien - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Client requested features Was: Policy samples? (showcasing the killer feature of separation of concerns)
Jeff, Thank you for your valuable feedback. With the work going on for release .99 and release 1.0 this email might not have been noticed. I have created JIRAs 1666 through 1669 for your requested features. I will also add the JIRAs to release discussion page for 1.0 [1], although some of these seem to be longer term enhancements. Any contribution is welcomed. on BPEL integration with Tuscany: Apache Ode team started BPEL integration with Tuscany and an initial version was checked into svn[2]. More needs to be done though. [1] http://cwiki.apache.org/TUSCANY/java-sca-10-release-contents.html [2] http://www.mail-archive.com/[EMAIL PROTECTED]/msg19404.html Haleh On 8/30/07, Anderson, Jeff T (CA - Toronto) [EMAIL PROTECTED] wrote: This is great news, that ties into an e-mail that I was just formulating this morning concerning additional features that have been requested for our client the list isn't quite complete, by thought I would share it with you as most of it concerns the policy framework implementation at least in my opinion. An FYI to everyone on the list... I'm currently working with a major Canadian FSI client to develop a SOA platform based largely on Tuscany 9.1. Services are currently being developed and tested for the platform, with plans to go into production by the end of this year. I've just finished holding a architecture workshop where we discussed the benefits of our platform (largely based on Tuscany) to various technical stakeholders across the greater organization. Representative stakeholders were given the chance to prioritize what they consider to be the most important features that they would want to see in the platform. I have decided to share this with this list, as I believe that the majority of most of these requirements could be handled through a future version of Tuscany. Currently the biggest feature requested is a service lifecycle mechanism that is capable of supporting both POJO/local method invocation as well as remote WSI basic interoperable mechanisms. Key to this feature would be the ability to transparently switch from a local/POJO to a remote/WSI interoperable model without impacting business service code. Specifically we are looking for Tuscany to allow us to support the following 1) security-would like to be able to specify participation in existing security context much like the mechanisms provided by WS security, WS-secconv, and related specifications. However, current implementations of Web services stacks makes it difficult to evolve a local component to a true web service and back again without having to follow a completely different security model. We believe Tuscany to be a excellent location to access a policy driven framework that allow us to specify security requirements of the service either using annotations, SCDL configuration, or some other method. Soap headers, or local security context could interact with the security policy dependent on each of the SCA binding used to wire together the various services. Some examples could be the use of a @Fedactive annotation to declare that a services capable of issuing messages containing security tokens such as those described by WS-security and WS-trust. Within a local binding, the annotation could still declare a need for the service to issue explicit security tokens, although the token may be passed using a different mechanism. It would be ideal to have this model follow a more framework approach, with the explicitly defined plug-in architecture allowing third-party vendors to integrate Tuscany to their own vendor suite. 2) transaction/compensation-I realize that the SCA specification is little more vague/not finalized concerning this, however this is one of the most important features requested from our client. Again I envision using the policy framework to define a transaction setting such as @NotRequired,@Supported etc. For local bindings this would simply allow the typical distributed transaction mechanisms to reverse any resources held within a transaction lock. For a more traditional remote Web services environment where resource control is the exception rather than the rule, an additional annotation of @compensator would allow service developer to declare the compensation transaction required whenever the appropriate binding container declares that a part of the transaction has failed. Again I believe the mechanisms of the model would vary depending on the binding mechanism used. For remote , WSI-Basic interoperable services can use WS -- atomic. For local, services would have the option of leveraging the the compensation model or integrate into the existing container distributed transaction manager. I realize that people In Tuscany are hesitant to start working on this kind of work until the spec has more details around transactions. However I believe the majority of this implementation could go forward
Re: Client requested features Was: Policy samples? (showcasing the killer feature of separation of concerns)
Hi Jeff, Thanks for some very good and useful input! I added some comments inline. [snip] Anderson, Jeff T (CA - Toronto) wrote: This is great news, that ties into an e-mail that I was just formulating this morning concerning additional features that have been requested for our client the list isn't quite complete, by thought I would share it with you as most of it concerns the policy framework implementation at least in my opinion. An FYI to everyone on the list... I'm currently working with a major Canadian FSI client to develop a SOA platform based largely on Tuscany 9.1. Services are currently being developed and tested for the platform, with plans to go into production by the end of this year. Great! It's very encouraging to start seeing projects like yours using Tuscany! I've just finished holding a architecture workshop where we discussed the benefits of our platform (largely based on Tuscany) to various technical stakeholders across the greater organization. Representative stakeholders were given the chance to prioritize what they consider to be the most important features that they would want to see in the platform. I have decided to share this with this list, as I believe that the majority of most of these requirements could be handled through a future version of Tuscany. Currently the biggest feature requested is a service lifecycle mechanism that is capable of supporting both POJO/local method invocation as well as remote WSI basic interoperable mechanisms. Key to this feature would be the ability to transparently switch from a local/POJO to a remote/WSI interoperable model without impacting business service code. Specifically we are looking for Tuscany to allow us to support the following 1) security-would like to be able to specify participation in existing security context much like the mechanisms provided by WS security, WS-secconv, and related specifications. However, current implementations of Web services stacks makes it difficult to evolve a local component to a true web service and back again without having to follow a completely different security model. We believe Tuscany to be a excellent location to access a policy driven framework that allow us to specify security requirements of the service either using annotations, SCDL configuration, or some other method. Soap headers, or local security context could interact with the security policy dependent on each of the SCA binding used to wire together the various services. Some examples could be the use of a @Fedactive annotation to declare that a services capable of issuing messages containing security tokens such as those described by WS-security and WS-trust. Within a local binding, the annotation could still declare a need for the service to issue explicit security tokens, although the token may be passed using a different mechanism. It would be ideal to have this model follow a more framework approach, with the explicitly defined plug-in architecture allowing third-party vendors to integrate Tuscany to their own vendor suite. We now have an early implementation of the policy model, XML and annotation processors and APIs to populate the model, and ways for the runtime to determine which policies should apply where. So now is a good time to come up with the specific policies you need. I'm happy to see concrete use cases for this area, hoping that they'll help shape our Policy framework... and at the same time will give you what you need :) Could you send an example of what the @Fedactive annotation would look like? what attributes and what they mean, and what you'll expect the particular policy implementation to do? how will it compare or relate to the security policies described in the SCA spec? Speaking of the SCA spec, I have created JIRA http://issues.apache.org/jira/browse/TUSCANY-1651 to track the work on the security policies described in the SCA Policy Framework spec, hoping to get an initial implementation of these policies in our 1.0 release. I'm not sure yet if @Fedactive / a WS-FedActive policy will need its own JIRA or not, but JIRA-1651 could be used to help document and frame that work as well. We can always create new linked JIRAs as this work develops. 2) transaction/compensation-I realize that the SCA specification is little more vague/not finalized concerning this, however this is one of the most important features requested from our client. Again I envision using the policy framework to define a transaction setting such as @NotRequired,@Supported etc. For local bindings this would simply allow the typical distributed transaction mechanisms to reverse any resources held within a transaction lock. For a more traditional remote Web services environment where resource control is the exception rather than the rule, an additional annotation of @compensator would allow service developer to declare the compensation transaction required
Re: [DAS] What's next for Tuscany DAS ?
Good, looks like we have most (if not all) the updates necessary to support SDO 2.1 specification and to be compatible with SDO 1.0 release. I'd like to start to work on a new release in the next couple days, and if we make it on time, we could still have a chance to include DAS in the SCA 1.0 release (planned for middle of September). As for naming, I was thinking to make this a beta2 release. Thoughts ? On 8/27/07, Amita Vadhavkar [EMAIL PROTECTED] wrote: I have attached patch for TUSCANY-961+ TUSCANY-986 combined in TUSCANY-961. One observation here - Generated code shows usage of deprecated method FactoryBase.getProperty(Type, int) and needs to be replaced by getLocalProperty(), any changes needed in xsdtojava generator in SDO? Any suggestions? Regards, Amita On 8/22/07, Luciano Resende [EMAIL PROTECTED] wrote: With the DAS beta1 release out, I'd like to look forward to things that we want to do next for DAS. I think that there are still couple things that we can improve our core DAS features, the main one would be adding support for multiple DAS implementations, and review our SDO 2.1 APIs usage. As for our history with SCA integration, we have started efforts around Data Services/Declarative DAS (implementation.das) and Data Feeds (implementation.data), and this is probably another area we would like to continue to work going forward. I also think we should continue to improve our user documentation and distribution infrastructure to make our release cut easier. Below is a summary list of items and JIRAs that are related to these possible items : - TUSCANY-986 - DAS integration with SDO 2.1 APIs - TUSCANY-961 - DAS: Using deprected SDO method causes Type lookup failure - Refactoring DAS to allow multiple implementatons As for timeframe, maybe it would be good to have a release in the next couple weeks, to support SDO 1.0 and be available to the SCA release, so we can have the integration story with SCA available. This is just of brain dump of where my thinking is at the moment, I'm sure everyone has their own thoughts about things we should tackle. It would be good to get to them all on the table :-) Thoughts ? -- Luciano Resende Apache Tuscany Committer http://people.apache.org/~lresende http://lresende.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Luciano Resende Apache Tuscany Committer http://people.apache.org/~lresende http://lresende.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Client requested features Was: Policy samples? (showcasing the killer feature of separation of concerns)
Jean-Sebastian , thanks so much for commenting on this. It's good to know that much of these features are under consideration for Tuscany. I didn't actually have a specific Use Case around the @fedactiv notation, I was just trying to use that as a illustrative purpose. I'll take a look at the jira around security, It looks like your approach to transaction management is a good one, I will take a look at the threads, and see if I can add anything useful to the conversation. mailto:[EMAIL PROTECTED] Regards Jeff From: Jean-Sebastien Delfino [mailto:[EMAIL PROTECTED] Sent: Wed 2007-09-05 17:16 To: tuscany-user@ws.apache.org Subject: Re: Client requested features Was: Policy samples? (showcasing the killer feature of separation of concerns) Hi Jeff, Thanks for some very good and useful input! I added some comments inline. [snip] Anderson, Jeff T (CA - Toronto) wrote: This is great news, that ties into an e-mail that I was just formulating this morning concerning additional features that have been requested for our client the list isn't quite complete, by thought I would share it with you as most of it concerns the policy framework implementation at least in my opinion. An FYI to everyone on the list... I'm currently working with a major Canadian FSI client to develop a SOA platform based largely on Tuscany 9.1. Services are currently being developed and tested for the platform, with plans to go into production by the end of this year. Great! It's very encouraging to start seeing projects like yours using Tuscany! I've just finished holding a architecture workshop where we discussed the benefits of our platform (largely based on Tuscany) to various technical stakeholders across the greater organization. Representative stakeholders were given the chance to prioritize what they consider to be the most important features that they would want to see in the platform. I have decided to share this with this list, as I believe that the majority of most of these requirements could be handled through a future version of Tuscany. Currently the biggest feature requested is a service lifecycle mechanism that is capable of supporting both POJO/local method invocation as well as remote WSI basic interoperable mechanisms. Key to this feature would be the ability to transparently switch from a local/POJO to a remote/WSI interoperable model without impacting business service code. Specifically we are looking for Tuscany to allow us to support the following 1) security-would like to be able to specify participation in existing security context much like the mechanisms provided by WS security, WS-secconv, and related specifications. However, current implementations of Web services stacks makes it difficult to evolve a local component to a true web service and back again without having to follow a completely different security model. We believe Tuscany to be a excellent location to access a policy driven framework that allow us to specify security requirements of the service either using annotations, SCDL configuration, or some other method. Soap headers, or local security context could interact with the security policy dependent on each of the SCA binding used to wire together the various services. Some ekids to xamples could be the use of a @Fedactive annotation to declare that a services capable of issuing messages containing security tokens such as those described by WS-security and WS-trust. Within a local binding, the annotation could still declare a need for the service to issue explicit security tokens, although the token may be passed using a different mechanism. It would be ideal to have this model follow a more framework approach, with the explicitly defined plug-in architecture allowing third-party vendors to integrate Tuscany to their own vendor suite. We now have an early implementation of the policy model, XML and annotation processors and APIs to populate the model, and ways for the runtime to determine which policies should apply where. So now is a good time to come up with the specific policies you need. I'm happy to see concrete use cases for this area, hoping that they'll help shape our Policy framework... and at the same time will give you what you need :) Could you send an example of what the @Fedactive annotation would look like? what attributes and what they mean, and what you'll expect the particular policy implementation to do? how will it compare or relate to the security policies described in the SCA spec? Speaking of the SCA spec, I have created JIRA http://issues.apache.org/jira/browse/TUSCANY-1651 to track the work on the security policies described in the SCA Policy Framework spec, hoping to get an initial implementation of these policies in our 1.0 release. I'm not sure yet if @Fedactive / a WS-FedActive policy will need its own JIRA or not, but
Re: [DAS] What's next for Tuscany DAS ?
sounds good to me. On 9/6/07, Luciano Resende [EMAIL PROTECTED] wrote: Good, looks like we have most (if not all) the updates necessary to support SDO 2.1 specification and to be compatible with SDO 1.0 release. I'd like to start to work on a new release in the next couple days, and if we make it on time, we could still have a chance to include DAS in the SCA 1.0 release (planned for middle of September). As for naming, I was thinking to make this a beta2 release. Thoughts ? On 8/27/07, Amita Vadhavkar [EMAIL PROTECTED] wrote: I have attached patch for TUSCANY-961+ TUSCANY-986 combined in TUSCANY-961. One observation here - Generated code shows usage of deprecated method FactoryBase.getProperty (Type, int) and needs to be replaced by getLocalProperty(), any changes needed in xsdtojava generator in SDO? Any suggestions? Regards, Amita On 8/22/07, Luciano Resende [EMAIL PROTECTED] wrote: With the DAS beta1 release out, I'd like to look forward to things that we want to do next for DAS. I think that there are still couple things that we can improve our core DAS features, the main one would be adding support for multiple DAS implementations, and review our SDO 2.1 APIs usage. As for our history with SCA integration, we have started efforts around Data Services/Declarative DAS (implementation.das) and Data Feeds (implementation.data), and this is probably another area we would like to continue to work going forward. I also think we should continue to improve our user documentation and distribution infrastructure to make our release cut easier. Below is a summary list of items and JIRAs that are related to these possible items : - TUSCANY-986 - DAS integration with SDO 2.1 APIs - TUSCANY-961 - DAS: Using deprected SDO method causes Type lookup failure - Refactoring DAS to allow multiple implementatons As for timeframe, maybe it would be good to have a release in the next couple weeks, to support SDO 1.0 and be available to the SCA release, so we can have the integration story with SCA available. This is just of brain dump of where my thinking is at the moment, I'm sure everyone has their own thoughts about things we should tackle. It would be good to get to them all on the table :-) Thoughts ? -- Luciano Resende Apache Tuscany Committer http://people.apache.org/~lresende http://lresende.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Luciano Resende Apache Tuscany Committer http://people.apache.org/~lresende http://lresende.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]