X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms.jshell%2Fsrc%2Forg%2Fargeo%2Fcms%2Fjshell%2FCmsJShell.java;h=d9d7d799523fec81658e4c0fb71ca701adff5b3e;hb=091d43fef5f8e88c7081340138eb1bb33c5862a2;hp=d84ce7212ebcbcacd387618c83ca72e7601bb4ec;hpb=c7eb04e5cd6049c24b347a56f3c80484d329e2bc;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms.jshell/src/org/argeo/cms/jshell/CmsJShell.java b/org.argeo.cms.jshell/src/org/argeo/cms/jshell/CmsJShell.java index d84ce7212..d9d7d7995 100644 --- a/org.argeo.cms.jshell/src/org/argeo/cms/jshell/CmsJShell.java +++ b/org.argeo.cms.jshell/src/org/argeo/cms/jshell/CmsJShell.java @@ -51,13 +51,32 @@ public class CmsJShell { // TODO centralise state run dir stateRunDir = OS.getRunDir().resolve(applicationID); + // TODO factorise create/delete pattern jshBase = stateRunDir.resolve(JShellClient.JSH); + if (Files.exists(jshBase)) { + log.warn(jshBase + " already exists, deleting it..."); + FsUtils.delete(jshBase); + } Files.createDirectories(jshBase); - jshLinkedDir = Files.createSymbolicLink(cmsState.getStatePath(JShellClient.JSH), jshBase); + jshLinkedDir = cmsState.getStatePath(JShellClient.JSH); + if (Files.exists(jshLinkedDir)) { + log.warn(jshLinkedDir + " already exists, deleting it..."); + FsUtils.delete(jshLinkedDir); + } + Files.createSymbolicLink(jshLinkedDir, jshBase); jtermBase = stateRunDir.resolve(JShellClient.JTERM); + if (Files.exists(jtermBase)) { + log.warn(jtermBase + " already exists, deleting it..."); + FsUtils.delete(jtermBase); + } Files.createDirectories(jtermBase); - jtermLinkedDir = Files.createSymbolicLink(cmsState.getStatePath(JShellClient.JTERM), jtermBase); + jtermLinkedDir = cmsState.getStatePath(JShellClient.JTERM); + if (Files.exists(jtermLinkedDir)) { + log.warn(jtermLinkedDir + " already exists, deleting it..."); + FsUtils.delete(jtermLinkedDir); + } + Files.createSymbolicLink(jtermLinkedDir, jtermBase); log.info("Local JShell on " + jshBase + ", linked to " + jshLinkedDir); log.info("Local JTerm on " + jtermBase + ", linked to " + jtermLinkedDir);