package hib.fs.orm;

import hib.fs.db.emf.DodexEntityManager;
import jakarta.enterprise.inject.spi.CDI;
import jakarta.persistence.EntityManagerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


public class EstablishEntityManager {
    protected final static Logger logger =
      LoggerFactory.getLogger(EstablishEntityManager.class.getName());
    static EntityManagerFactory mssqlEmf;
    static EntityManagerFactory oraEmf;

    public EstablishEntityManager() {
    }

    public void runGenerator(String[] args) {
          DodexEntityManager dodexEntityManager =
              CDI.current().select(DodexEntityManager.class).isUnsatisfied() ? null :
              CDI.current().select(DodexEntityManager.class).get();

          if(dodexEntityManager == null) {
              throw new NullPointerException("DodexEntityManager from CDI");
          }

          mssqlEmf = dodexEntityManager.getMssqlEntityManagerFactory();
          oraEmf = dodexEntityManager.getOraEntityManagerFactory();
    }

    public static EntityManagerFactory getMssqlEmf() {
        return mssqlEmf;
    }

    public static EntityManagerFactory getOraEmf() {
        return oraEmf;
    }
}