import java.security.NoSuchAlgorithmException;
import java.time.ZonedDateTime;
import java.util.Collections;
-import java.util.EnumSet;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;
import org.hibernate.boot.registry.classloading.spi.ClassLoadingException;
import org.hibernate.boot.registry.selector.spi.StrategySelector;
import org.hibernate.boot.spi.MetadataImplementor;
-import org.hibernate.cfg.AvailableSettings;
import static org.hibernate.cfg.AvailableSettings.DIALECT;
import static org.hibernate.cfg.AvailableSettings.DRIVER;
import static org.hibernate.cfg.AvailableSettings.FORMAT_SQL;
import static org.hibernate.cfg.AvailableSettings.SHOW_SQL;
import static org.hibernate.cfg.AvailableSettings.USER;
import static org.hibernate.cfg.AvailableSettings.URL;
-import org.hibernate.engine.config.spi.ConfigurationService;
import org.hibernate.engine.jdbc.connections.spi.ConnectionProvider;
import org.hibernate.internal.util.config.ConfigurationException;
import org.hibernate.jpa.boot.internal.ParsedPersistenceXmlDescriptor;
import org.hibernate.jpa.boot.internal.PersistenceXmlParser;
-import org.hibernate.tool.schema.TargetType;
import org.hibernate.tool.schema.internal.ExceptionHandlerCollectingImpl;
-import org.hibernate.tool.schema.internal.exec.ScriptTargetOutputToFile;
-import org.hibernate.tool.schema.spi.ExecutionOptions;
-import org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator;
-import org.hibernate.tool.schema.spi.ScriptTargetOutput;
-import org.hibernate.tool.schema.spi.TargetDescriptor;
import org.scannotation.AnnotationDB;
);
}
- /** Prepare the generation of the SQL */
- Map settings = new HashMap();
- settings.putAll(
- serviceRegistry
- .getService(ConfigurationService.class)
- .getSettings()
- );
- ExceptionHandlerCollectingImpl handler =
- new ExceptionHandlerCollectingImpl();
- ExecutionOptions options =
- SchemaManagementToolCoordinator
- .buildExecutionOptions(settings, handler);
- final EnumSet<TargetType> targetTypes = EnumSet.of(TargetType.SCRIPT);
- if (execute)
- targetTypes.add(TargetType.DATABASE);
- TargetDescriptor target = new TargetDescriptor()
- {
- @Override
- public EnumSet<TargetType> getTargetTypes()
- {
- return targetTypes;
- }
-
- @Override
- public ScriptTargetOutput getScriptTargetOutput()
- {
- String charset =
- (String)
- serviceRegistry
- .getService(ConfigurationService.class)
- .getSettings()
- .get(AvailableSettings.HBM2DDL_CHARSET_NAME);
- return new ScriptTargetOutputToFile(output, charset);
- }
- };
-
/**
* Change class-loader of current thread.
* This is necessary, because still not all parts of Hibernate 5 use
try
{
thread.setContextClassLoader(classLoader);
- build((MetadataImplementor)metadataBuilder.build(), options, target);
+ ExceptionHandlerCollectingImpl handler =
+ build((MetadataImplementor)metadataBuilder.build());
if (handler.getExceptions().size() > 0)
{
StringBuilder builder = new StringBuilder();
}
- abstract void build(
- MetadataImplementor metadata,
- ExecutionOptions options,
- TargetDescriptor target
- )
+ abstract ExceptionHandlerCollectingImpl build(MetadataImplementor metadata)
throws
MojoFailureException,
MojoExecutionException;