From f4ea467ef335b255d57710127559644f77f67a3a Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Thu, 13 Dec 2018 22:57:42 +0000
Subject: [PATCH] ...

---
 /dev/null                                                                          |    8 --------
 borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ButlerCache.java       |    4 ++++
 borgbutler-webapp/src/components/views/repos/RepoListView.jsx                      |    6 +++---
 borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/ReposRest.java |   18 +++++-------------
 4 files changed, 12 insertions(+), 24 deletions(-)

diff --git a/borgbutler-core/out/test/resources/log4j.properties b/borgbutler-core/out/test/resources/log4j.properties
deleted file mode 100644
index 7a86484..0000000
--- a/borgbutler-core/out/test/resources/log4j.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-log4j.rootLogger=info, stdout
-log4j.logger.de.micromata.paypal=debug
-
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-
-# Pattern to output the caller's file name and line number.
-log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p [%t] (%F:%L) - %m%n
diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ButlerCache.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ButlerCache.java
index 7fd03fe..37bd0b6 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ButlerCache.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ButlerCache.java
@@ -63,6 +63,10 @@
         return repositories;
     }
 
+    public void clearRepoInfoCacheAccess() {
+        this.repoInfoCacheAccess.clear();
+    }
+
     public RepoList getRepoList(String idOrName) {
         BorgRepoConfig repoConfig = ConfigurationHandler.getConfiguration().getRepoConfig(idOrName);
         //ArchiveInfo archiveInfo = BorgCommands.info(repoConfig, repoConfig.getRepo());
diff --git a/borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/ReposRest.java b/borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/ReposRest.java
index 49b9431..d88c9df 100644
--- a/borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/ReposRest.java
+++ b/borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/ReposRest.java
@@ -19,18 +19,6 @@
     private static Logger log = LoggerFactory.getLogger(ReposRest.class);
 
     @GET
-    @Path("refresh")
-    @Produces(MediaType.TEXT_PLAIN)
-    /**
-     * Reloads all templates on the server.
-     * @return "OK"
-     */
-    public String refresh() {
-        log.error("refresh not yet implemented.");
-        return "FAILED";
-    }
-
-    @GET
     @Path("repo")
     @Produces(MediaType.APPLICATION_JSON)
     /**
@@ -49,10 +37,14 @@
     @Produces(MediaType.APPLICATION_JSON)
     /**
      *
+     * @param force If true, a reload of all repositories is forced.
      * @param prettyPrinter If true then the json output will be in pretty format.
      * @see JsonUtils#toJson(Object, boolean)
      */
-    public String getList(@QueryParam("prettyPrinter") boolean prettyPrinter) {
+    public String getList(@QueryParam("force") boolean force, @QueryParam("prettyPrinter") boolean prettyPrinter) {
+        if (force) {
+            ButlerCache.getInstance().clearRepoInfoCacheAccess();
+        }
         List<Repository> repositories = ButlerCache.getInstance().getAllRepositories();
         if (CollectionUtils.isEmpty(repositories)) {
             return "";
diff --git a/borgbutler-webapp/src/components/views/repos/RepoListView.jsx b/borgbutler-webapp/src/components/views/repos/RepoListView.jsx
index 930504b..5cb3030 100644
--- a/borgbutler-webapp/src/components/views/repos/RepoListView.jsx
+++ b/borgbutler-webapp/src/components/views/repos/RepoListView.jsx
@@ -19,13 +19,13 @@
         this.fetchRepos();
     };
 
-    fetchRepos = () => {
+    fetchRepos = (force) => {
         this.setState({
             isFetching: true,
             failed: false,
             repos: undefined
         });
-        fetch(`${this.path}/list`, {
+        fetch(`${this.path}/list?force=${force}`, {
             method: 'GET',
             headers: {
                 'Accept': 'application/json'
@@ -73,7 +73,7 @@
             content = <React.Fragment>
                 <div
                     className={'btn btn-outline-primary refresh-button-right'}
-                    onClick={this.fetchRepos}
+                    onClick={this.fetchRepos.bind(this, true)}
                 >
                     <IconRefresh/>
                 </div>

--
Gitblit v1.10.0