X-Git-Url: https://juplo.de/gitweb/?p=hibernate4-maven-plugin;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fplugins%2Fhibernate4%2FValidationConfiguration.java;h=d16be20137930af57fbf53b414e0dbc86bf35bc2;hp=a1592f73918b396ee87e37ff8b06a5168c25d03a;hb=fdda82a6f76deefd10f83da89d7e82054e3c3ecd;hpb=5fba40e135677130cbe0ff3c59f6055228293d92 diff --git a/src/main/java/de/juplo/plugins/hibernate4/ValidationConfiguration.java b/src/main/java/de/juplo/plugins/hibernate4/ValidationConfiguration.java index a1592f73..d16be201 100644 --- a/src/main/java/de/juplo/plugins/hibernate4/ValidationConfiguration.java +++ b/src/main/java/de/juplo/plugins/hibernate4/ValidationConfiguration.java @@ -1,9 +1,9 @@ package de.juplo.plugins.hibernate4; -import java.lang.reflect.Method; -import java.util.Collection; -import java.util.Properties; +import javax.validation.Validation; + import org.hibernate.cfg.Configuration; +import org.hibernate.cfg.beanvalidation.TypeSafeActivatorAccessor; import org.hibernate.dialect.Dialect; import org.hibernate.metamodel.source.MappingException; @@ -20,17 +20,12 @@ import org.hibernate.metamodel.source.MappingException; * SchemaExport, some fancy subclassing is needed to invoke the integration * at the right time. * @author Mark Robinson + * @author Frank Schimmel */ public class ValidationConfiguration extends Configuration { - Class dialectClass; + private static final long serialVersionUID = 1L; - public ValidationConfiguration(String dialectClass) - throws - ClassNotFoundException - { - this.dialectClass = Class.forName(dialectClass); - } @Override protected void secondPassCompile() throws MappingException @@ -39,22 +34,11 @@ public class ValidationConfiguration extends Configuration try { - /** Thank you, hibernate folks, for making this useful class package private ... */ - Method applyDDL = - Class - .forName("org.hibernate.cfg.beanvalidation.TypeSafeActivator") - .getMethod( - "applyRelationalConstraints", - Collection.class, - Properties.class, - Dialect.class - ); - applyDDL.setAccessible(true); - applyDDL.invoke( - null, + TypeSafeActivatorAccessor.applyRelationalConstraints( + Validation.buildDefaultValidatorFactory(), classes.values(), getProperties(), - dialectClass.newInstance() + ((Class)Class.forName(getProperty(Hbm2DdlMojo.DIALECT))).newInstance() ); } catch (Exception e) @@ -62,4 +46,9 @@ public class ValidationConfiguration extends Configuration throw new RuntimeException(e); } } + + public String getTypeDefs() + { + return typeDefs.entrySet().toString(); + } }