NotSerializableException found when serializing service reference

2007-09-05 Thread JunJie Nan
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

2007-09-05 Thread Eborn, Eric D
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

2007-09-05 Thread Eborn, Eric D
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

2007-09-05 Thread Luciano Resende
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

2007-09-05 Thread Eborn, Eric D
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

2007-09-05 Thread Eborn, Eric D
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

2007-09-05 Thread Luciano Resende
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

2007-09-05 Thread Eborn, Eric D
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

2007-09-05 Thread Luciano Resende
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

2007-09-05 Thread Eborn, Eric D
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

2007-09-05 Thread Luciano Resende
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

2007-09-05 Thread Eborn, Eric D
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)

2007-09-05 Thread Jean-Sebastien Delfino

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)

2007-09-05 Thread haleh mahbod
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)

2007-09-05 Thread Jean-Sebastien Delfino

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 ?

2007-09-05 Thread Luciano Resende
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)

2007-09-05 Thread Anderson, Jeff T (CA - Toronto)
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 ?

2007-09-05 Thread Amita Vadhavkar
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]