r22 - in trunk: . magalie-persistence magalie-persistence/src/main/java/com/franciaflex/magalie magalie-persistence/src/main/java/com/franciaflex/magalie/dao magalie-persistence/src/main/java/com/franciaflex/magalie/entity magalie-persistence/src/main/resources magalie-persistence/src/main/resources/META-INF magalie-persistence/src/test/java magalie-persistence/src/test/java/com magalie-persistence/src/test/java/com/franciaflex magalie-persistence/src/test/java/com/franciaflex/
Author: bleny Date: 2013-03-13 18:24:41 +0100 (Wed, 13 Mar 2013) New Revision: 22 Url: http://forge.codelutin.com/projects/franciaflex-magalie/repository/revisions... Log: replace topia by hibernate 4 Added: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/MagalieConfigOption.java trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/dao/ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/dao/MagalieUserDAO.java trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/entity/ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/entity/MagalieUser.java trunk/magalie-persistence/src/main/resources/META-INF/ trunk/magalie-persistence/src/main/resources/META-INF/persistence.xml trunk/magalie-persistence/src/test/java/com/ trunk/magalie-persistence/src/test/java/com/franciaflex/ trunk/magalie-persistence/src/test/java/com/franciaflex/magalie/ trunk/magalie-persistence/src/test/java/com/franciaflex/magalie/PersistenceTest.java trunk/magalie-persistence/src/test/resources/magalie.properties Modified: trunk/magalie-persistence/pom.xml trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/MagalieApplicationConfig.java trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/DefaultMagalieServiceContext.java trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/MagalieServiceContext.java trunk/pom.xml Modified: trunk/magalie-persistence/pom.xml =================================================================== --- trunk/magalie-persistence/pom.xml 2013-03-13 13:53:50 UTC (rev 21) +++ trunk/magalie-persistence/pom.xml 2013-03-13 17:24:41 UTC (rev 22) @@ -21,16 +21,31 @@ <dependencies> <dependency> - <groupId>org.nuiton.topia</groupId> - <artifactId>topia-persistence</artifactId> + <groupId>org.hibernate</groupId> + <artifactId>hibernate-core</artifactId> </dependency> <dependency> + <groupId>org.hibernate</groupId> + <artifactId>hibernate-entitymanager</artifactId> + </dependency> + + <dependency> + <groupId>com.h2database</groupId> + <artifactId>h2</artifactId> + </dependency> + + <dependency> <groupId>org.nuiton</groupId> <artifactId>nuiton-utils</artifactId> </dependency> <dependency> + <groupId>org.nuiton</groupId> + <artifactId>nuiton-config</artifactId> + </dependency> + + <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> </dependency> @@ -75,35 +90,35 @@ <build> <plugins> - <plugin> - <groupId>org.nuiton.eugene</groupId> - <artifactId>eugene-maven-plugin</artifactId> - <configuration> - <inputs>zargo</inputs> - <resolver>org.nuiton.util.FasterCachedResourceResolver</resolver> - </configuration> - <executions> - <execution> - <id>generate-entities</id> - <phase>generate-sources</phase> - <configuration> - <!-- Corresponding to extracted package from zargo file --> - <fullPackagePath>com.franciaflex.magalie.persistence.entities</fullPackagePath> - <!-- DefaultPackage used for DAOHelper generation --> - <defaultPackage>com.franciaflex.magalie.persistence.entities</defaultPackage> - <templates> - org.nuiton.eugene.java.JavaInterfaceTransformer, - org.nuiton.eugene.java.JavaBeanTransformer, - org.nuiton.eugene.java.JavaEnumerationTransformer, - org.nuiton.topia.generator.TopiaMetaTransformer - </templates> - </configuration> - <goals> - <goal>generate</goal> - </goals> - </execution> - </executions> - </plugin> + <!--<plugin>--> + <!--<groupId>org.nuiton.eugene</groupId>--> + <!--<artifactId>eugene-maven-plugin</artifactId>--> + <!--<configuration>--> + <!--<inputs>zargo</inputs>--> + <!--<resolver>org.nuiton.util.FasterCachedResourceResolver</resolver>--> + <!--</configuration>--> + <!--<executions>--> + <!--<execution>--> + <!--<id>generate-entities</id>--> + <!--<phase>generate-sources</phase>--> + <!--<configuration>--> + <!--<!– Corresponding to extracted package from zargo file –>--> + <!--<fullPackagePath>com.franciaflex.magalie.persistence.entities</fullPackagePath>--> + <!--<!– DefaultPackage used for DAOHelper generation –>--> + <!--<defaultPackage>com.franciaflex.magalie.persistence.entities</defaultPackage>--> + <!--<templates>--> + <!--org.nuiton.eugene.java.JavaInterfaceTransformer,--> + <!--org.nuiton.eugene.java.JavaBeanTransformer,--> + <!--org.nuiton.eugene.java.JavaEnumerationTransformer,--> + <!--org.nuiton.topia.generator.TopiaMetaTransformer--> + <!--</templates>--> + <!--</configuration>--> + <!--<goals>--> + <!--<goal>generate</goal>--> + <!--</goals>--> + <!--</execution>--> + <!--</executions>--> + <!--</plugin>--> </plugins> </build> Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/MagalieApplicationConfig.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/MagalieApplicationConfig.java 2013-03-13 13:53:50 UTC (rev 21) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/MagalieApplicationConfig.java 2013-03-13 17:24:41 UTC (rev 22) @@ -1,4 +1,41 @@ package com.franciaflex.magalie; +import com.google.common.collect.Maps; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.util.config.ApplicationConfig; +import org.nuiton.util.config.ArgumentsParserException; + +import java.util.Map; +import java.util.Properties; + public class MagalieApplicationConfig { + + private static final Log log = LogFactory.getLog(MagalieApplicationConfig.class); + + protected ApplicationConfig applicationConfig; + + public MagalieApplicationConfig() { + applicationConfig = new ApplicationConfig(); + applicationConfig.loadDefaultOptions(MagalieConfigOption.class); + applicationConfig.setConfigFileName("magalie.properties"); + try { + applicationConfig.parse(); + } catch (ArgumentsParserException e) { + throw new MagalieTechnicalException(e); + } + if (log.isDebugEnabled()) { + log.debug("parsed options in config file" + applicationConfig.getOptions()); + } + } + + public Map<String, Object> getJpaParameters() { + Map<String, Object> jpaParameters = Maps.newHashMap(); + Properties hibernateProperties = applicationConfig.getOptionStartsWith("hibernate"); + jpaParameters.putAll((Map) hibernateProperties); + Properties jpaProperties = applicationConfig.getOptionStartsWith("javax.persistence"); + jpaParameters.putAll((Map) jpaProperties); + return jpaParameters; + } + } Added: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/MagalieConfigOption.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/MagalieConfigOption.java (rev 0) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/MagalieConfigOption.java 2013-03-13 17:24:41 UTC (rev 22) @@ -0,0 +1,90 @@ +package com.franciaflex.magalie; + +import org.nuiton.util.config.ConfigOptionDef; + +/** + * @author bleny + */ +public enum MagalieConfigOption implements ConfigOptionDef { + + SMTP_HOST( + "smtp.host", + "Nom d'hôte du serveur SMTP", + "", String.class), + + SMTP_PORT( + "smtp.port", + "Le port du serveur SMTP", + "25", Integer.class), + + SMTP_FROM( + "smtp.from", + "L'adresse d'expéditeur pour les mails de notifications", + "", String.class), + + DEV_MODE( + "devMode", + "Mode développement, court-circuite l'envoi de mail", + "true", Boolean.class), + + ; + + protected final String key; + protected final String description; + protected final Class<?> type; + protected String defaultValue; + + private MagalieConfigOption(String key, String description, + String defaultValue, Class<?> type) { + this.key = key; + this.description = description; + this.defaultValue = defaultValue; + this.type = type; + } + + @Override + public String getKey() { + return key; + } + + @Override + public Class<?> getType() { + return type; + } + + @Override + public String getDescription() { + return description; + } + + @Override + public String getDefaultValue() { + return defaultValue; + } + + @Override + public boolean isTransient() { + return false; + } + + @Override + public boolean isFinal() { + return false; + } + + @Override + public void setDefaultValue(String defaultValue) { + this.defaultValue = defaultValue; + } + + @Override + public void setTransient(boolean isTransient) { + // Nothing to do + } + + @Override + public void setFinal(boolean isFinal) { + // Nothing to do + } + +} Added: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/dao/MagalieUserDAO.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/dao/MagalieUserDAO.java (rev 0) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/dao/MagalieUserDAO.java 2013-03-13 17:24:41 UTC (rev 22) @@ -0,0 +1,7 @@ +package com.franciaflex.magalie.dao; + +/** + * @author bleny + */ +public interface MagalieUserDAO { +} Added: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/entity/MagalieUser.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/entity/MagalieUser.java (rev 0) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/entity/MagalieUser.java 2013-03-13 17:24:41 UTC (rev 22) @@ -0,0 +1,19 @@ +package com.franciaflex.magalie.entity; + +import javax.persistence.Entity; +import javax.persistence.Id; + +@Entity +public class MagalieUser { + + @Id + protected Long id = 1L; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } +} Added: trunk/magalie-persistence/src/main/resources/META-INF/persistence.xml =================================================================== --- trunk/magalie-persistence/src/main/resources/META-INF/persistence.xml (rev 0) +++ trunk/magalie-persistence/src/main/resources/META-INF/persistence.xml 2013-03-13 17:24:41 UTC (rev 22) @@ -0,0 +1,13 @@ +<persistence xmlns="http://java.sun.com/xml/ns/persistence" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" + version="2.0"> + + <persistence-unit name="magaliePersistenceUnit" transaction-type="RESOURCE_LOCAL"> + + <description></description> + <provider>org.hibernate.ejb.HibernatePersistence</provider> + + </persistence-unit> + +</persistence> \ No newline at end of file Added: trunk/magalie-persistence/src/test/java/com/franciaflex/magalie/PersistenceTest.java =================================================================== --- trunk/magalie-persistence/src/test/java/com/franciaflex/magalie/PersistenceTest.java (rev 0) +++ trunk/magalie-persistence/src/test/java/com/franciaflex/magalie/PersistenceTest.java 2013-03-13 17:24:41 UTC (rev 22) @@ -0,0 +1,35 @@ +package com.franciaflex.magalie; + +import com.franciaflex.magalie.entity.MagalieUser; +import org.junit.Ignore; +import org.junit.Test; + +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; +import java.util.Map; + +public class PersistenceTest { + + @Test + @Ignore + public void testName() throws Exception { + + MagalieApplicationConfig applicationConfig = new MagalieApplicationConfig(); + + Map<String, Object> jpaParameters = applicationConfig.getJpaParameters(); + + EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("magaliePersistenceUnit", jpaParameters); + + EntityManager entityManager = entityManagerFactory.createEntityManager(); + + entityManager.getTransaction().begin(); + + entityManager.persist(new MagalieUser()); + + entityManager.getTransaction().commit(); + + entityManager.close(); + + } +} Added: trunk/magalie-persistence/src/test/resources/magalie.properties =================================================================== --- trunk/magalie-persistence/src/test/resources/magalie.properties (rev 0) +++ trunk/magalie-persistence/src/test/resources/magalie.properties 2013-03-13 17:24:41 UTC (rev 22) @@ -0,0 +1,9 @@ +javax.persistence.jdbc.driver=org.h2.Driver +javax.persistence.jdbc.url=jdbc:h2:file:/tmp/magalie/h2data +javax.persistence.jdbc.user=sa +javax.persistence.jdbc.password= +hibernate.dialect=org.hibernate.dialect.H2Dialect +hibernate.hbm2ddl.auto=create-drop +hibernate.show_sql=true +hibernate.format_sql=true +hibernate.transaction.flush_before_completion=true Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/DefaultMagalieServiceContext.java =================================================================== --- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/DefaultMagalieServiceContext.java 2013-03-13 13:53:50 UTC (rev 21) +++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/DefaultMagalieServiceContext.java 2013-03-13 17:24:41 UTC (rev 22) @@ -1,19 +1,13 @@ package com.franciaflex.magalie.services; import com.franciaflex.magalie.MagalieTechnicalException; -import com.franciaflex.magalie.persistence.entities.MagalieDAOHelper; -import com.franciaflex.magalie.persistence.entities.MagalieUserDAO; -import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaException; -import org.nuiton.topia.TopiaRuntimeException; +import com.franciaflex.magalie.dao.MagalieUserDAO; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; public class DefaultMagalieServiceContext implements MagalieServiceContext { - protected TopiaContext context; - @Override public <E extends MagalieService> E newService(Class<E> serviceClass) { @@ -52,18 +46,7 @@ @Override public MagalieUserDAO getMagalieUserDao() { - MagalieUserDAO magalieUserDAO; + throw new UnsupportedOperationException(); - try { - - magalieUserDAO = MagalieDAOHelper.getMagalieUserDAO(context); - - } catch (TopiaException e) { - - throw new TopiaRuntimeException(e); - - } - - return magalieUserDAO; } } Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/MagalieServiceContext.java =================================================================== --- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/MagalieServiceContext.java 2013-03-13 13:53:50 UTC (rev 21) +++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/MagalieServiceContext.java 2013-03-13 17:24:41 UTC (rev 22) @@ -23,7 +23,7 @@ * #L% */ -import com.franciaflex.magalie.persistence.entities.MagalieUserDAO; +import com.franciaflex.magalie.dao.MagalieUserDAO; /** * @author bleny Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2013-03-13 13:53:50 UTC (rev 21) +++ trunk/pom.xml 2013-03-13 17:24:41 UTC (rev 22) @@ -100,7 +100,7 @@ <shiroVersion>1.2.1</shiroVersion> <slf4jVersion>1.7.2</slf4jVersion> <jettyVersion>${jettyPluginVersion}</jettyVersion> - <hibernateVersion>3.6.10.Final</hibernateVersion> + <hibernateVersion>4.1.9.Final</hibernateVersion> <seleniumVersion>2.28.0</seleniumVersion> <mockitoVersion>1.9.5</mockitoVersion> <nuitonI18nVersion>2.5</nuitonI18nVersion> @@ -120,14 +120,21 @@ <dependencies> <dependency> - <groupId>org.nuiton.topia</groupId> - <artifactId>topia-persistence</artifactId> - <version>${topiaVersion}</version> + <groupId>org.hibernate</groupId> + <artifactId>hibernate-core</artifactId> + <version>${hibernateVersion}</version> </dependency> <dependency> + <groupId>org.hibernate</groupId> + <artifactId>hibernate-entitymanager</artifactId> + <version>${hibernateVersion}</version> + </dependency> + + <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> + <scope>test</scope> <version>${h2Version}</version> </dependency> @@ -139,6 +146,12 @@ </dependency> <dependency> + <groupId>org.nuiton</groupId> + <artifactId>nuiton-config</artifactId> + <version>${nuitonUtilsVersion}</version> + </dependency> + + <dependency> <groupId>org.nuiton.web</groupId> <artifactId>nuiton-struts2</artifactId> <version>${nuitonWebVersion}</version>
participants (1)
-
bleny@users.forge.codelutin.com