1 package de.juplo.plugins.hibernate;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 import java.util.Map;
20 import org.apache.maven.plugin.MojoExecutionException;
21 import org.apache.maven.plugin.MojoFailureException;
22 import org.hibernate.boot.spi.MetadataImplementor;
23 import org.hibernate.service.ServiceRegistry;
24 import org.hibernate.tool.schema.SourceType;
25 import org.hibernate.tool.schema.spi.ExecutionOptions;
26 import org.hibernate.tool.schema.spi.SchemaManagementTool;
27 import org.hibernate.tool.schema.spi.ScriptSourceInput;
28 import org.hibernate.tool.schema.spi.SourceDescriptor;
29 import org.hibernate.tool.schema.spi.TargetDescriptor;
30
31
32
33
34
35
36
37
38
39
40
41 public class CreateMojo extends AbstractSchemaMojo
42 {
43
44
45
46
47
48
49
50
51
52
53 private String outputFile;
54
55
56 @Override
57 public final void execute()
58 throws
59 MojoFailureException,
60 MojoExecutionException
61 {
62 super.execute(outputFile);
63 }
64
65
66 @Override
67 void build(
68 MetadataImplementor metadata,
69 ExecutionOptions options,
70 TargetDescriptor target
71 )
72 throws
73 MojoExecutionException,
74 MojoFailureException
75 {
76 ServiceRegistry service =
77 metadata.getMetadataBuildingOptions().getServiceRegistry();
78 SchemaManagementTool tool = service.getService(SchemaManagementTool.class);
79
80 Map config = options.getConfigurationValues();
81 SourceDescriptor source = new SourceDescriptor()
82 {
83 @Override
84 public SourceType getSourceType()
85 {
86 return SourceType.METADATA;
87 }
88
89 @Override
90 public ScriptSourceInput getScriptSourceInput()
91 {
92 return null;
93 }
94 };
95
96 tool.getSchemaCreator(config).doCreation(metadata, options, source, target);
97 }
98 }