From 34de8e3ff4872c7e48e78d1fa102aa029ac2b261 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Fri, 28 Dec 2018 02:10:33 +0000
Subject: [PATCH] It's a long way, but is it also useful?
---
borgbutler-core/src/main/java/de/micromata/borgbutler/json/borg/BorgFilesystemItem.java | 160 ++++-------------------------------------------------
1 files changed, 13 insertions(+), 147 deletions(-)
diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/json/borg/BorgFilesystemItem.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/json/borg/BorgFilesystemItem.java
index 72ab6bb..9658050 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/json/borg/BorgFilesystemItem.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/json/borg/BorgFilesystemItem.java
@@ -2,87 +2,49 @@
import lombok.Getter;
import lombok.Setter;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.lang3.builder.EqualsBuilder;
-import org.apache.commons.lang3.builder.HashCodeBuilder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import java.io.Serializable;
public class BorgFilesystemItem implements Serializable, Comparable<BorgFilesystemItem> {
- private transient static Logger log = LoggerFactory.getLogger(BorgFilesystemItem.class);
private static final long serialVersionUID = -5545350851640655468L;
/**
- * If running in diff mode, this flag specifies the type of difference. Null represents unmodified.
- */
- public enum DiffStatus {NEW, REMOVED, MODIFIED}
-
- /**
* d (directory), - (file)
*/
@Getter
@Setter
- private String type;
+ protected String type;
/**
* Unix mode, e. g. <tt>drwxr-xr-x</tt>
*/
@Getter
@Setter
- private String mode;
+ protected String mode;
@Getter
- private String user;
+ protected String user;
@Getter
- private String group;
+ protected String group;
@Getter
- private long uid;
+ protected long uid;
@Getter
- private long gid;
+ protected long gid;
@Getter
@Setter
- private String path;
- @Setter
+ protected String path;
@Getter
- private String displayPath;
+ protected boolean healthy;
@Getter
- private boolean healthy;
+ protected String source;
@Getter
- private String source;
+ protected String linktarget;
@Getter
- private String linktarget;
- @Getter
- private String flags;
+ protected String flags;
@Getter
@Setter
- private String mtime;
+ protected String mtime;
@Getter
@Setter
- private long size;
- /**
- * Represents the number of the file in the archive (for downloading). This field is created and only known by BorgButler.
- */
- @Getter
- @Setter
- private int fileNumber;
- /**
- * If created by diff tool, this flag represents the type of difference.
- */
- @Getter
- @Setter
- private DiffStatus diffStatus;
- /**
- * If created by diff tool, this object holds the file item of the other archive (diff archive).
- */
- @Getter
- @Setter
- private BorgFilesystemItem diffItem;
- /**
- * If created by diff tool, this String contains all differences between current and other item for {@link DiffStatus#MODIFIED}.
- * This String may used for displaying.
- */
- @Getter
- private String differences;
+ protected long size;
@Override
public int compareTo(BorgFilesystemItem o) {
@@ -97,100 +59,4 @@
}
return path.compareToIgnoreCase(o.path);
}
-
- @Override
- public boolean equals(Object obj) {
- if (obj == null) {
- return false;
- }
- if (obj == this) {
- return true;
- }
- if (obj.getClass() != getClass()) {
- return false;
- }
- BorgFilesystemItem rhs = (BorgFilesystemItem) obj;
- return new EqualsBuilder()
- .append(path, rhs.path)
- .append(type, rhs.type)
- .append(mode, rhs.mode)
- .append(user, rhs.user)
- .append(group, rhs.group)
- .append(uid, rhs.uid)
- .append(gid, rhs.gid)
- .append(mtime, rhs.mtime)
- .append(size, rhs.size)
- .append(flags, rhs.flags)
- .isEquals();
- }
-
- @Override
- public int hashCode() {
- return new HashCodeBuilder()
- .append(path)
- .append(type)
- .append(mode)
- .append(user)
- .append(group)
- .append(uid)
- .append(gid)
- .append(mtime)
- .append(size)
- .append(flags)
- .toHashCode();
- }
-
- /**
- * Compares all fields and creates human readable string with differences.
- */
- public void buildDifferencesString() {
- if (diffItem == null) {
- // Nothing to do.
- return;
- }
- if (!StringUtils.equals(this.path, diffItem.path)) {
- log.error("*** Internal error: Differences should only be made on same path object: current='" + path + "', other='" + diffItem.path + "'.");
- return;
- }
- StringBuilder sb = new StringBuilder();
- appendDiff(sb, "type", this.type, diffItem.type);
- //appendDiff(sb, "mode", this.mode, diffItem.mode); // Done by frontend (jsx)
- appendDiff(sb, "user", this.user, diffItem.user);
- appendDiff(sb, "group", this.group, diffItem.group);
- appendDiff(sb, "uid", this.uid, diffItem.uid);
- appendDiff(sb, "gid", this.gid, diffItem.gid);
- //appendDiff(sb, "mtime", this.mtime, diffItem.mtime); // Done by frontend (jsx)
- //appendDiff(sb, "size", this.size, diffItem.size); // Done by frontend (jsx)
- if (sb.length() > 0) {
- diffStatus = DiffStatus.MODIFIED;
- this.differences = sb.toString();
- }
- }
-
- private void appendDiff(StringBuilder sb, String field, String current, String other) {
- if (StringUtils.equals(current, other)) {
- // Not modified.
- return;
- }
- if (sb.length() > 0) {
- sb.append(", ");
- }
- sb.append(field + ":['" + other + "'->'" + current + "']");
- }
-
- private void appendDiff(StringBuilder sb, String field, long current, long other) {
- if (current == other) {
- // Not modified.
- return;
- }
- if (sb.length() > 0) {
- sb.append(", ");
- }
- sb.append(field + ": ['" + current + "' -> '" + other + "']");
- }
-
- @Override
- public String toString() {
- return path;
- }
}
--
Gitblit v1.10.0