diff --git a/designer-base/src/main/java/com/fr/file/FILEChooserPane.java b/designer-base/src/main/java/com/fr/file/FILEChooserPane.java index 5018f37349..355cbffa15 100644 --- a/designer-base/src/main/java/com/fr/file/FILEChooserPane.java +++ b/designer-base/src/main/java/com/fr/file/FILEChooserPane.java @@ -1410,7 +1410,7 @@ public class FILEChooserPane extends BasicPane { private class FileCAPlaceListModel extends AbstractPlaceListModel { private FileCAFILE envFILE; FileCAPlaceListModel() { - envFILE = new FileCAFILE(new FileNode(StableUtils.pathJoin(ProjectConstants.RESOURCES_NAME, ProjectConstants.CERTIFICATES_DIRECTORY), true), false, StableUtils.pathJoin(ProjectConstants.ASSETS_NAME, FileDataFILE.FILE_DATASET_NAME)) { + envFILE = new FileCAFILE(new FileNode(StableUtils.pathJoin(ProjectConstants.RESOURCES_NAME, ProjectConstants.CERTIFICATES_DIRECTORY), true), false, StableUtils.pathJoin(ProjectConstants.RESOURCES_NAME, ProjectConstants.CERTIFICATES_DIRECTORY)) { @Override public String getName() { return getEnvProjectName(); diff --git a/designer-base/src/main/java/com/fr/file/FILEFactory.java b/designer-base/src/main/java/com/fr/file/FILEFactory.java index 4d5fe6548d..7f20b844a4 100644 --- a/designer-base/src/main/java/com/fr/file/FILEFactory.java +++ b/designer-base/src/main/java/com/fr/file/FILEFactory.java @@ -9,6 +9,7 @@ public class FILEFactory { public static final String FILE_PREFIX = "file://"; public static final String ENV_PREFIX = "env://"; public static final String FILE_DATA_PREFIX = "filedata://"; + public static final String FILE_CA_PREFIX = "ca://"; public static final String WEBREPORT_PREFIX = "webreport://"; public static final String SEPARATOR = "/"; @@ -58,7 +59,10 @@ public class FILEFactory { return new FileFILE(new java.io.File(path.substring(FILE_PREFIX.length()))); } else if (path.startsWith(FILE_DATA_PREFIX)) { return new FileDataFILE(new FileNode(path.substring(FILE_DATA_PREFIX.length()), true), false, path.substring(FILE_DATA_PREFIX.length())); - } else { + } else if (path.startsWith(FILE_CA_PREFIX)) { + return new FileCAFILE(new FileNode(path.substring(FILE_CA_PREFIX.length()), true), false, path.substring(FILE_CA_PREFIX.length())); + } + else { return new FileNodeFILE(new FileNode(path, WorkContext.getWorkResource().isDirectory(path))); } } diff --git a/designer-base/src/main/java/com/fr/file/FileCAFILE.java b/designer-base/src/main/java/com/fr/file/FileCAFILE.java index 78ea400447..2ecf3c39b0 100644 --- a/designer-base/src/main/java/com/fr/file/FileCAFILE.java +++ b/designer-base/src/main/java/com/fr/file/FileCAFILE.java @@ -7,6 +7,7 @@ import com.fr.log.FineLoggerFactory; import com.fr.stable.CoreConstants; import com.fr.stable.StableUtils; import com.fr.stable.StringUtils; +import com.fr.stable.project.ProjectConstants; import com.fr.workspace.server.repository.tabledata.TableDataRepository; import java.util.ArrayList; @@ -22,6 +23,7 @@ import java.util.Map; * Created on 2024/9/8 */ public class FileCAFILE extends FileNodeFILE{ + public static final String ROOT = ProjectConstants.CERTIFICATES_DIRECTORY; private List children = new ArrayList<>(); private boolean builded = false; private String id = StringUtils.EMPTY; @@ -132,6 +134,13 @@ public class FileCAFILE extends FileNodeFILE{ } } } + for (Map.Entry entry : tree.entrySet()) { + if (entry.getKey().endsWith(ROOT)) { + root = entry.getValue(); + root.setId(StableUtils.pathJoin(ProjectConstants.RESOURCES_NAME, ProjectConstants.CERTIFICATES_DIRECTORY)); + break; + } + } return root; } @@ -144,8 +153,15 @@ public class FileCAFILE extends FileNodeFILE{ return new FileCAFILE(fileNode, true, bean.getId()); } } - return null; + FileNode fileNode = new FileNode(); + fileNode.setEnvPath(s); + fileNode.setDirectory(true); + return new FileCAFILE(fileNode, true, ROOT); } + @Override + public String prefix() { + return FILEFactory.FILE_CA_PREFIX; + } }