r440 - in jpa2-validation/trunk/jsr303-validation/src: it/hibernate it/hibernate/src/main/java/org/nuiton/sandbox/jsr303/validation/hibernate it/hibernate/src/main/resources it/hibernate/src/main/resources/META-INF main/java/org/nuiton/sandbox/jsr303/validation/services
Author: fdesbois Date: 2010-11-22 15:13:30 +0100 (Mon, 22 Nov 2010) New Revision: 440 Url: http://nuiton.org/repositories/revision/sandbox/440 Log: - Repair compilation issues - Add missing configuration for transactionManager - Use properties file for configuration options Added: jpa2-validation/trunk/jsr303-validation/src/it/hibernate/src/main/resources/application.properties jpa2-validation/trunk/jsr303-validation/src/it/hibernate/src/main/resources/hibernate-spring-context.xml Removed: jpa2-validation/trunk/jsr303-validation/src/it/hibernate/src/main/resources/spring/ Modified: jpa2-validation/trunk/jsr303-validation/src/it/hibernate/pom.xml jpa2-validation/trunk/jsr303-validation/src/it/hibernate/src/main/java/org/nuiton/sandbox/jsr303/validation/hibernate/TransactionTest.java jpa2-validation/trunk/jsr303-validation/src/it/hibernate/src/main/resources/META-INF/persistence.xml jpa2-validation/trunk/jsr303-validation/src/main/java/org/nuiton/sandbox/jsr303/validation/services/BaseService.java Modified: jpa2-validation/trunk/jsr303-validation/src/it/hibernate/pom.xml =================================================================== --- jpa2-validation/trunk/jsr303-validation/src/it/hibernate/pom.xml 2010-11-22 11:16:07 UTC (rev 439) +++ jpa2-validation/trunk/jsr303-validation/src/it/hibernate/pom.xml 2010-11-22 14:13:30 UTC (rev 440) @@ -17,17 +17,17 @@ <dependencies> - <!--<dependency>--> - <!--<groupId>${project.groupId}</groupId>--> - <!--<artifactId>tivimmo-services</artifactId>--> - <!--<version>${project.version}</version>--> - <!--</dependency>--> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>jsr317-jpa2</artifactId> + <version>${project.version}</version> + </dependency> - <!--<dependency>--> - <!--<groupId>${project.groupId}</groupId>--> - <!--<artifactId>tivimmo-model</artifactId>--> - <!--<version>${project.version}</version>--> - <!--</dependency>--> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>jsr303-validation</artifactId> + <version>${project.version}</version> + </dependency> <dependency> <groupId>org.springframework</groupId> @@ -56,36 +56,48 @@ <artifactId>commons-logging</artifactId> </dependency> + <dependency> + <groupId>log4j</groupId> + <artifactId>log4j</artifactId> + <scope>compile</scope> + </dependency> + <!-- RUNTIME scope for implementations --> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> - <scope>runtime</scope> + <scope>compile</scope> </dependency> <!-- Hibernate implementation used in tests --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> - <scope>runtime</scope> + <scope>compile</scope> </dependency> <dependency> <groupId>org.hibernate</groupId> + <artifactId>hibernate-core</artifactId> + <scope>compile</scope> + </dependency> + + <dependency> + <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> - <scope>runtime</scope> + <scope>compile</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> - <scope>runtime</scope> + <scope>compile</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> - <scope>runtime</scope> + <scope>compile</scope> </dependency> <!--<dependency>--> Modified: jpa2-validation/trunk/jsr303-validation/src/it/hibernate/src/main/java/org/nuiton/sandbox/jsr303/validation/hibernate/TransactionTest.java =================================================================== --- jpa2-validation/trunk/jsr303-validation/src/it/hibernate/src/main/java/org/nuiton/sandbox/jsr303/validation/hibernate/TransactionTest.java 2010-11-22 11:16:07 UTC (rev 439) +++ jpa2-validation/trunk/jsr303-validation/src/it/hibernate/src/main/java/org/nuiton/sandbox/jsr303/validation/hibernate/TransactionTest.java 2010-11-22 14:13:30 UTC (rev 440) @@ -36,10 +36,13 @@ Customer customerOk = serviceCustomer.newCustomer(); customerOk.setFirstName("FIRST_NAME"); - customerOk.setFirstName("LAST_NAME"); + customerOk.setLastName("LAST_NAME"); serviceCustomer.saveCustomer(customerOk); + // Check number of customer in safe transaction + logger.info("CountCustomers = " + countCustomers(customerDAO)); + Customer customerKo = serviceCustomer.newCustomer(); // Will throw an ConstraintViolationException and rollback, but first agency is still in database @@ -51,13 +54,13 @@ logger.info("ConstraintViolationException", ex); } finally { - // Check number of agency in safe transaction + // Check number of customer in safe transaction logger.info("CountCustomers = " + countCustomers(customerDAO)); } } @Transactional - protected static int countCustomers(CustomerDAO customerDAO) { + public int countCustomers(CustomerDAO customerDAO) { return customerDAO.count(); } Modified: jpa2-validation/trunk/jsr303-validation/src/it/hibernate/src/main/resources/META-INF/persistence.xml =================================================================== --- jpa2-validation/trunk/jsr303-validation/src/it/hibernate/src/main/resources/META-INF/persistence.xml 2010-11-22 11:16:07 UTC (rev 439) +++ jpa2-validation/trunk/jsr303-validation/src/it/hibernate/src/main/resources/META-INF/persistence.xml 2010-11-22 14:13:30 UTC (rev 440) @@ -3,7 +3,7 @@ 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="tivimmo" transaction-type="RESOURCE_LOCAL"> + <persistence-unit name="jsr317" transaction-type="RESOURCE_LOCAL"> <class>org.nuiton.sandbox.jsr317.jpa2.entity.CustomerImpl</class> <!--<validation-mode>NONE</validation-mode>--> </persistence-unit> Added: jpa2-validation/trunk/jsr303-validation/src/it/hibernate/src/main/resources/application.properties =================================================================== --- jpa2-validation/trunk/jsr303-validation/src/it/hibernate/src/main/resources/application.properties (rev 0) +++ jpa2-validation/trunk/jsr303-validation/src/it/hibernate/src/main/resources/application.properties 2010-11-22 14:13:30 UTC (rev 440) @@ -0,0 +1,15 @@ +# JDBC configuration +jdbc.url=jdbc:h2:file:./target/surefire-data/hibernate +jdbc.username=sa +jdbc.password= + +# Dialect to use +database.dialect=org.hibernate.dialect.H2Dialect +option.showSql=true +option.generateDdl=true + +# Option to generate the schema +option.hbm2ddl.auto=create +# Option to genate unique ids in all database (@GeneratedValue) +option.id.new_generator_mappings=true + \ No newline at end of file Copied: jpa2-validation/trunk/jsr303-validation/src/it/hibernate/src/main/resources/hibernate-spring-context.xml (from rev 436, jpa2-validation/trunk/jsr303-validation/src/it/hibernate/src/main/resources/spring/hibernate-spring-context.xml) =================================================================== --- jpa2-validation/trunk/jsr303-validation/src/it/hibernate/src/main/resources/hibernate-spring-context.xml (rev 0) +++ jpa2-validation/trunk/jsr303-validation/src/it/hibernate/src/main/resources/hibernate-spring-context.xml 2010-11-22 14:13:30 UTC (rev 440) @@ -0,0 +1,55 @@ +<beans xmlns="http://www.springframework.org/schema/beans" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:context="http://www.springframework.org/schema/context" + xmlns:tx="http://www.springframework.org/schema/tx" + xsi:schemaLocation=" + http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd + http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd + http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd"> + + <!-- SERVICES CONFIGURATION --> + <import resource="classpath:/jsr303-spring-context.xml"/> + + <!-- MODEL INJECTION and JPA CONFIGURATION --> + <import resource="classpath:/jsr317-spring-context.xml"/> + + <!-- Read properties file to inject properties using ${} --> + <context:property-placeholder location="application.properties"/> + + <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> + <property name="url" value="${jdbc.url}"/> + <property name="username" value="${jdbc.username}"/> + <property name="password" value="${jdbc.password}"/> + </bean> + + <!-- Activate transactionManager using @Transactional annotations --> + <tx:annotation-driven transaction-manager="transactionManager"/> + + <bean id="transactionManager" + class="org.springframework.orm.jpa.JpaTransactionManager"> + <property name="entityManagerFactory" ref="entityManagerFactory"/> + </bean> + + <bean id="entityManagerFactory" + class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> + <property name="dataSource" ref="dataSource"/> + <property name="jpaVendorAdapter"> + <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> + <property name="showSql" value="${option.showSql}"/> + <property name="generateDdl" value="${option.generateDdl}"/> + <property name="databasePlatform" value="${database.dialect}"/> + </bean> + </property> + <property name="jpaProperties"> + <props> + <prop key="hibernate.hbm2ddl.auto">${option.hbm2ddl.auto}</prop> + <!-- IdGenerator Strategy : one unique number for each row for all database --> + <prop key="hibernate.id.new_generator_mappings">${option.id.new_generator_mappings}</prop> + </props> + </property> + <property name="loadTimeWeaver"> + <bean class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver"/> + </property> + </bean> + +</beans> \ No newline at end of file Modified: jpa2-validation/trunk/jsr303-validation/src/main/java/org/nuiton/sandbox/jsr303/validation/services/BaseService.java =================================================================== --- jpa2-validation/trunk/jsr303-validation/src/main/java/org/nuiton/sandbox/jsr303/validation/services/BaseService.java 2010-11-22 11:16:07 UTC (rev 439) +++ jpa2-validation/trunk/jsr303-validation/src/main/java/org/nuiton/sandbox/jsr303/validation/services/BaseService.java 2010-11-22 14:13:30 UTC (rev 440) @@ -32,15 +32,15 @@ if (!errors.isEmpty()) { - if (logger.isTraceEnabled()) { + if (logger.isDebugEnabled()) { for (ConstraintViolation<T> constraint : errors) { - logger.trace("constraint.getMessageTemplate = " + constraint.getMessageTemplate()); - logger.trace("constraint.getMessage = " + constraint.getMessage()); - logger.trace("constraint.getInvalidValue = " + constraint.getInvalidValue()); - logger.trace("constraint.getLeafBean = " + constraint.getLeafBean()); - logger.trace("constraint.getPropertyPath = " + constraint.getPropertyPath()); - logger.trace("constraint.getRootBean = " + constraint.getRootBean()); - logger.trace("constraint.getRootBeanClass = " + constraint.getRootBeanClass()); + logger.debug("constraint.getMessageTemplate = " + constraint.getMessageTemplate()); + logger.debug("constraint.getMessage = " + constraint.getMessage()); + logger.debug("constraint.getInvalidValue = " + constraint.getInvalidValue()); + logger.debug("constraint.getLeafBean = " + constraint.getLeafBean()); + logger.debug("constraint.getPropertyPath = " + constraint.getPropertyPath()); + logger.debug("constraint.getRootBean = " + constraint.getRootBean()); + logger.debug("constraint.getRootBeanClass = " + constraint.getRootBeanClass()); } }
participants (1)
-
fdesbois@users.nuiton.org