From feff94fdffe67ba32b92e932704d2352c7778543 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Mon, 10 Dec 2018 07:17:27 +0000
Subject: [PATCH] First cache migrated successfully to JSC.

---
 borgbutler-core/src/main/java/de/micromata/borgbutler/cache/JCSCache.java |   27 +++++++++++++++++++++++++--
 1 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/jcs/JCSCache.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/JCSCache.java
similarity index 74%
rename from borgbutler-core/src/main/java/de/micromata/borgbutler/jcs/JCSCache.java
rename to borgbutler-core/src/main/java/de/micromata/borgbutler/cache/JCSCache.java
index f2d4599..5f4fa4d 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/jcs/JCSCache.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/JCSCache.java
@@ -1,4 +1,4 @@
-package de.micromata.borgbutler.jcs;
+package de.micromata.borgbutler.cache;
 
 import de.micromata.borgbutler.config.Configuration;
 import de.micromata.borgbutler.config.ConfigurationHandler;
@@ -18,6 +18,30 @@
     private static final String CONFIG_FILE = "jcs-basic-config.properties";
     public static final String CACHE_DIR_NAME = "cache";
 
+    public enum Region {DEFAULT, ARCHIVE_CONTENT}
+
+    public static JCSCache getInstance() {
+        return instance;
+    }
+
+    /**
+     * @param <K>
+     * @param <V>
+     * @return JCS cache for default region.
+     */
+    public <K, V> CacheAccess<K, V> getJCSCache() {
+        return JCS.getInstance("default");
+    }
+
+    public <K, V> CacheAccess<K, V> getJCSCache(Region region) {
+        switch (region) {
+            case ARCHIVE_CONTENT:
+                return JCS.getInstance("default");
+            default:
+                return getJCSCache();
+        }
+    }
+
     private JCSCache() {
         Configuration configuration = ConfigurationHandler.getConfiguration();
         File cacheDir = new File(ConfigurationHandler.getInstance().getWorkingDir(), CACHE_DIR_NAME);
@@ -32,7 +56,6 @@
         } catch (IOException ex) {
             log.error("Error while loading jcs config file '" + CONFIG_FILE + "': " + ex.getMessage(), ex);
         }
-        CacheAccess<String, String> jcs = JCS.getInstance("default");
         props.setProperty("jcs.auxiliary.DC.attributes.DiskPath", cacheDir.getAbsolutePath());
         props.setProperty("jcs.auxiliary.DC2.attributes.DiskPath", cacheDir.getAbsolutePath());
         int cacheMaxDiscSizeMB = configuration.getCacheMaxDiscSizeMB();

--
Gitblit v1.10.0