package binky.reportrunner.ui.actions; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.util.HashMap; import java.util.Map; import javax.sql.DataSource; import binky.reportrunner.ui.actions.base.StandardRunnerAction; public class About extends StandardRunnerAction { private String versionId; private static final long serialVersionUID = -2445708209232186033L; private float totalMem; private float freeMem; private int processors; private float maxMem; private String javaVersion; private String databaseSchemaName; private DataSource dataSource; private Map<String,String> databaseProperties; @Override public String execute() throws Exception { Runtime runTime= Runtime.getRuntime(); float mb=(1024*1024); totalMem=runTime.totalMemory()/mb; freeMem=runTime.freeMemory()/mb; processors=runTime.availableProcessors(); maxMem=runTime.maxMemory()/mb; javaVersion=System.getProperty("java.version") + " (" + System.getProperty("java.vendor") + ")"; Connection conn=dataSource.getConnection(); databaseSchemaName=conn.getCatalog(); DatabaseMetaData meta= conn.getMetaData(); databaseProperties=new HashMap<String, String>(); databaseProperties.put("JDBC Driver", meta.getDriverName()+ " (" + meta.getJDBCMajorVersion() + "." + meta.getJDBCMinorVersion()+")"); databaseProperties.put("Database URL", meta.getURL()); databaseProperties.put("Database Server:", meta.getDatabaseProductName() + " (" + meta.getDatabaseProductVersion()+ ")"); conn.close(); return SUCCESS; } public String getVersionId() { return versionId; } public void setVersionId(String versionId) { this.versionId = versionId; } public float getTotalMem() { return totalMem; } public void setTotalMem(float totalMem) { this.totalMem = totalMem; } public float getFreeMem() { return freeMem; } public void setFreeMem(float freeMem) { this.freeMem = freeMem; } public int getProcessors() { return processors; } public void setProcessors(int processors) { this.processors = processors; } public float getMaxMem() { return maxMem; } public void setMaxMem(float maxMem) { this.maxMem = maxMem; } public String getJavaVersion() { return javaVersion; } public void setJavaVersion(String javaVersion) { this.javaVersion = javaVersion; } public void setDataSource(DataSource dataSource) { this.dataSource = dataSource; } public String getDatabaseSchemaName() { return databaseSchemaName; } public Map<String,String> getDatabaseProperties() { return databaseProperties; } }