From 0b30e89005f7fe0cd33ce7e21130ebe3f0208a50 Mon Sep 17 00:00:00 2001 From: Markus Kreth Date: Fri, 25 Nov 2016 20:12:34 +0100 Subject: [PATCH] Java 8 --- .classpath | 2 +- .settings/org.eclipse.jdt.core.prefs | 6 +- ....eclipse.wst.common.project.facet.core.xml | 2 +- pom.xml | 4 +- .../java/de/kreth/dbmanager/DbManager.java | 71 ++++++++++--------- 5 files changed, 44 insertions(+), 41 deletions(-) diff --git a/.classpath b/.classpath index 2a04d82..e1d24bc 100644 --- a/.classpath +++ b/.classpath @@ -28,7 +28,7 @@ - + diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs index 69c31cd..6e80039 100644 --- a/.settings/org.eclipse.jdt.core.prefs +++ b/.settings/org.eclipse.jdt.core.prefs @@ -1,8 +1,8 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning -org.eclipse.jdt.core.compiler.source=1.6 +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/.settings/org.eclipse.wst.common.project.facet.core.xml b/.settings/org.eclipse.wst.common.project.facet.core.xml index 5c9bd75..f4bf050 100644 --- a/.settings/org.eclipse.wst.common.project.facet.core.xml +++ b/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -1,5 +1,5 @@ - + diff --git a/pom.xml b/pom.xml index 342ed7d..73eba42 100644 --- a/pom.xml +++ b/pom.xml @@ -4,12 +4,12 @@ 4.0.0 de.kreth databasedefinition - 0.0.1-SNAPSHOT + 0.0.2-SNAPSHOT DatabaseDefinition Database createion and definition framework - 1.6 + 1.8 diff --git a/src/main/java/de/kreth/dbmanager/DbManager.java b/src/main/java/de/kreth/dbmanager/DbManager.java index 3b2db1f..4bfd40d 100644 --- a/src/main/java/de/kreth/dbmanager/DbManager.java +++ b/src/main/java/de/kreth/dbmanager/DbManager.java @@ -13,35 +13,36 @@ public class DbManager { private Database db; private int newVersion; private List versions; - + public DbManager(Collection tables, List versions, Database db, int newVersion) { tableDefinitions = new HashMap(); this.db = db; this.newVersion = newVersion; this.versions = versions; - - for(TableDefinition def: tables){ + + for (TableDefinition def : tables) { tableDefinitions.put(def.getTableName(), def); } checkParamters(); sortVersionsAndMakeUnmodifiable(); } - + private void checkParamters() { StringBuilder errorMsg = new StringBuilder(); - if(tableDefinitions.isEmpty()) + if (tableDefinitions.isEmpty()) append(errorMsg, "Parameter tables darf nicht leer sein!"); - if(db == null) + if (db == null) append(errorMsg, "Parameter db darf nicht null sein!"); - if(newVersion<1) + if (newVersion < 1) append(errorMsg, "Parameter newVersion muss >= 1 sein!"); - if(versions == null) + if (versions == null) append(errorMsg, "Liste mit Versionen darf nicht null sein"); - if(versions != null && versions.get(0).getVersionNr() != 1) - append(errorMsg, "Der erste Eintrag muss die Versionsnummer 1 haben! Die Create Table anweisungen für erste Version müssen enthalten sein."); - - if(errorMsg.length()>0) + if (versions != null && versions.get(0).getVersionNr() != 1) + append(errorMsg, + "Der erste Eintrag muss die Versionsnummer 1 haben! Die Create Table anweisungen für erste Version müssen enthalten sein."); + + if (errorMsg.length() > 0) throw new IllegalArgumentException(errorMsg.toString()); } @@ -51,66 +52,68 @@ public class DbManager { @Override public int compare(Version o1, Version o2) { - if(o1.getVersionNr() == o2.getVersionNr()) - throw new IllegalStateException("Es gibt zwei Einträge mit der selben Version! Es muss eine eindeutige Reihenfolge gegeben sein!"); - + if (o1.getVersionNr() == o2.getVersionNr()) + throw new IllegalStateException( + "Es gibt zwei Einträge mit der selben Version! Es muss eine eindeutige Reihenfolge gegeben sein!"); + return o1.getVersionNr() - o2.getVersionNr(); } }); - + versions = Collections.unmodifiableList(versions); - + } - private void append(StringBuilder bld, String msg){ - if(bld.length()>0) + private void append(StringBuilder bld, String msg) { + if (bld.length() > 0) bld.append("\n"); bld.append(msg); } - + public Map getTableDefinitions() { return Collections.unmodifiableMap(tableDefinitions); } public boolean needUpdate() { - return db.getVersion() + * Führt die nötigen Befehle aus um die aktuelle Version zu erreichen. + *
+ * * @throws SQLException */ public void execute() throws SQLException { int currentVersion = db.getVersion(); int from = 0; - + for (int i = from; i < versions.size(); i++) { Version v = versions.get(i); - - if(v.getVersionNr()>currentVersion) + + if (v.getVersionNr() > currentVersion) executeStatements(v.getSqlStms()); } } private void executeStatements(List sqlStms) throws SQLException { - for(String sql : sqlStms){ + for (String sql : sqlStms) { db.execSQL(sql); } } - public static String createSqlStatement(TableDefinition def) { StringBuilder sql = new StringBuilder(); sql.append("CREATE TABLE ").append(def.getTableName()).append(" (\n"); - + boolean first = true; - for(ColumnDefinition col : def.getColumns()) { - if(!first) { + for (ColumnDefinition col : def.getColumns()) { + if (!first) { sql.append(",\n"); } - + first = false; - + sql.append("\t").append(col.getColumnName()).append(" "); switch (col.getType()) { case BLOB: @@ -136,9 +139,9 @@ public class DbManager { case TEXT: case VARCHAR255: sql.append("VARCHAR(255)"); - break; + break; } - if(col.getColumnParameters() != null && !col.getColumnParameters().isEmpty()){ + if (col.getColumnParameters() != null && !col.getColumnParameters().isEmpty()) { sql.append(" ").append(col.getColumnParameters()); } sql.append("\n");