320 lines
10 KiB
Java
320 lines
10 KiB
Java
package org.gcube.dataacces.algorithms.test.regressiontest;
|
|
|
|
import java.util.List;
|
|
|
|
import org.gcube.contentmanagement.lexicalmatcher.utils.AnalysisLogger;
|
|
import org.gcube.dataanalysis.ecoengine.configuration.AlgorithmConfiguration;
|
|
import org.gcube.dataanalysis.ecoengine.datatypes.StatisticalType;
|
|
import org.gcube.dataanalysis.ecoengine.interfaces.ComputationalAgent;
|
|
import org.gcube.dataanalysis.ecoengine.processing.factories.TransducerersFactory;
|
|
import org.gcube.dataanalysis.ecoengine.test.regression.Regressor;
|
|
|
|
public class RegressionSubmitQuery {
|
|
|
|
// static String[] algorithms = { "Postgres1", "Mysql", "Postgres3", "Postgres4", "NullInputValue1", "NullInputValue2", "NullInputValue3", "NullInputValue4", "NullInputValue5", "Postgis"};
|
|
|
|
// static AlgorithmConfiguration[] configs = { testPostgres1(),
|
|
// testPostgres2(), testPostgis(), Mysql(), NullInputValue(),
|
|
// Postgres3() };
|
|
|
|
// static AlgorithmConfiguration[] configs = { testPostgres1(), Mysql(), Postgres3(), Postgres4(), NullInputValue1(), NullInputValue2(), NullInputValue3(), NullInputValue4(), NullInputValue5(), Postgis()};
|
|
|
|
static String[] algorithms = {"Postgres1"};
|
|
static AlgorithmConfiguration[] configs = { Mysql() };
|
|
|
|
public static void main(String[] args) throws Exception {
|
|
|
|
// System.out.println("TEST 1");
|
|
|
|
for (int i = 0; i < algorithms.length; i++) {
|
|
AnalysisLogger.getLogger().debug("Executing:" + algorithms[i]);
|
|
|
|
// ComputationalAgent trans = new WPSProcess(wps, algorithms[i]);
|
|
|
|
List<ComputationalAgent> trans = null;
|
|
trans = TransducerersFactory.getTransducerers(configs[i]);
|
|
trans.get(0).init();
|
|
|
|
// trans.setConfiguration(configs[i]);
|
|
// trans.init();
|
|
Regressor.process(trans.get(0));
|
|
StatisticalType st = trans.get(0).getOutput();
|
|
|
|
// Print Result
|
|
AnalysisLogger.getLogger().debug("ST:" + st);
|
|
trans = null;
|
|
}
|
|
|
|
}
|
|
|
|
private static AlgorithmConfiguration testPostgres1() {
|
|
|
|
System.out.println("TEST 1: Postgres table without rows");
|
|
|
|
AlgorithmConfiguration config = Regressor.getConfig();
|
|
|
|
config.setAgent("LISTSUBMITQUERY");
|
|
|
|
// A test with a database postgres
|
|
config.setParam("ResourceName", "StatisticalManagerDataBase");
|
|
config.setParam("DatabaseName", "testdb");
|
|
// config.setParam("", "TRUE");
|
|
config.setParam("Read-Only Query", "TRUE");
|
|
config.setParam("Apply Smart Correction", "TRUE");
|
|
config.setParam("Language", "POSTGRES");
|
|
|
|
// config.setParam("SchemaName", "public");
|
|
// config.setParam("TableName", "hcaf_d");
|
|
|
|
|
|
//
|
|
//
|
|
config.setParam("Query", "select * from hcaf_d limit 10");
|
|
// config.setParam("Query", "select csquarecode,months,sum(effort) as effort, sum(total_yft_catch) as total_yft_catch from (select csquarecode,to_char(time,'MM') months,sum(effort) as effort,sum(total_yft_catch) as total_yft_catch from timeseries_idacdbb646_7500_4920_8e0d_aa38cc99a4a6 group by csquarecode,time order by time ASC) as a group by csquarecode,months order by csquarecode");
|
|
|
|
// config.setParam("Query", "select csquarecode, total_yft_catch from timeseries_idacdbb646_7500_4920_8e0d_aa38cc99a4a6 limit 3");
|
|
|
|
// config.setParam("ResourceName", "DionysusDB");
|
|
// config.setParam("DatabaseName", "World");
|
|
// config.setParam("SchemaName", "public");
|
|
// config.setParam("TableName", "countrylanguage"); //mysql is not case sensitive
|
|
//// config.setParam("Query", "select * from countrylanguage limit 10");
|
|
// config.setParam("Query", "SELECT * FROM information_schema.COLUMNS WHERE table_name ='countrylanguage' and table_schema='public'");
|
|
|
|
// config.setParam("ResourceName", "GP DB");
|
|
//
|
|
// config.setParam("DatabaseName", "aquamapsdb");
|
|
// config.setParam("", "TRUE");
|
|
// config.setParam("SchemaName", "public");
|
|
// config.setParam("TableName", "Divisions");
|
|
// config.setParam("Query","select gid, area, perimeter, nafo_, nafo_id, zone from \"Divisions\" limit 100");
|
|
|
|
// config.setParam("TableName", "area"); // it has not rows
|
|
|
|
// config.setParam("Query", "select * from area limit 3");
|
|
// config.setParam("Query", "select gid, area, perimeter, CAST(the_geom as text) from \"Divisions\" limit 10");
|
|
|
|
// config.setParam("Query", "select text(the_geom) from \"Divisions\" limit 1");
|
|
|
|
// config.setParam("Query", "select perimeter,zone from \"Divisions\" where gid='7'");
|
|
|
|
// config.setParam("Query", "select area, CAST(perimeter as text) from \"Divisions\" order by random() limit 2");
|
|
|
|
// config.setParam("TableName", "all_world");
|
|
// config.setParam("TableName", "biodiversity_lme");
|
|
|
|
config.setGcubeScope("/gcube/devsec");
|
|
|
|
return config;
|
|
|
|
}
|
|
|
|
private static AlgorithmConfiguration Mysql() {
|
|
|
|
System.out.println("TEST 2: Mysql");
|
|
|
|
AlgorithmConfiguration config = Regressor.getConfig();
|
|
|
|
config.setAgent("LISTSUBMITQUERY");
|
|
|
|
// // a test with postgis
|
|
// config.setParam("ResourceName", "Geoserver database ");
|
|
// config.setParam("SchemaName", "public");
|
|
// config.setParam("DatabaseName", "aquamapsdb");
|
|
// config.setParam("TableName", "Divisions");
|
|
|
|
|
|
|
|
//a test with a database mysql
|
|
config.setParam("ResourceName", "CatalogOfLife2010");
|
|
config.setParam("DatabaseName", "col2oct2010");
|
|
config.setParam("", "TRUE");
|
|
config.setParam("TableName", "Common_names"); //mysql is not case sensitive
|
|
config.setParam("Query", "select * from common_names limit 10");
|
|
|
|
// config.setParam("TableName", "specialists");
|
|
|
|
// config.setParam("Query", "select * from specialists limit 3");
|
|
|
|
config.setGcubeScope("/gcube/devsec");
|
|
|
|
return config;
|
|
|
|
}
|
|
|
|
private static AlgorithmConfiguration Postgres3() {
|
|
|
|
System.out.println("TEST 3: Postgis");
|
|
|
|
AlgorithmConfiguration config = Regressor.getConfig();
|
|
|
|
config.setAgent("LISTSUBMITQUERY");
|
|
|
|
// a test with postgis
|
|
config.setParam("ResourceName", "Geoserver database ");
|
|
config.setParam("DatabaseName", "aquamapsdb");
|
|
config.setParam("SchemaName", "public");
|
|
config.setParam("TableName", "Divisions"); //postgres is case sensitive
|
|
config.setParam("Query", "select the_geom from Divisions limit 3");
|
|
|
|
|
|
config.setGcubeScope("/gcube/devsec");
|
|
|
|
return config;
|
|
|
|
}
|
|
|
|
private static AlgorithmConfiguration Postgres4() {
|
|
|
|
System.out.println("TEST 4: Postgis filter query");
|
|
|
|
AlgorithmConfiguration config = Regressor.getConfig();
|
|
|
|
config.setAgent("LISTSUBMITQUERY");
|
|
|
|
// a test with postgis
|
|
config.setParam("ResourceName", "Geoserver database ");
|
|
config.setParam("DatabaseName", "aquamapsdb");
|
|
config.setParam("SchemaName", "public");
|
|
config.setParam("TableName", "Divisions"); //postgres is case sensitive
|
|
// config.setParam("Query", "select the_geom from Divisions limit 30");
|
|
config.setParam("Query", "EXPLAIN ANALYZE select gid from Divisions limit 3");
|
|
|
|
|
|
config.setGcubeScope("/gcube/devsec");
|
|
|
|
return config;
|
|
|
|
}
|
|
|
|
private static AlgorithmConfiguration NullInputValue1() {
|
|
|
|
System.out.println("TEST 5: Postgis NullInputValue1");
|
|
|
|
AlgorithmConfiguration config = Regressor.getConfig();
|
|
|
|
config.setAgent("LISTSUBMITQUERY");
|
|
|
|
// a test with postgis
|
|
// config.setParam("ResourceName", "Geoserver database ");
|
|
config.setParam("DatabaseName", "aquamapsdb");
|
|
config.setParam("SchemaName", "public");
|
|
config.setParam("TableName", "Divisions");
|
|
config.setParam("Query", "EXPLAIN ANALYZE select gid from Divisions limit 3");
|
|
|
|
config.setGcubeScope("/gcube/devsec");
|
|
|
|
return config;
|
|
|
|
}
|
|
|
|
private static AlgorithmConfiguration NullInputValue2() {
|
|
|
|
System.out.println("TEST 5: Postgis NullInputValue2");
|
|
|
|
AlgorithmConfiguration config = Regressor.getConfig();
|
|
|
|
config.setAgent("LISTSUBMITQUERY");
|
|
|
|
// a test with postgis
|
|
config.setParam("ResourceName", "Geoserver database ");
|
|
// config.setParam("DatabaseName", "aquamapsdb");
|
|
config.setParam("SchemaName", "public");
|
|
config.setParam("TableName", "Divisions");
|
|
config.setParam("Query", "EXPLAIN ANALYZE select gid from Divisions limit 3");
|
|
|
|
config.setGcubeScope("/gcube/devsec");
|
|
|
|
return config;
|
|
|
|
}
|
|
|
|
private static AlgorithmConfiguration NullInputValue3() {
|
|
|
|
System.out.println("TEST 5: Postgis NullInputValue3");
|
|
|
|
AlgorithmConfiguration config = Regressor.getConfig();
|
|
|
|
config.setAgent("LISTSUBMITQUERY");
|
|
|
|
// a test with postgis
|
|
config.setParam("ResourceName", "Geoserver database ");
|
|
config.setParam("DatabaseName", "aquamapsdb");
|
|
// config.setParam("SchemaName", "public");
|
|
config.setParam("TableName", "Divisions");
|
|
config.setParam("Query", "EXPLAIN ANALYZE select gid from Divisions limit 3");
|
|
|
|
config.setGcubeScope("/gcube/devsec");
|
|
|
|
return config;
|
|
|
|
}
|
|
|
|
private static AlgorithmConfiguration NullInputValue4() {
|
|
|
|
System.out.println("TEST 5: Postgis NullInputValue4");
|
|
|
|
AlgorithmConfiguration config = Regressor.getConfig();
|
|
|
|
config.setAgent("LISTSUBMITQUERY");
|
|
|
|
// a test with postgis
|
|
config.setParam("ResourceName", "Geoserver database ");
|
|
config.setParam("DatabaseName", "aquamapsdb");
|
|
config.setParam("SchemaName", "public");
|
|
// config.setParam("TableName", "Divisions");
|
|
config.setParam("Query", "EXPLAIN ANALYZE select gid from Divisions limit 3");
|
|
|
|
config.setGcubeScope("/gcube/devsec");
|
|
|
|
return config;
|
|
|
|
}
|
|
|
|
private static AlgorithmConfiguration NullInputValue5() {
|
|
|
|
System.out.println("TEST 6: Postgis NullInputValue5");
|
|
|
|
AlgorithmConfiguration config = Regressor.getConfig();
|
|
|
|
config.setAgent("LISTSUBMITQUERY");
|
|
|
|
// a test with postgis
|
|
config.setParam("ResourceName", "Geoserver database ");
|
|
config.setParam("DatabaseName", "aquamapsdb");
|
|
config.setParam("SchemaName", "public");
|
|
config.setParam("TableName", "Divisions");
|
|
// config.setParam("Query", "EXPLAIN ANALYZE select gid from Divisions limit 3");
|
|
|
|
config.setGcubeScope("/gcube/devsec");
|
|
|
|
return config;
|
|
|
|
}
|
|
|
|
private static AlgorithmConfiguration Postgis() {
|
|
|
|
System.out.println("TEST 7: Postgis");
|
|
|
|
AlgorithmConfiguration config = Regressor.getConfig();
|
|
|
|
config.setAgent("LISTSUBMITQUERY");
|
|
|
|
// a test with postgis
|
|
config.setParam("ResourceName", "Geoserver database ");
|
|
config.setParam("DatabaseName", "aquamapsdb");
|
|
config.setParam("SchemaName", "public");
|
|
config.setParam("TableName", "Divisions"); //postgres is case sensitive
|
|
config.setParam("Query", "select * from \"Divisions\" limit 1");
|
|
|
|
|
|
config.setGcubeScope("/gcube/devsec");
|
|
|
|
return config;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|