* limitations under the License.
*/
+import java.io.File;
+import java.security.NoSuchAlgorithmException;
import java.util.EnumSet;
-import java.util.HashMap;
import java.util.Map;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
MojoFailureException,
MojoExecutionException
{
- super.execute(outputFile);
+ try
+ {
+ super.execute(new MD5ModificationTracker(buildDirectory, outputFile, getLog()));
+ }
+ catch (NoSuchAlgorithmException e)
+ {
+ throw new MojoFailureException("Digest-Algorithm MD5 is missing!", e);
+ }
}
@Override
- ExceptionHandlerCollectingImpl build(MetadataImplementor metadata)
+ ExceptionHandlerCollectingImpl build(final MetadataImplementor metadata)
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<TargetType> targetTypes = EnumSet.of(TargetType.SCRIPT);
- if (execute)
+ if (Boolean.parseBoolean(settings.get(EXECUTE).toString()))
targetTypes.add(TargetType.DATABASE);
TargetDescriptor target = new TargetDescriptor()
@Override
public ScriptTargetOutput getScriptTargetOutput()
{
- String charset
- = (String) service
- .getService(ConfigurationService.class)
- .getSettings()
- .get(AvailableSettings.HBM2DDL_CHARSET_NAME);
- return new ScriptTargetOutputToFile(output, charset);
+ String charset =
+ (String)settings.get(AvailableSettings.HBM2DDL_CHARSET_NAME);
+ return new ScriptTargetOutputToFile(new File(outputFile), 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;
}
}