From 2affa1a03f8f4713c6d7dad936f3d494179f7e6e Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Sat, 15 Dec 2018 19:41:50 +0000
Subject: [PATCH] ...
---
borgbutler-core/src/main/java/de/micromata/borgbutler/config/Configuration.java | 7 ++++---
borgbutler-core/src/main/java/de/micromata/borgbutler/config/BorgRepoConfig.java | 4 ++++
borgbutler-webapp/src/components/views/repos/ArchiveView.jsx | 8 ++++----
borgbutler-webapp/src/components/views/repos/RepoArchiveListView.jsx | 5 +++--
borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ButlerCache.java | 10 ++++++----
5 files changed, 21 insertions(+), 13 deletions(-)
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 bfd1cd2..bf96c44 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
@@ -67,6 +67,8 @@
}
if (repository == null) {
log.warn("Repo with name '" + repoConfig.getRepo() + "' not found.");
+ } else {
+ repoConfig.setId(repository.getId());
}
return repository;
}
@@ -130,15 +132,15 @@
}
/**
- * @param repoName
+ * @param repoIdOrName
* @param archiveIdOrName
* @param forceReload If true, any cache value will be ignored. Default is false.
* @return
*/
- public Archive getArchive(String repoName, String archiveIdOrName, boolean forceReload) {
- BorgRepoConfig repoConfig = ConfigurationHandler.getConfiguration().getRepoConfig(repoName);
+ public Archive getArchive(String repoIdOrName, String archiveIdOrName, boolean forceReload) {
+ BorgRepoConfig repoConfig = ConfigurationHandler.getConfiguration().getRepoConfig(repoIdOrName);
if (repoConfig == null) {
- log.error("Can't find configured repo '" + repoName + "'.");
+ log.error("Can't find configured repo '" + repoIdOrName + "'.");
return null;
}
return getArchive(repoConfig, archiveIdOrName, forceReload);
diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/config/BorgRepoConfig.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/config/BorgRepoConfig.java
index 3212946..25b78b4 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/config/BorgRepoConfig.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/config/BorgRepoConfig.java
@@ -1,5 +1,6 @@
package de.micromata.borgbutler.config;
+import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;
@@ -19,4 +20,7 @@
private String passphrase;
@Getter @Setter
private String passwordCommand;
+ @Getter @Setter
+ @JsonIgnore
+ private String id;
}
diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/config/Configuration.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/config/Configuration.java
index d22c314..cc85168 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/config/Configuration.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/config/Configuration.java
@@ -2,6 +2,7 @@
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
+import org.apache.commons.lang3.StringUtils;
import java.util.ArrayList;
import java.util.List;
@@ -24,12 +25,12 @@
repoConfigs.add(repoConfig);
}
- public BorgRepoConfig getRepoConfig(String name) {
- if (name == null) {
+ public BorgRepoConfig getRepoConfig(String idOrName) {
+ if (idOrName == null) {
return null;
}
for (BorgRepoConfig repoConfig : repoConfigs) {
- if (name.equals(repoConfig.getRepo())) {
+ if (StringUtils.equals(idOrName, repoConfig.getRepo()) || StringUtils.equals(idOrName, repoConfig.getId())) {
return repoConfig;
}
}
diff --git a/borgbutler-webapp/src/components/views/repos/ArchiveView.jsx b/borgbutler-webapp/src/components/views/repos/ArchiveView.jsx
index ad889b3..3ed8c4a 100644
--- a/borgbutler-webapp/src/components/views/repos/ArchiveView.jsx
+++ b/borgbutler-webapp/src/components/views/repos/ArchiveView.jsx
@@ -8,8 +8,8 @@
class ArchiveView extends React.Component {
state = {
- repo: this.props.match.params.repoId,
- archive: this.props.match.params.archiveId,
+ repoId: this.props.match.params.repoId,
+ archiveId: this.props.match.params.archiveId,
isFetching: false,
activeTab: '1',
};
@@ -25,8 +25,8 @@
failed: false
});
fetch(getRestServiceUrl('repos/archive', {
- repo: this.state.repo,
- archive: this.state.archive,
+ repo: this.state.repoId,
+ archive: this.state.archiveId,
force: force
}), {
method: 'GET',
diff --git a/borgbutler-webapp/src/components/views/repos/RepoArchiveListView.jsx b/borgbutler-webapp/src/components/views/repos/RepoArchiveListView.jsx
index ffebf88..22eb67f 100644
--- a/borgbutler-webapp/src/components/views/repos/RepoArchiveListView.jsx
+++ b/borgbutler-webapp/src/components/views/repos/RepoArchiveListView.jsx
@@ -1,5 +1,6 @@
import React from 'react'
import {Nav, NavLink, TabContent, Table, TabPane} from 'reactstrap';
+import { Link } from "react-router-dom";
import classNames from 'classnames';
import {PageHeader} from '../../general/BootstrapComponents';
import {getRestServiceUrl, humanFileSize} from '../../../utilities/global';
@@ -110,8 +111,8 @@
{repo.archives.map((archive) => {
// Return the element. Also pass key
return (
- <tr key={archive.id} onClick={() => this.redirectToArchive(archive)}>
- <td>{archive.archive}</td>
+ <tr key={archive.id}>
+ <td><Link to={`/archives/${repo.id}/${archive.id}`}>{archive.archive}</Link></td>
<td>{archive.time}</td>
<td>{archive.id}</td>
</tr>);
--
Gitblit v1.10.0