From 2a83c1b9babfef46b25c52202e88eae8a00dc222 Mon Sep 17 00:00:00 2001 From: Naoki Takezoe Date: Tue, 25 Jul 2017 12:35:41 +0900 Subject: [PATCH] Add null check --- .../core/servlet/InitializeListener.scala | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/src/main/scala/gitbucket/core/servlet/InitializeListener.scala b/src/main/scala/gitbucket/core/servlet/InitializeListener.scala index 9e46f65e3..f46dd827f 100644 --- a/src/main/scala/gitbucket/core/servlet/InitializeListener.scala +++ b/src/main/scala/gitbucket/core/servlet/InitializeListener.scala @@ -134,23 +134,25 @@ class InitializeListener extends ServletContextListener with SystemSettingsServi val cl = Thread.currentThread.getContextClassLoader try { using(cl.getResourceAsStream("plugins/plugins.json")){ pluginsFile => - val pluginsJson = IOUtils.toString(pluginsFile, "UTF-8") + if(pluginsFile != null){ + val pluginsJson = IOUtils.toString(pluginsFile, "UTF-8") - FileUtils.forceMkdir(PluginRepository.LocalRepositoryDir) - FileUtils.write(PluginRepository.LocalRepositoryIndexFile, pluginsJson, "UTF-8") + FileUtils.forceMkdir(PluginRepository.LocalRepositoryDir) + FileUtils.write(PluginRepository.LocalRepositoryIndexFile, pluginsJson, "UTF-8") - val plugins = PluginRepository.parsePluginJson(pluginsJson) - plugins.foreach { plugin => - plugin.versions.sortBy { x => Semver.valueOf(x.version) }.reverse.zipWithIndex.foreach { case (version, i) => - val file = new File(PluginRepository.LocalRepositoryDir, version.file) - if(!file.exists) { - logger.info(s"Copy ${plugin} to ${file.getAbsolutePath}") - FileUtils.forceMkdirParent(file) - using(cl.getResourceAsStream("plugins/" + version.file), new FileOutputStream(file)){ case (in, out) => IOUtils.copy(in, out) } + val plugins = PluginRepository.parsePluginJson(pluginsJson) + plugins.foreach { plugin => + plugin.versions.sortBy { x => Semver.valueOf(x.version) }.reverse.zipWithIndex.foreach { case (version, i) => + val file = new File(PluginRepository.LocalRepositoryDir, version.file) + if(!file.exists) { + logger.info(s"Copy ${plugin} to ${file.getAbsolutePath}") + FileUtils.forceMkdirParent(file) + using(cl.getResourceAsStream("plugins/" + version.file), new FileOutputStream(file)){ case (in, out) => IOUtils.copy(in, out) } - if(plugin.default && i == 0){ - logger.info(s"Enable ${file.getName} in default") - FileUtils.copyFile(file, new File(PluginHome, version.file)) + if(plugin.default && i == 0){ + logger.info(s"Enable ${file.getName} in default") + FileUtils.copyFile(file, new File(PluginHome, version.file)) + } } } }