Hi Adriano!
I had alredy talked with Luciano about uploading the librarys in a link. He said that it's better to give the link to the downloads area from Tuscany Project. This is the link to the wiki page: http://wiki.apache.org/ws/Tuscany/TuscanyJava/DAS_Java_Overview/RDBDAS_HOWTO_HelloDASApp . If you still have problem, I can help you. But first you need to create an account there.

About the How To. I think now we need to put our comments, teach and give ideas about implementation.

Willian Yabusame Maja

----- Original Message ----- From: "Adriano Crestani" <[EMAIL PROTECTED]>
To: <tuscany-dev@ws.apache.org>
Sent: Wednesday, December 06, 2006 3:12 AM
Subject: Re: New proposal to make DAS/SDO HOW TO


I made the first draft of the howTo. Sorry, I am still posting it here,
cause I didn't find out how to post it on the wiki (can will teach me how
Willian? please). As Luciano said the howTo doesn't need to be an entire
webapp, so I just commented what is needed to integrate the SDO/DAS with an
webapp. But I think that is necessary to comment where the libraries could
be easily downloaded, do you know Luciano?

Here is the howTo, feel free to edit or even to delete everything ; )

Willian and me wrote this HowTo to demonstrate the usage of SDO/DAS on a
WebApp using the MySql Server 5.0 as the database server. This HowTo will
cover how to store, get and delete any data from a database using a
ShoppingCart sample code running. A. Downloading the Libraries:

*The required libraries are:*

  1. common-{latest version}.jar
  2. ecore-{latest version}.jar
  3. ecore-change-{latest version}.jariv) ecore-xmi-{lateste
  version}.jarv) log4j-{latest version}.jar
  4. sdo-api-xxx.jar
  5. tuscany-das-rdb-xxx.jar
  6. tuscany-sdo-xxx.jarix) xsd-{latest version}.jar
  7. mysql-connector-java-{latest version}.jar -> *This is the JDBC
  connector, It'll be used to connect to Mysql database.*

B. Creating ShoppingCart Database

After the setting up your enviroment, the next step will be to create the
database where the DAS will connect and manage the transaction with the SDO
features.

*1- Run the following commands in the Mysql Command Shell*

create database shoppingcart; -> *This command will create the ShoppingCart
database*.use shoppingcart; -> *Set the shell to work with shoppingcart
database*.



*2- Create a text file and name it as "shoppingcart.sql", you should insert
the following lines in this file:*


CREATE TABLE CART (
 ID INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
 SUB_TOTAL DOUBLE,
 TAX DOUBLE,
 TOTAL DOUBLE,
 CONFIRMED INTEGER
);

CREATE TABLE ITEM (
 ID INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
 DESCR CHAR(30),
 UNITS INTEGER
);

CREATE TABLE CART_ITEM (
 ID INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
 CART_ID INTEGER,
 ITEM_ID INTEGER,
 QUANTITY INTEGER,
 FOREIGN KEY (CART_ID) REFERENCES CART(ID),
 FOREIGN KEY (ITEM_ID) REFERENCES ITEM(ID)
);

*3- Run the following command in the Mysql Shell *

source {path}/shoppingcart.sql -> *Executes the script to create tables,
constraints, etc.*


C. Creating XML configuration file

*1- Create the file
ShoppingCartConfig<http://wiki.apache.org/ws/CompanyConfig>.xml
in the same directory that you will create the ShoppingCart.class, edit it
and write the following code: *

<?xml version="1.0" encoding="ASCII"?>
<Config xmlns="http:///org.apache.tuscany.das.rdb/config.xsd";>

<ConnectionInfo dataSource="java:comp/env/jdbc/shoppingcart"/>

<Command name="all carts" SQL="SELECT * FROM CART" kind="Select"/>

<Command name="all carts x items" SQL="SELECT * FROM CART_ITEM"
kind="Select"/>

<Command name="get cart item" SQL="SELECT * from CART_ITEM WHERE CART_ID = ?
AND ITEM_ID = ?" kind="Select"/>

<Command name="all cart items" SQL="SELECT * from CART_ITEM WHERE CART_ID =
?" kind="Select"/>

<Command name="all items" SQL="select * FROM ITEM" kind="Select"/>

<Command name="get item" SQL="select * FROM ITEM WHERE ID = ?"
kind="Select"/>

<Command name="get cart" SQL="select * FROM CART WHERE ID = ?"
kind="Select"/>

<Table tableName="CART">

<Column columnName="ID" primaryKey="true" generated="true"/>

</Table>

</Config>

*2- Save the file. *

C. Creating the Servlet Class        This ShoppingCart class is just a
collection of methods that create and get carts or items, add or remove
items from a cart and cofirm an order. Then you can call these methods
directly from your .jsp. This class try to connect to database using the
user "root" and the password "tuscany", but you may modify it in the method
getConnection().

import java.io.IOException;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.tuscany.das.rdb.Command;
import org.apache.tuscany.das.rdb.DAS;

