You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@empire-db.apache.org by do...@apache.org on 2022/01/25 11:27:59 UTC
[empire-db] branch version3 updated: EMPIREDB-362 DBSamples model check
This is an automated email from the ASF dual-hosted git repository.
doebele pushed a commit to branch version3
in repository https://gitbox.apache.org/repos/asf/empire-db.git
The following commit(s) were added to refs/heads/version3 by this push:
new 5550446 EMPIREDB-362 DBSamples model check
5550446 is described below
commit 5550446e91c935547ddbab419317906c2b56be8e
Author: Rainer Döbele <do...@apache.org>
AuthorDate: Tue Jan 25 12:27:56 2022 +0100
EMPIREDB-362 DBSamples model check
---
.../empire/samples/db/advanced/SampleAdvApp.java | 29 ++++++++++------------
.../org/apache/empire/samples/db/SampleApp.java | 21 +++++++++++++++-
2 files changed, 33 insertions(+), 17 deletions(-)
diff --git a/empire-db-examples/empire-db-example-advanced/src/main/java/org/apache/empire/samples/db/advanced/SampleAdvApp.java b/empire-db-examples/empire-db-example-advanced/src/main/java/org/apache/empire/samples/db/advanced/SampleAdvApp.java
index 3d7c85f..b3269f1 100644
--- a/empire-db-examples/empire-db-example-advanced/src/main/java/org/apache/empire/samples/db/advanced/SampleAdvApp.java
+++ b/empire-db-examples/empire-db-example-advanced/src/main/java/org/apache/empire/samples/db/advanced/SampleAdvApp.java
@@ -94,7 +94,6 @@ public class SampleAdvApp
context = new DBContextStatic(dbms, conn);
// STEP 3: Open Database (and create if not existing)
- boolean checkDataModel = true;
System.out.println("*** Step 3: openDatabase() ***");
try {
// Enable the use of prepared statements for update and insert commands as well as for read operations on a DBRecord.
@@ -105,6 +104,7 @@ public class SampleAdvApp
// Check whether database exists
databaseExists();
System.out.println("*** Database already exists. Checking data model... ***");
+ checkDataModel();
} catch(Exception e) {
// STEP 4: Create Database
@@ -122,13 +122,6 @@ public class SampleAdvApp
// Open again
if (db.isOpen()==false)
db.open(context);
- // don't check
- checkDataModel = false;
- }
-
- if (checkDataModel)
- { // Check the data model (SampleAdvDB) against the existing database
- checkDataModel();
}
// STEP 5: Clear Database (Delete all records)
@@ -333,14 +326,18 @@ public class SampleAdvApp
private static void checkDataModel()
{
- DBModelChecker modelChecker = context.getDbms().createModelChecker(db);
- // Check data model
- log.info("Checking DataModel for {} using {}", db.getClass().getSimpleName(), modelChecker.getClass().getSimpleName());
- // dbo schema
- DBModelErrorLogger logger = new DBModelErrorLogger();
- modelChecker.checkModel(context.getConnection(), logger);
- // show result
- log.info("Data model check done. Found {} errors and {} warnings.", logger.getErrorCount(), logger.getWarnCount());
+ try {
+ DBModelChecker modelChecker = context.getDbms().createModelChecker(db);
+ // Check data model
+ log.info("Checking DataModel for {} using {}", db.getClass().getSimpleName(), modelChecker.getClass().getSimpleName());
+ // dbo schema
+ DBModelErrorLogger logger = new DBModelErrorLogger();
+ modelChecker.checkModel(context.getConnection(), logger);
+ // show result
+ log.info("Data model check done. Found {} errors and {} warnings.", logger.getErrorCount(), logger.getWarnCount());
+ } catch(Exception e) {
+ log.error("FATAL error when checking data model. Probably not properly implemented by DBMSHandler!");
+ }
}
/**
diff --git a/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/SampleApp.java b/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/SampleApp.java
index 57afacd..3485308 100644
--- a/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/SampleApp.java
+++ b/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/SampleApp.java
@@ -36,6 +36,8 @@ import org.apache.empire.db.DBRecord;
import org.apache.empire.db.DBRowSet.PartialMode;
import org.apache.empire.db.DBSQLScript;
import org.apache.empire.db.context.DBContextStatic;
+import org.apache.empire.db.validation.DBModelChecker;
+import org.apache.empire.db.validation.DBModelErrorLogger;
import org.apache.empire.dbms.DBMSHandler;
import org.apache.empire.dbms.derby.DBMSHandlerDerby;
import org.apache.empire.dbms.h2.DBMSHandlerH2;
@@ -101,7 +103,8 @@ public class SampleApp
db.open(context);
// Check whether database exists
databaseExists();
- log.info("Database already exists. Skipping Step4");
+ log.info("Database already exists. Checking data model...");
+ checkDataModel();
} catch(Exception e) {
// STEP 4: Create Database
@@ -286,6 +289,22 @@ public class SampleApp
// Commit
context.commit();
}
+
+ private static void checkDataModel()
+ {
+ try {
+ DBModelChecker modelChecker = context.getDbms().createModelChecker(db);
+ // Check data model
+ log.info("Checking DataModel for {} using {}", db.getClass().getSimpleName(), modelChecker.getClass().getSimpleName());
+ // dbo schema
+ DBModelErrorLogger logger = new DBModelErrorLogger();
+ modelChecker.checkModel(context.getConnection(), logger);
+ // show result
+ log.info("Data model check done. Found {} errors and {} warnings.", logger.getErrorCount(), logger.getWarnCount());
+ } catch(Exception e) {
+ log.error("FATAL error when checking data model. Probably not properly implemented by DBMSHandler!");
+ }
+ }
/**
* <PRE>