IDEMPIERE-2259 Add SysConfig keys to avoid using hardcoded values on login page

This commit is contained in:
jan thielemann 2014-10-29 08:17:11 -05:00
parent 78c3ca3bbe
commit d6822cc466
3 changed files with 68 additions and 10 deletions

View File

@ -35,6 +35,7 @@ import javax.swing.event.EventListenerList;
import org.adempiere.base.Core; import org.adempiere.base.Core;
import org.compiere.db.CConnection; import org.compiere.db.CConnection;
import org.compiere.model.MClient; import org.compiere.model.MClient;
import org.compiere.model.MSysConfig;
import org.compiere.model.MSystem; import org.compiere.model.MSystem;
import org.compiere.model.ModelValidationEngine; import org.compiere.model.ModelValidationEngine;
import org.compiere.model.ServerStateChangeEvent; import org.compiere.model.ServerStateChangeEvent;
@ -153,6 +154,10 @@ public final class Adempiere
*/ */
public static String getVersion() public static String getVersion()
{ {
String version = MSysConfig.getValue(MSysConfig.APPLICATION_MAIN_VERSION, null);
if(version != null)
return version;
IProduct product = Platform.getProduct(); IProduct product = Platform.getProduct();
if (product != null) { if (product != null) {
Bundle bundle = product.getDefiningBundle(); Bundle bundle = product.getDefiningBundle();
@ -170,9 +175,40 @@ public final class Adempiere
return "Unknown"; return "Unknown";
} // getVersion } // getVersion
public static boolean isVersionShown(){
return MSysConfig.getBooleanValue(MSysConfig.APPLICATION_MAIN_VERSION_SHOWN, true);
}
public static boolean isDBVersionShown(){
boolean defaultVal = MSystem.get(Env.getCtx()).getSystemStatus().equalsIgnoreCase("P") ? false : true;
return MSysConfig.getBooleanValue(MSysConfig.APPLICATION_DATABASE_VERSION_SHOWN, defaultVal);
}
public static boolean isVendorShown(){
return MSysConfig.getBooleanValue(MSysConfig.APPLICATION_IMPLEMENTATION_VENDOR_SHOWN, true);
}
public static boolean isJVMShown(){
boolean defaultVal = MSystem.get(Env.getCtx()).getSystemStatus().equalsIgnoreCase("P") ? false : true;
return MSysConfig.getBooleanValue(MSysConfig.APPLICATION_JVM_VERSION_SHOWN, defaultVal);
}
public static boolean isOSShown(){
boolean defaultVal = MSystem.get(Env.getCtx()).getSystemStatus().equalsIgnoreCase("P") ? false : true;
return MSysConfig.getBooleanValue(MSysConfig.APPLICATION_OS_INFO_SHOWN, defaultVal);
}
public static boolean isHostShown()
{
boolean defaultVal = MSystem.get(Env.getCtx()).getSystemStatus().equalsIgnoreCase("P") ? false : true;
return MSysConfig.getBooleanValue(MSysConfig.APPLICATION_HOST_SHOWN, defaultVal);
}
public static String getDatabaseVersion() public static String getDatabaseVersion()
{ {
return DB.getSQLValueString(null, "select lastmigrationscriptapplied from ad_system"); // return DB.getSQLValueString(null, "select lastmigrationscriptapplied from ad_system");
return MSysConfig.getValue(MSysConfig.APPLICATION_DATABASE_VERSION,
DB.getSQLValueString(null, "select lastmigrationscriptapplied from ad_system"));
} }
/** /**
@ -238,6 +274,11 @@ public final class Adempiere
*/ */
public static String getImplementationVendor() public static String getImplementationVendor()
{ {
if(DB.isConnected()){
String vendor = MSysConfig.getValue(MSysConfig.APPLICATION_IMPLEMENTATION_VENDOR, null);
if(vendor != null)
return vendor;
}
if (s_ImplementationVendor == null) if (s_ImplementationVendor == null)
setPackageInfo(); setPackageInfo();
return s_ImplementationVendor; return s_ImplementationVendor;

View File

@ -42,7 +42,7 @@ public class MSysConfig extends X_AD_SysConfig
/** /**
* *
*/ */
private static final long serialVersionUID = 1418216769489567455L; private static final long serialVersionUID = -5622739157380126505L;
public static final String ADDRESS_SAVE_REQUEST_RESPONSE_LOG = "ADDRESS_SAVE_REQUEST_RESPONSE_LOG"; public static final String ADDRESS_SAVE_REQUEST_RESPONSE_LOG = "ADDRESS_SAVE_REQUEST_RESPONSE_LOG";
public static final String ADDRESS_VALIDATION = "ADDRESS_VALIDATION"; public static final String ADDRESS_VALIDATION = "ADDRESS_VALIDATION";
@ -50,6 +50,15 @@ public class MSysConfig extends X_AD_SysConfig
public static final String ALLOW_APPLY_PAYMENT_TO_CREDITMEMO = "ALLOW_APPLY_PAYMENT_TO_CREDITMEMO"; public static final String ALLOW_APPLY_PAYMENT_TO_CREDITMEMO = "ALLOW_APPLY_PAYMENT_TO_CREDITMEMO";
public static final String ALLOW_OVER_APPLIED_PAYMENT = "ALLOW_OVER_APPLIED_PAYMENT"; public static final String ALLOW_OVER_APPLIED_PAYMENT = "ALLOW_OVER_APPLIED_PAYMENT";
public static final String ALogin_ShowOneRole = "ALogin_ShowOneRole"; public static final String ALogin_ShowOneRole = "ALogin_ShowOneRole";
public static final String APPLICATION_DATABASE_VERSION = "APPLICATION_DATABASE_VERSION";
public static final String APPLICATION_DATABASE_VERSION_SHOWN = "APPLICATION_DATABASE_VERSION_SHOWN";
public static final String APPLICATION_HOST_SHOWN = "APPLICATION_HOST_SHOWN";
public static final String APPLICATION_IMPLEMENTATION_VENDOR = "APPLICATION_IMPLEMENTATION_VENDOR";
public static final String APPLICATION_IMPLEMENTATION_VENDOR_SHOWN = "APPLICATION_IMPLEMENTATION_VENDOR_SHOWN";
public static final String APPLICATION_JVM_VERSION_SHOWN = "APPLICATION_JVM_VERSION_SHOWN";
public static final String APPLICATION_MAIN_VERSION = "APPLICATION_MAIN_VERSION";
public static final String APPLICATION_MAIN_VERSION_SHOWN = "APPLICATION_MAIN_VERSION_SHOWN";
public static final String APPLICATION_OS_INFO_SHOWN = "APPLICATION_OS_INFO_SHOWN";
public static final String BACKGROUND_JOB_ALLOWED = "BACKGROUND_JOB_ALLOWED"; public static final String BACKGROUND_JOB_ALLOWED = "BACKGROUND_JOB_ALLOWED";
public static final String BACKGROUND_JOB_BY_DEFAULT = "BACKGROUND_JOB_BY_DEFAULT"; public static final String BACKGROUND_JOB_BY_DEFAULT = "BACKGROUND_JOB_BY_DEFAULT";
public static final String BACKGROUND_JOB_MAX_IN_SYSTEM = "BACKGROUND_JOB_MAX_IN_SYSTEM"; public static final String BACKGROUND_JOB_MAX_IN_SYSTEM = "BACKGROUND_JOB_MAX_IN_SYSTEM";

View File

@ -11,6 +11,13 @@ Copyright (C) 2009 Idalica Corporation
var vendor = Adempiere.getImplementationVendor(); var vendor = Adempiere.getImplementationVendor();
var jvm = Adempiere.getJavaInfo(); var jvm = Adempiere.getJavaInfo();
var os = Adempiere.getOSInfo(); var os = Adempiere.getOSInfo();
var isVersionShown = Adempiere.isVersionShown();
var isDBVersionShown = Adempiere.isDBVersionShown();
var isVendorShown = Adempiere.isVendorShown();
var isJVMShown = Adempiere.isJVMShown();
var isOSShown = Adempiere.isOSShown();
var isHostShown = Adempiere.isHostShown();
var isInfoShown = isVersionShown || isDBVersionShown || isVendorShown || isJVMShown || isOSShown || isHostShown;
</zscript> </zscript>
<html> <html>
<![CDATA[ <![CDATA[
@ -25,40 +32,41 @@ Copyright (C) 2009 Idalica Corporation
font-size: 8pt; font-size: 8pt;
} }
</style> </style>
<div class="versionInfoBox"> ]]>
<div class="versionInfoBox" if="${isInfoShown == true}">
<table border="0"> <table border="0">
<tr> <tr if="${isVersionShown == true}">
<td align="right">Version</td> <td align="right">Version</td>
<td>:</td> <td>:</td>
<td aligh="left">${mainVersion}</td> <td aligh="left">${mainVersion}</td>
</tr> </tr>
<tr> <tr if="${isDBVersionShown == true}">
<td align="right">Database Version</td> <td align="right">Database Version</td>
<td>:</td> <td>:</td>
<td aligh="left">${dbVersion}</td> <td aligh="left">${dbVersion}</td>
</tr> </tr>
<tr> <tr if="${isVendorShown == true}">
<td align="right">Vendor</td> <td align="right">Vendor</td>
<td>:</td> <td>:</td>
<td aligh="left">${vendor}</td> <td aligh="left">${vendor}</td>
</tr> </tr>
<tr> <tr if="${isJVMShown == true}">
<td align="right">JVM</td> <td align="right">JVM</td>
<td>:</td> <td>:</td>
<td aligh="left">${jvm}</td> <td aligh="left">${jvm}</td>
</tr> </tr>
<tr> <tr if="${isOSShown == true}">
<td align="right">OS</td> <td align="right">OS</td>
<td>:</td> <td>:</td>
<td aligh="left">${os}</td> <td aligh="left">${os}</td>
</tr> </tr>
<tr> <tr if="${isHostShown == true}">
<td align="right">Host</td> <td align="right">Host</td>
<td>:</td> <td>:</td>
<td aligh="left">${desktop.execution.serverName}</td> <td aligh="left">${desktop.execution.serverName}</td>
</tr> </tr>
</table> </table>
</div> </div>
]]>
</html> </html>
</zk> </zk>