X-Git-Url: http://juplo.de/gitweb/?p=hibernate4-maven-plugin;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fplugins%2Fhibernate%2FUpdateMojo.java;h=6d9e62ef1544a56fc24c91c441255d0a206464ed;hp=09b74a3ea626a9e904e79b92e217ba8eeb32cf24;hb=505d13bdca776dd80f661a52797789b87e97b200;hpb=4ab00d5dbf8f4263d867726607ce84d4107ef1c6 diff --git a/src/main/java/de/juplo/plugins/hibernate/UpdateMojo.java b/src/main/java/de/juplo/plugins/hibernate/UpdateMojo.java index 09b74a3e..6d9e62ef 100644 --- a/src/main/java/de/juplo/plugins/hibernate/UpdateMojo.java +++ b/src/main/java/de/juplo/plugins/hibernate/UpdateMojo.java @@ -16,8 +16,8 @@ package de.juplo.plugins.hibernate; * limitations under the License. */ +import java.io.File; import java.util.EnumSet; -import java.util.HashMap; import java.util.Map; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; @@ -70,17 +70,22 @@ public class UpdateMojo extends AbstractSchemaMojo @Override - ExceptionHandlerCollectingImpl build(MetadataImplementor metadata) + ExceptionHandlerCollectingImpl build( + final MetadataImplementor metadata, + final File output + ) throws MojoExecutionException, MojoFailureException { - final ServiceRegistry service = + final ServiceRegistry registry = metadata.getMetadataBuildingOptions().getServiceRegistry(); - SchemaManagementTool tool = service.getService(SchemaManagementTool.class); + final Map settings = + registry.getService(ConfigurationService.class).getSettings(); + SchemaManagementTool tool = registry.getService(SchemaManagementTool.class); final EnumSet targetTypes = EnumSet.of(TargetType.SCRIPT); - if (execute) + if ((Boolean)settings.get(EXECUTE)) targetTypes.add(TargetType.DATABASE); TargetDescriptor target = new TargetDescriptor() @@ -94,25 +99,27 @@ public class UpdateMojo extends AbstractSchemaMojo @Override public ScriptTargetOutput getScriptTargetOutput() { - String charset - = (String) service - .getService(ConfigurationService.class) - .getSettings() - .get(AvailableSettings.HBM2DDL_CHARSET_NAME); + String charset = + (String)settings.get(AvailableSettings.HBM2DDL_CHARSET_NAME); return new ScriptTargetOutputToFile(output, charset); } }; + ExceptionHandlerCollectingImpl handler = + new ExceptionHandlerCollectingImpl(); + ExecutionOptions options = SchemaManagementToolCoordinator.buildExecutionOptions( - service + registry .getService(ConfigurationService.class) .getSettings(), - new ExceptionHandlerCollectingImpl() + handler ); Map config = options.getConfigurationValues(); tool.getSchemaMigrator(config).doMigration(metadata, options, target); + + return handler; } }