\r
//import java.io.ByteArrayOutputStream;\r
\r
+import java.io.ByteArrayInputStream;\r
+import java.io.ByteArrayOutputStream;\r
+import java.io.IOException;\r
+import java.io.ObjectInputStream;\r
+import java.io.ObjectOutputStream;\r
import java.io.PrintStream;\r
import java.text.SimpleDateFormat;\r
import java.util.ArrayList;\r
import cx.fbn.nevernote.utilities.Pair;\r
\r
public class Global {\r
- public static String version = "0.96";\r
+ public static String version = "0.99";\r
+ public static String[] validVersions = {"0.99", "0.98", "0.97", "0.96"};\r
public static String username = ""; \r
public static String password = ""; \r
\r
public static int minimumWordCount = 2;\r
private static String wordRegex;\r
public static boolean enableCarriageReturnFix = false;\r
+ public static boolean enableHTMLEntitiesFix = false;\r
\r
public static String name = null;\r
public static QSettings settings;\r
public static String attachmentNameDelimeter = "------";\r
\r
public static String databaseName = new String("NeverNote");\r
+ public static String indexDatabaseName = new String("Index");\r
+ public static String resourceDatabaseName = new String("Resources");\r
public static DateAttributeFilterTable createdSinceFilter;\r
public static DateAttributeFilterTable createdBeforeFilter;\r
public static DateAttributeFilterTable changedSinceFilter;\r
public static boolean mimicEvernoteInterface;\r
public static HashMap<String,String> resourceMap;\r
public static String cipherPassword = "";\r
+ public static String databaseCache = "16384";\r
\r
static Calendar startTraceTime;\r
static Calendar intervalTraceTime;\r
keepRunning = true;\r
disableUploads = disableUploads();\r
enableCarriageReturnFix = enableCarriageReturnFix();\r
+ enableHTMLEntitiesFix = enableHtmlEntitiesFix();\r
logger = new ApplicationLogger("global.log");\r
shortcutKeys = new ShortcutKeys();\r
mimicEvernoteInterface = getMimicEvernoteInterface();\r
resourceMap = new HashMap<String,String>();\r
+ \r
+ databaseCache = getDatabaseCacheSize();\r
\r
}\r
\r
public static boolean showTrayIcon() {\r
settings.beginGroup("General");\r
try {\r
- String max = (String) settings.value("showTrayIcon", "true");\r
+ String max = (String) settings.value("showTrayIcon", "false");\r
settings.endGroup();\r
if (!max.equalsIgnoreCase("true"))\r
return false;\r
else\r
return true; \r
} catch (java.lang.ClassCastException e) {\r
- Boolean value = (Boolean) settings.value("showTrayIcon", true);\r
+ Boolean value = (Boolean) settings.value("showTrayIcon", false);\r
settings.endGroup();\r
return value;\r
}\r
settings.setValue("enableCarriageReturnFix", "false");\r
settings.endGroup();\r
}\r
+ public static boolean enableHtmlEntitiesFix() {\r
+ try {\r
+ settings.beginGroup("Debug");\r
+ String text = (String)settings.value("enableHtmlEntitiesFix", "false");\r
+ settings.endGroup();\r
+ if (text.equalsIgnoreCase("true"))\r
+ return true;\r
+ else\r
+ return false;\r
+ } catch (java.lang.ClassCastException e) {\r
+ Boolean value = (Boolean) settings.value("enableHtmlEntitiesFix", false);\r
+ settings.endGroup();\r
+ return value;\r
+ }\r
+ }\r
+ public static void saveHtmlEntitiesFix(boolean val) {\r
+ settings.beginGroup("Debug");\r
+ if (val)\r
+ settings.setValue("enableHtmlEntitiesFix", "true");\r
+ else\r
+ settings.setValue("enableHtmlEntitiesFix", "false");\r
+ settings.endGroup();\r
+ }\r
+\r
public static void setIndexThreads(int val) {\r
settings.beginGroup("General");\r
settings.setValue("indexThreads", val);\r
val = "jdbc:h2:"+Global.getFileManager().getDbDirPath(Global.databaseName);\r
return val;\r
}\r
+ public static String getIndexDatabaseUrl() {\r
+ settings.beginGroup("General");\r
+ String val = (String)settings.value("DatabaseURL", "");\r
+ settings.endGroup();\r
+ if (val.equals(""))\r
+ val = "jdbc:h2:"+Global.getFileManager().getDbDirPath(Global.indexDatabaseName);\r
+ return val;\r
+ }\r
+ public static String getResourceDatabaseUrl() {\r
+ settings.beginGroup("General");\r
+ String val = (String)settings.value("DatabaseURL", "");\r
+ settings.endGroup();\r
+ if (val.equals(""))\r
+ val = "jdbc:h2:"+Global.getFileManager().getDbDirPath(Global.resourceDatabaseName);\r
+ return val;\r
+ }\r
public static void setDatabaseUrl(String value) {\r
settings.beginGroup("General");\r
settings.setValue("DatabaseURL", value);\r
}\r
public static String getStyle() {\r
settings.beginGroup("General");\r
- String val = (String)settings.value("style", "");\r
+ String val = (String)settings.value("style", "Cleanlooks");\r
settings.endGroup();\r
return val;\r
}\r
settings.endGroup(); \r
}\r
\r
+ //*******************\r
+ // Index attachments\r
+ //*******************\r
+ public static boolean anyTagSelectionMatch() {\r
+ settings.beginGroup("General");\r
+ try {\r
+ String value = (String)settings.value("anyTagSelectionMatch", "false");\r
+ settings.endGroup();\r
+ if (value.equals("true"))\r
+ return true;\r
+ else\r
+ return false;\r
+ } catch (java.lang.ClassCastException e) {\r
+ Boolean value = (Boolean) settings.value("anyTagSelectionMatch", false);\r
+ settings.endGroup();\r
+ return value;\r
+ }\r
+ }\r
+ public static void setAnyTagSelectionMatch(boolean value) {\r
+ settings.beginGroup("General");\r
+ settings.setValue("anyTagSelectionMatch", value);\r
+ settings.endGroup(); \r
+ }\r
+\r
+ //***********************\r
+ //* Database cache size\r
+ //***********************\r
+ public static String getDatabaseCacheSize() {\r
+ settings.beginGroup("Debug");\r
+ String text = (String)settings.value("databaseCache", "16384");\r
+ settings.endGroup(); \r
+ return text;\r
+ }\r
+ public static void setDatabaseCache(String value) {\r
+ settings.beginGroup("Debug");\r
+ settings.setValue("databaseCache", value);\r
+ settings.endGroup(); \r
+ databaseCache = value;\r
+ }\r
+\r
+ \r
+ \r
+ public static Object deepCopy(Object oldObj) \r
+ {\r
+ ObjectOutputStream oos = null;\r
+ ObjectInputStream ois = null;\r
+ try\r
+ {\r
+ ByteArrayOutputStream bos = \r
+ new ByteArrayOutputStream(); // A\r
+ oos = new ObjectOutputStream(bos); // B\r
+ // serialize and pass the object\r
+ oos.writeObject(oldObj); // C\r
+ oos.flush(); // D\r
+ ByteArrayInputStream bin = \r
+ new ByteArrayInputStream(bos.toByteArray()); // E\r
+ ois = new ObjectInputStream(bin); // F\r
+ // return the new object\r
+ return ois.readObject(); // G\r
+ }\r
+ catch(Exception e)\r
+ {\r
+ Global.logger.log(logger.LOW, "Exception in ObjectCloner = " + e);\r
+ }\r
+ try {\r
+ oos.close();\r
+ ois.close();\r
+ } catch (IOException e) {\r
+ Global.logger.log(logger.LOW, "Exception in ObjectCloner = " + e);\r
+ e.printStackTrace();\r
+ }\r
+\r
+ return null;\r
+ }\r
\r
}\r
\r