From ce0e91da4a1534524f07a8741ba2cb44abcac12c Mon Sep 17 00:00:00 2001 From: Loredana Liccardo Date: Thu, 5 Jun 2014 09:16:28 +0000 Subject: [PATCH] package org.gcube.dataanalysis.test renamed in org.gcube.dataaccess.test in src/test/java git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/data-access/DatabasesResourcesManager@96726 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../java/org/gcube/dataaccess/test/Prova.java | 36 ++ .../test/RegressionRandomSampleOnTable.java | 164 +++++++ .../test/RegressionSmartSampleOnTable.java | 92 ++++ .../org/gcube/dataaccess/test/TestApp.java | 434 ++++++++++++++++++ .../test/TestDatabasesResourcesManager.java | 34 ++ .../gcube/dataaccess/test/TestGetTables.java | 114 +++++ .../gcube/dataaccess/test/TestParsing.java | 146 ++++++ .../gcube/dataaccess/test/TestPostgres.java | 284 ++++++++++++ .../dataaccess/test/TestRetrieveEndpoint.java | 40 ++ .../dataaccess/test/TestSampleOnTable.java | 89 ++++ .../test/TestSmartSampleOnTable.java | 110 +++++ 11 files changed, 1543 insertions(+) create mode 100644 src/test/java/org/gcube/dataaccess/test/Prova.java create mode 100644 src/test/java/org/gcube/dataaccess/test/RegressionRandomSampleOnTable.java create mode 100644 src/test/java/org/gcube/dataaccess/test/RegressionSmartSampleOnTable.java create mode 100644 src/test/java/org/gcube/dataaccess/test/TestApp.java create mode 100644 src/test/java/org/gcube/dataaccess/test/TestDatabasesResourcesManager.java create mode 100644 src/test/java/org/gcube/dataaccess/test/TestGetTables.java create mode 100644 src/test/java/org/gcube/dataaccess/test/TestParsing.java create mode 100644 src/test/java/org/gcube/dataaccess/test/TestPostgres.java create mode 100644 src/test/java/org/gcube/dataaccess/test/TestRetrieveEndpoint.java create mode 100644 src/test/java/org/gcube/dataaccess/test/TestSampleOnTable.java create mode 100644 src/test/java/org/gcube/dataaccess/test/TestSmartSampleOnTable.java diff --git a/src/test/java/org/gcube/dataaccess/test/Prova.java b/src/test/java/org/gcube/dataaccess/test/Prova.java new file mode 100644 index 0000000..6f96d64 --- /dev/null +++ b/src/test/java/org/gcube/dataaccess/test/Prova.java @@ -0,0 +1,36 @@ +package org.gcube.dataaccess.test; + +import org.gcube.common.encryption.StringEncrypter; +import org.gcube.common.scope.api.ScopeProvider; +import org.gcube.contentmanagement.lexicalmatcher.utils.AnalysisLogger; +import org.gcube.dataanalysis.ecoengine.configuration.AlgorithmConfiguration; +import org.gcube.dataanalysis.ecoengine.interfaces.StandardLocalExternalAlgorithm; + +public class Prova { + + /** + * @param args + */ + public static void main(String[] args) { + // TODO Auto-generated method stub +// AnalysisLogger.setLogger("./cfg/"+AlgorithmConfiguration.defaultLoggerFile); + +// AnalysisLogger.getLogger().debug("ciao"); + + + ScopeProvider.instance.set("/gcube/devsec"); + + try { + String password = StringEncrypter.getEncrypter().decrypt("UwNMZOK7FlIjGPR+NZCV6w=="); + + System.out.println(password); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + StandardLocalExternalAlgorithm sle = null; +// System.out.println("CIAO"); + + } + +} diff --git a/src/test/java/org/gcube/dataaccess/test/RegressionRandomSampleOnTable.java b/src/test/java/org/gcube/dataaccess/test/RegressionRandomSampleOnTable.java new file mode 100644 index 0000000..d77ad4b --- /dev/null +++ b/src/test/java/org/gcube/dataaccess/test/RegressionRandomSampleOnTable.java @@ -0,0 +1,164 @@ +package org.gcube.dataaccess.test; +//package org.gcube.dataanalysis.test; +// +//import java.io.IOException; +// +//import org.gcube.contentmanagement.lexicalmatcher.utils.AnalysisLogger; +//import org.gcube.dataanalysis.databases.utils.DatabaseManagement; +// +//public class RegressionRandomSampleOnTable { +// +// /** +// * @param args +// */ +// public static void main(String[] args) { +// // TODO Auto-generated method stub +// AnalysisLogger.getLogger().debug("Executing: " + "Postgres"); +// testPostgres(); +// +// AnalysisLogger.getLogger().debug("Executing: " + "Mysql1"); +//// testMysql1(); +// +// AnalysisLogger.getLogger().debug("Executing: " + "Mysql2"); +//// testMysql2(); +// +// AnalysisLogger.getLogger().debug("Executing: " + "Mysql3"); +//// testMysql3(); +// } +// +// // Postgres database +// private static void testPostgres() { +// +// // connection to database +// DatabaseManagement mgt = new DatabaseManagement(""); +// +// try { +// mgt.createConnection( +// "postgres", +// "d4science2", +// "org.postgresql.Driver", +// "org.hibernate.dialect.PostgreSQLDialect", +// "jdbc:postgresql://geoserver-dev.d4science-ii.research-infrastructures.eu:5432/aquamapsdb", +// "aquamapsdb"); +// } catch (IOException e) { +// // TODO Auto-generated catch block +// e.printStackTrace(); +// } +// +// // SmartSampleOnTable operation +// +// try { +// // for database postgres, if a table is not in lower case format, it +// // is necessary to include the table name in quotes "" +// mgt.randomSampleOnTable("Divisions", "public"); +// } catch (Exception e) { +// // TODO Auto-generated catch block +// e.printStackTrace(); +// +// AnalysisLogger.getLogger().debug( +// "In RegressionRandomSampleOnTable->EXCEPTION: " + e); +// } +// +// } +// +// // Mysql database +// private static void testMysql1() { +// +// // connection to database +// DatabaseManagement mgt = new DatabaseManagement(""); +// +// try { +// mgt.createConnection("root", "test", "com.mysql.jdbc.Driver", +// "org.hibernate.dialect.MySQLDialect", +// // "jdbc:mysql://146.48.87.169:3306/col2oct2010", +// "jdbc:mysql://146.48.87.169:3306/aquamaps", "hcaf_d"); +// } catch (IOException e) { +// // TODO Auto-generated catch block +// e.printStackTrace(); +// } +// +// // SmartSampleOnTable operation +// +// try { +// // for database postgres, if a table is not in lower case format, it +// // is necessary to include the table name in quotes "" +// mgt.randomSampleOnTable("hcaf_d", "aquamaps"); +// } catch (Exception e) { +// // TODO Auto-generated catch block +// e.printStackTrace(); +// +// AnalysisLogger.getLogger().debug( +// "In RegressionRandomSampleOnTable->EXCEPTION: " + e); +// } +// +// } +// +// // Mysql database +// private static void testMysql2() { +// +// // connection to database +// DatabaseManagement mgt = new DatabaseManagement(""); +// +// try { +// mgt.createConnection("root", "test", "com.mysql.jdbc.Driver", +// "org.hibernate.dialect.MySQLDialect", +// "jdbc:mysql://146.48.87.169:3306/col2oct2010", +//// "jdbc:mysql://146.48.87.169:3306/aquamaps", +// "example"); +// } catch (IOException e) { +// // TODO Auto-generated catch block +// e.printStackTrace(); +// } +// +// // SmartSampleOnTable operation +// +// try { +// // for database postgres, if a table is not in lower case format, it +// // is necessary to include the table name in quotes "" +// mgt.randomSampleOnTable("example", "col2oct2010"); +// } catch (Exception e) { +// // TODO Auto-generated catch block +// e.printStackTrace(); +// +// AnalysisLogger.getLogger().debug( +// "In RegressionRandomSampleOnTable->EXCEPTION: " + e); +// } +// +// +// } +// +// //Mysql database +// private static void testMysql3() { +// +// // connection to database +// DatabaseManagement mgt = new DatabaseManagement(""); +// +// try { +// mgt.createConnection("root", "test", "com.mysql.jdbc.Driver", +// "org.hibernate.dialect.MySQLDialect", +// "jdbc:mysql://146.48.87.169:3306/col2oct2010", +//// "jdbc:mysql://146.48.87.169:3306/aquamaps", +// "common_names"); +// } catch (IOException e) { +// // TODO Auto-generated catch block +// e.printStackTrace(); +// } +// +// // SmartSampleOnTable operation +// +// try { +// // for database postgres, if a table is not in lower case format, it +// // is necessary to include the table name in quotes "" +// mgt.randomSampleOnTable("common_names", "col2oct2010"); +// } catch (Exception e) { +// // TODO Auto-generated catch block +// e.printStackTrace(); +// +// AnalysisLogger.getLogger().debug( +// "In RegressionRandomSampleOnTable->EXCEPTION: " + e); +// } +// +// +// } +// +//} diff --git a/src/test/java/org/gcube/dataaccess/test/RegressionSmartSampleOnTable.java b/src/test/java/org/gcube/dataaccess/test/RegressionSmartSampleOnTable.java new file mode 100644 index 0000000..927b866 --- /dev/null +++ b/src/test/java/org/gcube/dataaccess/test/RegressionSmartSampleOnTable.java @@ -0,0 +1,92 @@ +package org.gcube.dataaccess.test; +//package org.gcube.dataanalysis.test; +// +//import java.io.IOException; +// +//import org.gcube.contentmanagement.lexicalmatcher.utils.AnalysisLogger; +//import org.gcube.dataanalysis.databases.utils.DatabaseManagement; +//import org.junit.rules.TestName; +// +//public class RegressionSmartSampleOnTable { +// +// // String [] testName = {"Postgres", "Mysql"}; +// +// public static void main(String[] args) { +// // TODO Auto-generated method stub +// +// AnalysisLogger.getLogger().debug("Executing: " + "Postgres"); +// testPostgres(); +// +// AnalysisLogger.getLogger().debug("Executing: " + "Mysql"); +//// testMysql(); +// +// } +// +// // Postgres database +// private static void testPostgres() { +// +// // connection to database +// DatabaseManagement mgt = new DatabaseManagement(""); +// +// try { +// mgt.createConnection( +// "postgres", +// "d4science2", +// "org.postgresql.Driver", +// "org.hibernate.dialect.PostgreSQLDialect", +// "jdbc:postgresql://geoserver-dev.d4science-ii.research-infrastructures.eu:5432/aquamapsdb", +// "aquamapsdb"); +// } catch (IOException e) { +// // TODO Auto-generated catch block +// e.printStackTrace(); +// } +// +// // SmartSampleOnTable operation +// +// try { +// // for database postgres, if a table is not in lower case format, it +// // is necessary to include the table name in quotes "" +// mgt.smartSampleOnTable("Divisions", "public"); +// } catch (Exception e) { +// // TODO Auto-generated catch block +// e.printStackTrace(); +// +// AnalysisLogger.getLogger().debug( +// "In TestSmartSampleOnTable->EXCEPTION: " + e); +// } +// +// } +// +// // Mysql database +// private static void testMysql() { +// +// // connection to database +// DatabaseManagement mgt = new DatabaseManagement(""); +// +// try { +// mgt.createConnection("root", "test", "com.mysql.jdbc.Driver", +// "org.hibernate.dialect.MySQLDialect", +// // "jdbc:mysql://146.48.87.169:3306/col2oct2010", +// "jdbc:mysql://146.48.87.169:3306/aquamaps", "hcaf_d"); +// } catch (IOException e) { +// // TODO Auto-generated catch block +// e.printStackTrace(); +// } +// +// // SmartSampleOnTable operation +// +// try { +// // for database postgres, if a table is not in lower case format, it +// // is necessary to include the table name in quotes "" +// mgt.smartSampleOnTable("hcaf_d", "aquamaps"); +// } catch (Exception e) { +// // TODO Auto-generated catch block +// e.printStackTrace(); +// +// AnalysisLogger.getLogger().debug( +// "In TestSampleOnTable->EXCEPTION: " + e); +// } +// +// } +// +//} diff --git a/src/test/java/org/gcube/dataaccess/test/TestApp.java b/src/test/java/org/gcube/dataaccess/test/TestApp.java new file mode 100644 index 0000000..bf6d071 --- /dev/null +++ b/src/test/java/org/gcube/dataaccess/test/TestApp.java @@ -0,0 +1,434 @@ +package org.gcube.dataaccess.test; +//package org.gcube.dataanalysis.test; +//import static org.gcube.resources.discovery.icclient.ICFactory.clientFor; +//import static org.gcube.resources.discovery.icclient.ICFactory.queryFor; +// +//import java.io.BufferedReader; +//import java.io.IOException; +//import java.io.InputStreamReader; +//import java.util.List; +//import java.util.Scanner; +// +//import org.gcube.common.encryption.StringEncrypter; +//import org.gcube.common.resources.gcore.ServiceEndpoint; +//import org.gcube.common.scope.api.ScopeProvider; +//import org.gcube.dataanalysis.databases.resources.DBResource; +//import org.gcube.dataanalysis.ecoengine.configuration.AlgorithmConfiguration; +//import org.gcube.resources.discovery.client.api.DiscoveryClient; +//import org.gcube.resources.discovery.client.queries.impl.XQuery; +//import org.hibernate.SessionFactory; +// +//public class TestApp { +// +// /** +// * @param args +// */ +// public static void main(String[] args) { +// // TODO Auto-generated method stub +// +// +//// ScopeProvider.instance.set("/gcube/devsec/devVRE"); +// ScopeProvider.instance.set("/gcube/devsec"); +// +// +// +// XQuery query = queryFor(ServiceEndpoint.class); +// query.addCondition("$resource/Profile/Category/text() eq 'Database'"); +// +// DiscoveryClient prova=clientFor(DBResource.class); +// List access = prova.submit(query); +// +// +// System.out.println("size resource: "+access.size()); +// +// +// +// +// +// for(int i=0;i rawnames = df.executeQuery("select * from (select a.field1 as aa, b.field1_id as bb, b.field1 as cc from a7f768710_c7b0_11df_b2bc_e0f36cf4c8cd as a "+ +////// "left join cur_00d4e2d0_ecbd_11df_87fa_de008e0850ff as b on a.field3_id=b.field1_id) as cd", sf); +//// +//// /*List rawnames = df.executeQuery("select * from (select a.field1, b.field1_id, b.field1 from a7f768710_c7b0_11df_b2bc_e0f36cf4c8cd as a "+ +//// "left join cur_00d4e2d0_ecbd_11df_87fa_de008e0850ff as b on a.field3_id=b.field1_id) as cd", sf);*/ +//// +////// List rawnames = df.executeQuery("select a.field1 as aa, b.field1_id as bb, b.field1 as cc from a7f768710_c7b0_11df_b2bc_e0f36cf4c8cd as a "+ +////// "left join cur_00d4e2d0_ecbd_11df_87fa_de008e0850ff as b on a.field3_id=b.field1_id)", sf); +//// +//// +//// +//// +//// +//// //Query funzionante +//// +////// List rawnames = df.executeQuery("select a.field1, b.field1_id from a7f768710_c7b0_11df_b2bc_e0f36cf4c8cd as a "+ +////// "left join cur_00d4e2d0_ecbd_11df_87fa_de008e0850ff as b on a.field3_id=b.field1_id", sf); +//// +//// +//// //Query non funzionante +////// List rawnames = df.executeQuery("select a.field1, b.field1_id, b.field1 from a7f768710_c7b0_11df_b2bc_e0f36cf4c8cd as a "+ +////// "left join cur_00d4e2d0_ecbd_11df_87fa_de008e0850ff as b on a.field3_id=b.field1_id", sf); +//// +//// //Query funzionante con alias +//// +////// List rawnames = df.executeQuery("select a.field1 as aa, b.field1_id as bb, b.field1 as cc from a7f768710_c7b0_11df_b2bc_e0f36cf4c8cd as a "+ +////// "left join cur_00d4e2d0_ecbd_11df_87fa_de008e0850ff as b on a.field3_id=b.field1_id", sf); +//// +//// //Query funzionante +////// List rawnames = df.executeQuery("select a.source_data as sourceA, b.source_data as sourceB, a.target_data_scientific_name as targetA, b.target_data_scientific_name as tagertB " + +////// "from bionymoutsimplefaked1csvpreprcsv as a join bionymoutfaked1csvpreprcsv as b on a.source_data=b.source_data limit 10",sf); +//// +//// List rawnames = df.executeQuery(q,sf); +//// +//// +//// System.out.println("***************************************************************"); +//// System.out.println(); +//// +//// System.out.println("Size: "+rawnames.size()); +// // +//// for (int i = 0; i < rawnames.size(); i++) { +// // +//// Object[] row = (Object[]) rawnames.get(i); +// // +//// for (int j = 0; j < row.length; j++) { +// // +//// System.out.print("\"" + row[j] + "\"; "); +// // +//// } +//// System.out.println(); +//// //System.out.println("Fine "); +// // +//// } +//// +//// +//// +//// } catch (Exception e) { +//// // TODO Auto-generated catch block +//// //e.printStackTrace(); +//// +//// System.out.println("***************************************************************"); +//// System.out.println(); +//// +//// String error=e.getCause().toString(); +//// +//// if (error.contains("MySQLSyntaxErrorException")) +//// { +//// +//// System.out.println("ERROR "+e.getMessage()+" "+"because an error is present: "+e.getCause().getMessage()); +//// System.out.println("Suggestion: insert an alias name for the columns"); +//// +//// +//// } +//// +//// +//// } +// +// +// +//// }else { +//// System.out.println("ERRORE: Non è possibile eseguire la connessione perchè l'indirizzo non è completo: databasename non dsiponibile"); +//// }8 +// +// +// +//// } catch (IOException e1) { +//// // TODO Auto-generated catch block +//// e1.printStackTrace(); +//// } +// +// +// +// +// +// +// } +//} diff --git a/src/test/java/org/gcube/dataaccess/test/TestDatabasesResourcesManager.java b/src/test/java/org/gcube/dataaccess/test/TestDatabasesResourcesManager.java new file mode 100644 index 0000000..27a7915 --- /dev/null +++ b/src/test/java/org/gcube/dataaccess/test/TestDatabasesResourcesManager.java @@ -0,0 +1,34 @@ +package org.gcube.dataaccess.test; + +/** Class that interacts with the IS in order to recover some information about the available databases and the contained data. + * Once recovered the interested data he can import these in the database used by the SM. + * */ + +public class TestDatabasesResourcesManager { + + /** + * @param args + */ + public static void main(String[] args) { + // TODO Auto-generated method stub + + + // the user sets the scope + + + // the user views the available databases in the fixed scope + + // the user selects a database + + // the user wants to view some characteristics of the chosen database such as: the tables, rows' number and the create statement + + // the user wants to recover data from a certain table so he submits a 'select' query on the database + + // ?? the user create a table in the database's SM and import the recovered data + + + + + } + +} diff --git a/src/test/java/org/gcube/dataaccess/test/TestGetTables.java b/src/test/java/org/gcube/dataaccess/test/TestGetTables.java new file mode 100644 index 0000000..a285f9c --- /dev/null +++ b/src/test/java/org/gcube/dataaccess/test/TestGetTables.java @@ -0,0 +1,114 @@ +package org.gcube.dataaccess.test; +import java.math.BigInteger; +import java.util.ArrayList; +import java.util.List; +import java.util.Scanner; + +import org.gcube.contentmanagement.lexicalmatcher.utils.AnalysisLogger; +import org.gcube.dataaccess.databases.utils.DatabaseManagement; + + + +/** Class that tests the code for the recovery of the tables */ +public class TestGetTables { + + + public static void main(String[] args) { + // TODO Auto-generated method stub + + + + + Scanner sc = new Scanner(System.in); + + System.out.println("Specifica il nome del file di configurazione"); + + String configurationfile=sc.next(); + + //TODO: decommentare per la corretta esecuzione della classe +// try { +// DatabaseManagement obj=new DatabaseManagement("./cfg/", configurationfile); +// +// +// //Retrieve the schema for the postgres database +// +// List schemas=new ArrayList(); +// +// schemas=obj.getSchemas(); +// +// if (schemas!=null){ +// +// //test Print +// for (int i=0;i tables=new ArrayList(); +// +// +// //Retrieve the table's names of the database +// tables=obj.getTables(); +// +// +// //test print +// for (int i=0;i=,", +// // false); +// // +// // ArrayList tokenslist=new ArrayList(); +// // +// // //StringTokenizer +// // AnalysisLogger.getLogger().debug("------------ Tokenizer ----------- "); +// // +// // +// // int count = string.countTokens(); +// // +// // for (int i=0; i< count; i++){ +// // +// // String token=string.nextToken(); +// // +// // +// // tokenslist.add(token); +// // +// // AnalysisLogger.getLogger().debug("TestParsing->: "+ token); +// // +// // } +// +// AnalysisLogger.getLogger().debug("TestParsing->: Query " + query); +// // System.out.println(); +// +// boolean AllowedQuery = false; +// +// // LexicalAnalyzer lexer=new LexicalAnalyzer(); +// // AllowedQuery=lexer.analyze(query); +// +// System.out.println("Specifica il tipo di piattaforma"); +// +// Scanner scanIn = new Scanner(System.in); +// String platform = scanIn.nextLine(); +// scanIn.close(); +// +// if (platform.toLowerCase().contains("postgres")) { +// +// PostgresLexicalAnalyzer obj = new PostgresLexicalAnalyzer(); +// +// AllowedQuery = obj.analyze(query); +// +// } +// +// if (platform.toLowerCase().contains("mysql")) { +// +// MySQLLexicalAnalyzer obj = new MySQLLexicalAnalyzer(); +// +// AllowedQuery = obj.analyze(query); +// +// } +// +// if (AllowedQuery == true) { +// +// AnalysisLogger.getLogger().debug("TestParsing->: filtered Query"); +// +// } else { +// AnalysisLogger.getLogger().debug( +// "TestParsing->: not filtered query"); +// } +// +// } +// +//} diff --git a/src/test/java/org/gcube/dataaccess/test/TestPostgres.java b/src/test/java/org/gcube/dataaccess/test/TestPostgres.java new file mode 100644 index 0000000..48b8ae8 --- /dev/null +++ b/src/test/java/org/gcube/dataaccess/test/TestPostgres.java @@ -0,0 +1,284 @@ +package org.gcube.dataaccess.test; +import java.util.List; + +import org.gcube.dataanalysis.ecoengine.configuration.AlgorithmConfiguration; +import org.gcube.dataanalysis.ecoengine.utils.DatabaseUtils; +import org.hibernate.Query; +import org.hibernate.Session; +import org.hibernate.SessionFactory; + + + +public class TestPostgres { + + /** + * @param args + */ + + @SuppressWarnings({"unchecked"}) + public static List executeHQLQuery(String query, SessionFactory DBSessionFactory, boolean useSQL) throws Exception{ + + List obj = null; + Session ss = null; + try { + ss = DBSessionFactory.getCurrentSession(); + + ss.beginTransaction(); + + Query qr = null; + + if (useSQL) + qr = ss.createSQLQuery(query); + else + qr = ss.createQuery(query); + + List result = qr.list(); + + ss.getTransaction().commit(); + + /* + if (result == null) + System.out.println("Hibernate doesn't return a valid object when org.gcube.contentmanagement.lexicalmatcher retrieve UserState Object"); + + if (result != null && result.size() == 0) + System.out.println(String.format("found nothing in database")); +*/ + if (result != null && result.size() != 0) { + obj = result; + } + + } catch (Exception e) { + +// System.out.println(String.format("Error while executing query: %1$s %2$s", query, e.getMessage())); +// e.printStackTrace(); + System.out.println(String.format("Error while executing query: %1$s %2$s", query, e.getMessage())); + throw e; + } + + return obj; + + } + + public static void main(String[] args) throws Exception{ + // TODO Auto-generated method stub + + /*AlgorithmConfiguration config = new AlgorithmConfiguration(); + config.setConfigPath("./cfg/"); + config.setParam("DatabaseUserName", "utente"); + config.setParam("DatabasePassword", "d4science"); + config.setParam("DatabaseDriver","org.postgresql.Driver"); + //config.setParam("DatabaseDialect", "org.hibernate.dialect.PostgresPlusDialect"); + config.setParam( + "DatabaseURL", + "jdbc:postgresql://statistical-manager.d.d4science.research-infrastructures.eu/testdb"); + + SessionFactory dbconnection = DatabaseUtils.initDBSession(config); + List rawnames = DatabaseFactory + .executeSQLQuery( + "select a.source_data as sourceA, b.source_data as sourceB, a.target_data_scientific_name as targetA, b.target_data_scientific_name as tagertB " + + "from bionymoutsimplefaked1csvpreprcsv as a join bionymoutfaked1csvpreprcsv as b on a.source_data=b.source_data limit 10", + dbconnection); + + + List rawnames = DatabaseFactory + .executeSQLQuery( + "select a.source_data as sourceA, a.target_data_scientific_name as targetA, b.source_data sourceB " + + "from bion_id_a1f27126_df23_4980_8e2b_4afc8aaa404f as a " + + "left join bion_id_ab251ee0_7cc6_49b2_8956_330f4716650f as b " + + "on a.source_data=b.source_data", + dbconnection); + + + //List rawnames = DatabaseFactory.executeHQLQuery(query, DBSessionFactory, useSQL); + + + + + + + System.out.println("***************************************************************"); + System.out.println(); + + for (int i = 0; i < rawnames.size(); i++) { + + Object[] row = (ObEntityManagerject[]) rawnames.get(i); + + for (int j = 0; j < row.length; j++) { + + System.out.print("\"" + row[j] + "\"; "); + + } + System.out.println(); + //System.out.println("Fine "); + + }*/ + + + AlgorithmConfiguration config = new AlgorithmConfiguration(); + config.setConfigPath("./cfg/"); + config.setParam("DatabaseUserName", "root"); + config.setParam("DatabasePassword", "test"); + config.setParam("DatabaseDriver","com.mysql.jdbc.Driver"); + config.setParam("DatabaseDialect", "org.hibernate.dialect.MySQLDialect"); + config.setParam( + "DatabaseURL", + "jdbc:mysql://146.48.87.169/timeseries"); + + SessionFactory dbconnection = DatabaseUtils.initDBSession(config); + + + /*List rawnames = DatabaseFactory + .executeSQLQuery( + "select a.source_data as sourceA, b.source_data as sourceB, a.target_data_scientific_name as targetA, b.target_data_scientific_name as tagertB " + + "from bionymoutsimplefaked1csvpreprcsv as a join bionymoutfaked1csvpreprcsv as b on a.source_data=b.source_data limit 10", + dbconnection);*/ + + //try{ + + + + +// dbconnection.getCurrentSession().; +// +// +// ss.getCause() + + // } + /*catch(JDBCExceptionReporter e) + { + Throwable t = e.getCause(); + SQLException ex = (SQLException) t.getCause(); + while(ex != null){ + while(t != null) { + t = t.getCause(); + } + // Logger logger=new Logger(); + // logger.warn("SQLException="+ex.getLocalizedMessage()); + + System.out.println("sono qui"); + + ex = ex.getNextException(); + } + } + */ + System.out.println("***************************************************************"); + System.out.println(); + + //List rawnames =((javax.persistence.Query) query).getResultList(); + + + + try{ + + /*List rawnames = executeHQLQuery( + "select * from (select a.field1, b.field1_id as bb, b.field1 from a7f768710_c7b0_11df_b2bc_e0f36cf4c8cd as a "+ + "left join cur_00d4e2d0_ecbd_11df_87fa_de008e0850ff as b on a.field3_id=b.field1_id) as cd",*/ +// "select * "+ +// "from a7f768710_c7b0_11df_b2bc_e0f36cf4c8cd as a, cur_00d4e2d0_ecbd_11df_87fa_de008e0850ff as b limit 10", +// dbconnection, true); + + + List rawnames = executeHQLQuery( + "select a.field1, b.field1_id from a7f768710_c7b0_11df_b2bc_e0f36cf4c8cd as a "+ + "left join cur_00d4e2d0_ecbd_11df_87fa_de008e0850ff as b on a.field3_id=b.field1_id",dbconnection, true); +// "select * "+ +// "from a7f768710_c7b0_11df_b2bc_e0f36cf4c8cd as a, cur_00d4e2d0_ecbd_11df_87fa_de008e0850ff as b limit 10", +// dbconnection, true); + + + + System.out.println("Size: "+rawnames.size()); + + for (int i = 0; i < rawnames.size(); i++) { + + Object[] row = (Object[]) rawnames.get(i); + + for (int j = 0; j < row.length; j++) { + + System.out.print("\"" + row[j] + "\"; "); + + } + System.out.println(); + //System.out.println("Fine "); + + } + + }catch(Exception e){ + e.printStackTrace(); + System.out.println("message: "+e.getMessage()); + //System.out.println(e.getLocalizedMessage()); + + StackTraceElement [] elem=e.getStackTrace(); + + + System.out.println("localized: "+e.getCause().toString()); + String error=e.getCause().toString(); + if (error.contains("MySQLSyntaxErrorException")) + { + + System.out.println("ERROR "+e.getMessage()+" "+"because an error is present: "+e.getCause().getMessage()); + + + } + +// System.out.println("cause: "+e.getCause().getMessage()); + +// for (int i=0;i addresses=new ArrayList(); + + obj.setScope("/gcube/devsec"); + + addresses=obj.retrieveAddress("Database"); + + //Stampa + for (int i=0; iEXCEPTION: "+ e); +// } +// +// // SmartSampleOnTable operation +// +// // mgt.smartSampleOnTable(tableName); +// +// +// +// +// +// //MYSQL Database +// +//// try { +//// mgt.createConnection( +//// "root", +//// "test", +//// "com.mysql.jdbc.Driver", +//// "org.hibernate.dialect.MySQLDialect", +////// "jdbc:mysql://146.48.87.169:3306/col2oct2010", +//// "jdbc:mysql://146.48.87.169:3306/aquamaps", +//// "hcaf_d"); +//// } catch (IOException e) { +//// // TODO Auto-generated catch block +//// e.printStackTrace(); +//// } +//// +//// // SampleOnTable operation +//// +//// try { +//// // for database postgres, if a table is not in lower case format, it +//// // is necessary to include the table name in quotes "" +//// mgt.sampleOnTable("hcaf_d", "aquamaps"); +//// } catch (Exception e) { +//// // TODO Auto-generated catch block +//// e.printStackTrace(); +//// +//// AnalysisLogger +//// .getLogger() +//// .debug("In TestSampleOnTable->EXCEPTION: "+ e); +//// } +// +// } +// +//} diff --git a/src/test/java/org/gcube/dataaccess/test/TestSmartSampleOnTable.java b/src/test/java/org/gcube/dataaccess/test/TestSmartSampleOnTable.java new file mode 100644 index 0000000..9bbd7fc --- /dev/null +++ b/src/test/java/org/gcube/dataaccess/test/TestSmartSampleOnTable.java @@ -0,0 +1,110 @@ +package org.gcube.dataaccess.test; +//package org.gcube.dataanalysis.test; +// +//import java.io.IOException; +// +//import org.gcube.contentmanagement.lexicalmatcher.utils.AnalysisLogger; +//import org.gcube.dataanalysis.databases.utils.DatabaseManagement; +// +//public class TestSmartSampleOnTable { +// +// public static void main(String[] args) { +// +// // connection to database +// DatabaseManagement mgt = new DatabaseManagement(""); +// +//// // Postgres Database +//// try { +//// mgt.createConnection( +//// "postgres", +//// "d4science2", +//// "org.postgresql.Driver", +//// "org.hibernate.dialect.PostgreSQLDialect", +//// "jdbc:postgresql://geoserver-dev.d4science-ii.research-infrastructures.eu:5432/aquamapsdb", +//// "aquamapsdb"); +//// } catch (IOException e) { +//// // TODO Auto-generated catch block +//// e.printStackTrace(); +//// } +//// +//// // SampleOnTable operation +//// +//// try { +//// // for database postgres, if a table is not in lower case format, it +//// // is necessary to include the table name in quotes "" +//// mgt.smartSampleOnTable("Divisions", "public"); +//// } catch (Exception e) { +//// // TODO Auto-generated catch block +//// e.printStackTrace(); +//// +//// AnalysisLogger.getLogger().debug( +//// "In TestSmartSampleOnTable->EXCEPTION: " + e); +//// } +// +// +// +// //Mysql database +// +// try { +// mgt.createConnection( +// "root", +// "test", +// "com.mysql.jdbc.Driver", +// "org.hibernate.dialect.MySQLDialect", +//// "jdbc:mysql://146.48.87.169:3306/col2oct2010", +// "jdbc:mysql://146.48.87.169:3306/aquamaps", +// "hcaf_d"); +// } catch (IOException e) { +// // TODO Auto-generated catch block +// e.printStackTrace(); +// } +// +// // SampleOnTable operation +// +// try { +// // for database postgres, if a table is not in lower case format, it +// // is necessary to include the table name in quotes "" +// mgt.smartSampleOnTable("hcaf_d", "aquamaps"); +// } catch (Exception e) { +// // TODO Auto-generated catch block +// e.printStackTrace(); +// +// AnalysisLogger +// .getLogger() +// .debug("In TestSampleOnTable->EXCEPTION: "+ e); +// } +// +// //Mysql database +// +//// try { +//// mgt.createConnection( +//// "root", +//// "test", +//// "com.mysql.jdbc.Driver", +//// "org.hibernate.dialect.MySQLDialect", +////// "jdbc:mysql://146.48.87.169:3306/col2oct2010", +//// "jdbc:mysql://146.48.87.169:3306/col2oct2010", +//// "common_names"); +//// } catch (IOException e) { +//// // TODO Auto-generated catch block +//// e.printStackTrace(); +//// } +//// +//// // SampleOnTable operation +//// +//// try { +//// // for database postgres, if a table is not in lower case format, it +//// // is necessary to include the table name in quotes "" +//// mgt.smartSampleOnTable("common_names", "col2oct2010"); +//// } catch (Exception e) { +//// // TODO Auto-generated catch block +//// e.printStackTrace(); +//// +//// AnalysisLogger +//// .getLogger() +//// .debug("In TestSampleOnTable->EXCEPTION: "+ e); +//// } +// +// } +// +//}