Except for the instructions related to NetBeans, most of these steps are
defined on the following two links:
  http://incubator.apache.org/tuscany/java-projects.html
or
  http://incubator.apache.org/tuscany/java_das_overview.html

Probably would be better for you to review these links and suggest
enhancements, as most new users will probably have the same issues as you
guys are having.

The netBeans steps could probably also be appended to the
java-projects.htmllink, together with the instructions on how to use
Eclipse or IDEA. BTW,
have you seen this :

http://maven.apache.org/guides/mini/guide-ide-netbeans/guide-ide-netbeans.html

Looks like there is a plugin that does the creation of the netBeans project
files from the pom

mvn netbeans-freeform:generate-netbeans-project


Then, for the webAPP, maybe it's easy if you provide a webApp
skeleton, then people could only import the war file.

Toughts ? Does the link help ?


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

On 2/16/07, Adriano Crestani <[EMAIL PROTECTED]> wrote:

As me and Dannyel had some trouble on building and debugging this simple
read app using das java, I created this short howTo to help anyone else
that
is also having difficult to create a project on netbeans IDE to debbug the
code.

1 - download subversion(http://subversion.tigris.org/project_packages.html
)
and unpack it

2 - download maven 2.0.4 (http://maven.apache.org/download.html) and
unpack
it

3 - set maven/bin and subversion/bin in your SO path

4 - create a folder called, i. e. Tuscany, and download the java source
executing the following commands:

cd tuscany

svn co https://svn.apache.org/repos/asf/incubator/tuscany/java

It will probably ask you if you accept the secure connection, than allow
it.

5 - Now, download the dependencies:

cd java/das

mvn

The dependencies should be downloaded.  Let us know if you get any build
error on this part.

6 - Run Netbeans and select File >> New Project.... Select "General" on
categories and then "Java Project with Existing Sources" then click on
next

7 - Give a name to your project, i.e. "DAS", select its folder and click
on
next.

8 - Click on the first button "Add Folder..." and select the following
folders:

Tuscany\java\das\rdb\src\main\java

Tuscany\java\das\rdb\target\sdo-source

Click on "Finish"

9 - Unpack the file Tuscany\java\das\distribution\binary\target\das-
1.0-incubator-SNAPSHOT-bin.zip in a folder, i.e. Lib.

10 - Right click on DAS project and select properties. Then select
libraries
and click on "Add JAR/Folder". Select all the files the folder
Lib\tuscany-
das-1.0-incubator-SNAPSHOT\lib contains and click on "Open".

11 - Again select File >> New Project... select "Web" on categories and
"Web
Application" then click on next.

12 - Give a name to your project, i.e. SimpleReadApp, select its folder
and
click on finish.

13 - Right click on you SimpleReadApp project and select New >> Servlet.
Give a name to your servlet, i.e. CommandServlet and click on finish. A
new
.java file will be created in SimpleReadApp's Source Packages, open it and
copy the CommandServlet class code in it.

14 - Right click on you SimpleReadApp project and select properties. Then
select libraries and click on "Add JAR/Folder". Select the file
sdo-api-r2.1-1.0-incubator-20061220.211548-2.jar that resides inside the
Libs\tuscany-das-1.0-incubator-SNAPSHOT\lib folder and click on "Open".

15 - On the same window click on "Add Project...", select the DAS project
folder and click on open.

Now you already have what is necessary to run and debug the code. Don't
forget to do the adjustments for your dbms:

  - set the jdbc jar file

  - modify the sql statement according to your dbms pl/sql

  - modify the in getConnection method  the jdbc driver class path, the
database path, user and password

  - create in your database having an table called "ITEM" that has an
integer attribute called "ID". You must also insert at least an row in
this
table.

I expect you to debug this simple read app and see for yourselves which
classes and methods are needed to implement the simple read app. Then pick
the classes you want to implement and create a JIRA for it ; )

Adriano Crestani


