Răsfoiți Sursa

支持南大通用gbase8s数据库

roo00 6 ani în urmă
părinte
comite
c506e3996c

+ 18 - 0
o2server/x_base_core_project/src/main/java/com/x/base/core/container/factory/SlicePropertiesBuilder.java

@@ -21,6 +21,7 @@ public class SlicePropertiesBuilder {
 	public static String driver_h2 = "org.h2.Driver";
 	public static String driver_h2 = "org.h2.Driver";
 	public static String driver_dm = "dm.jdbc.driver.DmDriver";
 	public static String driver_dm = "dm.jdbc.driver.DmDriver";
 	public static String driver_sqlserver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
 	public static String driver_sqlserver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
+	public static String driver_gbase = "com.gbasedbt.jdbc.IfxDriver";
 	/** 避免db2在aix版本和lwl版本字段长度不一致的问题 */
 	/** 避免db2在aix版本和lwl版本字段长度不一致的问题 */
 	public static String dictionary_db2 = "db2(createPrimaryKeys=false,characterColumnSize=255,maxColumnNameLength=128,maxIndexNameLength=128,maxConstraintNameLength=128)";
 	public static String dictionary_db2 = "db2(createPrimaryKeys=false,characterColumnSize=255,maxColumnNameLength=128,maxIndexNameLength=128,maxConstraintNameLength=128)";
 	public static String dictionary_oracle = "oracle(maxTableNameLength=128,maxColumnNameLength=128,maxIndexNameLength=128,maxConstraintNameLength=128,maxEmbeddedClobSize=104857600)";
 	public static String dictionary_oracle = "oracle(maxTableNameLength=128,maxColumnNameLength=128,maxIndexNameLength=128,maxConstraintNameLength=128,maxEmbeddedClobSize=104857600)";
@@ -30,6 +31,7 @@ public class SlicePropertiesBuilder {
 	public static String dictionary_h2 = "org.apache.openjpa.jdbc.sql.H2Dictionary";
 	public static String dictionary_h2 = "org.apache.openjpa.jdbc.sql.H2Dictionary";
 	public static String dictionary_dm = "com.x.base.core.openjpa.jdbc.sql.DMDictionary";
 	public static String dictionary_dm = "com.x.base.core.openjpa.jdbc.sql.DMDictionary";
 	public static String dictionary_sqlserver = "sqlserver(schemaCase=preserve)";
 	public static String dictionary_sqlserver = "sqlserver(schemaCase=preserve)";
+	public static String dictionary_gbase = "com.x.base.core.openjpa.jdbc.sql.GBaseDictionary";
 
 
 	public static String validationQuery_db2 = "select 1 from sysibm.sysdummy1";
 	public static String validationQuery_db2 = "select 1 from sysibm.sysdummy1";
 	public static String validationQuery_oracle = "select 1 from dual";
 	public static String validationQuery_oracle = "select 1 from dual";
@@ -39,6 +41,7 @@ public class SlicePropertiesBuilder {
 	public static String validationQuery_h2 = "select 1";
 	public static String validationQuery_h2 = "select 1";
 	public static String validationQuery_dm = "select getdate()";
 	public static String validationQuery_dm = "select getdate()";
 	public static String validationQuery_sqlserver = "select 1";
 	public static String validationQuery_sqlserver = "select 1";
+	public static String validationQuery_gbase = "select 1";
 
 
 	public static Map<String, String> getPropertiesDBCP(List<DataMapping> list) throws Exception {
 	public static Map<String, String> getPropertiesDBCP(List<DataMapping> list) throws Exception {
 		try {
 		try {
@@ -57,6 +60,9 @@ public class SlicePropertiesBuilder {
 			if (StringUtils.equals(determineDBDictionary(list.get(0)), dictionary_informix)) {
 			if (StringUtils.equals(determineDBDictionary(list.get(0)), dictionary_informix)) {
 				properties.put("openjpa.jdbc.Schema", JpaObject.default_schema);
 				properties.put("openjpa.jdbc.Schema", JpaObject.default_schema);
 			}
 			}
+			if (StringUtils.equals(determineDBDictionary(list.get(0)), dictionary_gbase)) {
+				properties.put("openjpa.jdbc.Schema", JpaObject.default_schema);
+			}
 			if (StringUtils.equals(determineDBDictionary(list.get(0)), dictionary_dm)) {
 			if (StringUtils.equals(determineDBDictionary(list.get(0)), dictionary_dm)) {
 				properties.put("openjpa.jdbc.Schema", JpaObject.default_schema);
 				properties.put("openjpa.jdbc.Schema", JpaObject.default_schema);
 			}
 			}
@@ -158,6 +164,10 @@ public class SlicePropertiesBuilder {
 				String url = dataMapping.getUrl();
 				String url = dataMapping.getUrl();
 				str += ",validationQuery=" + validationQuery_informix + ", driverClassName=" + driver_informix
 				str += ",validationQuery=" + validationQuery_informix + ", driverClassName=" + driver_informix
 						+ ", url=" + url;
 						+ ", url=" + url;
+			} else if (StringUtils.equals(determineDBDictionary(dataMapping), dictionary_gbase)) {
+				String url = dataMapping.getUrl();
+				str += ",validationQuery=" + validationQuery_gbase + ", driverClassName=" + driver_gbase + ", url="
+						+ url;
 			} else if (StringUtils.equals(determineDBDictionary(dataMapping), dictionary_h2)) {
 			} else if (StringUtils.equals(determineDBDictionary(dataMapping), dictionary_h2)) {
 				String url = dataMapping.getUrl();
 				String url = dataMapping.getUrl();
 				str += ",validationQuery=" + validationQuery_h2 + ", driverClassName=" + driver_h2 + ", url=" + url;
 				str += ",validationQuery=" + validationQuery_h2 + ", driverClassName=" + driver_h2 + ", url=" + url;
@@ -200,6 +210,10 @@ public class SlicePropertiesBuilder {
 				String url = dataMapping.getUrl();
 				String url = dataMapping.getUrl();
 				str += ", validationQuery=" + validationQuery_informix + ", driverClassName=" + driver_informix
 				str += ", validationQuery=" + validationQuery_informix + ", driverClassName=" + driver_informix
 						+ ", url=" + url;
 						+ ", url=" + url;
+			} else if (StringUtils.equals(determineDBDictionary(dataMapping), dictionary_gbase)) {
+				String url = dataMapping.getUrl();
+				str += ", validationQuery=" + validationQuery_gbase + ", driverClassName=" + driver_gbase + ", url="
+						+ url;
 			} else if (StringUtils.equals(determineDBDictionary(dataMapping), dictionary_h2)) {
 			} else if (StringUtils.equals(determineDBDictionary(dataMapping), dictionary_h2)) {
 				String url = dataMapping.getUrl();
 				String url = dataMapping.getUrl();
 				str += ", validationQuery=" + validationQuery_h2 + ", driverClassName=" + driver_h2 + ", url=" + url;
 				str += ", validationQuery=" + validationQuery_h2 + ", driverClassName=" + driver_h2 + ", url=" + url;
@@ -230,6 +244,8 @@ public class SlicePropertiesBuilder {
 				return driver_postgresql;
 				return driver_postgresql;
 			} else if (StringUtils.equals(determineDBDictionary(dataMapping), dictionary_informix)) {
 			} else if (StringUtils.equals(determineDBDictionary(dataMapping), dictionary_informix)) {
 				return driver_informix;
 				return driver_informix;
+			} else if (StringUtils.equals(determineDBDictionary(dataMapping), dictionary_gbase)) {
+				return driver_gbase;
 			} else if (StringUtils.equals(determineDBDictionary(dataMapping), dictionary_h2)) {
 			} else if (StringUtils.equals(determineDBDictionary(dataMapping), dictionary_h2)) {
 				return driver_h2;
 				return driver_h2;
 			} else if (StringUtils.equals(determineDBDictionary(dataMapping), dictionary_dm)) {
 			} else if (StringUtils.equals(determineDBDictionary(dataMapping), dictionary_dm)) {
@@ -267,6 +283,8 @@ public class SlicePropertiesBuilder {
 				return dictionary_postgresql;
 				return dictionary_postgresql;
 			} else if (StringUtils.containsIgnoreCase(dataMapping.getUrl(), "jdbc:informix-sqli:")) {
 			} else if (StringUtils.containsIgnoreCase(dataMapping.getUrl(), "jdbc:informix-sqli:")) {
 				return dictionary_informix;
 				return dictionary_informix;
+			} else if (StringUtils.containsIgnoreCase(dataMapping.getUrl(), "jdbc:gbasedbt-sqli")) {
+				return dictionary_gbase;
 			} else if (StringUtils.containsIgnoreCase(dataMapping.getUrl(), "jdbc:h2:tcp:")) {
 			} else if (StringUtils.containsIgnoreCase(dataMapping.getUrl(), "jdbc:h2:tcp:")) {
 				return dictionary_h2;
 				return dictionary_h2;
 			} else if (StringUtils.containsIgnoreCase(dataMapping.getUrl(), "jdbc:dm:")) {
 			} else if (StringUtils.containsIgnoreCase(dataMapping.getUrl(), "jdbc:dm:")) {

+ 7 - 0
o2server/x_base_core_project/src/main/java/com/x/base/core/openjpa/jdbc/sql/GBaseDictionary.java

@@ -0,0 +1,7 @@
+package com.x.base.core.openjpa.jdbc.sql;
+
+import org.apache.openjpa.jdbc.sql.InformixDictionary;
+
+public class GBaseDictionary extends InformixDictionary {
+	public static final String VENDOR_OTHER = "gbase";
+}

+ 1 - 1
o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/DataMapping.java

@@ -15,7 +15,7 @@ public class DataMapping extends GsonPropertyObject {
 	private LogLevel enhanceLevel = LogLevel.WARN;
 	private LogLevel enhanceLevel = LogLevel.WARN;
 	private LogLevel queryLevel = LogLevel.WARN;
 	private LogLevel queryLevel = LogLevel.WARN;
 	private LogLevel sqlLevel = LogLevel.WARN;
 	private LogLevel sqlLevel = LogLevel.WARN;
-	private LogLevel jdbcLevel = LogLevel.WARN;
+	private LogLevel jdbcLevel = LogLevel.ERROR;
 
 
 	public String getUrl() {
 	public String getUrl() {
 		return url;
 		return url;

+ 15 - 0
o2server/x_base_core_project/src/main/java/com/x/base/core/project/logger/Logger.java

@@ -69,6 +69,21 @@ public class Logger {
 
 
 	private final static String HTTPMESSAGEFORMAT = " > person:{}, method:{}, request:{}, remote host:{} address:{}, head:{}, body:{}.";
 	private final static String HTTPMESSAGEFORMAT = " > person:{}, method:{}, request:{}, remote host:{} address:{}, head:{}, body:{}.";
 
 
+	public boolean isDebug(EffectivePerson effectivePerson) {
+		if (null != effectivePerson && BooleanUtils.isTrue(effectivePerson.getDebugger())) {
+			return true;
+		} else {
+			return this.isDebug();
+		}
+	}
+
+	public boolean isDebug() {
+		if (level <= DEBUG_INT) {
+			return true;
+		}
+		return false;
+	}
+
 	public void print(String message, Object... os) {
 	public void print(String message, Object... os) {
 		this.log(PRINT, message, os);
 		this.log(PRINT, message, os);
 	}
 	}