This is an automated email from the ASF dual-hosted git repository.
hansva pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/hop.git
The following commit(s) were added to refs/heads/main by this push:
new 6dc20186b4 Sanitize project home path #8062 (#8111)
6dc20186b4 is described below
commit 6dc20186b47f6cacf903f4bf82eb91188c8ea13c
Author: Nicolas Adment <[email protected]>
AuthorDate: Thu Aug 27 14:09:02 2026 +0200
Sanitize project home path #8062 (#8111)
---
.../org/apache/hop/projects/project/ProjectDialog.java | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git
a/plugins/misc/projects/src/main/java/org/apache/hop/projects/project/ProjectDialog.java
b/plugins/misc/projects/src/main/java/org/apache/hop/projects/project/ProjectDialog.java
index e77b5f59fd..5388ca0f8a 100644
---
a/plugins/misc/projects/src/main/java/org/apache/hop/projects/project/ProjectDialog.java
+++
b/plugins/misc/projects/src/main/java/org/apache/hop/projects/project/ProjectDialog.java
@@ -753,12 +753,24 @@ public class ProjectDialog extends Dialog {
}
}
+ /** Sanitize the path by removing leading/trailing whitespace and any
trailing file separator. */
+ protected String sanitizePath(String path) {
+ if (path == null) {
+ return null;
+ }
+ path = path.trim();
+ while (path.endsWith("/") || path.endsWith("\\")) {
+ path = path.substring(0, path.length() - 1);
+ }
+ return path;
+ }
+
private void ok() {
try {
String oriProjectName = projectConfig.getProjectName();
String oriProjectHome = projectConfig.getProjectHome();
- String homeFolder = wHome.getText();
+ String homeFolder = sanitizePath(wHome.getText());
boolean projectHomeFolderChanged = this.editMode &&
!oriProjectHome.equals(homeFolder);
boolean readOnly = wReadOnly.getSelection();
@@ -976,7 +988,7 @@ public class ProjectDialog extends Dialog {
private void getInfo(Project project, ProjectConfig projectConfig) throws
HopException {
projectConfig.setProjectName(wName.getText());
- projectConfig.setProjectHome(wHome.getText());
+ projectConfig.setProjectHome(sanitizePath(wHome.getText()));
projectConfig.setConfigFilename(wConfigFile.getText());
projectConfig.setReadOnly(wReadOnly.getSelection());