diff --git a/bundles/org.openhab.ui.cometvisu/src/main/java/org/openhab/ui/cometvisu/internal/backend/sitemap/VisuConfig.java b/bundles/org.openhab.ui.cometvisu/src/main/java/org/openhab/ui/cometvisu/internal/backend/sitemap/VisuConfig.java
index 746700020f..76c9a34380 100644
--- a/bundles/org.openhab.ui.cometvisu/src/main/java/org/openhab/ui/cometvisu/internal/backend/sitemap/VisuConfig.java
+++ b/bundles/org.openhab.ui.cometvisu/src/main/java/org/openhab/ui/cometvisu/internal/backend/sitemap/VisuConfig.java
@@ -16,6 +16,7 @@
import java.io.StringWriter;
import java.math.BigDecimal;
import java.math.BigInteger;
+import java.util.Objects;
import javax.servlet.http.HttpServletRequest;
import javax.xml.XMLConstants;
@@ -117,7 +118,7 @@ public String getConfigXml(HttpServletRequest req) {
// set relative path to XSD file
File rootFolder = new File(Config.cometvisuWebfolder);
- File file = new File(rootFolder, req.getPathInfo());
+ File file = new File(rootFolder, Objects.requireNonNull(req.getPathInfo(), "Path info should not be null"));
String relXsd = "";
File parent = file.getParentFile();
File schema = new File(parent, "visu_config.xsd");
diff --git a/bundles/org.openhab.ui.cometvisu/src/main/java/org/openhab/ui/cometvisu/internal/util/ClientInstaller.java b/bundles/org.openhab.ui.cometvisu/src/main/java/org/openhab/ui/cometvisu/internal/util/ClientInstaller.java
index 87954efddc..acdb23cdc7 100644
--- a/bundles/org.openhab.ui.cometvisu/src/main/java/org/openhab/ui/cometvisu/internal/util/ClientInstaller.java
+++ b/bundles/org.openhab.ui.cometvisu/src/main/java/org/openhab/ui/cometvisu/internal/util/ClientInstaller.java
@@ -309,7 +309,10 @@ private void extractFolder(String folderName, ZipFile zipFile, String destDir) {
// never ever overwrite existing config files
continue;
}
- new File(file.getParent()).mkdirs();
+ String parent = file.getParent();
+ if (parent != null) {
+ new File(parent).mkdirs();
+ }
try (InputStream is = zipFile.getInputStream(entry); OutputStream os = new FileOutputStream(file)) {
for (int len; (len = is.read(BUFFER)) != -1;) {
diff --git a/bundles/org.openhab.ui.cometvisu/src/main/java/org/openhab/ui/cometvisu/internal/util/FsUtil.java b/bundles/org.openhab.ui.cometvisu/src/main/java/org/openhab/ui/cometvisu/internal/util/FsUtil.java
index 9de6c216a6..0d325d5abc 100644
--- a/bundles/org.openhab.ui.cometvisu/src/main/java/org/openhab/ui/cometvisu/internal/util/FsUtil.java
+++ b/bundles/org.openhab.ui.cometvisu/src/main/java/org/openhab/ui/cometvisu/internal/util/FsUtil.java
@@ -113,9 +113,12 @@ public boolean isInTrash(File file) {
}
public void saveFile(File file, InputStream fileInputStream, String hash) throws FileOperationException {
- File parentDir = new File(file.getParent());
- if (!parentDir.exists()) {
- parentDir.mkdirs();
+ String parent = file.getParent();
+ if (parent != null) {
+ File parentDir = new File(parent);
+ if (!parentDir.exists()) {
+ parentDir.mkdirs();
+ }
}
// check hash
try {
diff --git a/pom.xml b/pom.xml
index d28580bc83..0e14c81870 100644
--- a/pom.xml
+++ b/pom.xml
@@ -66,7 +66,7 @@
${oh.java.version}
7.0.0
- 2.3.0
+ 2.4.0
2.16.0
4.4.6
4.3.0-SNAPSHOT