mirror of https://github.com/micromata/borgbackup-butler.git

Kai Reinhard
07.29.2019 7325f6c31e1f7f6bd94a9e01e916de2c355bcae1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package de.micromata.borgbutler.config;
 
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.lang3.StringUtils;
 
import java.util.ArrayList;
import java.util.List;
 
public class BorgRepoConfig {
    /**
     * A name describing this config. Only used for displaying purposes.
     */
    @Getter
    @Setter
    private String displayName;
    @Getter
    @Setter
    private String repo;
    @Getter
    @Setter
    private String rsh;
    @Getter
    @Setter
    private String passphrase;
    @Getter
    @Setter
    private String passwordCommand;
    @Getter
    @Setter
    @JsonIgnore
    private String id;
 
    public String[] getEnvironmentVariables() {
        return getEnvironmentVariables(false);
    }
 
    public String[] getEnvironmentVariables(boolean showPassphrase) {
        List<String> variables = new ArrayList<>();
        addVariable(variables, "BORG_REPO", repo);
        addVariable(variables, "BORG_RSH", rsh);
        if (StringUtils.isNotBlank(passphrase)) {
            addVariable(variables, "BORG_PASSPHRASE", showPassphrase ? passphrase : "******");
        }
        addVariable(variables, "BORG_PASSCOMMAND", passwordCommand);
        return variables.toArray(new String[variables.size()]);
    }
 
    private void addVariable(List<String> list, String variable, String value) {
        if (StringUtils.isBlank(value)) return;
        list.add(variable + "=" + value);
    }
}