public static boolean enableCarriageReturnFix = false;\r
public static boolean enableHTMLEntitiesFix = false;\r
\r
- //public static String name = null; \r
- \r
// Used to set & retrieve ini & Windows registry settings\r
public static QSettings settings; // Set & get ini settings\r
public static boolean isConnected; // Are we connected to Evernote\r
// get the url (full path) of the searchable word database\r
public static String getIndexDatabaseUrl() {\r
settings.beginGroup("General");\r
- String val = (String)settings.value("DatabaseURL", "");\r
+ String val = (String)settings.value("IndexDatabaseURL", "");\r
settings.endGroup();\r
if (val.equals(""))\r
val = "jdbc:h2:"+Global.getFileManager().getDbDirPath(Global.indexDatabaseName);\r
// Get the url (full path) of the attachment database\r
public static String getResourceDatabaseUrl() {\r
settings.beginGroup("General");\r
- String val = (String)settings.value("DatabaseURL", "");\r
+ String val = (String)settings.value("ResourceDatabaseURL", "");\r
settings.endGroup();\r
if (val.equals(""))\r
val = "jdbc:h2:"+Global.getFileManager().getDbDirPath(Global.resourceDatabaseName);\r
settings.setValue("DatabaseURL", value);\r
settings.endGroup();\r
}\r
+ public static void setIndexDatabaseUrl(String value) {\r
+ settings.beginGroup("General");\r
+ settings.setValue("IndexDatabaseURL", value);\r
+ settings.endGroup();\r
+ }\r
+ public static void setResourceDatabaseUrl(String value) {\r
+ settings.beginGroup("General");\r
+ settings.setValue("ResourceDatabaseURL", value);\r
+ settings.endGroup();\r
+ }\r
public static String getDatabaseUserid() {\r
settings.beginGroup("General");\r
String val = (String)settings.value("databaseUserid", "");\r
return null;\r
}\r
\r
+\r
}\r
\r
ApplicationLogger logger = new ApplicationLogger("nevernote-database.log");
File f = Global.getFileManager().getDbDirFile(Global.databaseName + ".h2.db");
- boolean dbExists = f.exists();
- if (!dbExists)
+ File fr = Global.getFileManager().getDbDirFile(Global.resourceDatabaseName + ".h2.db");
+ File fi = Global.getFileManager().getDbDirFile(Global.resourceDatabaseName + ".h2.db");
+ if (!f.exists())
Global.setDatabaseUrl("");
+ if (!fr.exists())
+ Global.setResourceDatabaseUrl("");
+ if (!fi.exists())
+ Global.setIndexDatabaseUrl("");
if (Global.getDatabaseUrl().toUpperCase().indexOf("CIPHER=") > -1) {
boolean goodCheck = false;
// Encrypt the database upon shutdown
private void encryptOnShutdown() {
String dbPath= Global.getFileManager().getDbDirPath("");
- String dbName = "NeverNote";
try {
+
Statement st = conn.getConnection().createStatement();
st.execute("shutdown");
+ st = conn.getResourceConnection().createStatement();
+ st.execute("shutdown");
+ st = conn.getIndexConnection().createStatement();
+ st.execute("shutdown");
if (QMessageBox.question(this, tr("Are you sure"),
tr("Are you sure you wish to encrypt the database?"),
QMessageBox.StandardButton.Yes,
QMessageBox.StandardButton.No) == StandardButton.Yes.value()) {
- ChangeFileEncryption.execute(dbPath, dbName, encryptCipher, null, Global.cipherPassword.toCharArray(), true);
+ ChangeFileEncryption.execute(dbPath, "NeverNote", encryptCipher, null, Global.cipherPassword.toCharArray(), true);
+ ChangeFileEncryption.execute(dbPath, "Resources", encryptCipher, null, Global.cipherPassword.toCharArray(), true);
+ ChangeFileEncryption.execute(dbPath, "Index", encryptCipher, null, Global.cipherPassword.toCharArray(), true);
Global.setDatabaseUrl(Global.getDatabaseUrl() + ";CIPHER="+encryptCipher);
- Global.setDatabaseUrl(Global.getIndexDatabaseUrl() + ";CIPHER="+encryptCipher);
- Global.setDatabaseUrl(Global.getResourceDatabaseUrl() + ";CIPHER="+encryptCipher);
+ Global.setResourceDatabaseUrl(Global.getResourceDatabaseUrl() + ";CIPHER="+encryptCipher);
+ Global.setIndexDatabaseUrl(Global.getIndexDatabaseUrl() + ";CIPHER="+encryptCipher);
+
QMessageBox.information(this, tr("Encryption Complete"), tr("Encryption is complete"));
}
} catch (SQLException e) {
ChangeFileEncryption.execute(dbPath, dbName, encryptCipher, Global.cipherPassword.toCharArray(), null, true);
Global.setDatabaseUrl("");
+ Global.setResourceDatabaseUrl("");
+ Global.setIndexDatabaseUrl("");
QMessageBox.information(this, tr("Decryption Complete"), tr("Decryption is complete"));
}
} catch (SQLException e) {
executeSql("Update note set indexneeded='true'");
}
- // Drop the note resource table & re-connect it in case it was recently encrypted.
-/* NSqlQuery query = new NSqlQuery(conn);
- query.exec("drop table NoteResources;");
- String linkcmd = "create linked table NoteResources "
- +"('org.h2.Driver', '"+url+"', '"+userid+"', '"+passwordString+ "', 'NoteResources')";
- query.exec(linkcmd);
- System.err.println(query.lastError());
-*/
+ // If we encrypted/decrypted it the last time, we need to reconnect the tables.
+// if (Global.relinkTables) {
+// NSqlQuery query = new NSqlQuery(conn);
+// query.exec("Drop table NoteResources;");
+// String linkcmd = "create linked table NoteResources "
+// +"('org.h2.Driver', '"+url+"', '"+userid+"', '"+passwordString+ "', 'NoteResources')";
+// System.out.println(linkcmd);
+// query.exec(linkcmd);
+// System.err.println(query.lastError());
+// Global.relinkTables = false;
+// }
+
logger.log(logger.HIGH, "Leaving DatabaseConnection.dbSetup" +id);
}