accounting-dashboard-harves.../src/main/java/org/gcube/dataharvest/dao/DatabaseManager.java

65 lines
1.4 KiB
Java

package org.gcube.dataharvest.dao;
import java.util.Date;
import java.util.List;
import org.gcube.dataharvest.datamodel.Harvest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class DatabaseManager {
private static Logger logger = LoggerFactory.getLogger(DatabaseManager.class);
public DatabaseManager() {
}
public void insertMonthlyData(Date from, Date to, List<Harvest> data, boolean updateFlag) {
Dao dao = null;
try {
dao = dbConnect();
dao.insertMonthlyMeasure(data, from, to, updateFlag);
} catch(Exception e) {
logger.error(e.getLocalizedMessage());
} finally {
if(dao != null) {
try {
dao.disconnect();
} catch(DaoException e) {
logger.error(e.getLocalizedMessage());
}
}
}
}
public String[] getActiveVres() {
Dao dao = null;
try {
dao = dbConnect();
return dao.getActiveVres();
} catch(Exception e) {
logger.error(e.getLocalizedMessage());
return null;
} finally {
if(dao != null) {
try {
dao.disconnect();
} catch(DaoException e) {
logger.error(e.getLocalizedMessage());
}
}
}
}
public Dao dbConnect() throws DaoException {
DatabaseParameterRetriever dde = new DatabaseParameterRetriever();
DatabaseConnectionData dcd = dde.retrieveDatabaseInfo();
Dao dao = new Dao();
dao.init();
dao.connect(dcd.getURI(), dcd.getUser(), dcd.getPassword());
return dao;
}
}