User development,

A new message was posted in the thread "JBossTools-3.0.3.GA On Eclipse 
Ganymede":

http://community.jboss.org/message/528622#528622

Author  : Denis Golovin
Profile : http://community.jboss.org/people/dgolovin

Message:
--------------------------------------------------------------
You have several 
http://hsqldb.org/web/hsqlDocsFrame.htmlhttp://hsqldb.org/web/hsqlDocsFrame.html.
 I would chouse from couple described below:
1. In process - by pointing out to local folder during creating DTP Connection 
Profile
2. Server - by starting it outside eclipse using command line and then create 
DTP Connection Profile with local server
h2. In Process Option
If you use "in process" option you have to be aware that it is not enough just 
point out folder where your database is located in connection properties. You 
have to add one more segment to it with database name or your DB will be empty 
(see explanation below).
 
For example you have HSQL DB somewhere on disk with name "employee". Im my case 
I have it downloaded from 
https://svn.jboss.org/repos/jbosstools/trunk/documentation/development/usecases/en/modules/hsqldb/database
 and just moved all files to local directory /home/eskimo/db/employee. So I 
have in this folder structure showed below (ignore employee.lck file it will be 
created after first "In process" start and not needed initially)
http://community.jboss.org/servlet/JiveServlet/showImage/2156/hsql-db-structure.png
I assume you you have the same but you need to correct all paths 
"/home/eskimo/db/employee" and database name "employee" with yours real values.
Then you created "Database Connection" in DTP "Data Source Explorer" View by 
selecting "New..." from context menu on "Database Connections" node
http://community.jboss.org/servlet/JiveServlet/showImage/2157/hsql-new-conn-1.png
Then select "HSQLDB" connection type and enter DB name as "employee"
http://community.jboss.org/servlet/JiveServlet/showImage/2158/hsql-new-conn-2.png
Then I assume you already have configured HSQL JDBC Driver and all what you 
need to is enter database name again as "employee" and select its location. 
After that one magic step is needed (it could be DTP issue). Add one more 
segment in "Database Location" like "/employee" like it shown below. Do not 
forget clear "Connect when wizard completes" checkbox because it will start In 
Process HSQL after wizard is finished and create employee.lck file in your 
database folder. This file will be the reason Seam why Seam Entity Generation 
wizard will fail during execution.
http://community.jboss.org/servlet/JiveServlet/showImage/2159/hsql-new-conn-3.png
Press Finish and check that employee node created under "Database Connections".
 
Now you're ready to create Seam Web project using "New Seam Web Project" wizard 
like it shown below (it shows only first and last steps because all other steps 
I left unchanged with default values).
http://community.jboss.org/servlet/JiveServlet/showImage/2160/seam-new-1.png
Then comes screens I left unchanged and finally you get to last one with seam 
configuration. You should have seam 2.1 configured and all what you need is to 
fill Database properties like it shown below and press "Finish".
http://community.jboss.org/servlet/JiveServlet/showImage/2161/seam-new-2.png
After wizard is finished you should see two projects prj1 and prj1-test in your 
workspace. Now to be ready for entities reverse engineering from your database 
you need to be sure hsqldb.jar is available in your Server classpath container 
or in prj1/WebContent/WEB-INF/lib folder. If you don't have hsqldb.jar there 
"Generate Seam Entities" will fail with ClassNotFound Exception, because it 
will not be able to find HSQL JDBC driver class.
 
Now you're ready to go. Switch to Seam Perspective and select "Generate Seam 
Entiies" from context menu on prj1 project
http://community.jboss.org/servlet/JiveServlet/showImage/2163/seam-gen-entities-1.png
Leave first step unchanged like it shown below and press "Next"
http://community.jboss.org/servlet/JiveServlet/showImage/2164/seam-gen-entities-2.png
On second step press "Refresh" button and make sure it shows all tables form 
database as it shown below. If there are no tables most likely HSQL connection 
is not correctly configured. To generate Seam Entities and xhtml pages press 
"Finish".
http://community.jboss.org/servlet/JiveServlet/showImage/2165/seam-gen-entities-3.png
You should get bunch of generated classes in source folder and pages in 
WebContent.
h2. Server Option
You need to start HSQL as Server first using command line. Open console and 
change your directory to database directory like
 
$ cd /home/eskimo/db/employee

 
Then start HSQL server in Server Mode like
 
$java -cp /home/eskimo/Java/hsqldb/lib/hsqldb.jar org.hsqldb.Server

 
You should see output like
 
