diff --git a/src/main/java/org/codelibs/fess/app/web/admin/plugin/AdminPluginAction.java b/src/main/java/org/codelibs/fess/app/web/admin/plugin/AdminPluginAction.java index 4b4b8ab66..1508786cd 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/plugin/AdminPluginAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/plugin/AdminPluginAction.java @@ -46,8 +46,6 @@ public class AdminPluginAction extends FessAdminAction { protected void setupHtmlData(final ActionRuntime runtime) { super.setupHtmlData(runtime); runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNamePlugin())); - //runtime.registerData("availableArtifactItems", getAllAvailableArtifacts()); - runtime.registerData("installedArtifactItems", getAllInstalledArtifacts()); } @Execute @@ -58,17 +56,13 @@ public class AdminPluginAction extends FessAdminAction { @Execute public HtmlResponse delete(final DeleteForm form) { - validate(form, messages -> {}, () -> { - return asHtml(path_AdminPlugin_AdminPluginJsp); - }); - verifyToken(() -> { - return asHtml(path_AdminPlugin_AdminPluginJsp); - }); + validate(form, messages -> {}, () -> asHtml(path_AdminPlugin_AdminPluginJsp)); + verifyToken(() -> asHtml(path_AdminPlugin_AdminPluginJsp)); final Artifact artifact = new Artifact(form.name, form.version, null); new Thread(() -> { try { pluginHelper.deleteInstalledArtifact(artifact); - } catch (Exception e) { + } catch (final Exception e) { logger.warn("Failed to delete " + artifact.getFileName(), e); } }).start(); @@ -78,25 +72,21 @@ public class AdminPluginAction extends FessAdminAction { @Execute public HtmlResponse install(final InstallForm form) { - validate(form, messages -> {}, () -> { - return asHtml(path_AdminPlugin_AdminPluginInstallpluginJsp); - }); - verifyToken(() -> { - return asHtml(path_AdminPlugin_AdminPluginInstallpluginJsp); - }); + validate(form, messages -> {}, () -> asHtml(path_AdminPlugin_AdminPluginInstallpluginJsp)); + verifyToken(() -> asHtml(path_AdminPlugin_AdminPluginInstallpluginJsp)); final Artifact artifact = getArtifactFromInstallForm(form); new Thread(() -> { - Artifact[] artifacts = pluginHelper.getInstalledArtifacts(ArtifactType.getType(artifact)); + final Artifact[] artifacts = pluginHelper.getInstalledArtifacts(ArtifactType.getType(artifact)); try { pluginHelper.installArtifact(artifact); - } catch (Exception e) { + } catch (final Exception e) { logger.warn("Failed to install " + artifact.getFileName(), e); } - for (Artifact a : artifacts) { - if (a.getName().equals(artifact.getName())) { + for (final Artifact a : artifacts) { + if (a.getName().equals(artifact.getName()) && !a.getVersion().equals(artifact.getVersion())) { try { pluginHelper.deleteInstalledArtifact(a); - } catch (Exception e) { + } catch (final Exception e) { logger.warn("Failed to uninstall " + a.getFileName(), e); } } @@ -115,12 +105,13 @@ public class AdminPluginAction extends FessAdminAction { } private HtmlResponse asListHtml() { - return asHtml(path_AdminPlugin_AdminPluginJsp).useForm(DeleteForm.class); + return asHtml(path_AdminPlugin_AdminPluginJsp).renderWith( + data -> data.register("installedArtifactItems", getAllInstalledArtifacts())).useForm(DeleteForm.class); } private List> getAllAvailableArtifacts() { final List> result = new ArrayList<>(); - for (PluginHelper.ArtifactType artifactType : PluginHelper.ArtifactType.values()) { + for (final PluginHelper.ArtifactType artifactType : PluginHelper.ArtifactType.values()) { result.addAll(Arrays.stream(pluginHelper.getAvailableArtifacts(artifactType)).map(artifact -> beanToMap(artifact)) .collect(Collectors.toList())); } @@ -129,7 +120,7 @@ public class AdminPluginAction extends FessAdminAction { private List> getAllInstalledArtifacts() { final List> result = new ArrayList<>(); - for (PluginHelper.ArtifactType artifactType : PluginHelper.ArtifactType.values()) { + for (final PluginHelper.ArtifactType artifactType : PluginHelper.ArtifactType.values()) { result.addAll(Arrays.stream(pluginHelper.getInstalledArtifacts(artifactType)).map(artifact -> beanToMap(artifact)) .collect(Collectors.toList())); } @@ -137,7 +128,7 @@ public class AdminPluginAction extends FessAdminAction { } private Map beanToMap(final Artifact artifact) { - Map item = new HashMap<>(); + final Map item = new HashMap<>(); item.put("type", ArtifactType.getType(artifact).getId()); item.put("name", artifact.getName()); item.put("version", artifact.getVersion()); @@ -146,7 +137,7 @@ public class AdminPluginAction extends FessAdminAction { } private Artifact getArtifactFromInstallForm(final InstallForm form) { - final String values[] = form.selectedArtifact.split("\\|"); + final String[] values = form.selectedArtifact.split("\\|"); return new Artifact(values[0], values[1], values[2]); } }