package br.ufpr.c3sl.daoFactory; import br.ufpr.c3sl.dao.HitDAO; import br.ufpr.c3sl.dao.MistakeDAO; import br.ufpr.c3sl.dao.RetroactionDAO; import br.ufpr.c3sl.dao.UserDAO; import br.ufpr.c3sl.daoconcrete.DB4OHitDAO; import br.ufpr.c3sl.daoconcrete.DB4OMistake; import br.ufpr.c3sl.daoconcrete.DB4ORetroaction; import br.ufpr.c3sl.daoconcrete.DB4OUserDAO; import br.ufpr.c3sl.session.Session; import br.ufpr.c3sl.view.principal.JpCarrie; import com.db4o.Db4oEmbedded; import com.db4o.EmbeddedObjectContainer; public class DB4ODAOFactory extends DAOFactory { public static String PROJECT_NAME = ""; // private final static String DB4OFILENAME = // System.getProperty("user.home") + "/carrie_"+PROJECT_NAME+"_DB4O.db"; private static EmbeddedObjectContainer container; public static EmbeddedObjectContainer getConnection(){ if (container == null) container = Db4oEmbedded.openFile(Db4oEmbedded.newConfiguration(), System.getProperty("user.home") + "/carrie_" + JpCarrie.getInstance().getName() + "_" + Session.getCurrentUser().getEmail() +"_DB4O.db"); return container; } // private static EmbeddedConfiguration configure(){ // EmbeddedConfiguration configuration = Db4oEmbedded.newConfiguration(); // configuration.common().objectClass(Timestamp.class).storeTransientFields(true); // return configuration; // } @Override public UserDAO getUserDAO() { return new DB4OUserDAO(); } @Override public MistakeDAO getMistakeDAO() { return new DB4OMistake(); } @Override public RetroactionDAO getRetroactionDAO() { return new DB4ORetroaction(); } @Override public HitDAO getHitDAO() { return new DB4OHitDAO(); } }