[ser...@19106c7]: [Thread[main,5,main]]: checkRunning(false) entered
[ser...@19106c7]: [Thread[main,5,main]]: checkRunning(false) exited
[ser...@19106c7]: Startup sequence initiated from main() method
[ser...@19106c7]: Loaded properties from 
[/home/eskimo/db/employee/server.properties]
[ser...@19106c7]: Initiating startup sequence...
[ser...@19106c7]: Server socket opened successfully in 8 ms.
[ser...@19106c7]: Database [index=0, id=0, db=file:employee, alias=] opened 
sucessfully in 690 ms.
[ser...@19106c7]: Startup sequence completed in 699 ms.
[ser...@19106c7]: 2010-02-25 13:37:54.016 HSQLDB server 1.8.1 is online
[ser...@19106c7]: To close normally, connect and execute SHUTDOWN SQL
[ser...@19106c7]: From command line, use [Ctrl]+[C] to abort abruptly


It starts by default in silent mode. If you want to see what's going one just 
change property +server.silent+ in server.properties file from +true+ to 
+false+ and your output will look like
 
[ser...@34a1fc]: [Thread[main,5,main]]: checkRunning(false) entered
[ser...@34a1fc]: [Thread[main,5,main]]: checkRunning(false) exited
[ser...@34a1fc]: Startup sequence initiated from main() method
[ser...@34a1fc]: Loaded properties from 
[/home/eskimo/db/employee/server.properties]
[ser...@34a1fc]: [Thread[main,5,main]]: start() entered
[ser...@34a1fc]: [Thread[HSQLDB Server @34a1fc,5,main]]: run() entered
[ser...@34a1fc]: Initiating startup sequence...
[ser...@34a1fc]: [Thread[HSQLDB Server @34a1fc,5,main]]: server.tls=false
[ser...@34a1fc]: [Thread[HSQLDB Server @34a1fc,5,main]]: server.port=1701
[ser...@34a1fc]: [Thread[HSQLDB Server @34a1fc,5,main]]: server.trace=false
[ser...@34a1fc]: [Thread[HSQLDB Server @34a1fc,5,main]]: 
server.database.0=employee
[ser...@34a1fc]: [Thread[HSQLDB Server @34a1fc,5,main]]: 
server.restart_on_shutdown=false
[ser...@34a1fc]: [Thread[HSQLDB Server @34a1fc,5,main]]: 
server.no_system_exit=false
[ser...@34a1fc]: [Thread[HSQLDB Server @34a1fc,5,main]]: server.silent=false
[ser...@34a1fc]: [Thread[HSQLDB Server @34a1fc,5,main]]: 
server.default_page=index.html
[ser...@34a1fc]: [Thread[HSQLDB Server @34a1fc,5,main]]: server.address=0.0.0.0
[ser...@34a1fc]: [Thread[HSQLDB Server @34a1fc,5,main]]: server.dbname.0=
[ser...@34a1fc]: [Thread[HSQLDB Server @34a1fc,5,main]]: server.root=.
[ser...@34a1fc]: [Thread[HSQLDB Server @34a1fc,5,main]]: openServerSocket() 
entered
[ser...@34a1fc]: [Thread[HSQLDB Server @34a1fc,5,main]]: Got server socket: 
ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=1701]
[ser...@34a1fc]: Server socket opened successfully in 4 ms.
[ser...@34a1fc]: [Thread[HSQLDB Server @34a1fc,5,main]]: openServerSocket() 
exiting
[ser...@34a1fc]: [Thread[HSQLDB Server @34a1fc,5,main]]: openDatabases() entered
[ser...@34a1fc]: [Thread[HSQLDB Server @34a1fc,5,main]]: Opening database: 
[file:employee]
[ser...@34a1fc]: Database [index=0, id=0, db=file:employee, alias=] opened 
sucessfully in 696 ms.
[ser...@34a1fc]: [Thread[HSQLDB Server @34a1fc,5,main]]: openDatabases() exiting
[ser...@34a1fc]: Startup sequence completed in 701 ms.
[ser...@34a1fc]: 2010-02-25 13:41:49.516 HSQLDB server 1.8.1 is online
[ser...@34a1fc]: To close normally, connect and execute SHUTDOWN SQL
[ser...@34a1fc]: From command line, use [Ctrl]+[C] to abort abruptly
[ser...@34a1fc]: [Thread[main,5,main]]: start() exiting

 
Starting HSQL as Servers you should not worry about employee.lck anymore and 
can leave "Connect when wizard completes" checkbox selected during creating new 
HSQL Database Connection, but Database Location should be changed to 
+hsql://localhost:1701+ in second step of "New Database Connection" Wizard like
http://community.jboss.org/servlet/JiveServlet/showImage/2168/hsql-new-conn-server-mode.png

--------------------------------------------------------------

To reply to this message visit the message page: 
http://community.jboss.org/message/528622#528622


_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to