From 8d35a67d719f2c0d264cd8bfa508f9a610cd468d Mon Sep 17 00:00:00 2001 From: Reinhard Pointner Date: Sun, 27 Mar 2016 17:58:01 +0000 Subject: [PATCH] Cache xattr values so that metadata works as expected at least for the current session even if xattr is not supported by the filesystem and thus metadata can't be persisted --- source/net/filebot/media/XattrMetaInfo.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/source/net/filebot/media/XattrMetaInfo.java b/source/net/filebot/media/XattrMetaInfo.java index 49286402..f251279e 100644 --- a/source/net/filebot/media/XattrMetaInfo.java +++ b/source/net/filebot/media/XattrMetaInfo.java @@ -54,8 +54,7 @@ public class XattrMetaInfo { public synchronized Object getMetaInfo(File file) { return getCachedValue(xattrMetaInfoCache, file, key -> { - Object metadata = xattr(file).getObject(); - return isMetaInfo(metadata) ? metadata : null; + return xattr(file).getObject(); }); } @@ -108,12 +107,15 @@ public class XattrMetaInfo { try { if (isMetaInfo(model)) { xattrMetaInfoCache.put(file, model); + if (useExtendedFileAttributes) { xattr.get().setObject(model); } } + if (original != null && original.length() > 0 && getOriginalName(file) == null) { xattrOriginalNameCache.put(file, original); + if (useExtendedFileAttributes) { xattr.get().setOriginalName(original); }