migrate oracle and postgresql provider to be equinox extension based.

This commit is contained in:
Heng Sin Low 2010-08-23 19:27:28 +08:00
parent f10ccf4615
commit 822e567898
46 changed files with 398 additions and 237 deletions

View File

@ -4,7 +4,7 @@
<!-- PIPO -->
<!-- ============================================= -->
<project name="pipo" default="plugin" basedir=".">
<project name="JasperReportClient" default="plugin" basedir=".">
<description>
This buildfile is used to build the client subproject within

View File

@ -117,13 +117,7 @@ public class JasperViewer extends javax.swing.JFrame {
CConnection compiereConnection = CConnection.get();
try {
if (compiereConnection.isOracle())
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
if (compiereConnection.isPostgreSQL())
DriverManager.registerDriver(new org.postgresql.Driver());
// if (compiereConnection.isSybase())
//DriverManager.registerDriver(new com.sybase.jdbc3.jdbc.SybDriver());
// DriverManager.registerDriver(new net.sourceforge.jtds.jdbc.Driver());
DriverManager.registerDriver(compiereConnection.getDatabase().getDriver());
//this is for test only
return DriverManager.getConnection(args[1], args[2], args[3]);
@ -132,9 +126,11 @@ public class JasperViewer extends javax.swing.JFrame {
return null;
}
}
public static Connection getConnection() {
CConnection compiereConnection = CConnection.get();
try {
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
DriverManager.registerDriver(compiereConnection.getDatabase().getDriver());
//this is for test only prefer testingby calling org.compiere.report.JaserViewer JDBC_CONNECTION JDBC_USER JDBC_PASS
return DriverManager.getConnection("jdbc:oracle:thin:@abalone.lesmuids.com:1521:abalone", "adempiere", "adempiere");
} catch (SQLException e) {

View File

@ -6,5 +6,6 @@
<extension-point id="org.adempiere.base.IDictionaryService" name="DictionaryService" schema="schema/org.adempiere.base.IDictionaryService.exsd"/>
<extension-point id="org.adempiere.base.Process" name="Process" schema="schema/org.adempiere.base.Process.exsd"/>
<extension-point id="org.adempiere.base.ModelValidator" name="Model Validator" schema="schema/org.adempiere.base.ModelValidator.exsd"/>
<extension-point id="org.compiere.db.AdempiereDatabase" name="Adempiere Database Interface" schema="schema/org.compiere.db.AdempiereDatabase.exsd"/>
</plugin>

View File

@ -0,0 +1,109 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.adempiere.base" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appinfo>
<meta.schema plugin="org.adempiere.base" id="org.compiere.db.AdempiereDatabase" name="Adempiere Database Interface"/>
</appinfo>
<documentation>
[Enter description of this extension point.]
</documentation>
</annotation>
<element name="extension">
<annotation>
<appinfo>
<meta.element />
</appinfo>
</annotation>
<complexType>
<choice>
<element ref="database"/>
</choice>
<attribute name="point" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="id" type="string">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string">
<annotation>
<documentation>
</documentation>
<appinfo>
<meta.attribute translatable="true"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="database">
<complexType>
<attribute name="id" type="string" use="required">
<annotation>
<documentation>
Oracle, PostgreSQL, etc
</documentation>
</annotation>
</attribute>
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
Implementation class name
</documentation>
<appinfo>
<meta.attribute kind="java" basedOn=":org.compiere.db.AdempiereDatabase"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appinfo>
<meta.section type="since"/>
</appinfo>
<documentation>
[Enter the first release in which this extension point appears.]
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="examples"/>
</appinfo>
<documentation>
[Enter extension point usage example here.]
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="apiinfo"/>
</appinfo>
<documentation>
[Enter API information here.]
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="implementation"/>
</appinfo>
<documentation>
[Enter information about supplied implementation of this extension point.]
</documentation>
</annotation>
</schema>

View File

@ -701,21 +701,17 @@ public class CConnection implements Serializable, Cloneable
*/
public void setType (String type)
{
for (int i = 0; i < Database.DB_NAMES.length; i++)
if (Database.getDatabase(type) != null)
{
if (Database.DB_NAMES[i].equals (type))
{
m_type = type;
m_okDB = false;
break;
}
m_type = type;
m_okDB = false;
}
// Oracle
if (isOracle ())
{
if (getDbPort () != DB_Oracle.DEFAULT_PORT)
setDbPort (DB_Oracle.DEFAULT_PORT);
setFwPort (DB_Oracle.DEFAULT_CM_PORT);
if (getDbPort () != Database.DB_ORACLE_DEFAULT_PORT)
setDbPort (Database.DB_ORACLE_DEFAULT_PORT);
setFwPort (Database.DB_ORACLE_DEFAULT_CM_PORT);
}
else
{
@ -727,8 +723,8 @@ public class CConnection implements Serializable, Cloneable
// PostgreSQL
if (isPostgreSQL ())
{
if (getDbPort () != DB_PostgreSQL.DEFAULT_PORT)
setDbPort (DB_PostgreSQL.DEFAULT_PORT);
if (getDbPort () != Database.DB_POSTGRESQL_DEFAULT_PORT)
setDbPort (Database.DB_POSTGRESQL_DEFAULT_PORT);
}
//end vpj-cd e-evolution 09 ene 2006
} // setType
@ -1070,15 +1066,7 @@ public class CConnection implements Serializable, Cloneable
{
try
{
for (int i = 0; i < Database.DB_NAMES.length; i++)
{
if (Database.DB_NAMES[i].equals (m_type))
{
m_db = (AdempiereDatabase)Database.DB_CLASSES[i].
newInstance ();
break;
}
}
m_db = Database.getDatabase(m_type);
if (m_db != null) // test class loader ability
m_db.getDataSource(this);
}

View File

@ -102,15 +102,7 @@ public class CreateAdempiere
{
try
{
for (int i = 0; i < Database.DB_NAMES.length; i++)
{
if (Database.DB_NAMES[i].equals (databaseType))
{
m_dbTarget = (AdempiereDatabase)Database.DB_CLASSES[i].
newInstance ();
break;
}
}
m_dbTarget = Database.getDatabase(databaseType);
}
catch (Exception e)
{

View File

@ -16,7 +16,14 @@
*****************************************************************************/
package org.compiere.db;
import java.util.ArrayList;
import java.util.List;
import org.adempiere.base.Service;
import org.adempiere.base.ServiceQuery;
import org.compiere.util.CLogger;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.Platform;
/**
* General Database Constants and Utilities
@ -34,41 +41,42 @@ public class Database
/** PostgreSQL ID */
public static String DB_POSTGRESQL = "PostgreSQL";
/** Supported Databases */
public static String[] DB_NAMES = new String[] {
DB_ORACLE
,DB_POSTGRESQL
};
/** Database Classes */
protected static Class[] DB_CLASSES = new Class[] {
DB_Oracle.class
,DB_PostgreSQL.class
};
/** Connection Timeout in seconds */
public static int CONNECTION_TIMEOUT = 10;
/** Default Port */
public static final int DB_ORACLE_DEFAULT_PORT = 1521;
/** Default Connection Manager Port */
public static final int DB_ORACLE_DEFAULT_CM_PORT = 1630;
/** Default Port */
public static final int DB_POSTGRESQL_DEFAULT_PORT = 5432;
/**
* Get Database by database Id.
* @return database
*/
public static AdempiereDatabase getDatabase (String type)
throws Exception
{
AdempiereDatabase db = null;
for (int i = 0; i < Database.DB_NAMES.length; i++)
{
if (Database.DB_NAMES[i].equals (type))
{
db = (AdempiereDatabase)Database.DB_CLASSES[i].
newInstance ();
break;
}
}
ServiceQuery query = new ServiceQuery();
query.put("id", type);
AdempiereDatabase db = Service.locate(AdempiereDatabase.class, query);
return db;
}
public static String[] getDatabaseNames()
{
List<String> names = new ArrayList<String>();
IConfigurationElement[] elements = Platform.getExtensionRegistry().getConfigurationElementsFor(AdempiereDatabase.class.getName());
for(IConfigurationElement element : elements)
{
String type = element.getAttribute("id");
names.add(type);
}
String[] nameArray = names.toArray(new String[0]);
return nameArray;
}
/**
* Get Database Driver by url string.
* Access to database specific functionality.
@ -83,9 +91,9 @@ public class Database
return null;
}
if (url.indexOf("oracle") != -1)
return new DB_Oracle();
return getDatabase(DB_ORACLE);
if (url.indexOf("postgresql") != -1)
return new DB_PostgreSQL();
return getDatabase(DB_POSTGRESQL);
log.severe("No Database for " + url);
return null;

View File

@ -82,7 +82,7 @@ public class TestConnection
{
try
{
DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
DriverManager.registerDriver(Database.getDatabase(Database.DB_ORACLE).getDriver());
}
catch (SQLException ex)
{

View File

@ -35,6 +35,7 @@ import java.util.Vector;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.compiere.db.Database;
import org.compiere.model.MSysConfig;
import org.compiere.util.CLogger;
import org.compiere.util.DisplayType;
@ -442,7 +443,7 @@ public abstract class Convert
try {
if (pgStatement == null) {
// if oracle call convert for postgres before logging
Convert_PostgreSQL convert = new Convert_PostgreSQL();
Convert convert = Database.getDatabase(Database.DB_POSTGRESQL).getConvert();
String[] r = convert.convert(oraStatement);
pgStatement = r[0];
}

View File

@ -26,8 +26,6 @@ import java.util.Locale;
import javax.sql.RowSet;
import javax.sql.rowset.CachedRowSet;
import oracle.jdbc.rowset.OracleCachedRowSet;
import org.compiere.db.AdempiereDatabase;
import org.compiere.db.Database;
@ -106,7 +104,7 @@ public class CCachedRowSet extends CachedRowSetImpl implements CachedRowSet
Statement stmt = conn.createStatement
(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
ResultSet rs = stmt.executeQuery(sql);
OracleCachedRowSet crs = new OracleCachedRowSet();
CachedRowSetImpl crs = new CachedRowSetImpl();
crs.populate(rs);
rs.close();
stmt.close();
@ -133,7 +131,7 @@ public class CCachedRowSet extends CachedRowSetImpl implements CachedRowSet
{
if (db.getName().equals(Database.DB_ORACLE))
{
OracleCachedRowSet crs = new OracleCachedRowSet();
CachedRowSetImpl crs = new CachedRowSetImpl();
crs.populate(rs);
return crs;
}

View File

@ -7,9 +7,9 @@
id="RF"
name="RF"
point="org.adempiere.base.IResourceFinder">
<client
<finder
class="org.compiere.util.ResourceFinder">
</client>
</finder>
</extension>
<extension
id="org.adempiere.Client"

View File

@ -132,7 +132,7 @@ public class CConnectionDialog extends CDialog implements ActionListener
private CTextField fwPortField = new CTextField();
private CButton bTestDB = new CButton();
private CLabel dbTypeLabel = new CLabel();
private CComboBox dbTypeField = new CComboBox(Database.DB_NAMES);
private CComboBox dbTypeField = new CComboBox(Database.getDatabaseNames());
private CCheckBox cbBequeath = new CCheckBox();
private CLabel appsHostLabel = new CLabel();
private CTextField appsHostField = new CTextField();

View File

@ -49,7 +49,6 @@ import javax.swing.JTextArea;
import org.compiere.Adempiere;
import org.compiere.db.CConnection;
import org.compiere.db.CConnectionEditor;
import org.compiere.db.DB_PostgreSQL;
import org.compiere.db.Database;
import org.compiere.swing.CFrame;
@ -81,7 +80,7 @@ public class ConvertDialog extends CFrame implements ActionListener
fSelectFile.addItem("D:\\adempiere\\db\\database\\create\\adempiere.sql");
// Set up environment
fConnect.setValue(CConnection.get(Database.DB_POSTGRESQL,
"linux", DB_PostgreSQL.DEFAULT_PORT, "adempiere"));
"linux", Database.DB_POSTGRESQL_DEFAULT_PORT, "adempiere"));
fTarget.setSelectedItem(Database.DB_POSTGRESQL);
fExecute.setSelected(true);
@ -112,7 +111,7 @@ public class ConvertDialog extends CFrame implements ActionListener
private Component component3;
private Component component4;
private JLabel lTarget = new JLabel();
private JComboBox fTarget = new JComboBox(Database.DB_NAMES);
private JComboBox fTarget = new JComboBox(Database.getDatabaseNames());
private JCheckBox fVerbose = new JCheckBox();
/**

View File

@ -17,9 +17,9 @@
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dosgi.noShutdown=true -DPropertyFile=/media/W/Workspace/hengsin/trunk-local.properties"/>
<stringAttribute key="pde.version" value="3.3"/>
<booleanAttribute key="show_selected_only" value="false"/>
<stringAttribute key="target_bundles" value="org.eclipse.equinox.ds@default:true,org.eclipse.core.runtime@default:true,com.springsource.javax.jms@default:default,com.springsource.javax.activation@default:default,org.eclipse.osgi.services@default:default,com.springsource.javax.servlet.jsp@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.update.configurator@3:true,org.eclipse.equinox.preferences@default:default,com.springsource.javax.servlet@default:default,com.springsource.net.sf.cglib@default:default,org.eclipse.core.jobs@default:default,org.eclipse.osgi@-1:true,com.springsource.javax.el@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.app@default:default,com.springsource.javax.ejb@default:default,org.eclipse.equinox.util@default:default,com.springsource.javax.xml.rpc@default:default,org.eclipse.core.contenttype@default:default,com.springsource.javax.xml.soap@default:default,org.eclipse.equinox.common@2:true"/>
<stringAttribute key="target_bundles" value="com.springsource.net.sf.cglib@default:default,com.springsource.javax.xml.rpc@default:default,com.springsource.javax.activation@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.osgi@-1:true,org.eclipse.equinox.ds@default:true,com.springsource.javax.el@default:default,org.eclipse.core.contenttype@default:default,com.springsource.javax.jms@default:default,org.eclipse.osgi.services@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.core.runtime@default:true,com.springsource.javax.servlet.jsp@default:default,com.springsource.javax.xml.soap@default:default,org.eclipse.core.jobs@default:default,org.eclipse.update.configurator@3:true,com.springsource.javax.ejb@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.util@default:default,com.springsource.javax.servlet@default:default"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
<booleanAttribute key="useDefaultConfigArea" value="true"/>
<stringAttribute key="workspace_bundles" value="org.adempiere.client@default:true,org.adempiere.apps.JasperReportsClient@default:true,org.adempiere.libero.mfg@default:false,org.adempiere.base@default:default,org.adempiere.JasperReportsTools@default:default,org.adempiere.pipo.defaultHandlers@default:default,org.adempiere.JasperReports@default:default,org.adempiere.extend@default:false,org.adempiere.libero.hr@default:false,org.adempiere.pipo@default:default,org.adempiere.JasperReports.webapp@default:default,org.adempiere.tools@default:default,org.adempiere.ui.base@default:default"/>
<stringAttribute key="workspace_bundles" value="org.compiere.db.oracleProvider@default:default,org.adempiere.libero.hr@default:false,org.adempiere.base@default:default,org.adempiere.pipo.defaultHandlers@default:default,org.compiere.db.postgreSQLProvider@default:default,org.adempiere.JasperReports.webapp@default:default,org.adempiere.client@default:true,org.adempiere.ui.base@default:default,org.adempiere.tools@default:default,org.adempiere.libero.mfg@default:false,org.adempiere.extend@default:false,org.adempiere.apps.JasperReportsClient@default:true,org.adempiere.JasperReports@default:default,org.adempiere.pipo@default:default,org.adempiere.JasperReportsTools@default:default"/>
</launchConfiguration>

View File

@ -17,10 +17,10 @@
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.ignoreApp=true -Dosgi.noShutdown=true -DPropertyFile=${workspace_loc}/adempiere-local.properties -DADEMPIERE_HOME=${workspace_loc}"/>
<stringAttribute key="pde.version" value="3.3"/>
<booleanAttribute key="show_selected_only" value="false"/>
<stringAttribute key="target_bundles" value="org.springframework.core@default:default,com.springsource.javax.xml.ws@1:default,org.eclipse.equinox.ds@default:true,org.eclipse.core.runtime@default:true,com.springsource.javax.xml.bind@default:default,org.eclipse.virgo.util.io@default:default,org.springframework.aop@default:default,org.eclipse.gemini.web.extender@default:default,com.springsource.javax.jms@default:default,com.springsource.org.apache.el.springsource@default:default,org.springframework.osgi.core@default:default,com.springsource.slf4j.nop@default:false,com.springsource.javax.mail@default:default,org.eclipse.virgo.util.osgi@default:default,com.springsource.javax.persistence@default:default,com.springsource.javax.annotation@default:default,org.apache.xerces@default:default,com.springsource.javax.activation@default:default,com.springsource.org.aopalliance@default:default,com.springsource.slf4j.api@default:false,javax.xml@default:default,org.eclipse.gemini.web.core@default:default,com.springsource.org.apache.juli.extras.springsource@default:default,org.eclipse.osgi.services@default:default,com.springsource.javax.servlet.jsp@default:default,org.eclipse.equinox.launcher@default:default,com.springsource.org.apache.jasper.org.eclipse.jdt.springsource@default:default,org.springframework.context@default:default,org.eclipse.update.configurator@3:true,org.eclipse.equinox.preferences@default:default,com.springsource.javax.servlet@default:default,org.apache.xml.serializer@default:default,com.springsource.net.sf.cglib@default:default,org.eclipse.core.jobs@default:default,org.eclipse.osgi@-1:true,org.eclipse.virgo.util.parser.manifest@default:default,com.springsource.javax.el@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.app@default:default,org.springframework.osgi.io@default:default,com.springsource.javax.ejb@default:default,org.eclipse.equinox.util@default:default,com.springsource.javax.xml.rpc@default:default,org.eclipse.core.contenttype@default:default,com.springsource.javax.xml.stream@default:default,com.springsource.org.apache.catalina.springsource@default:default,org.eclipse.gemini.web.tomcat@default:default,com.springsource.javax.xml.soap@default:default,com.springsource.org.apache.commons.logging@default:default,com.springsource.org.apache.coyote.springsource@default:false,com.springsource.org.apache.jasper.springsource@default:false,org.eclipse.equinox.common@2:true,org.springframework.beans@default:default,org.apache.xml.resolver@default:default,org.eclipse.virgo.util.common@default:default,org.eclipse.virgo.util.math@default:default"/>
<stringAttribute key="target_bundles" value="com.springsource.net.sf.cglib@default:default,org.apache.xerces@default:default,org.apache.xml.resolver@default:default,com.springsource.javax.xml.rpc@default:default,com.springsource.javax.activation@default:default,org.eclipse.virgo.util.osgi@default:default,org.eclipse.virgo.util.math@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.osgi@-1:true,org.eclipse.equinox.ds@default:true,com.springsource.javax.el@default:default,org.eclipse.gemini.web.core@default:default,com.springsource.javax.annotation@default:default,com.springsource.javax.xml.stream@default:default,org.springframework.core@default:default,org.eclipse.virgo.util.io@default:default,org.eclipse.core.contenttype@default:default,com.springsource.javax.jms@default:default,com.springsource.org.apache.el.springsource@default:default,org.eclipse.osgi.services@default:default,org.eclipse.gemini.web.extender@default:default,org.springframework.beans@default:default,org.eclipse.virgo.util.common@default:default,org.eclipse.equinox.app@default:default,com.springsource.org.apache.coyote.springsource@default:false,com.springsource.slf4j.nop@default:false,com.springsource.org.apache.jasper.org.eclipse.jdt.springsource@default:default,org.springframework.context@default:default,com.springsource.javax.xml.bind@default:default,org.apache.xml.serializer@default:default,org.eclipse.equinox.registry@default:default,com.springsource.org.apache.catalina.springsource@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.core.runtime@default:true,com.springsource.javax.servlet.jsp@default:default,com.springsource.javax.xml.soap@default:default,org.springframework.osgi.io@default:default,org.eclipse.gemini.web.tomcat@default:default,com.springsource.org.apache.jasper.springsource@default:false,com.springsource.org.aopalliance@default:default,org.springframework.osgi.core@default:default,com.springsource.org.apache.commons.logging@default:default,com.springsource.slf4j.api@default:false,org.eclipse.core.jobs@default:default,javax.xml@default:default,org.eclipse.update.configurator@3:true,org.springframework.aop@default:default,org.eclipse.virgo.util.parser.manifest@default:default,com.springsource.javax.ejb@default:default,org.eclipse.equinox.common@2:true,com.springsource.javax.xml.ws@1:default,com.springsource.javax.mail@default:default,com.springsource.org.apache.juli.extras.springsource@default:default,org.eclipse.equinox.util@default:default,com.springsource.javax.servlet@default:default,com.springsource.javax.persistence@default:default"/>
<stringAttribute key="timestamp" value="1278667578549"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
<booleanAttribute key="useDefaultConfigArea" value="true"/>
<stringAttribute key="workspace_bundles" value="org.adempiere.wstore@default:default,org.adempiere.libero.mfg@default:false,org.adempiere.base@default:default,org.adempiere.JasperReportsTools@default:default,org.adempiere.pipo.defaultHandlers@default:default,org.adempiere.JasperReports@default:default,org.adempiere.tomcat.config@default:false,org.adempiere.extend@default:false,org.adempiere.serverApps@default:default,org.adempiere.serverRoot@default:default,org.adempiere.libero.hr@default:false,org.adempiere.pipo@default:default,org.adempiere.JasperReports.webapp@default:default,org.adempiere.libero.mfg.zk@default:false,org.adempiere.webui@default:true,org.adempiere.tools@default:default,org.adempiere.ui.base@default:default"/>
<stringAttribute key="workspace_bundles" value="org.compiere.db.oracleProvider@default:default,org.adempiere.libero.hr@default:false,org.adempiere.base@default:default,org.adempiere.pipo.defaultHandlers@default:default,org.adempiere.libero.mfg.zk@default:false,org.compiere.db.postgreSQLProvider@default:default,org.adempiere.JasperReports.webapp@default:default,org.adempiere.wstore@default:default,org.adempiere.serverRoot@default:default,org.adempiere.webui@default:true,org.adempiere.ui.base@default:default,org.adempiere.tools@default:default,org.adempiere.libero.mfg@default:false,org.adempiere.tomcat.config@default:false,org.adempiere.extend@default:false,org.adempiere.JasperReports@default:default,org.adempiere.pipo@default:default,org.adempiere.serverApps@default:default,org.adempiere.JasperReportsTools@default:default"/>
</launchConfiguration>

View File

@ -26,10 +26,7 @@ import java.sql.DriverManager;
import java.util.ArrayList;
import java.util.regex.Pattern;
import oracle.jdbc.OracleDriver;
import org.compiere.db.DB_Oracle;
import org.compiere.db.Database;
/**
* Oracle Configuration
@ -50,8 +47,6 @@ public class ConfigOracle extends Config
m_XE = XE;
} // ConfigOracle
/** Oracle Driver */
private static OracleDriver s_oracleDriver = null;
/** Discoverd TNS */
private String[] p_discovered = null;
/** Discovered Database Name */
@ -66,7 +61,7 @@ public class ConfigOracle extends Config
*/
public void init()
{
p_data.setDatabasePort(String.valueOf(DB_Oracle.DEFAULT_PORT));
p_data.setDatabasePort(String.valueOf(Database.DB_ORACLE_DEFAULT_PORT));
//
p_data.setDatabaseSystemPassword(true);
} // init
@ -428,11 +423,7 @@ public class ConfigOracle extends Config
log.fine("Url=" + url + ", UID=" + uid);
try
{
if (s_oracleDriver == null)
{
s_oracleDriver = new OracleDriver();
DriverManager.registerDriver(s_oracleDriver);
}
DriverManager.registerDriver(Database.getDatabase(Database.DB_ORACLE).getDriver());
m_con = DriverManager.getConnection(url, uid, pwd);
}
catch (UnsatisfiedLinkError ule)

View File

@ -17,7 +17,8 @@ package org.compiere.install;
import java.net.InetAddress;
import java.sql.Connection;
import org.compiere.db.DB_PostgreSQL;
import org.compiere.db.AdempiereDatabase;
import org.compiere.db.Database;
/**
* PostgreSQL Configuration
@ -39,15 +40,15 @@ public class ConfigPostgreSQL extends Config
/** Discovered TNS */
private String[] p_discovered = null;
/** PostgreSQL DB Info */
private DB_PostgreSQL p_db = new DB_PostgreSQL();
private AdempiereDatabase p_db = Database.getDatabase(Database.DB_POSTGRESQL);
/**
* Init
*/
public void init()
{
p_data.setDatabasePort(String.valueOf(DB_PostgreSQL.DEFAULT_PORT));
p_data.setDatabasePort(String.valueOf(Database.DB_POSTGRESQL_DEFAULT_PORT));
} // init
/**

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry exported="true" kind="lib" path="ojdbc6.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>

28
oracleProvider/.project Normal file
View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>oracleProvider</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,8 @@
#Mon Aug 23 18:48:06 MYT 2010
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.compliance=1.6
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.6

View File

@ -0,0 +1,4 @@
#Mon Aug 23 18:49:14 MYT 2010
eclipse.preferences.version=1
pluginProject.extensions=true
resolve.requirebundle=false

View File

@ -0,0 +1,10 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: OracleProvider
Bundle-SymbolicName: org.compiere.db.oracleProvider;singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.adempiere.base;bundle-version="1.0.0",
org.adempiere.tools;bundle-version="1.0.0"
Bundle-ClassPath: .,
ojdbc6.jar

View File

@ -0,0 +1,7 @@
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
plugin.xml,\
ojdbc6.jar
source.. = src/

36
oracleProvider/build.xml Normal file
View File

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- ============================================= -->
<!-- PIPO -->
<!-- ============================================= -->
<project name="oracleProvider" default="plugin" basedir=".">
<description>
This buildfile is used to build the client subproject within
the Adempiere project.
</description>
<import file="../utils_dev/properties.xml"/>
<target name="init" description="initialization target">
<echo message="=========== Build Oracle Provider"/>
</target>
<target name="plugin" depends="init">
<buildPlugin workspaceDirectory="${workspace}"
projectName="oracleProvider"
targetPlatformId="target.platform"
destination="../lib"
buildSourceJar="false" />
</target>
<target name="clean">
<delete>
<fileset dir="../lib/plugins">
<include name="org.compiere.db.oracleProvider_*.jar"/>
</fileset>
</delete>
</target>
</project>

12
oracleProvider/plugin.xml Normal file
View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<extension
point="org.compiere.db.AdempiereDatabase">
<database
class="org.compiere.db.DB_Oracle"
id="Oracle">
</database>
</extension>
</plugin>

View File

@ -4,7 +4,7 @@
<!-- PIPO -->
<!-- ============================================= -->
<project name="pipo" default="plugin" basedir=".">
<project name="pipoHandlers" default="plugin" basedir=".">
<description>
This buildfile is used to build the client subproject within

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry exported="true" kind="lib" path="postgresql.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>postgresqlProvider</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,8 @@
#Mon Aug 23 18:53:29 MYT 2010
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.compliance=1.6
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.6

View File

@ -0,0 +1,4 @@
#Mon Aug 23 18:53:29 MYT 2010
eclipse.preferences.version=1
pluginProject.extensions=false
resolve.requirebundle=false

View File

@ -0,0 +1,10 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: PostgresqlProvider
Bundle-SymbolicName: org.compiere.db.postgreSQLProvider
Bundle-Version: 1.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ClassPath: .,
postgresql.jar
Require-Bundle: org.adempiere.base;bundle-version="1.0.0",
org.adempiere.tools;bundle-version="1.0.0"

View File

@ -0,0 +1,6 @@
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
postgresql.jar
source.. = src/

View File

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- ============================================= -->
<!-- PIPO -->
<!-- ============================================= -->
<project name="postgresqlProvider" default="plugin" basedir=".">
<description>
This buildfile is used to build the client subproject within
the Adempiere project.
</description>
<import file="../utils_dev/properties.xml"/>
<target name="init" description="initialization target">
<echo message="=========== Build Oracle Provider"/>
</target>
<target name="plugin" depends="init">
<buildPlugin workspaceDirectory="${workspace}"
projectName="postgresqlProvider"
targetPlatformId="target.platform"
destination="../lib"
buildSourceJar="false" />
</target>
<target name="clean">
<delete>
<fileset dir="../lib/plugins">
<include name="org.compiere.db.postgreSQLProvider_*.jar"/>
</fileset>
</delete>
</target>
</project>

View File

@ -116,8 +116,6 @@
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry exported="true" kind="lib" path="lib/postgresql.jar"/>
<classpathentry exported="true" kind="lib" path="lib/ojdbc6.jar"/>
<classpathentry exported="true" kind="lib" path="lib/c3p0-0.9.1.2.jar"/>
<classpathentry exported="true" kind="lib" path="lib/activemq-core-5.0.0.jar"/>
<classpathentry exported="true" kind="lib" path="lib/junit.jar"/>

View File

@ -30,7 +30,6 @@ Bundle-ClassPath: tools.jar,
lib/commons-logging.jar,
lib/jgraph.jar,
lib/logkit.jar,
lib/postgresql.jar,
lib/wizard.jar,
lib/xjavadoc-1.1.jar,
lib/xml-apis.jar,
@ -43,7 +42,6 @@ Bundle-ClassPath: tools.jar,
lib/commons-net-1.4.0.jar,
lib/cron4j-2.2.1.jar,
lib/payflow.jar,
lib/ojdbc6.jar,
lib/c3p0-oracle-thin-extras-0.9.1.2.jar,
lib/jcommon-1.0.16.jar,
lib/jfreechart-1.0.13.jar,
@ -492,95 +490,6 @@ Export-Package: Lib,
net.sourceforge.barbecue.linear.upc;uses:="net.sourceforge.barbecue,net.sourceforge.barbecue.output,net.sourceforge.barbecue.linear",
net.sourceforge.barbecue.output;uses:="org.jdom",
net.sourceforge.barbecue.twod.pdf417;uses:="net.sourceforge.barbecue,net.sourceforge.barbecue.output,net.sourceforge.barbecue.linear",
oracle.core.lmx,
oracle.core.lvf,
oracle.jdbc;
uses:="oracle.jdbc.internal,
oracle.jdbc.dcn,
oracle.jdbc.aq,
oracle.jdbc.driver,
oracle.sql,
oracle.jdbc.pool",
oracle.jdbc.aq;uses:="oracle.jdbc,oracle.sql",
oracle.jdbc.connector;
uses:="javax.resource.spi.endpoint,
javax.resource.spi,
javax.resource.spi.security,
javax.transaction.xa,
javax.security.auth,
javax.sql",
oracle.jdbc.dcn;uses:="oracle.jdbc,oracle.sql",
oracle.jdbc.diagnostics,
oracle.jdbc.driver;
uses:="oracle.jdbc.internal,
oracle.net.ns,
oracle.jdbc.dcn,
oracle.jdbc.xa,
oracle.jdbc.pool,
oracle.jdbc.oracore,
javax.management,
oracle.jdbc.aq,
javax.transaction.xa,
oracle.jdbc,
oracle.sql,
oracle.jdbc.xa.client",
oracle.jdbc.internal;x-internal:=true;
uses:="oracle.jdbc,
oracle.jdbc.oracore,
oracle.sql,
javax.transaction.xa,
oracle.jdbc.pool",
oracle.jdbc.oci;uses:="oracle.jdbc.driver",
oracle.jdbc.oracore;uses:="oracle.jdbc.internal,oracle.sql",
oracle.jdbc.pool;
uses:="oracle.jdbc.internal,
javax.transaction.xa,
oracle.jdbc.oci,
javax.naming.spi,
javax.sql,
oracle.jdbc,
javax.naming,
oracle.jdbc.driver,
oracle.ons",
oracle.jdbc.rowset;
uses:="javax.sql.rowset,
oracle.jdbc.internal,
org.xml.sax,
org.w3c.dom,
javax.sql,
oracle.jdbc,
oracle.jdbc.driver,
org.xml.sax.helpers,
javax.sql.rowset.spi",
oracle.jdbc.util,
oracle.jdbc.xa;uses:="javax.transaction.xa,oracle.jdbc.pool,javax.sql",
oracle.jdbc.xa.client;
uses:="oracle.jdbc.internal,
oracle.jdbc.driver,
javax.transaction.xa,
oracle.jdbc.xa,
javax.sql",
oracle.jpub.runtime;uses:="oracle.net.nl",
oracle.net.ano;uses:="oracle.net.ns,oracle.net.aso",
oracle.net.aso,
oracle.net.jdbc.TNSAddress,
oracle.net.jdbc.nl,
oracle.net.jdbc.nl.mesg,
oracle.net.jndi;uses:="javax.naming.directory,javax.net,javax.net.ssl",
oracle.net.mesg,
oracle.net.ns;uses:="oracle.net.ano,oracle.net.nt",
oracle.net.nt;uses:="javax.net.ssl",
oracle.net.resolver;uses:="oracle.net.TNSAddress,oracle.net.nt",
oracle.security.o3logon,
oracle.security.o5logon,
oracle.sql;
uses:="oracle.jdbc,
oracle.jdbc.internal,
oracle.jdbc.oracore,
oracle.jdbc.driver,
oracle.sql.converter",
oracle.sql.converter;uses:="oracle.jdbc.internal,oracle.i18n.text,oracle.i18n.text.converter",
oracle.sql.converter_xcharset,
org.apache.activemq,
org.apache.activemq.advisory,
org.apache.activemq.blob,
@ -1382,51 +1291,6 @@ Export-Package: Lib,
org.netbeans.api.wizard.displayer,
org.netbeans.modules.wizard,
org.netbeans.spi.wizard,
org.postgresql;uses:="org.postgresql.largeobject,org.postgresql.fastpath,org.postgresql.copy",
org.postgresql.copy;uses:="org.postgresql.core,org.postgresql",
org.postgresql.core;uses:="org.postgresql.jdbc2,org.postgresql.copy,org.postgresql",
org.postgresql.core.types,
org.postgresql.core.v2;uses:="org.postgresql.copy,org.postgresql.core,org.postgresql",
org.postgresql.core.v3;uses:="org.postgresql.copy,org.postgresql.core,org.postgresql",
org.postgresql.ds;uses:="org.postgresql.ds.jdbc4,org.postgresql.ds.common,javax.sql",
org.postgresql.ds.common;uses:="javax.naming,javax.naming.spi",
org.postgresql.ds.jdbc23;
uses:="javax.naming,
org.postgresql.ds.common,
org.postgresql.ds,
javax.sql",
org.postgresql.ds.jdbc4;uses:="org.postgresql.ds.jdbc23,javax.sql",
org.postgresql.fastpath;uses:="org.postgresql.core",
org.postgresql.geometric;uses:="org.postgresql.util",
org.postgresql.gss;uses:="org.postgresql.core,javax.security.auth.callback",
org.postgresql.jdbc2;
uses:="org.postgresql.fastpath,
org.postgresql.util,
org.postgresql.copy,
org.postgresql,
org.postgresql.largeobject,
org.postgresql.core",
org.postgresql.jdbc2.optional;uses:="org.postgresql.ds",
org.postgresql.jdbc3;uses:="org.postgresql.jdbc2,org.postgresql.core",
org.postgresql.jdbc3g;uses:="org.postgresql.jdbc3,org.postgresql.core",
org.postgresql.jdbc4;
uses:="org.postgresql.jdbc3,
org.xml.sax,
org.postgresql.jdbc3g,
org.postgresql.jdbc2,
org.postgresql.core,
javax.xml.transform",
org.postgresql.largeobject;uses:="org.postgresql.fastpath,org.postgresql.core",
org.postgresql.ssl;uses:="org.postgresql.core,javax.net.ssl",
org.postgresql.translation,
org.postgresql.util,
org.postgresql.xa;
uses:="javax.naming,
org.postgresql.ds.common,
org.postgresql.ds,
org.postgresql.core,
javax.transaction.xa,
javax.sql",
org.python.compiler;uses:="org.python.parser,org.python.core,org.python.parser.ast",
org.python.core;
uses:="org.python.core.adapter,

View File

@ -28,7 +28,6 @@ bin.includes = META-INF/,\
lib/copyLibraries.bat,\
lib/jgraph.jar,\
lib/logkit.jar,\
lib/postgresql.jar,\
lib/wizard.jar,\
lib/xjavadoc-1.1.jar,\
lib/xml-apis.jar,\
@ -41,7 +40,6 @@ bin.includes = META-INF/,\
lib/commons-net-1.4.0.jar,\
lib/cron4j-2.2.1.jar,\
lib/payflow.jar,\
lib/ojdbc6.jar,\
lib/c3p0-oracle-thin-extras-0.9.1.2.jar,\
lib/jcommon-1.0.16.jar,\
lib/jfreechart-1.0.13.jar,\

View File

@ -39,6 +39,8 @@
<ant inheritAll="false" dir="tomcatConfig"/>
<ant inheritAll="false" dir="pipo"/>
<ant inheritAll="false" dir="pipoHandlers"/>
<ant inheritAll="false" dir="oracleProvider"/>
<ant inheritAll="false" dir="postgresqlProvider"/>
</target>
<target name="build" depends="jar">
<ant inheritAll="false" dir="install"/>
@ -62,6 +64,8 @@
<ant inheritAll="false" dir="tomcatConfig" target="clean"/>
<ant inheritAll="false" dir="pipo" target="clean"/>
<ant inheritAll="false" dir="pipoHandlers" target="clean"/>
<ant inheritAll="false" dir="oracleProvider" target="clean"/>
<ant inheritAll="false" dir="postgresqlProvider" target="clean"/>
</target>
<target name="clean-all" depends="clean">