On 2/9/07, Douglas Leite <[EMAIL PROTECTED]> wrote:
>
> Good ideia.... I´ll do it.
>
> On 2/9/07, Adriano Crestani <[EMAIL PROTECTED]> wrote:
> >
> > I have an idea to make it more independent. Each one that wants to
help
> to
> > implement this simple app, evaluate which class is intended to
implement
> > and
> > create a new JIRA for it. In this new JIRA should be described the
> classes
> > and their methods that will be implemented. This way if someone finish
> to
> > implement certain classes, he will be able to choose another classes
to
> > implement, instead of waiting for others to finish their classes. I
> think
> > this way we may speed up the das c++ coding.
> >
> > Please, if a new JIRA is created report it here in this thread.
> >
> > Adriano Crestani
> >
> > On 2/8/07, Douglas Leite <[EMAIL PROTECTED]> wrote:
> > >
> > > Okay Adriano.... I will try to understand the simple application
that
> > > you´ve
> > > posted, step by step, and after that I will choose some useful
classes
> > as
> > > well as their essentials methods to run that application in C++.
> > >
> > > Douglas S. Leite
> > >
> > > On 2/8/07, Adriano Crestani <[EMAIL PROTECTED]> wrote:
> > > >
> > > > Yes Luciano, but I wasn't sure if there would be any problem if
the
> > > config
> > > > classes wouldn't be included. We will try to run it without the
> config
> > > > classes though.
> > > >
> > > > Douglas, as I had assigned the config classes to you just pick
some
> > > > classes
> > > > from those I've assigned to the others. Or if you have another
> > > suggestion
> > > > in
> > > > what you could be useful just let us know.
> > > >
> > > > Adriano Crestani
> > > >
> > > > On 2/8/07, Luciano Resende <[EMAIL PROTECTED]> wrote:
> > > > >
> > > > > I'd agree with Kevin's suggestion, for a simple C++ sample
> > application
> > > > > that
> > > > > only performs a simple read, you shouldn't need the config
> classes,
> > > try
> > > > to
> > > > > do in C++ something simple as the java sample you just posted
> here.
> > > > >
> > > > > As for downloads, you only need to download the DAS
distribution,
> > that
> > > > > will
> > > > > contain all the SDO and other dependencies inside the zip. For
the
> > new
> > > > > people, I'd recommend using the stable M2 distributions,
although
> I
> > > > think
> > > > > SDO and DAS trunk code are stable and compiling fine.
> > > > >
> > > > > --
> > > > > Luciano Resende
> > > > > http://people.apache.org/~lresende
> > > > >
> > > > > On 2/8/07, Adriano Crestani <[EMAIL PROTECTED]> wrote:
> > > > > >
> > > > > > A correction, there is need to download the das also, not only
> the
> > > sdo
> > > > > > .jar:
> > > > > > http://incubator.apache.org/tuscany/das_downloads.html
> > > > > >
> > > > > > On 2/8/07, Adriano Crestani <[EMAIL PROTECTED]> wrote:
> > > > > > >
> > > > > > > Anyway, it simplified a lot the ap ; )
> > > > > > >
> > > > > > > On 2/8/07, Adriano Crestani <[EMAIL PROTECTED]>
wrote:
> > > > > > > >
> > > > > > > > Thanks a lot kevin ; ). But I think it look likes the
first
> > code
> > > I
> > > > > > > > posted, except by the assert you added.
> > > > > > > >
> > > > > > > > Adriano Crestani
> > > > > > > >
> > > > > > > > On 2/8/07, Kevin Williams <[EMAIL PROTECTED]> wrote:
> > > > > > > > >
> > > > > > > > > Your focus should probably be on the APIs your DAS will
> > > provide
> > > > > the
> > > > > > > > > user
> > > > > > > > > whether that is from a servlet or some other
caller.  Here
> > are
> > > > the
> > > > > > > > > Java
> > > > > > > > > DAS apis from the simplest possible read in the test
> suite:
> > > > > > > > >
> > > > > > > > >         /**
> > > > > > > > >          * Read a specific customer
> > > > > > > > >          */
> > > > > > > > >         public void testReadSingle() throws Exception {
> > > > > > > > >
> > > > > > > > >             // Create and initialize command to read
> > customers
> > > > > > > > >             DAS das = DAS.FACTORY.createDAS
> > (getConnection());
> > > > > > > > >             Command readCustomers = das.createCommand
> > ("select
> > > *
> > > > > from
> > > > > > > > >     CUSTOMER where ID = 1");
> > > > > > > > >
> > > > > > > > >             // Read
> > > > > > > > >             DataObject root = readCustomers.executeQuery
> ();
> > > > > > > > >
> > > > > > > > >             // Verify
> > > > > > > > >             assertEquals(1, root.getInt
> ("CUSTOMER[1]/ID"));
> > > > > > > > >         }
> > > > > > > > >
> > > > > > > > > Notice that this example also does not allow
parameterized
> > > > > > queries.  I
> > > > > > > > >
> > > > > > > > > would make this simplifying assumption to get something
up
> > and
> > > > > > > > > running.
> > > > > > > > >
> > > > > > > > > I cannot help with the C++ equivalent of JDBC Connection
> but
> > I
> > > > am
> > > > > > sure
> > > > > > > > > there is something similar available.
> > > > > > > > >
> > > > > > > > > --
> > > > > > > > > Kevin
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Adriano Crestani wrote:
> > > > > > > > >
> > > > > > > > > > Good idea kelvin, but I'm begginer in servlet and I
> don't
> > > know
> > > > > > what
> > > > > > > > > > would be
> > > > > > > > > > the best way for the user to provide the connection
and
> > sql.
> > > > > > Though
> > > > > > > > > I
> > > > > > > > > > tried
> > > > > > > > > > this:
> > > > > > > > > >
> > > > > > > > > > import java.io.IOException;
> > > > > > > > > > import java.sql.DriverManager;
> > > > > > > > > >
> > > > > > > > > > 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;
> > > > > > > > > >
> > > > > > > > > > public class CommandServlet extends HttpServlet {
> > > > > > > > > >
> > > > > > > > > >    private static final long serialVersionUID =
> > > > > > > > > 1922159305255311505L;
> > > > > > > > > >
> > > > > > > > > >    public CommandServlet() {}
> > > > > > > > > >
> > > > > > > > > >    protected void doGet(HttpServletRequest arg0,
> > > > > > HttpServletResponse
> > > > > > > > >
> > > > > > > > > > arg1)
> > > > > > > > > > throws ServletException, IOException {
> > > > > > > > > >        DataObject items = test(getConnection(),
"SELECT
> id
> > > > FROM
> > > > > > item
> > > > > > > > > > WHERE
> > > > > > > > > > id = 1;");
> > > > > > > > > >        System.out.println("id = " + items.getInt
> > > > ("ITEM[1]/ID"));
> > > > > > > > > >
> > > > > > > > > >    }
> > > > > > > > > >
> > > > > > > > > >    public DataObject test(java.sql.Connection conn,
> String
> > > > > > readSql)
> > > > > > > > > {
> > > > > > > > > >        DAS das = DAS.FACTORY.createDAS(conn);
> > > > > > > > > >
> > > > > > > > > >        Command command = das.createCommand();
> > > > > > > > > >        DataObject allItems = command.executeQuery();
> > > > > > > > > >
> > > > > > > > > >        return allItems;
> > > > > > > > > >
> > > > > > > > > >    }
> > > > > > > > > >
> > > > > > > > > >    }
> > > > > > > > > >
> > > > > > > > > > }
> > > > > > > > > >
> > > > > > > > > > Adriano Crestani
> > > > > > > > > >
> > > > > > > > > > On 2/8/07, Kevin Williams <[EMAIL PROTECTED]> wrote:
> > > > > > > > > >
> > > > > > > > > >>
> > > > > > > > > >> You could actually start significantly simpler by
> making
> > > the
> > > > > > > > > following
> > > > > > > > > >> assumptions:
> > > > > > > > > >>
> > > > > > > > > >>    1. Read of a single table
> > > > > > > > > >>    2. User provides SQL programatically
> > > > > > > > > >>    3. User provides Connection programatically
> > > > > > > > > >>
> > > > > > > > > >> With these restrictions you can get something useful
> > > working
> > > > > > > > > without the
> > > > > > > > > >> classes required for config-file support.
> > > > > > > > > >>
> > > > > > > > > >> --
> > > > > > > > > >> Kevin
> > > > > > > > > >>
> > > > > > > > > >>
> > > > > > > > > >> Adriano Crestani wrote:
> > > > > > > > > >>
> > > > > > > > > >> > Luciano suggested to implement at first, the
> necessary
> > > > > classes
> > > > > > to
> > > > > > > > >
> > > > > > > > > >> > create a
> > > > > > > > > >> > simple app that only reads from a database using
the
> > das
> > > > c++.
> > > > > I
> > > > > > > > > was
> > > > > > > > > >> > checking
> > > > > > > > > >> > on the das java that these classes below are
> essential
> > to
> > > > > > create
> > > > > > > > > this
> > > > > > > > > >> > app.
> > > > > > > > > >> >
> > > > > > > > > >> > DAS
> > > > > > > > > >> > DASFactory
> > > > > > > > > >> > DASImpl
> > > > > > > > > >> > ConfigFactory
> > > > > > > > > >> > ConfigFactoryImpl
> > > > > > > > > >> > Config
> > > > > > > > > >> > MappingWrapper
> > > > > > > > > >> > config.Command
> > > > > > > > > >> > ReadCommandImpl
> > > > > > > > > >> > Command
> > > > > > > > > >> > CommandImpl
> > > > > > > > > >> > ConnectionInfo
> > > > > > > > > >> >
> > > > > > > > > >> >
> > > > > > > > > >> > All these classes may be found in das java. I'm
> needing
> > > > some
> > > > > > > > > >> > volunteers to
> > > > > > > > > >> > help implement these classes in c++. Actually,
these
> > > > classes
> > > > > > are
> > > > > > > > > >> > implemented, but are not compiling yet. So we need
> > these
> > > > > > classes
> > > > > > > > > >> > compiling
> > > > > > > > > >> > and implement a simple read app with these classes.
> > > > > > > > > >> >
> > > > > > > > > >> > Any suggestion will be appreciated.
> > > > > > > > > >> >
> > > > > > > > > >> > Adriano Crestani
> > > > > > > > > >> >
> > > > > > > > > >>
> > > > > > > > > >>
> > > > > > > > > >>
> > > > > > > > > >>
> > > > > > > > >
> > > > > >
> > >
---------------------------------------------------------------------
> > > > > > > > > >> To unsubscribe, e-mail:
> > > [EMAIL PROTECTED]
> > > > > > > > > >> For additional commands, e-mail:
> > > > [EMAIL PROTECTED]
> > > > > > > > > >>
> > > > > > > > > >>
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > >
> > >
---------------------------------------------------------------------
> > > > > > > > > To unsubscribe, e-mail:
> > [EMAIL PROTECTED]
> > > > > > > > > For additional commands, e-mail:
> > > [EMAIL PROTECTED]
> > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Reply via email to