import commonj.sdo.DataObject;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class ShoppingCart extends HttpServlet {

   private static final long serialVersionUID = 1922159305255311505L;

   public ShoppingCart () {}

   @Override
   protected void doGet(HttpServletRequest arg0, HttpServletResponse arg1)
throws ServletException, IOException {

   }

   public DataObject getItem(int itemId) {
       DAS das = DAS.FACTORY.createDAS
(getClass().getClassLoader().getResourceAsStream("ShoppingCartConfig.xml"),
getConnection());

       Command command = das.getCommand("get item");
       command.setParameter(1, itemId);
       DataObject item = command.executeQuery();

       return item.getDataObject("ITEM[1]");

   }

   public void newCart() {
       DAS das = DAS.FACTORY.createDAS
(getClass().getClassLoader().getResourceAsStream("ShoppingCartConfig.xml"),
getConnection());
       Command command = das.getCommand("all carts");
       DataObject allCarts = command.executeQuery();

       DataObject newCart = allCarts.createDataObject("CART");
       newCart.setInt("CONFIRMED", 0);
       allCarts.getList("CART").add(newCart);

       das.applyChanges(allCarts);

   }

   public void newItem(String description, int units) {
       DAS das = DAS.FACTORY.createDAS
(getClass().getClassLoader().getResourceAsStream("ShoppingCartConfig.xml"),
getConnection());
       Command command = das.getCommand("all items");
       DataObject allItems = command.executeQuery();

       DataObject newItem = allItems.createDataObject("ITEM");
       newItem.setString("DESCR", description);
       newItem.setInt("UNITS", units);

       allItems.getList("ITEM").add(newItem);
       das.applyChanges(allItems);

   }

   public boolean confirmOrder(int cartId) {
       DAS das = DAS.FACTORY.createDAS
(getClass().getClassLoader().getResourceAsStream("ShoppingCartConfig.xml"),
getConnection());
       Command command = das.getCommand("all cart items");
       command.setParameter(1, new Integer(cartId));
       DataObject cartItems = command.executeQuery();
       ArrayList array = new ArrayList(cartItems.getList("CART_ITEM"));

       // check if there are enough items in stock in case another cart,
that contains
       // the same item, was ordered before
       for (Iterator it = array.iterator(); it.hasNext();) {
           DataObject cartXItem = (DataObject) it.next();
           int quantity = cartXItem.getInt("QUANTITY");
           int itemId = cartXItem.getInt("ITEM_ID");

           command = das.getCommand("get item");
           command.setParameter(1, new Integer(itemId));
           DataObject itemRoot = command.executeQuery();
           DataObject item = itemRoot.getDataObject("ITEM[1]");
           int units = item.getInt("UNITS");

           if (quantity > units) {
               return false;
           }

           item.setInt("UNITS", units - quantity);
           das.applyChanges(itemRoot);

       }

       command = das.getCommand("get cart");
       command.setParameter(1, new Integer(cartId));
       DataObject cart = command.executeQuery();
       cart.getDataObject("CART[1]").setInt("CONFIRMED", 1);

       das.applyChanges(cart);
       return true;

   }

   public List getCarts() {
       DAS das = DAS.FACTORY.createDAS
(getClass().getClassLoader().getResourceAsStream("ShoppingCartConfig.xml"),
getConnection());

       Command command = das.getCommand("all carts");
       DataObject allCarts = command.executeQuery();

       return allCarts.getList("CART");

   }

   public List getItems() {
       DAS das = DAS.FACTORY.createDAS
(getClass().getClassLoader().getResourceAsStream("ShoppingCartConfig.xml"),
getConnection());

       Command command = das.getCommand("all items");
       DataObject allItems = command.executeQuery();

       return allItems.getList("ITEM");

   }

   public List getCartItems(int cartId) {
       DAS das = DAS.FACTORY.createDAS
(getClass().getClassLoader().getResourceAsStream("ShoppingCartConfig.xml"),
getConnection());

       Command command = das.getCommand("all cart items");
       command.setParameter(1, new Integer(cartId));
       DataObject allCartItems = command.executeQuery();

       return allCartItems.getList("CART_ITEM");

   }

   public void addCartItem(int cartId, int itemId, int quantity) {
       DAS das = DAS.FACTORY.createDAS
(getClass().getClassLoader().getResourceAsStream("ShoppingCartConfig.xml"),
getConnection());

       Command command = das.getCommand("all carts x items");
       DataObject allCartsXItems = command.executeQuery();
       DataObject newCartXItem = allCartsXItems.createDataObject
("CART_ITEM");

       newCartXItem.setInt("CART_ID", cartId);
       newCartXItem.setInt("ITEM_ID", itemId);
       newCartXItem.setInt("QUANTITY", quantity);

       allCartsXItems.getList("CART_ITEM").add(newCartXItem);
       das.applyChanges(allCartsXItems);

   }

   public void removeCartItem(int cartId, int itemId) {
       DAS das = DAS.FACTORY.createDAS
(getClass().getClassLoader().getResourceAsStream("ShoppingCartConfig.xml"),
getConnection());

       Command command = das.getCommand("all cart items");
       command.setParameter(1, new Integer(cartId));

       DataObject cartItem = command.executeQuery();
       cartItem.getDataObject("CART_ITEM[1]").delete();

       das.applyChanges(cartItem);

   }

   private static java.sql.Connection getConnection() {

       try {
           Class.forName("com.mysql.jdbc.Driver");
       } catch(ClassNotFoundException e) {
           e.printStackTrace();
           return null;

       }

       try {
           java.sql.Connection con = DriverManager.getConnection(

"jdbc:mysql://localhost:3306/shoppingcart","root","tuscany");
           con.setAutoCommit(false);
           return con;

       } catch(SQLException e) {
           e.printStackTrace();
           return null;

       }

   }

}



Adriano Crestani

On 12/5/06, Luciano Resende <[EMAIL PROTECTED]> wrote:

Let's keep updating the wiki, I think that's the best place for
collaborating...

