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