// Path: src/main/java/hr/vsite/hive/HiveConfiguration.java
// public class HiveConfiguration extends XMLConfiguration {
// 
// 	public static HiveConfiguration get() {
// 		if (instance == null)
// 			instance = new HiveConfiguration();
// 		return instance;
// 	}
// 	
// 	private HiveConfiguration() {
//     	
// 		super();
//         
// 		try {
// 			setThrowExceptionOnMissing(true);
// 			setDelimiterParsingDisabled(true);
// 			load("hive.xml");
//             log.info("Configuration loaded from {}", getFile().getAbsolutePath());
//         } catch (ConfigurationException e) {
//             throw new RuntimeException("Could not load configuration", e);
//         }
// 		
// 		dataPath = FileSystems.getDefault().getPath(getString("hive.DataPath"));
// 		log.info("Data path is {}", dataPath);
// 
// 		supervisorAddress = getString("hive.SupervisorAddress");
// 		log.info("Supervisor address is {} (hopefully we won't interrupt him/her a lot :) )", supervisorAddress);
// 
// 
// 	}
// 
//     public Path getDataPath() { return dataPath; }
//     public Path getSubDataPath(String subfolder) { return dataPath.resolve(subfolder); }
// 	public String getSupervisorAddress() { return supervisorAddress; }
// 	
//     private static final Logger log = LoggerFactory.getLogger(HiveConfiguration.class);
// 	private static final long serialVersionUID = 1L;
// 	private static HiveConfiguration instance = null;
// 	
//     private final Path dataPath;
//     private final String supervisorAddress;
// 
// }


import java.io.FileNotFoundException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
import javax.inject.Singleton;
import javax.sql.DataSource;
import org.apache.commons.dbcp2.BasicDataSourceFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.google.inject.AbstractModule;
import com.google.inject.Provides;
import hr.vsite.hive.HiveConfiguration;
package hr.vsite.hive.dao;






public class DaoModule extends AbstractModule {

	@Override 
	protected void configure() {

		String daoClassName = HiveConfiguration.get().getString("hive.dao.Class");
// Path: src/main/java/hr/vsite/hive/HiveConfiguration.java
// public class HiveConfiguration extends XMLConfiguration {
// 
// 	public static HiveConfiguration get() {
// 		if (instance == null)
// 			instance = new HiveConfiguration();
// 		return instance;
// 	}
// 	
// 	private HiveConfiguration() {
//     	
// 		super();
//         
// 		try {
// 			setThrowExceptionOnMissing(true);
// 			setDelimiterParsingDisabled(true);
// 			load("hive.xml");
//             log.info("Configuration loaded from {}", getFile().getAbsolutePath());
//         } catch (ConfigurationException e) {
//             throw new RuntimeException("Could not load configuration", e);
//         }
// 		
// 		dataPath = FileSystems.getDefault().getPath(getString("hive.DataPath"));
// 		log.info("Data path is {}", dataPath);
// 
// 		supervisorAddress = getString("hive.SupervisorAddress");
// 		log.info("Supervisor address is {} (hopefully we won't interrupt him/her a lot :) )", supervisorAddress);
// 
// 
// 	}
// 
//     public Path getDataPath() { return dataPath; }
//     public Path getSubDataPath(String subfolder) { return dataPath.resolve(subfolder); }
// 	public String getSupervisorAddress() { return supervisorAddress; }
// 	
//     private static final Logger log = LoggerFactory.getLogger(HiveConfiguration.class);
// 	private static final long serialVersionUID = 1L;
// 	private static HiveConfiguration instance = null;
// 	
//     private final Path dataPath;
//     private final String supervisorAddress;
// 
// }


// Path: src/main/java/hr/vsite/hive/dao/DaoModule.java
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
import javax.inject.Singleton;
import javax.sql.DataSource;
import org.apache.commons.dbcp2.BasicDataSourceFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.google.inject.AbstractModule;
import com.google.inject.Provides;
import hr.vsite.hive.HiveConfiguration;

package hr.vsite.hive.dao;






public class DaoModule extends AbstractModule {

	@Override 
	protected void configure() {

		String daoClassName = HiveConfiguration.get().getString("hive.dao.Class");
		Class<? extends HiveDao> daoClass;