Skip to content
Snippets Groups Projects
DBC.java 18.2 KiB
Newer Older
  • Learn to ignore specific revisions
  • A C's avatar
    A C committed
    package db;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.ArrayList;
    import java.util.Arrays;
    
    A C's avatar
    A C committed
    
    
    A C's avatar
    A C committed
    import org.json.JSONArray;
    
    A C's avatar
    A C committed
    import org.json.JSONException;
    
    A C's avatar
    A C committed
    
    /**
     *
     * @author sqlitetutorial.net
     */
    
    A C's avatar
    A C committed
    public class DBC {
    
    A C's avatar
    A C committed
    
    
    	private static Connection connect() {
    		// SQLite connection string
    		String url = "jdbc:sqlite:../DBPissirDomain.db";
    		Connection conn = null;
    		try {
    			conn = DriverManager.getConnection(url);
    		} catch (SQLException e) {
    			e.printStackTrace();
    		}
    		return conn;
    	}
    
    
    A C's avatar
    A C committed
    	public static Dominio getDom(String dm) throws SQLException {
    		// connect();
    		// Statement statement =conn.createStatement();
    
    
    		Connection conn = connect();
    		if(conn == null)
    			return null;
    
    A C's avatar
    A C committed
    		try {
    
    			// // db parameters
    			// String url = "jdbc:sqlite:../DBPissirDomain.db";
    			// // create a connection to the database
    			// conn = DriverManager.getConnection(url);
    
    A C's avatar
    A C committed
    
    			PreparedStatement prepared = conn.prepareStatement("SELECT * FROM Domini WHERE Domain = ?");
    			prepared.setString(1, dm);
    			ResultSet result = prepared.executeQuery();
    
    A C's avatar
    A C committed
    			// String sql= "SELECT * FROM Domini WHERE Domain = ?";
    
    			// ResultSet result =statement.executeQuery(sql);
    			// Dominio res=new Dominio();
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    			if (result.next()) {
    
    A C's avatar
    A C committed
    				String dom = result.getString("Domain");
    				String desc = result.getString("Desc");
    
    				// String users=result.getString("Users");
    
    				// ArrayList<String> users = new
    				// ArrayList<String>(Arrays.asList(result.getString("Users").split(",")));
    				// ArrayList<String> reso = new
    				// ArrayList<String>(Arrays.asList(result.getString("Resources").split(",")));
    
    A C's avatar
    A C committed
    				// String reso=result.getString("Resources");
    
    
    A C's avatar
    A C committed
    				Integer state = result.getInt("State");
    
    				// ArrayList<String> serv = new
    				// ArrayList<String>(Arrays.asList(result.getString("Services").split(",")));
    
    A C's avatar
    A C committed
    				// String serv=result.getString("Services");
    
    				Dominio d = new Dominio(dom, desc, state);// users, reso,, serv
    
    A C's avatar
    A C committed
    				// res.add(d);
    				return d;
    			}
    
    			// return null;
    
    A C's avatar
    A C committed
    
    		} catch (SQLException e) {
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    			e.printStackTrace();
    
    A C's avatar
    A C committed
    		} finally {
    			try {
    				if (conn != null) {
    					conn.close();
    				}
    			} catch (SQLException ex) {
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    				ex.printStackTrace();
    
    A C's avatar
    A C committed
    			}
    		}
    		return null;
    
    	}
    
    	public static void delDom(String dm) throws SQLException {
    
    
    		Connection conn = connect();
    		if(conn == null)
    			return;
    
    A C's avatar
    A C committed
    		try {
    			// db parameters
    
    			// String url = "jdbc:sqlite:../DBPissirDomain.db";
    			// // create a connection to the database
    			// conn = DriverManager.getConnection(url);
    
    A C's avatar
    A C committed
    
    			PreparedStatement prepared = conn.prepareStatement("DELETE FROM Domini WHERE Domain = ?");
    			prepared.setString(1, dm);
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    			prepared.executeUpdate();
    
    			prepared = conn.prepareStatement("DELETE FROM Usa WHERE Domain = ?");
    			prepared.setString(1, dm);
    			prepared.executeUpdate();
    
    			prepared = conn.prepareStatement("DELETE FROM Amministra WHERE Domain = ?");
    			prepared.setString(1, dm);
    			prepared.executeUpdate();
    
    A C's avatar
    A C committed
    
    
    alfredo's avatar
    alfredo committed
    			prepared = conn.prepareStatement("DELETE FROM Servizi WHERE Domain = ?");
    			prepared.setString(1, dm);
    			prepared.executeUpdate();
    
    
    A C's avatar
    A C committed
    		} catch (SQLException e) {
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    			e.printStackTrace();
    
    A C's avatar
    A C committed
    		} finally {
    			try {
    				if (conn != null) {
    					conn.close();
    				}
    			} catch (SQLException ex) {
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    				ex.printStackTrace();
    
    A C's avatar
    A C committed
    			}
    		}
    		// return false;
    
    	}
    
    A C's avatar
    A C committed
    	public static void insertDom(String j) throws SQLException, JSONException {
    
    A C's avatar
    A C committed
    		// connect();
    		// Statement statement =conn.createStatement();
    
    
    		Connection conn = connect();
    		if(conn == null)
    			return;
    
    A C's avatar
    A C committed
    		try {
    
    			// // db parameters
    			// String url = "jdbc:sqlite:../DBPissirDomain.db";
    			// // create a connection to the database
    			// conn = DriverManager.getConnection(url);
    
    A C's avatar
    A C committed
    
    
    A C's avatar
    A C committed
    			PreparedStatement prepared = conn.prepareStatement("INSERT INTO Domini (Domain, State) VALUES (?1,?2)");
    			prepared.setString(1, j);
    			prepared.setInt(2, 0);
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    			prepared.executeUpdate();
    
    A C's avatar
    A C committed
    		} catch (SQLException e) {
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    			e.printStackTrace();
    
    A C's avatar
    A C committed
    		} finally {
    			try {
    				if (conn != null) {
    					conn.close();
    				}
    			} catch (SQLException ex) {
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    				ex.printStackTrace();
    
    A C's avatar
    A C committed
    			}
    		}
    
    A C's avatar
    A C committed
    	}
    
    A C's avatar
    A C committed
    	public static ArrayList<String> getDomainsAdmin(String user) throws SQLException, JSONException {
    		// connect();
    		// Statement statement =conn.createStatement();
    
    
    		Connection conn = connect();
    		if(conn == null)
    			return null;
    
    A C's avatar
    A C committed
    		try {
    
    			// // db parameters
    			// String url = "jdbc:sqlite:../DBPissirDomain.db";
    			// // create a connection to the database
    			// conn = DriverManager.getConnection(url);
    
    A C's avatar
    A C committed
    
    			PreparedStatement prepared = conn.prepareStatement("SELECT * FROM Amministra WHERE User = ?");
    			prepared.setString(1, user);
    			ResultSet result = prepared.executeQuery();
    
    			ArrayList<String> res = new ArrayList<String>();
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    			// JSONArray jsnarr=new JSONArray();
    
    A C's avatar
    A C committed
    			while (result.next()) {
    				String dom = result.getString("Domain");
    
    				// String desc= result.getString("Desc");
    				// Integer state = result.getInt("State");
    				//
    				// JSONObject j=new JSONObject("{"+dom+":"+state+"}");
    				// jsnarr.put(j);
    				//
    				// Dominio d=new Dominio(dom,desc,state);
    
    A C's avatar
    A C committed
    				res.add(dom);
    
    A C's avatar
    A C committed
    			}
    
    			// return jsnarr;
    
    A C's avatar
    A C committed
    			return res;
    
    		} catch (SQLException e) {
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    			e.printStackTrace();
    
    A C's avatar
    A C committed
    		} finally {
    			try {
    				if (conn != null) {
    					conn.close();
    				}
    			} catch (SQLException ex) {
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    				ex.printStackTrace();
    
    A C's avatar
    A C committed
    			}
    		}
    		return null;
    
    	}
    
    A C's avatar
    A C committed
    	public static ArrayList<String> getDomainsUser(String user) throws SQLException, JSONException {
    
    
    		Connection conn = connect();
    		if(conn == null)
    			return null;
    
    A C's avatar
    A C committed
    		try {
    
    			// // db parameters
    			// String url = "jdbc:sqlite:../DBPissirDomain.db";
    			// // create a connection to the database
    			// conn = DriverManager.getConnection(url);
    
    A C's avatar
    A C committed
    
    			PreparedStatement prepared = conn.prepareStatement("SELECT * FROM Usa WHERE User = ?");
    			prepared.setString(1, user);
    			ResultSet result = prepared.executeQuery();
    
    			ArrayList<String> res = new ArrayList<String>();
    
    A C's avatar
    A C committed
    			while (result.next()) {
    				String dom = result.getString("Domain");
    				res.add(dom);
    
    A C's avatar
    A C committed
    			}
    
    			// return jsnarr;
    
    A C's avatar
    A C committed
    			return res;
    
    		} catch (SQLException e) {
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    			e.printStackTrace();
    
    A C's avatar
    A C committed
    		} finally {
    			try {
    				if (conn != null) {
    					conn.close();
    				}
    			} catch (SQLException ex) {
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    				ex.printStackTrace();
    
    A C's avatar
    A C committed
    			}
    		}
    		return null;
    
    	}
    
    A C's avatar
    A C committed
    	public static Dominio getDomain(String domain) throws SQLException, JSONException {
    		// connect();
    		// Statement statement =conn.createStatement();
    
    A C's avatar
    A C committed
    
    
    		Connection conn = connect();
    		if(conn == null)
    			return null;
    
    A C's avatar
    A C committed
    		try {
    
    			// // db parameters
    			// String url = "jdbc:sqlite:../DBPissirDomain.db";
    			// // create a connection to the database
    			// conn = DriverManager.getConnection(url);
    
    A C's avatar
    A C committed
    
    			PreparedStatement prepared = conn.prepareStatement("SELECT * FROM Domini WHERE Domain = ?");
    			prepared.setString(1, domain);
    			ResultSet result = prepared.executeQuery();
    
    			// ArrayList<String> res=new ArrayList<String>();
    			// JSONArray jsnarr=new JSONArray();
    
    A C's avatar
    A C committed
    			while (result.next()) {
    				String dom = result.getString("Domain");
    
    				String desc = result.getString("Desc");
    
    A C's avatar
    A C committed
    				Integer state = result.getInt("State");
    
    				//
    				// JSONObject j=new JSONObject("{"+dom+":"+state+"}");
    				// jsnarr.put(j);
    				//
    				Dominio d = new Dominio(dom, desc, state);
    				// res.add(dom);
    
    A C's avatar
    A C committed
    				return d;
    			}
    
    			// return jsnarr;
    
    A C's avatar
    A C committed
    
    		} catch (SQLException e) {
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    			e.printStackTrace();
    
    A C's avatar
    A C committed
    		} finally {
    			try {
    				if (conn != null) {
    					conn.close();
    				}
    			} catch (SQLException ex) {
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    				ex.printStackTrace();
    
    A C's avatar
    A C committed
    			}
    		}
    		return null;
    
    	}
    
    A C's avatar
    A C committed
    	public static void fillModules(String a, String b, String c) throws SQLException, JSONException {
    		// connect();
    		// Statement statement =conn.createStatement();
    
    
    		Connection conn = connect();
    		if(conn == null)
    			return;
    
    A C's avatar
    A C committed
    		try {
    			// db parameters
    
    			// String url = "jdbc:sqlite:../DBPissirDomain.db";
    			// // create a connection to the database
    			// conn = DriverManager.getConnection(url);
    
    A C's avatar
    A C committed
    
    
    			PreparedStatement prepared = conn
    					.prepareStatement("INSERT INTO Moduli (Module, Requirements, Path) VALUES (?,?,?);");
    
    A C's avatar
    A C committed
    			prepared.setString(1, a);
    			prepared.setString(2, b);
    			prepared.setString(3, c);
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    			prepared.executeUpdate();
    
    A C's avatar
    A C committed
    		} catch (SQLException e) {
    
    			if (!e.getMessage().contains("SQLITE_CONSTRAINT_PRIMARYKEY")) {
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    				e.printStackTrace();
    
    A C's avatar
    A C committed
    			}
    
    A C's avatar
    A C committed
    		} finally {
    			try {
    				if (conn != null) {
    					conn.close();
    				}
    			} catch (SQLException ex) {
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    				ex.printStackTrace();
    
    A C's avatar
    A C committed
    			}
    		}
    
    		// return null;
    
    A C's avatar
    A C committed
    	public static ArrayList<String> getModules() throws SQLException, JSONException {
    		// connect();
    		// Statement statement =conn.createStatement();
    
    
    		Connection conn = connect();
    		if(conn == null)
    			return null;
    
    A C's avatar
    A C committed
    		try {
    
    			// // db parameters
    			// String url = "jdbc:sqlite:../DBPissirDomain.db";
    			// // create a connection to the database
    			// conn = DriverManager.getConnection(url);
    
    A C's avatar
    A C committed
    
    			PreparedStatement prepared = conn.prepareStatement("SELECT * FROM Moduli");
    
    			// prepared.setString(1, user);
    
    A C's avatar
    A C committed
    			ResultSet result = prepared.executeQuery();
    
    			ArrayList<String> res = new ArrayList<String>();
    
    A C's avatar
    A C committed
    			while (result.next()) {
    				String mod = result.getString("Module");
    
    				// String req= result.getString("Requirements");
    
    				// Integer state = result.getInt("State");
    				//
    				// JSONObject j=new JSONObject("{"+dom+":"+state+"}");
    				// jsnarr.put(j);
    				//
    				// Dominio d=new Dominio(dom,desc,state);
    
    A C's avatar
    A C committed
    				res.add(mod);
    
    A C's avatar
    A C committed
    			}
    
    			// return jsnarr;
    
    A C's avatar
    A C committed
    			return res;
    
    		} catch (SQLException e) {
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    			e.printStackTrace();
    
    A C's avatar
    A C committed
    		} finally {
    			try {
    				if (conn != null) {
    					conn.close();
    				}
    			} catch (SQLException ex) {
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    				ex.printStackTrace();
    
    A C's avatar
    A C committed
    			}
    		}
    		return null;
    
    	}
    
    A C's avatar
    A C committed
    	public static void insertAmministra(String user, String dom) throws SQLException, JSONException {
    		// connect();
    		// Statement statement =conn.createStatement();
    
    
    		Connection conn = connect();
    		if(conn == null)
    			return;
    
    A C's avatar
    A C committed
    		try {
    
    			// // db parameters
    			// String url = "jdbc:sqlite:../DBPissirDomain.db";
    			// // create a connection to the database
    			// conn = DriverManager.getConnection(url);
    
    A C's avatar
    A C committed
    			PreparedStatement prepared = conn.prepareStatement("INSERT INTO Amministra (User, Domain) VALUES (?1,?2)");
    			prepared.setString(1, user);
    			prepared.setString(2, dom);
    
    			// prepared.setString(6, j.getString("services").toString().trim());
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    			prepared.executeUpdate();
    
    A C's avatar
    A C committed
    		} catch (SQLException e) {
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    			e.printStackTrace();
    
    A C's avatar
    A C committed
    		} finally {
    			try {
    				if (conn != null) {
    					conn.close();
    				}
    			} catch (SQLException ex) {
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    				ex.printStackTrace();
    
    A C's avatar
    A C committed
    	public static void insertUsa(String user, String dom) throws SQLException, JSONException {
    		// connect();
    		// Statement statement =conn.createStatement();
    
    
    		Connection conn = connect();
    		if(conn == null)
    			return;
    
    A C's avatar
    A C committed
    		try {
    
    			// // db parameters
    			// String url = "jdbc:sqlite:../DBPissirDomain.db";
    			// // create a connection to the database
    			// conn = DriverManager.getConnection(url);
    
    A C's avatar
    A C committed
    			PreparedStatement prepared = conn.prepareStatement("INSERT INTO Usa (User, Domain) VALUES (?1,?2)");
    			prepared.setString(1, user);
    			prepared.setString(2, dom);
    
    			// prepared.setString(6, j.getString("services").toString().trim());
    			prepared.executeUpdate();
    
    A C's avatar
    A C committed
    		} catch (SQLException e) {
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    			e.printStackTrace();
    
    A C's avatar
    A C committed
    		} finally {
    			try {
    				if (conn != null) {
    					conn.close();
    				}
    			} catch (SQLException ex) {
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    				ex.printStackTrace();
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    	public static void insertService(String domain, String host, String module) throws JSONException {
    
    A C's avatar
    A C committed
    		// connect();
    		// Statement statement =conn.createStatement();
    
    
    		Connection conn = connect();
    		if(conn == null)
    			return;
    
    A C's avatar
    A C committed
    		try {
    
    			// // db parameters
    			// String url = "jdbc:sqlite:../DBPissirDomain.db";
    			// // create a connection to the database
    			// conn = DriverManager.getConnection(url);
    
    A C's avatar
    A C committed
    
    
    			PreparedStatement prepared = conn
    					.prepareStatement("INSERT INTO Servizi (Domain, Resource, Module) VALUES (?1,?2,?3)");
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    			prepared.setString(1, domain);
    			prepared.setString(2, host);
    			prepared.setString(3, module);
    
    A C's avatar
    A C committed
    
    
    			prepared.executeUpdate();
    
    A C's avatar
    A C committed
    		} catch (SQLException e) {
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    			e.printStackTrace();
    
    A C's avatar
    A C committed
    		} finally {
    			try {
    				if (conn != null) {
    					conn.close();
    				}
    			} catch (SQLException ex) {
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    				ex.printStackTrace();
    
    A C's avatar
    A C committed
    			}
    		}
    
    		// return null;
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    	/**
    
    	 * finds the host from the database and calls insertService(domain,host,service)
    	 * to insert the data into the database
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    	 */
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    	public static ArrayList<String> insertService(String domain, String module) throws JSONException {
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    		// find the host from the database
    
    		Connection conn = connect();
    		if(conn == null)
    			return null;
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    		try {
    			// db parameters
    
    			// String url = "jdbc:sqlite:../DBPissirDomain.db";
    			// // create a connection to the database
    			// conn = DriverManager.getConnection(url);
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    			PreparedStatement first = conn.prepareStatement("SELECT Requirements FROM Moduli WHERE Module = ?1");
    			first.setString(1, module);
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    			ResultSet res = first.executeQuery();
    
    			ArrayList<String> requirements = new ArrayList<String>();
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    			while (res.next()) {
    
    				String[] requirementsArr = res.getString("Requirements").split(",");// also works if there is only one
    																					// host
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    
    				// add the requirementsArr to requirements
    				requirements.addAll(Arrays.asList(requirementsArr));
    			}
    
    			ArrayList<String> hosts = new ArrayList<String>();
    
    			for (String reqs : requirements) {
    				PreparedStatement second = conn.prepareStatement("SELECT Host FROM Risorse WHERE Platform = ?1");// and
    																													// Domain
    																													// =
    																													// ?2");
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    				second.setString(1, reqs);
    				// second.setString(2, domain);
    
    				ResultSet res2 = second.executeQuery();
    				while (res2.next()) {
    					hosts.add(res2.getString("Host"));
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    				}
    			}
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    			conn.close();
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    			ArrayList<String> result = new ArrayList<String>();
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    			for (String host : hosts) {
    				insertService(domain, host, module);
    
    				result.add(module + "---" + host);
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    			}
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    			return result;
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    
    		} catch (SQLException e) {
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    			e.printStackTrace();
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    		} finally {
    			try {
    				if (conn != null) {
    					conn.close();
    				}
    			} catch (SQLException ex) {
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    				ex.printStackTrace();
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    			}
    		}
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    		return null;
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    	}
    
    
    	public static JSONArray getServicesInUseByDomain(String domain) throws SQLException, JSONException {
    
    A C's avatar
    A C committed
    		// connect();
    		// Statement statement =conn.createStatement();
    
    
    		Connection conn = connect();
    		if(conn == null)
    			return null;
    
    A C's avatar
    A C committed
    		try {
    			// db parameters
    
    			// String url = "jdbc:sqlite:../DBPissirDomain.db";
    			// // create a connection to the database
    			// conn = DriverManager.getConnection(url);
    
    A C's avatar
    A C committed
    
    			PreparedStatement prepared = conn.prepareStatement("SELECT Module FROM Servizi WHERE Domain = ?");
    			prepared.setString(1, domain);
    			ResultSet result = prepared.executeQuery();
    
    			// ArrayList<String> res=new ArrayList<String>();
    			// JSONArray jsnarr=new JSONArray();
    			ArrayList<String> arr = new ArrayList<String>();// serve per il contains
    			JSONArray res = new JSONArray();
    
    A C's avatar
    A C committed
    			while (result.next()) {
    
    				// JSONObject j= result;
    				String module = result.getString("Module");
    				if (!arr.contains(module)) {
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    					arr.add(module);
    					res.put(module);
    
    				}
    				// String dom = result.getString("Domain");
    				// String desc= result.getString("Desc");
    				// Integer state = result.getInt("State");
    				//
    				// JSONObject j=new JSONObject("{"+dom+":"+state+"}");
    				// jsnarr.put(j);
    				//
    				// Dominio d=new Dominio(dom,desc,state);
    				// res.add(dom);
    
    A C's avatar
    A C committed
    			}
    
    A C's avatar
    A C committed
    			return res;
    
    A C's avatar
    A C committed
    		} catch (SQLException e) {
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    			e.printStackTrace();
    
    A C's avatar
    A C committed
    		} finally {
    			try {
    				if (conn != null) {
    					conn.close();
    				}
    			} catch (SQLException ex) {
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    				ex.printStackTrace();
    
    A C's avatar
    A C committed
    			}
    		}
    		return null;
    
    	}
    
    	public static JSONArray getAllServices() {
    
    		Connection conn = connect();
    		if(conn == null)
    			return null;
    
    			// // db parameters
    			// String url = "jdbc:sqlite:../DBPissirDomain.db";
    			// // create a connection to the database
    			// conn = DriverManager.getConnection(url);
    
    
    			Statement statement = conn.createStatement();
    			ResultSet result = statement.executeQuery("SELECT Module FROM Moduli");
    
    
    			// ArrayList<String> res=new ArrayList<String>();
    			// JSONArray jsnarr=new JSONArray();
    			ArrayList<String> arr = new ArrayList<String>();
    			JSONArray res = new JSONArray();
    
    				// JSONObject j= result;
    
    				if (!arr.contains(resString)) {
    
    				// String dom = result.getString("Domain");
    				// String desc= result.getString("Desc");
    				// Integer state = result.getInt("State");
    				//
    				// JSONObject j=new JSONObject("{"+dom+":"+state+"}");
    				// jsnarr.put(j);
    				//
    				// Dominio d=new Dominio(dom,desc,state);
    				// res.add(dom);
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    			e.printStackTrace();
    
    		} finally {
    			try {
    				if (conn != null) {
    					conn.close();
    				}
    			} catch (SQLException ex) {
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    				ex.printStackTrace();
    
    	public static void setStatoDomain(String domain, int stato) {
    		Connection conn = connect();
    		if(conn == null)
    			return;
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    		try {
    
    			// // db parameters
    			// String url = "jdbc:sqlite:../DBPissirDomain.db";
    			// // create a connection to the database
    			// conn = DriverManager.getConnection(url);
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    
    			PreparedStatement prepared = conn.prepareStatement("UPDATE Domini SET State = ? WHERE Domain = ?");
    			prepared.setInt(1, stato);
    			prepared.setString(2, domain);
    
    
    			prepared.executeUpdate();
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    
    		} catch (SQLException e) {
    			e.printStackTrace();
    		} finally {
    			try {
    				if (conn != null) {
    					conn.close();
    				}
    			} catch (SQLException ex) {
    				ex.printStackTrace();
    			}
    		}
    	}
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    
    
    	public static String getURI(String module) {
    
    		Connection conn = connect();
    		if(conn == null)
    			return null;
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    		try {
    
    			// // db parameters
    			// String url = "jdbc:sqlite:../DBPissirDomain.db";
    			// // create a connection to the database
    			// conn = DriverManager.getConnection(url);
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    
    			PreparedStatement prepared = conn.prepareStatement("SELECT Path FROM Moduli WHERE Module = ?");
    
    			prepared.setString(1, module);
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    			ResultSet result = prepared.executeQuery();
    
    
    			if (result.next()) {
    
    Elisa Giglio's avatar
    Elisa Giglio committed
    				return "https://gitlab.di.unipmn.it/alfredo/iotlabgw.edu-al.unipmn.it/-/raw/main/" + result.getString("Path");
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    			}
    
    		} catch (SQLException e) {
    			e.printStackTrace();
    		} finally {
    			try {
    				if (conn != null) {
    					conn.close();
    				}
    			} catch (SQLException ex) {
    				ex.printStackTrace();
    			}
    		}
    		return null;
    	}
    
    A C's avatar
    A C committed
    }