On 12/5/06, Adriano Crestani <[EMAIL PROTECTED]> wrote:
>
> Yes, yes, I just tested the methods, cause I don't want a howto with a
> sourcecode that doesn't work as expected like the one you tried to
follow
> on
> your howto. I will try to write something as soon as possible and I > will
> post it here ; ).
>
> Adriano Crestani
>
> On 12/5/06, Luciano Resende <[EMAIL PROTECTED]> wrote:
> >
> > Just want to make sure, we actually don't need to deliver an app for
the
> > HowTo, but give enough information on how someone would go and build
> > one...
> >
> > See the howTo I created here :
> >
> >    -
> >
> >
>
http://lresende.blogspot.com/2006_11_01_lresende_archive.html#116491398958651871
> >
> > Please let me know if you need any help writting it...
> >
> > --
> > Luciano Resende
> > http://people.apache.org/~lresende <
http://people.apache.org/%7Elresende
> >
> >
> > On 12/4/06, Adriano Crestani <[EMAIL PROTECTED]> wrote:
> > >
> > > OK, I've finished the tests on the methods I created for the howto
and
> > > everything seems to be working fine. As Luciano suggested there is
no
> > need
> > > to make a jsp for the howto, so I think it's time to start writing
the
> > > howto, right Willian? Below the .java, .xml and the tables I've
> created
> > > for
> > > this webapp.
> > >
> > > ShoppingCart.java
> > >
> > > package org.apache.tuscany.samples.web;
> > >
> > > import java.io.IOException;
> > > import java.sql.DriverManager;
> > > import java.sql.SQLException;
> > > import java.sql.Statement;
> > > import java.util.Vector;
> > >
> > > import javax.servlet.ServletException;
> > > import javax.servlet.http.HttpServlet;
> > > import javax.servlet.http.HttpServletRequest ;
> > > import javax.servlet.http.HttpServletResponse;
> > >
> > > import org.apache.tuscany.das.rdb.Command;
> > > import org.apache.tuscany.das.rdb.DAS;
> > >
> > > import commonj.sdo.DataObject;
> > > import java.util.ArrayList;
> > > import java.util.Iterator;
> > > import java.util.List;
> > >
> > > public class CommandServlet extends HttpServlet {
> > >
> > >     private static final long serialVersionUID =
1922159305255311505L;
> > >
> > >     public CommandServlet() {}
> > >
> > >     @Override
> > >     protected void doGet(HttpServletRequest arg0,
HttpServletResponse
> > > arg1)
> > > throws ServletException, IOException {
> > >         Statement s = null;
> > >         CommandServlet shoppingCart = new CommandServlet();
> > >
> > >         try {
> > >             s = getConnection().createStatement();
> > >             s.executeUpdate("delete from cart_item;");
> > >             s.executeUpdate("delete from item;");
> > >             s.executeUpdate("delete from cart;");
> > >             s.execute("commit;");
> > >             s.close();
> > >
> > >         } catch (Exception e) {
> > >             e.printStackTrace();
> > >         }
> > >
> > >         shoppingCart.newCart();
> > >         shoppingCart.newItem("motherboard", 5);
> > >         shoppingCart.newItem("mouse", 90);
> > >         shoppingCart.newItem("processor", 23);
> > >         shoppingCart.newItem("keyboard", 68);
> > >
> > >         Vector allCarts = new Vector(getCarts());
> > >         DataObject cart = (DataObject) allCarts.firstElement();
> > >         int cartId = cart.getInt("ID");
> > >
> > >         ArrayList allItems = new ArrayList(getItems());
> > >
> > >         int c = 0;
> > >         int itemId = 0;
> > >         for (Iterator it = allItems.iterator(); it.hasNext();) {
> > >             c++;
> > >             DataObject item = (DataObject) it.next();
> > >             itemId = item.getInt("ID");
> > >             addCartItem(cartId, itemId, c);
> > >
> > >         }
> > >
> > >         removeCartItem(cartId, itemId);
> > >         confirmOrder(cartId);
> > >
> > >         shoppingCart.print();
> > >
> > >     }
> > >
> > >     public void print() {
> > >         ArrayList carts = new ArrayList(getCarts());
> > >         ArrayList items = new ArrayList(getItems());
> > >
> > >         for (Iterator it1 = carts.iterator(); it1.hasNext();) {
> > >             DataObject cart = (DataObject) it1.next();
> > >             ArrayList cartItems = new ArrayList(getCartItems(
> cart.getInt
> > > ("ID")));
> > >
> > >             System.out.println("Cart " + cart.getInt("ID") + ":");
> > >             System.out.println("    Items:");
> > >
> > > for (Iterator it2 = cartItems.iterator(); > > > it2.hasNext();)
> {
> > >                 DataObject itemCart = (DataObject) it2.next();
> > >                 DataObject item = getItem(itemCart.getInt
("ITEM_ID"));
> > >
> > >                 System.out.println("        " + item.getString
> ("DESCR")
> > +
> > > "
> > > - " + itemCart.getInt("QUANTITY") + " units");
> > >
> > >             }
> > >
> > >             System.out.println("    Subtotal: " + cart.getFloat
> > > ("SUB_TOTAL"));
> > >             System.out.println("    Tax: " + cart.getFloat("TAX"));
> > > System.out.println(" Total: " + > > > cart.getFloat("TOTAL")
> +
> > > "\n");
> > >
> > >         }
> > >
> > >         for (Iterator it = items.iterator(); it.hasNext();) {
> > >             DataObject item = (DataObject) it.next();
> > >
> > >             System.out.println("Item " + item.getInt("ID") + ":");
> > >             System.out.println("    Description: " + item.getString
> > > ("DESCR"));
> > >             System.out.println("    Units: " + item.getInt("UNITS")
+
> > > "\n");
> > >
> > >         }
> > >
> > >     }
> > >
> > >     public DataObject getItem(int itemId) {
> > >         DAS das = DAS.FACTORY.createDAS
> > > (getClass().getClassLoader().getResourceAsStream("
> ShoppingCartConfig.xml
> > > "),
> > > getConnection());
> > >
> > >         Command command = das.getCommand ("get item");
> > >         command.setParameter(1, itemId);
> > >         DataObject item = command.executeQuery();
> > >
> > >         return item.getDataObject("ITEM[1]");
> > >
> > >     }
> > >
> > >     public void newCart() {
> > >         DAS das = DAS.FACTORY.createDAS
> > > (getClass().getClassLoader().getResourceAsStream("
> ShoppingCartConfig.xml
> > > "),
> > > getConnection());
> > >         Command command = das.getCommand("all carts");
> > >         DataObject allCarts = command.executeQuery();
> > >
> > >         DataObject newCart = allCarts.createDataObject("CART");
> > >         newCart.setInt("CONFIRMED", 0);
> > >         allCarts.getList("CART").add(newCart);
> > >
> > >         das.applyChanges(allCarts);
> > >
> > >     }
> > >
> > >     public void newItem(String description, int units) {
> > >         DAS das = DAS.FACTORY.createDAS
> > > (getClass().getClassLoader().getResourceAsStream("
> ShoppingCartConfig.xml
> > > "),
> > > getConnection());
> > >         Command command = das.getCommand ("all items");
> > >         DataObject allItems = command.executeQuery();
> > >
> > >         DataObject newItem = allItems.createDataObject("ITEM");
> > >         newItem.setString("DESCR", description);
> > >         newItem.setInt("UNITS", units);
> > >
> > >         allItems.getList("ITEM").add(newItem);
> > >         das.applyChanges(allItems);
> > >
> > >     }
> > >
> > >     public boolean confirmOrder(int cartId) {
> > >         DAS das = DAS.FACTORY.createDAS
> > > (getClass().getClassLoader().getResourceAsStream("
> ShoppingCartConfig.xml
> > > "),
> > > getConnection());
> > >         Command command = das.getCommand ("all cart items");
> > >         command.setParameter(1, new Integer(cartId));
> > >         DataObject cartItems = command.executeQuery();
> > >         ArrayList array = new ArrayList(cartItems.getList
> ("CART_ITEM"));
> >
> > >
> > >         // check if there are enough items in stock in case another
> > cart,
> > > that contains
> > >         // the same item, was ordered before
> > >         for (Iterator it = array.iterator(); it.hasNext ();) {
> > >             DataObject cartXItem = (DataObject) it.next();
> > >             int quantity = cartXItem.getInt("QUANTITY");
> > >             int itemId = cartXItem.getInt("ITEM_ID");
> > >
> > >             command = das.getCommand("get item");
> > >             command.setParameter(1, new Integer(itemId));
> > >             DataObject itemRoot = command.executeQuery();
> > >             DataObject item = itemRoot.getDataObject("ITEM[1]");
> > >             int units = item.getInt("UNITS");
> > >
> > >             if (quantity > units) {
> > >                 return false;
> > >             }
> > >
> > >             item.setInt("UNITS", units - quantity);
> > >             das.applyChanges(itemRoot);
> > >
> > >         }
> > >
> > >         command = das.getCommand("get cart");
> > >         command.setParameter(1, new Integer(cartId));
> > >         DataObject cart = command.executeQuery();
> > >         cart.getDataObject("CART[1]").setInt("CONFIRMED", 1);
> > >
> > >         das.applyChanges(cart);
> > >         return true;
> > >
> > >     }
> > >
> > >     public List getCarts() {
> > >         DAS das = DAS.FACTORY.createDAS
> > > (getClass().getClassLoader().getResourceAsStream("
> > ShoppingCartConfig.xml
> > > "),
> > > getConnection());
> > >
> > >         Command command = das.getCommand("all carts");
> > >         DataObject allCarts = command.executeQuery();
> > >
> > >         return allCarts.getList("CART");
> > >
> > >     }
> > >
> > >     public List getItems() {
> > >         DAS das = DAS.FACTORY.createDAS
> > > (getClass().getClassLoader().getResourceAsStream("
> ShoppingCartConfig.xml
> > > "),
> > > getConnection());
> > >
> > >         Command command = das.getCommand("all items");
> > >         DataObject allItems = command.executeQuery();
> > >
> > >         return allItems.getList ("ITEM");
> > >
> > >     }
> > >
> > >     public List getCartItems(int cartId) {
> > >         DAS das = DAS.FACTORY.createDAS
> > > (getClass().getClassLoader().getResourceAsStream("
> ShoppingCartConfig.xml
> > > "),
> > > getConnection());
> > >
> > >         Command command = das.getCommand("all cart items");
> > >         command.setParameter(1, new Integer(cartId));
> > >         DataObject allCartItems = command.executeQuery();
> > >
> > >         return allCartItems.getList("CART_ITEM");
> > >
> > >     }
> > >
> > >     public void addCartItem(int cartId, int itemId, int quantity) {
> > >         DAS das = DAS.FACTORY.createDAS
> > > (getClass().getClassLoader().getResourceAsStream("
> ShoppingCartConfig.xml
> > > "),
> > > getConnection());
> > >
> > >         Command command = das.getCommand("all carts x items");
> > >         DataObject allCartsXItems = command.executeQuery();
> > >         DataObject newCartXItem = allCartsXItems.createDataObject
> > > ("CART_ITEM");
> > >
> > >         newCartXItem.setInt("CART_ID", cartId);
> > >         newCartXItem.setInt("ITEM_ID", itemId);
> > >         newCartXItem.setInt("QUANTITY", quantity);
> > >
> > >         allCartsXItems.getList("CART_ITEM").add(newCartXItem);
> > >         das.applyChanges(allCartsXItems);
> > >
> > >     }
> > >
> > >     public void removeCartItem(int cartId, int itemId) {
> > >         DAS das = DAS.FACTORY.createDAS
> > > (getClass().getClassLoader().getResourceAsStream("
> > ShoppingCartConfig.xml
> > > "),
> > > getConnection());
> > >
> > >         Command command = das.getCommand("all cart items");
> > >         command.setParameter(1, new Integer(cartId));
> > >
> > >         DataObject cartItem = command.executeQuery();
> > >         cartItem.getDataObject("CART_ITEM[1]").delete();
> > >
> > >         das.applyChanges(cartItem);
> > >
> > >     }
> > >
> > >     private static java.sql.Connection getConnection() {
> > >
> > >         try {
> > >             Class.forName("com.mysql.jdbc.Driver");
> > >         } catch(ClassNotFoundException e) {
> > >             e.printStackTrace();
> > >             return null;
> > >
> > >         }
> > >
> > >         try {
> > >             java.sql.Connection con = DriverManager.getConnection(
> > >
> > > "jdbc:mysql://localhost:3306/shoppingcart","root","tuscany");
> > >             con.setAutoCommit(false);
> > >             return con;
> > >
> > >         } catch(SQLException e) {
> > >             e.printStackTrace();
> > >             return null;
> > >
> > >         }
> > >
> > >     }
> > >
> > > }
> > >
> > > ShoppingCartConfig.xml
> > >
> > > <?xml version="1.0" encoding="ASCII"?>
> > > <Config xmlns=" http:///org.apache.tuscany.das.rdb/config.xsd";>
> > >
> > >     <ConnectionInfo dataSource="java:comp/env/jdbc/shoppingcart"/>
> > >
> > >     <Command name="all carts" SQL="SELECT * FROM CART"
kind="Select"/>
> > >
> > >     <Command name="all carts x items" SQL="SELECT * FROM CART_ITEM"
> > > kind="Select"/>
> > >
> > > <Command name="get cart item" SQL="SELECT * from CART_ITEM > > > WHERE
> > > CART_ID
> > > = ? AND ITEM_ID = ?" kind="Select"/>
> > >
> > >     <Command name="all cart items" SQL="SELECT * from CART_ITEM
WHERE
> > > CART_ID = ?" kind="Select"/>
> > >
> > >     <Command name="all items" SQL="select * FROM
> ITEM"  kind="Select"/>
> > >
> > >     <Command name="get item" SQL="select * FROM ITEM WHERE ID = ?"
> > > kind="Select"/>
> > >
> > >     <Command name="get cart" SQL="select * FROM CART WHERE ID = ?"
> > > kind="Select"/>
> > >
> > >
> > >     <Table tableName="CART">
> > > <Column columnName="ID" primaryKey="true" > > > generated="true"/>
> > >     </Table>
> > >
> > >
> > > </Config>
> > >
> > > The tables for mysql server 5.0:
> > >
> > > CREATE TABLE CART (
> > >   ID INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
> > >   SUB_TOTAL DOUBLE,
> > >   TAX DOUBLE,
> > >   TOTAL DOUBLE,
> > >   CONFIRMED INTEGER
> > > );
> > >
> > > CREATE TABLE ITEM (
> > >   ID INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
> > >   DESCR CHAR(30),
> > >   UNITS INTEGER
> > > );
> > >
> > > CREATE TABLE CART_ITEM (
> > >   ID INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
> > >   CART_ID INTEGER,
> > >   ITEM_ID INTEGER,
> > >   QUANTITY INTEGER,
> > >   FOREIGN KEY (CART_ID) REFERENCES CART(ID),
> > >   FOREIGN KEY (ITEM_ID) REFERENCES ITEM(ID)
> > > );
> > >
> > > Adriano Crestani
> > >
> > > On 12/4/06, Adriano Crestani <[EMAIL PROTECTED]> wrote:
> > > >
> > > > Sorry, but I was a bit busy last week. I'm still trying to finish
> that
> >
> > > > methods for the howto. I'm getting some problems when I try to
> remove
> > > any
> > > > tuple from the database, but I think it's a jdbc problem. I'm
> actually
> > > > working on it and if I find any specific problem I will post it
here
> ;
> >
> > > ).
> > > > Hey, Willian, have you written anything?
> > > >
> > > > Adriano Crestani
> > > >
> > > > On 12/4/06, Luciano Resende <[EMAIL PROTECTED] > wrote:
> > > > >
> > > > > Hi Adriano and William
> > > > >
> > > > >    Any progress with the HOW-TO ? Any blocking issues ? Any
help,
> > > > > guidance
> > > > > needed ?
> > > > >
> > > > > - Luciano
> > > > >
> > > > > On 11/17/06, Katja <[EMAIL PROTECTED]> wrote:
> > > > > >
> > > > > > Hi Willian!
> > > > > >
> > > > > > Thanks for your test! Now I found my error and everything
works!
> > > > > >
> > > > > > The problem was, that in the bigbank sample a mapping between
> the
> > > > > table
> > > > > > and the SDO is used. The SDO classes are generated from WSDL
> with
> > > > > XSD2SDO.
> > > > > > The mapping connects these classes to the tables.
> > > > > >
> > > > > > In the original bigbank sample the
> DASAccountConfiguration.xmllooks
> > > > > like:
> > > > > > <Table tableName="STOCKS" typeName="StockSummary">
> > > > > >   <Column columnName="ID" propertyName="id" />
> > > > > >   <Column columnName="Symbol" propertyName="symbol" />
> > > > > >   <Column columnName="quantity" propertyName="quantity" />
> > > > > >   <Column columnName="purchasePrice"
> propertyName="purchasePrice"
> > />
> > > > > >   <Column columnName="PURCHASEDATE"
propertyName="purchaseDate"
> > > > > > converterClassName="
> > > > > >
> > > > >
> > >
> >
>
bigbank.account.services.accountdata.AccountDataServiceDASImpl$DateConverter
> > > > > "
> > > > > > />
> > > > > > </Table>
> > > > > >
> > > > > > I had problems with the Timestamp-column "PURCHASEDATE" only
> > because
> > > > > it
> > > > > > was misspelled. The right spelling of the column name is
> > > > > "purchaseDate". I
> > > > > > changed it, and now it works.
> > > > > >
> > > > > > Maybe this should be changed in the repository to prevent
others
> > of
> > > > > this
> > > > > > error.
> > > > > >
> > > > > > If you are interested, here is the code which is used to read
> from
> >
> > > the
> > > > > > database:
> > > > > >
> > > > > > //Reading mapping from DASAccountConfiguration.xml
> > > > > > InputStream mapping = createConfigStream();
> > > > > >
> > > > > > Connection conn = getConnection();
> > > > > > DAS das = DAS.FACTORY.createDAS(mapping, conn);
> > > > > >
> > > > > > Command select = das.createCommand("SELECT Symbol, quantity,
> > > > > > purchasePrice, purchaseDate, purchaseLotNumber  FROM stocks
> where
> > id
> > > =
> > > > > ?");
> > > > > > select.setParameter(1, customerID);
> > > > > >
> > > > > > DataObject root = select.executeQuery();
> > > > > > accountReport.getStockSummaries().addAll(root.getList
> > > > > ("StockSummary"));
> > > > > >
> > > > > > Thanks,
> > > > > > Katja
> > > > > >
> > > > > > -------- Original-Nachricht --------
> > > > > > Datum: Thu, 16 Nov 2006 18:00:26 +0000
> > > > > > Von: "Willian Maja" < [EMAIL PROTECTED]>
> > > > > > An: tuscany-dev@ws.apache.org
> > > > > > Betreff: Re: New proposal to make DAS/SDO HOW TO
> > > > > >
> > > > > > > I think I didn't understand what you want. But i tested
using
> > > > > TimeStamp
> > > > > > > and
> > > > > > > DateTime:
> > > > > > >
> > > > > > >        CREATE TABLE test (ID integer not null
AUTO_INCREMENT,
> > > > > timestamp
> > > > > > > timestamp, datetime datetime, primary key (ID));
> > > > > > >
> > > > > > >        INSERT INTO test VALUES ();
> > > > > > >
> > > > > > > This will create the following row:
> > > > > > >
> > > > > > >        |  1   |     2006-11-16 14:10:24.0    |    NULL
> > > > > > >
> > > > > > >
> > > > > > > Now I will read the timestamp:
> > > > > > >
> > > > > > >          Command read = das.createCommand("select * from
> test");
> > > > > > >          DataObject root = read.executeQuery();
> > > > > > >          DataObject node = root.getDataObject("test[1]");
> > > > > > > java.util.Date date = node.getDate("timestamp"); > > > > > > > //
> You
> > > > > must
> > > > > > use
> > > > > > > java.util.Date, not java.sql.Date
> > > > > > >
> > > > > > >          System.out.println(date.getHours()); // Print the
> hours
> >
> > > > > > >          System.out.println(date.getMonth()); // Print the
> month
> > > > > > >          System.out.println(node.getDate("date")); // Print
> the
> > > > > > TimeStamp
> > > > > > > ex:2006-11-16 14:12:23.0
> > > > > > >
> > > > > > >
> > > > > > > To save DateTime I used the following code:
> > > > > > >          //Continuing the last code, I'm going to save the
> > > TimeStamp
> > > > > in
> > > > > > > the
> > > > > > > DateTime column
> > > > > > >         node.setDate("datetime", date);
> > > > > > >         das.applyChanges(root);
> > > > > > >
> > > > > > > Now the row 1 from the test table will be:
> > > > > > >
> > > > > > > | 1 | 2006-11-16 14:10:24.0 | 2006-11-16 > > > > > > > 14:10:
> > 24.0
> > > > > > >
> > > > > > >
> > > > > > > I read/updated the row with datetime and timestamp column.
> > > > > > > If this wasn't what you want, please send me the code you
want
> > to
> > > > > make
> > > > > > > work
> > > > > > > with SDO/Mysql.
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > >From: "Katja" < [EMAIL PROTECTED]>
> > > > > > > >Reply-To: tuscany-dev@ws.apache.org
> > > > > > > >To: tuscany-dev@ws.apache.org
> > > > > > > >Subject: Re: New proposal to make DAS/SDO HOW TO
> > > > > > > >Date: Thu, 16 Nov 2006 17:29:58 +0100
> > > > > > > >
> > > > > > > >Hi Willian!
> > > > > > > >
> > > > > > > >Thank you for the example! You tested with a Date-Column,
> that
> > > > > worked
> > > > > > in
> > > > > > > my
> > > > > > > >application, too, because no conversion between the column
> and
> > > the
> > > > > data
> > > > > > > >object value is necessary.
> > > > > > > >
> > > > > > > >With DateTime a converter is needed:
> > > > > > > >SDO format: 2006-11-16T17:22
> > > > > > > >MySQL format: 2006-11-16 17:22
> > > > > > > >
> > > > > > > >The bigbank sample has a DateConverter for this issue, but
> this
> > > > > does
> > > > > > only
> > > > > > > >work with Derby and not with MySQL. I don't know why. I
> posted
> > > the
> > > > > > error
> > > > > > > >last time:
> > > > > > > >
> > > http://www.mail-archive.com/tuscany-dev@ws.apache.org/msg10725.html
> > > > > > > >
> > > > > > > >It would be great, if you could test again with a DateTime
or
> > > > > Timestamp
> > > > > > > >column and tell me your solution.
> > > > > > > >
> > > > > > > >Thanks,
> > > > > > > >Katja
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >-------- Original-Nachricht --------
> > > > > > > >Datum: Thu, 16 Nov 2006 16:08:48 +0000
> > > > > > > >Von: "Willian Maja" < [EMAIL PROTECTED]>
> > > > > > > >An: tuscany-dev@ws.apache.org
> > > > > > > >Betreff: Re: New proposal to make DAS/SDO HOW TO
> > > > > > > >
> > > > > > > > > Hi Katja,
> > > > > > > > >
> > > > > > > > >     I've just tested to read Date column, and it works.
> I'm
> > > > > going to
> > > > > > > >paste
> > > > > > > > > my code here for you:
> > > > > > > > >
> > > > > > > > > This will be the test table, it's just a simple table
with
> a
> >
> > > > > > DateTime
> > > > > > > > > Column.
> > > > > > > > >
> > > > > > > > > CREATE TABLE test (ID integer not null AUTO_INCREMENT,
> > > > > date_column
> > > > > > > >date);
> > > > > > > > > INSERT INTO test (date_column) VALUES ("06-11-16");
> > > > > > > > >
> > > > > > > > > Now you should create your Das connection. In my code
> > example
> > > > > I'll
> > > > > > not
> > > > > > > >use
> > > > > > > > > XML configuration. I'm going to create the Command:
> > > > > > > > >
> > > > > > > > >         Command read = das.createCommand("select * from
> > > test");
> > > > > > > //Create
> > > > > > > > > the
> > > > > > > > >   Command
> > > > > > > > >         DataObject root = read.executeQuery();
> > > > > > > > > DataObject row = > > > > > > > > > root.getDataObject("teste[1]");
> //
> > > Get
> > > > > the
> > > > > > > >first
> > > > > > > > > row from test table;
> > > > > > > > > System.out.println > > > > > > > > > (row.getDate("date_column"));
> //
> > > > > Print the
> > > > > > > > > DateTime
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > I think this will help you :).
> > > > > > > > >
> > > > > > > > > Bye.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > >From: "Katja" <[EMAIL PROTECTED] >
> > > > > > > > > >Reply-To: tuscany-dev@ws.apache.org
> > > > > > > > > >To: tuscany-dev@ws.apache.org
> > > > > > > > > >Subject: Re: New proposal to make DAS/SDO HOW TO
> > > > > > > > > >Date: Thu, 16 Nov 2006 09:14:28 +0100
> > > > > > > > > >
> > > > > > > > > >Hi!
> > > > > > > > > >
> > > > > > > > > >Is it possible to add a Timestamp or DateTime column > > > > > > > > > >to
> the
> > > > > > database?
> > > > > > > I
> > > > > > > > > am
> > > > > > > > > >very interested in how to access these columns with > > > > > > > > > >DAS
> and
> > > > > MySQL
> > > > > > > >because
> > > > > > > > > I
> > > > > > > > > >have not succeeded in doing this.
> > > > > > > > > >
> > > > > > > > > >Thanks,
> > > > > > > > > >Katja
> > > > > > > > > >
> > > > > > > > > >-------- Original-Nachricht --------
> > > > > > > > > >Datum: Thu, 16 Nov 2006 03:44:18 -0400
> > > > > > > > > >Von: "Adriano Crestani" < [EMAIL PROTECTED]>
> > > > > > > > > >An: tuscany-dev@ws.apache.org
> > > > > > > > > >Betreff: Re: New proposal to make DAS/SDO HOW TO
> > > > > > > > > >
> > > > > > > > > > > Willian, I created these tables, that will possible
be
> > > used
> > > > > in
> > > > > > the
> > > > > > > > > > > shopping
> > > > > > > > > > > cart app. It's simple, but I think a howto sample
must
> > be
> > > > > > simple.
> > > > > > > >And
> > > > > > > > > if
> > > > > > > > > > > you
> > > > > > > > > > > want to add anything, feel free ; )
> > > > > > > > > > >
> > > > > > > > > > > CREATE TABLE CART (
> > > > > > > > > > >     ID INTEGER,
> > > > > > > > > > >     PRIMARY KEY (ID)
> > > > > > > > > > > );
> > > > > > > > > > >
> > > > > > > > > > > CREATE TABLE ITEM (
> > > > > > > > > > >     ID INTEGER,
> > > > > > > > > > >     ITEM VARCHAR(30),
> > > > > > > > > > >     UNITS INTEGER,
> > > > > > > > > > >     CART_ID INTEGER,
> > > > > > > > > > >     PRIMARY KEY (ID),
> > > > > > > > > > >     FOREIGN KEY (CART_ID) REFERENCES CART(ID)
> > > > > > > > > > > );
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > On 11/16/06, Luciano Resende <[EMAIL PROTECTED] > > > > > > > > > > > >
> > > wrote:
> > > > > > > > > > > >
> > > > > > > > > > > > Hey Guys
> > > > > > > > > > > >
> > > > > > > > > > > >    Very good to see some progress and some
contents
> > > being
> > > > > > > >generated.
> > > > > > > > > I
> > > > > > > > > > > > agree
> > > > > > > > > > > > with you guys when you say this is becoming more
> like
> > a
> > > > > user
> > > > > > > >guide,
> > > > > > > > > > > > instead
> > > > > > > > > > > > of a How To, and building it describing a new
> scenario
> >
> > > > > would
> > > > > > > > > probably
> > > > > > > > > > > make
> > > > > > > > > > > > things more clear, altough let's try to keep it
> simple
> >
> > > on
> > > > > the
> > > > > > > > > >beginning,
> > > > > > > > > > > > otherwise we are going to get a White paper :)
> > > > > > > > > > > >
> > > > > > > > > > > >    I think we should describe actions that you
would
> > > take
> > > > > when
> > > > > > > > > trying
> > > > > > > > > >to
> > > > > > > > > > > > create an application and describe how you would
do
> it
> > (
> > > > > e.gNow
> > > > > > > we
> > > > > > > > > >need
> > > > > > > > > > > to
> > > > > > > > > > > > execute a query to read the list of products, and
> this
> > > is
> > > > > how
> > > > > > > you
> > > > > > > > > >would
> > > > > > > > > > > do
> > > > > > > > > > > > using DAS), and point the user to further
> > documentation
> > > in
> > > > >
> > > > > > case
> > > > > > > it
> > > > > > > > > > > > needs/want to know more about the specific > > > > > > > > > > > > feature
(
> > e.gif
> > > > > > they
> > > > > > > >want
> > > > > > > > > >to
> > > > > > > > > > > > learn the whole syntax/xsd of the das config
file).
> > > > > > > > > > > >
> > > > > > > > > > > >    I think couple things should not be covered on
> the
> > > How
> > > > > to :
> > > > > > > > > > > >       - How to build a war file
> > > > > > > > > > > >       - How to create a database (altough you
might
> > > > > provide
> > > > > > the
> > > > > > > >SQL
> > > > > > > > > > > > statements to create the tables you would use or
at
> > > least
> > > > > > > describe
> > > > > > > > > the
> > > > > > > > > > > DB
> > > > > > > > > > > > schema)
> > > > > > > > > > > >
> > > > > > > > > > > >    Now, talking about what should be in this
how-to
> > > > > > > > > > > >       - We could start very simple... 1 product
> table,
> > > and
> > > > > one
> > > > > > > > > simple
> > > > > > > > > > > jsp
> > > > > > > > > > > > that gives you a list of the products available
> > > > > > > > > > > >       - Using MySQL is good, altough this how to
> > should
> > > > > not
> > > > > > > really
> > > > > > > > > be
> > > > > > > > > > > > database dependent, right ? we could point it to
any
> > > > > database,
> > > > > > > and
> > > > > > > > > you
> > > > > > > > > > > > guys
> > > > > > > > > > > > could maybe elaborate on what change would be
> > necessary
> > > to
> > > > > do
> > > > > > > this
> > > > > > > > > :)
> > > > > > > > > > > >
> > > > > > > > > > > >    Also, I think this how to does not necessarily
> need
> >
> > > to
> > > > > > > produce
> > > > > > > >a
> > > > > > > > > > > > working
> > > > > > > > > > > > application, as it's intended to show how people
> would
> >
> > > use
> > > > > > DAS.
> > > > > > > If
> > > > > > > > > we
> > > > > > > > > > > want
> > > > > > > > > > > > to spend time creating an application, I'd > > > > > > > > > > > > suggest
> > doing
> > > > > this
> > > > > > as
> > > > > > > > > >another
> > > > > > > > > > > > task, and finish the one I have started as part > > > > > > > > > > > > of
> > > > > > > > > > > > http://issues.apache.org/jira/browse/TUSCANY-800
> > > > > > > > > > > >
> > > > > > > > > > > > Let me know if you have any further questions...
> let's
> >
> > > > > > continue
> > > > > > > to
> > > > > > > > > > > > updating
> > > > > > > > > > > > the wiki, and please let me know when you guys
want
> me
> >
> > > to
> > > > > take
> > > > > > a
> > > > > > > > > look
> > > > > > > > > > > and
> > > > > > > > > > > > provide a feedback on the contents...
> > > > > > > > > > > >
> > > > > > > > > > > > BTW, others are welcome to voice their opinion on
> what
> > > > > > direction
> > > > > > > >we
> > > > > > > > > > > should
> > > > > > > > > > > > take here...
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > - Luciano Resende
> > > > > > > > > > > > Apache Tuscany
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > On 11/15/06, Adriano Crestani <
> > > [EMAIL PROTECTED]>
> > > > > > wrote:
> > > > > > > > > > > > >
> > > > > > > > > > > > > I've decribed the XML configuration file, but
it's
> > > still
> > > > > > > looking
> > > > > > > > > >like
> > > > > > > > > > > a
> > > > > > > > > > > > > user
> > > > > > > > > > > > > guide than a howto. I think the CompanyWeb
sample
> is
> > > to
> > > > > > simple
> > > > > > > >and
> > > > > > > > > > > > doesn't
> > > > > > > > > > > > > cover well all the DAS features. So lets make
this
> > > > > Shopping
> > > > > > > Cart
> > > > > > > > > > > > > application
> > > > > > > > > > > > > trying to use all the DAS features. Then we > > > > > > > > > > > > > will
> be
> > > able
> > > > > to
> > > > > > do
> > > > > > > a
> > > > > > > > > >very
> > > > > > > > > > > > > useful
> > > > > > > > > > > > > howto.
> > > > > > > > > > > > >
> > > > > > > > > > > > >   My propose is that this app must have at
least:
> > > > > > > > > > > > >
> > > > > > > > > > > > >      - 1 functionality that requires a SQL
command
> > > with
> > > > > > > >arguments.
> > > > > > > > > > > Then
> > > > > > > > > > > > we
> > > > > > > > > > > > > cover how to deal with arguments in SQL
commands.
> > > > > > > > > > > > >
> > > > > > > > > > > > >     - 1 table that has one autoincrement key
> column
> > to
> > > > > cover
> > > > > > > the
> > > > > > > > > > > > > "genarated"
> > > > > > > > > > > > > attribute on the howto.
> > > > > > > > > > > > >
> > > > > > > > > > > > >     - 1 table that requires a concurrency
control
> to
> > > > > cover
> > > > > > the
> > > > > > > > > > > > > "concurrency"
> > > > > > > > > > > > > attribute on the howto.
> > > > > > > > > > > > >
> > > > > > > > > > > > >    - 1 table containing a foreign key to cover
how
> > to
> > > > > > explicit
> > > > > > > >in
> > > > > > > > > >the
> > > > > > > > > > > > XML
> > > > > > > > > > > > > configuration file the link between two tables.
> > There
> > > > > will
> > > > > > > > > probabily
> > > > > > > > > > > be
> > > > > > > > > > > > a
> > > > > > > > > > > > > foreign key in its database anyway. ; )
> > > > > > > > > > > > >
> > > > > > > > > > > > > I think also a good idea to use the MySql as > > > > > > > > > > > > > the
> > > > > database
> > > > > > > >server,
> > > > > > > > > >once
> > > > > > > > > > > > > it's
> > > > > > > > > > > > > the most used server on webapps ; )
> > > > > > > > > > > > >
> > > > > > > > > > > > > We must discuss how will be the Shopping Cart
GUI,
> > it
> > > > > must
> > > > > > be
> > > > > > > > > simple
> > > > > > > > > > > > once
> > > > > > > > > > > > > it's not the focus of our howto. I think a
simple
> > html
> > > > > > > genarated
> > > > > > > > > by
> > > > > > > > > >a
> > > > > > > > > > > > jsp
> > > > > > > > > > > > > is
> > > > > > > > > > > > > enough. ; )
> > > > > > > > > > > > >
> > > > > > > > > > > > > Adriano Crestani
> > > > > > > > > > > > >
> > > > > > > > > > > > > On 11/15/06, Willian Yabusame Maja <
> > > > > [EMAIL PROTECTED]>
> > > > > > > > > wrote:
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Hello Tuscany Community!
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >     Adriano Crestani and I are working
together
> on
> > a
> > > > > > > >HelloWorld
> > > > > > > > > >DAS
> > > > > > > > > > > > "How
> > > > > > > > > > > > > > To". I have uploaded what we have done so far
to
> > > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > >
> > >
> >
>
http://wiki.apache.org/ws/Tuscany/TuscanyJava/DAS_Java_Overview/RDBDAS_HOWTO_HelloDASApp
> > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >     We were using the CompanyWeb sample
> > application
> > > to
> > > > > > make
> > > > > > > >this
> > > > > > > > > > > > > > step-by-step how-to and teach how to use the
> > DAS/SDO
> > > > > > > Features.
> > > > > > > > > We
> > > > > > > > > > > are
> > > > > > > > > > > > > not
> > > > > > > > > > > > > > liking what this is becoming, as it's looking
> more
> >
> > > > > like a
> > > > > > > > > > > > > user-gide/readme
> > > > > > > > > > > > > > then really a how-to, so we would like to do > > > > > > > > > > > > > > a
> new
> > > > > > proposal
> > > > > > > :
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >     Use the scenario of a Shopping cart, and
use
> > it
> > > to
> > > > > > > explain
> > > > > > > > > >more
> > > > > > > > > > > > > about
> > > > > > > > > > > > > > how to build it using DAS to handle the
> > persistence
> > > > > part
> > > > > > of
> > > > > > > >the
> > > > > > > > > > > app...
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >     The topics would be:
> > > > > > > > > > > > > >         Introducing the scenario and the
> > motivation
> > > to
> > > > > use
> > > > > > > > > DAS/SDO
> > > > > > > > > > > > > >         Initial Setup and environment
> assumptions
> > > > > > > > > > > > > >         Building the application
> > > > > > > > > > > > > >         - database
> > > > > > > > > > > > > >                 - DAS commands
> > > > > > > > > > > > > >                 - Configuring the XML and how
to
> > > make
> > > > > the
> > > > > > > > > commands
> > > > > > > > > > > > > >         Explain the DAS/SDO and how to
read/get
> > > > > results
> > > > > > > > > > > > > >         conclusion
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >     Before we change our path to this new
> > approach,
> > > we
> > > > > > would
> > > > > > > > > like
> > > > > > > > > >to
> > > > > > > > > > > > > hear
> > > > > > > > > > > > > > some feedback on what you guys think about
this
> > new
> > > > > > > >approach....
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Willian Yabusame Maja
> > > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >--
> > > > > > > > > >Der GMX SmartSurfer hilft bis zu 70% Ihrer > > > > > > > > > >Onlinekosten
> zu
> > > > > sparen!
> > > > > > > > > >Ideal f�r Modem und ISDN:
> > > http://www.gmx.net/de/go/smartsurfer
> > > > > > > > > >
> > > > > > > > >
> > > > > >
> > >
>---------------------------------------------------------------------
> > > > > > > > > >To unsubscribe, e-mail:
> > [EMAIL PROTECTED]
> > > > > > > > > >For additional commands, e-mail:
> > > [EMAIL PROTECTED]
> > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > >
_________________________________________________________________
> > > > > > > > > MSN Busca: f�cil, r�pido, direto ao ponto.
> > > http://search.msn.com.br
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > >
> > >
---------------------------------------------------------------------
> > > > > > > > > To unsubscribe, e-mail:
> > [EMAIL PROTECTED]
> > > > > > > > > For additional commands, e-mail:
> > > [EMAIL PROTECTED]
> > > > > > > >
> > > > > > > >--
> > > > > > > >Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu
> > > sparen!
> > > > > > > >Ideal f�r Modem und ISDN:
> http://www.gmx.net/de/go/smartsurfer
> > > > > > > >
> > > > > > >
> > > > >
> > >---------------------------------------------------------------------
> > > > > > > >To unsubscribe, e-mail:
[EMAIL PROTECTED]
> > > > > > > >For additional commands, e-mail:
> [EMAIL PROTECTED]
> > > > > > > >
> > > > > > >
> > > > > > >
> > _________________________________________________________________
> > > > > > > MSN Hotmail, o maior webmail do Brasil.
http://www.hotmail.com
> > > > > > >
> > > > > > >
> > > > > > >
> > > > >
> > ---------------------------------------------------------------------
> > > > > > > To unsubscribe, e-mail:
[EMAIL PROTECTED]
> > > > > > > For additional commands, e-mail:
> [EMAIL PROTECTED]
> > > > > >
> > > > > > --
> > > > > > Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu
> sparen!
> > > > > > Ideal f�r Modem und ISDN: > > > > > > http://www.gmx.net/de/go/smartsurfer
> > > > > >
> > > > > >
> > >
---------------------------------------------------------------------
> > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > > > For additional commands, e-mail:
[EMAIL PROTECTED]
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Luciano Resende
> > > > > http://people.apache.org/~lresende
> > <http://people.apache.org/%7Elresende>
> > > > > <http://people.apache.org/%7Elresende>
> > > > >
> > > >
> > > >
> > >
> >
>



--
Luciano Resende
http://people.apache.org/~lresende




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to