[#5556] Cleaner...

This commit is contained in:
lukaseder 2016-09-22 12:42:03 +02:00
parent cd1b76ad51
commit 092df7695d
3 changed files with 16 additions and 8 deletions

View File

@ -67,6 +67,13 @@ public abstract class AbstractGeneratorStrategy implements GeneratorStrategy {
return getJavaClassName(definition, mode) + ".java";
}
@Override
public final File getFileRoot() {
String dir = getTargetDirectory();
String pkg = getTargetPackage().replaceAll("\\.", "/");
return new File(dir + "/" + pkg);
}
@Override
public final File getFile(Definition definition) {
return getFile(definition, Mode.DEFAULT);

View File

@ -316,6 +316,12 @@ public interface GeneratorStrategy {
*/
String getFileName(Definition definition, Mode mode);
/**
* @return The directory containing all Java objects, e.g.
* [C:\org\jooq\generated]
*/
File getFileRoot();
/**
* @return The Java class file name representing this object, e.g.
* [C:\org\jooq\generated\MyTable.java]

View File

@ -257,10 +257,7 @@ public class JavaGenerator extends AbstractGenerator {
// XXX Generating catalogs
// ----------------------------------------------------------------------
log.info("Generating catalogs", "Total: " + database.getCatalogs().size());
CatalogDefinition last = null;
for (CatalogDefinition catalog : database.getCatalogs()) {
last = catalog;
try {
if (generateCatalogIfEmpty(catalog))
generate(catalog);
@ -273,11 +270,9 @@ public class JavaGenerator extends AbstractGenerator {
}
// [#5556] Clean up common parent directory
if (last != null) {
log.info("Removing excess files");
empty(getStrategy().getFile(last).getParentFile(), (scala ? ".scala" : ".java"), files);
files.clear();
}
log.info("Removing excess files");
empty(getStrategy().getFileRoot(), (scala ? ".scala" : ".java"), files);
files.clear();
}
private boolean generateCatalogIfEmpty(CatalogDefinition catalog) {