From e1e3f376380dc8e1936d1d697a97681bf0d00bf4 Mon Sep 17 00:00:00 2001 From: bryant Date: Tue, 29 Sep 2020 10:41:17 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-40472=20=E8=AE=BE=E8=AE=A1=E5=99=A8?= =?UTF-8?q?=E5=86=85=E8=BF=98=E5=8E=9F=E5=88=B0=E5=8E=86=E5=8F=B2=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E5=90=8E=E5=A4=87=E4=BB=BD=E7=9A=84=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=A4=B9=E6=B2=A1=E6=9C=89=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/update/utils/UpdateFileUtils.java | 23 ++++++++++++++++--- .../update/utils/UpdateFileUtilsTest.java | 5 ++-- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/update/utils/UpdateFileUtils.java b/designer-base/src/main/java/com/fr/design/update/utils/UpdateFileUtils.java index b2149be8f..9caaf2d86 100644 --- a/designer-base/src/main/java/com/fr/design/update/utils/UpdateFileUtils.java +++ b/designer-base/src/main/java/com/fr/design/update/utils/UpdateFileUtils.java @@ -27,9 +27,26 @@ public class UpdateFileUtils { List versions = new ArrayList<>(); if (versionBackup != null) { for (File file : versionBackup) { - if (file.isDirectory() && file.length() > 0) { - versions.add(file.getName()); - } else { + boolean canBackup = true; + if (file.isDirectory()) { + File[] libs = file.listFiles(); + if (libs == null || libs.length == 0) { + canBackup = false; + } else { + for (File lib : libs) { + if (lib.isDirectory()) { + File[] jars = lib.listFiles(); + if (jars == null || jars.length == 0) { + canBackup = false; + } + } + } + } + if (canBackup) { + versions.add(file.getName()); + } + } + if (!canBackup) { StableUtils.deleteFile(file); } } diff --git a/designer-base/src/test/java/com/fr/design/update/utils/UpdateFileUtilsTest.java b/designer-base/src/test/java/com/fr/design/update/utils/UpdateFileUtilsTest.java index 0e91e9d68..a188125ed 100644 --- a/designer-base/src/test/java/com/fr/design/update/utils/UpdateFileUtilsTest.java +++ b/designer-base/src/test/java/com/fr/design/update/utils/UpdateFileUtilsTest.java @@ -15,8 +15,9 @@ public class UpdateFileUtilsTest { @Test public void testListFilteredFiles() { + StableUtils.mkdirs(new File("home/backup/version/lib/jars")); String[] result = UpdateFileUtils.listFilteredFiles("home", "backup"); - Assert.assertEquals(0, result.length); - StableUtils.deleteFile(new File(StableUtils.pathJoin("home"))); + Assert.assertEquals(1, result.length); + StableUtils.deleteFile(new File("home")); } }