Difference between revisions of "NexJ Express Connecting to PostgreSQL"
(→1- Setup the postgresql-connection) |
|||
(87 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | + | {{Admon/obsolete}} | |
− | {{ | ||
− | === 1- | + | [[category: NexJ Express PostgreSQL]][[Category:NexJ_Express_Development]][[category: NexJ Express]] |
− | * | + | |
− | : Create | + | == Task Summary == |
− | : | + | {| border="1" cellpadding="4" cellspacing="2" style="border: 1px solid black;border-collapse:collapse;" |
− | : | + | |- |
− | + | ! Task | |
− | + | ! Status | |
− | + | |- | |
− | : | + | | Install the PostgreSQL Server |
− | : | + | | DONE |
− | :: The | + | |- |
− | : | + | | Install PostgreSQL driver |
+ | | DONE | ||
+ | |- | ||
+ | | Add code to connect to server | ||
+ | | DONE | ||
+ | |- | ||
+ | | Create Script for Test database | ||
+ | | DONE | ||
+ | |- | ||
+ | | Test connection to the server | ||
+ | | DONE | ||
+ | |- | ||
+ | | Configure UnitTests for multiple DB's | ||
+ | | | ||
+ | |} | ||
+ | |||
+ | == Task Details == | ||
+ | === Install PostgreSQL === | ||
+ | Download: <code>Version 9.0</code> from list of [http://www.enterprisedb.com/products/pgdownload.do#windows PostgreSQL downloads]. | ||
+ | |||
+ | === Install PostgreSQL JDBC3 driver === | ||
+ | Download: <code> JDBC3 Postgresql Driver, Version 9.0-801 </code> @ http://jdbc.postgresql.org/download.html | ||
+ | <br/>Install: Copy driver to <code>[jdk folder]/jre/lib/ext</code> | ||
+ | |||
+ | === Code: Add PostgreSQL Driver === | ||
+ | Package: <code>nexj.core.persistance.sql</code> | ||
+ | :Create <code>PostgreSQLAdapter.java</code> by extending <code>SQLAdapter</code> | ||
+ | :Create <code>PostgreSQLSchemaManager.java</code> by extending <code>SQLSchemaManager</code> | ||
+ | |||
+ | :Edit <code>RelationalDatabase.java</code> | ||
+ | :Edit <code>RelationalDatabaseFragment.java</code> | ||
+ | :Edit <code>SQLSchemaManagerFactory.java</code> | ||
+ | |||
+ | Package: <code>nexj.core.meta.sys</code> | ||
+ | :Edit <code>system.dstypes</code> | ||
+ | |||
+ | === SQL Scripts === | ||
+ | Package: <code>nexj.core.persistence.sql.script</code> | ||
+ | :Create | ||
+ | * <code>postgresql_setup.sql</code> | ||
+ | * <code>postgresql_drop.sql</code> | ||
+ | * <code>postgresql_insert.sql</code> | ||
+ | * <code>postgresql_upd_addr.sql</code> | ||
+ | * <code>postgresql_upd_cont.sql</code> | ||
+ | |||
+ | === UnitTest: Test Connectivity to database === | ||
+ | Package: <code>nexj.core.persistance.sql</code> | ||
+ | :Create <code>PostgreSQLAdapterTest.java</code> by extending <code>SQLAdapterTest</code> | ||
+ | :Create <code>PostgreSQLSchemaManagerTest.java</code> by extending <code>SQLSchemaManagerTest</code> | ||
+ | |||
+ | Package: <code>nexj</code> | ||
+ | :Create <code>postgresql.connections</code> using NexJ Studio | ||
+ | :Edit <code>default.config</code> to use PostgreSQL | ||
+ | :Edit all <code>*.connections</code> files to use PostgreSQL | ||
+ | |||
+ | ===Configure UnitTests for more than one Database=== | ||
+ | |||
+ | <!-- | ||
+ | == Setup the postgresql-connection == | ||
+ | For testing the connection, the 'AllTests.java' is being used. | ||
+ | : Installed the <code> Installer version Version 9.0.1-1</code> from list of [http://www.enterprisedb.com/products/pgdownload.do#windows PostgreSQL downloads]. | ||
+ | : Installed the <code> JDBC3 Postgresql Driver, Version 9.0-801 </code> @ http://jdbc.postgresql.org/download.html and added it to the libraries in JDK | ||
+ | :: The driver class which is being used for NexJ Express Model is: <code> org.postgresql.xa.PGXADataSource </code> | ||
+ | :: The driver is loaded from RelationalDatabaseFragment.java and RelationalDatabase.java | ||
+ | : Metadata is loaded from the particular driver | ||
:: | :: | ||
<source lang=java> | <source lang=java> | ||
Line 29: | Line 92: | ||
props.setProperty(XMLMetadataLoader.CONNECTIONS_URL_PROPERTY, "/nexj/" + sAdapter.toLowerCase(Locale.ENGLISH) + ".connections"); // sets the properties to postgresql.connection | props.setProperty(XMLMetadataLoader.CONNECTIONS_URL_PROPERTY, "/nexj/" + sAdapter.toLowerCase(Locale.ENGLISH) + ".connections"); // sets the properties to postgresql.connection | ||
</source> | </source> | ||
− | : | + | : After all properties are loaded, it creates the connection through Connection Factory files. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | === | + | ===Files to Configure=== |
− | : | + | '''NOTE''': Changes to these files are involved with '''1-Port''', which should be: 5432, and '''2- Driver package''' that should change to <code> org.postgresql.xa.PGXADataSource </code> |
− | : | + | : src |
+ | :: system.dstype | ||
+ | :: DatabaseTool.java // This file calles SQLSchemaMangerFactory.java and creates the connection | ||
+ | :: RelationalDatabase.java // Sets the default properties for the supported drivers | ||
+ | :: RelationalDatabaseFragment.java // Sets the custom fragment properties for the supported drivers | ||
+ | :: Driver type and some other properties in JDBCInfo.java | ||
+ | :: SQLSchemaManagerFactory.java // Sets the connection for the particular adapter type | ||
+ | : test | ||
+ | :: AllTests.java | ||
+ | :: default.config // change to these four files are: adapter="PostgreSQL" port="5432" | ||
+ | :: postgresql.connection | ||
+ | :: filestorage.connections | ||
+ | ::filestoragefragment.connections | ||
+ | --> |
Latest revision as of 19:30, 26 January 2014
Contents
Task Summary
Task | Status |
---|---|
Install the PostgreSQL Server | DONE |
Install PostgreSQL driver | DONE |
Add code to connect to server | DONE |
Create Script for Test database | DONE |
Test connection to the server | DONE |
Configure UnitTests for multiple DB's |
Task Details
Install PostgreSQL
Download: Version 9.0
from list of PostgreSQL downloads.
Install PostgreSQL JDBC3 driver
Download: JDBC3 Postgresql Driver, Version 9.0-801
@ http://jdbc.postgresql.org/download.html
Install: Copy driver to [jdk folder]/jre/lib/ext
Code: Add PostgreSQL Driver
Package: nexj.core.persistance.sql
- Create
PostgreSQLAdapter.java
by extendingSQLAdapter
- Create
PostgreSQLSchemaManager.java
by extendingSQLSchemaManager
- Edit
RelationalDatabase.java
- Edit
RelationalDatabaseFragment.java
- Edit
SQLSchemaManagerFactory.java
Package: nexj.core.meta.sys
- Edit
system.dstypes
SQL Scripts
Package: nexj.core.persistence.sql.script
- Create
-
postgresql_setup.sql
-
postgresql_drop.sql
-
postgresql_insert.sql
-
postgresql_upd_addr.sql
-
postgresql_upd_cont.sql
UnitTest: Test Connectivity to database
Package: nexj.core.persistance.sql
- Create
PostgreSQLAdapterTest.java
by extendingSQLAdapterTest
- Create
PostgreSQLSchemaManagerTest.java
by extendingSQLSchemaManagerTest
Package: nexj
- Create
postgresql.connections
using NexJ Studio - Edit
default.config
to use PostgreSQL - Edit all
*.connections
files to use PostgreSQL