Some strange with Eclipse
authorindvdum (gotoindvdum[at]gmail[dot]com)
Sun, 11 Nov 2012 03:17:06 +0400
changeset 8eec474867dbe
parent 7 4c2e4f602872
child 9 dc42467eb5dc
Some strange with Eclipse
src/main/java/ru/indvdum/jpa/dao/JPADataAccessObject.groovy
     1.1 --- a/src/main/java/ru/indvdum/jpa/dao/JPADataAccessObject.groovy	Sun Nov 11 02:45:26 2012 +0400
     1.2 +++ b/src/main/java/ru/indvdum/jpa/dao/JPADataAccessObject.groovy	Sun Nov 11 03:17:06 2012 +0400
     1.3 @@ -1,18 +1,66 @@
     1.4 -package ru.indvdum.jpa.dao
     1.5 import java.sql.Connection
     1.6 import java.sql.SQLException
     1.7 import java.util.Map.Entry
     1.8 
     1.9 import javax.persistence.EntityManager
    1.10 import javax.persistence.EntityManagerFactory
    1.11 import javax.persistence.EntityTransaction
    1.12 import javax.persistence.NoResultException
    1.13 import javax.persistence.Persistence
    1.14 import javax.persistence.Query
    1.15 import javax.persistence.criteria.CriteriaBuilder
    1.16 import javax.persistence.criteria.CriteriaQuery
    1.17 import javax.persistence.criteria.Predicate
    1.18 import javax.persistence.criteria.Root
    1.19 import javax.sql.DataSource
    1.20 
    1.21 import org.apache.commons.configuration.XMLConfiguration
    1.22 import org.apache.openjpa.conf.OpenJPAConfiguration
    1.23 import org.apache.openjpa.persistence.OpenJPAEntityManagerFactorySPI
    1.24 import org.apache.openjpa.persistence.OpenJPAPersistence
    1.25 import org.slf4j.Logger
    1.26 import org.slf4j.LoggerFactory
    1.27 
    1.28 import ru.indvdum.jpa.props.Props
    1.29 
    1.30 +package ru.indvdum.jpa.dao
    1.31 +import java.sql.Connection
    1.32 +import java.sql.SQLException
    1.33 +import java.util.Map.Entry
    1.34 +
    1.35 +import javax.persistence.EntityManager
    1.36 +import javax.persistence.EntityManagerFactory
    1.37 +import javax.persistence.EntityTransaction
    1.38 +import javax.persistence.NoResultException
    1.39 +import javax.persistence.Persistence
    1.40 +import javax.persistence.Query
    1.41 +import javax.persistence.criteria.CriteriaBuilder
    1.42 +import javax.persistence.criteria.CriteriaQuery
    1.43 +import javax.persistence.criteria.Predicate
    1.44 +import javax.persistence.criteria.Root
    1.45 +import javax.sql.DataSource
    1.46 +
    1.47 +import org.apache.commons.configuration.XMLConfiguration
    1.48 +import org.apache.openjpa.conf.OpenJPAConfiguration
    1.49 +import org.apache.openjpa.persistence.OpenJPAEntityManagerFactorySPI
    1.50 +import org.apache.openjpa.persistence.OpenJPAPersistence
    1.51 +import org.slf4j.Logger
    1.52 +import org.slf4j.LoggerFactory
    1.53 +
    1.54 +import ru.indvdum.jpa.props.Props
    1.55 +
    1.56  /**
    1.57   * @author indvdum (gotoindvdum[at]gmail[dot]com)
    1.58   * @since 08.11.2012 23:35:04
    1.59   *
    1.60   */
    1.61  public class JPADataAccessObject {
    1.62 -
    1.63 	protected static Logger log = LoggerFactory.getLogger(JPADataAccessObject.class.getSimpleName());
    1.64 +
    1.65 +	protected static Logger log = LoggerFactory.getLogger(JPADataAccessObject.class.getSimpleName());
    1.66  	protected static String persistenceUnitName = null;
    1.67  	protected static EntityManagerFactory emf = Persistence.createEntityManagerFactory(getPersistenceUnitName(), JPAPropertySelector.select());
    1.68  	protected EntityManager em = emf.createEntityManager();
    1.69  
    1.70  	JPADataAccessObject() {
    1.71  		em.isOpen();
    1.72 -	}
    1.73 	
    1.74 	protected static String getPersistenceUnitName() {
    1.75 		if (persistenceUnitName != null)
    1.76 			return persistenceUnitName;
    1.77 
    1.78 		if (persistenceUnitName == null)
    1.79 			persistenceUnitName = System.getProperty(Props.PERSISTANCE_UNIT_NAME_PROPERTY);
    1.80 		if (persistenceUnitName == null) {
    1.81 			try {
    1.82 				persistenceUnitName = ResourceBundle.getBundle(Props.JPADAO_PROPERTY_FILE).getString(Props.PERSISTANCE_UNIT_NAME_PROPERTY);
    1.83 			} catch (MissingResourceException e) {
    1.84 				log.info("Configuration file " + Props.JPADAO_PROPERTY_FILE + ".properties not found");
    1.85 			}
    1.86 		}
    1.87 		if (persistenceUnitName == null) {
    1.88 			XMLConfiguration conf = new XMLConfiguration("META-INF/persistence.xml");
    1.89 			persistenceUnitName = conf.getString("persistence-unit[@name]");
    1.90 		}
    1.91 		if (persistenceUnitName == null)
    1.92 			persistenceUnitName = "database";
    1.93 		return persistenceUnitName;
    1.94 	}
    1.95 +	}
    1.96 +
    1.97 +	protected static String getPersistenceUnitName() {
    1.98 +		if (persistenceUnitName != null)
    1.99 +			return persistenceUnitName;
   1.100 +
   1.101 +		if (persistenceUnitName == null)
   1.102 +			persistenceUnitName = System.getProperty(Props.PERSISTANCE_UNIT_NAME_PROPERTY);
   1.103 +		if (persistenceUnitName == null) {
   1.104 +			try {
   1.105 +				persistenceUnitName = ResourceBundle.getBundle(Props.JPADAO_PROPERTY_FILE).getString(Props.PERSISTANCE_UNIT_NAME_PROPERTY);
   1.106 +			} catch (MissingResourceException e) {
   1.107 +				log.info("Configuration file " + Props.JPADAO_PROPERTY_FILE + ".properties not found");
   1.108 +			}
   1.109 +		}
   1.110 +		if (persistenceUnitName == null) {
   1.111 +			XMLConfiguration conf = new XMLConfiguration("META-INF/persistence.xml");
   1.112 +			persistenceUnitName = conf.getString("persistence-unit[@name]");
   1.113 +		}
   1.114 +		if (persistenceUnitName == null)
   1.115 +			persistenceUnitName = "database";
   1.116 +		return persistenceUnitName;
   1.117 +	}
   1.118  
   1.119  	public static Connection getSQLConnection() throws SQLException {
   1.120  		OpenJPAEntityManagerFactorySPI openjpaemf = (OpenJPAEntityManagerFactorySPI) OpenJPAPersistence.cast(emf);