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 a299a940b7 Add a version field on project level, fixes #6752 (#6822)
a299a940b7 is described below

commit a299a940b77353ceef229d000341424bcc4c546b
Author: Hans Van Akelyen <[email protected]>
AuthorDate: Wed Mar 18 20:24:28 2026 +0100

    Add a version field on project level, fixes #6752 (#6822)
---
 .../org/apache/hop/projects/project/Project.java   | 145 +--------------------
 .../apache/hop/projects/project/ProjectDialog.java |  20 +++
 .../project/messages/messages_en_US.properties     |   1 +
 3 files changed, 28 insertions(+), 138 deletions(-)

diff --git 
a/plugins/misc/projects/src/main/java/org/apache/hop/projects/project/Project.java
 
b/plugins/misc/projects/src/main/java/org/apache/hop/projects/project/Project.java
index 7301cbb23a..4320a2ada8 100644
--- 
a/plugins/misc/projects/src/main/java/org/apache/hop/projects/project/Project.java
+++ 
b/plugins/misc/projects/src/main/java/org/apache/hop/projects/project/Project.java
@@ -37,6 +37,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
+import lombok.Getter;
+import lombok.Setter;
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.vfs2.FileObject;
 import org.apache.hop.core.Const;
@@ -67,12 +69,15 @@ import org.apache.hop.projects.util.ProjectsUtil;
 import org.apache.hop.workflow.WorkflowMeta;
 import org.apache.hop.workflow.action.ActionMeta;
 
+@Getter
+@Setter
 public class Project extends ConfigFile implements IConfigFile {
 
   @JsonIgnore private String configFilename;
   private String description;
   private String company;
   private String department;
+  private String version;
   private String metadataBaseFolder;
   private String unitTestsBasePath;
   private String dataSetsCsvFolder;
@@ -132,6 +137,7 @@ public class Project extends ConfigFile implements 
IConfigFile {
       this.description = project.description;
       this.company = project.company;
       this.department = project.department;
+      this.version = project.version;
       this.metadataBaseFolder = project.metadataBaseFolder;
       this.unitTestsBasePath = project.unitTestsBasePath;
       this.dataSetsCsvFolder = project.dataSetsCsvFolder;
@@ -440,8 +446,7 @@ public class Project extends ConfigFile implements 
IConfigFile {
         List<ActionMeta> actionMetas = workflowMeta.getActions();
         workflowActionsMap.put(workflowMeta, actionMetas);
       } catch (Exception e) {
-        System.err.println("error getting workflow actions");
-        e.printStackTrace();
+        LogChannel.GENERAL.logError("error getting workflow actions", e);
       }
     }
 
@@ -614,140 +619,4 @@ public class Project extends ConfigFile implements 
IConfigFile {
   public void setConfigFilename(String configFilename) {
     this.configFilename = configFilename;
   }
-
-  /**
-   * Gets description
-   *
-   * @return value of description
-   */
-  public String getDescription() {
-    return description;
-  }
-
-  /**
-   * @param description The description to set
-   */
-  public void setDescription(String description) {
-    this.description = description;
-  }
-
-  /**
-   * Gets company
-   *
-   * @return value of company
-   */
-  public String getCompany() {
-    return company;
-  }
-
-  /**
-   * @param company The company to set
-   */
-  public void setCompany(String company) {
-    this.company = company;
-  }
-
-  /**
-   * Gets department
-   *
-   * @return value of department
-   */
-  public String getDepartment() {
-    return department;
-  }
-
-  /**
-   * @param department The department to set
-   */
-  public void setDepartment(String department) {
-    this.department = department;
-  }
-
-  /**
-   * Gets metadataBaseFolder
-   *
-   * @return value of metadataBaseFolder
-   */
-  public String getMetadataBaseFolder() {
-    return metadataBaseFolder;
-  }
-
-  /**
-   * @param metadataBaseFolder The metadataBaseFolder to set
-   */
-  public void setMetadataBaseFolder(String metadataBaseFolder) {
-    this.metadataBaseFolder = metadataBaseFolder;
-  }
-
-  /**
-   * Gets unitTestsBasePath
-   *
-   * @return value of unitTestsBasePath
-   */
-  public String getUnitTestsBasePath() {
-    return unitTestsBasePath;
-  }
-
-  /**
-   * @param unitTestsBasePath The unitTestsBasePath to set
-   */
-  public void setUnitTestsBasePath(String unitTestsBasePath) {
-    this.unitTestsBasePath = unitTestsBasePath;
-  }
-
-  /**
-   * Gets dataSetsCsvFolder
-   *
-   * @return value of dataSetsCsvFolder
-   */
-  public String getDataSetsCsvFolder() {
-    return dataSetsCsvFolder;
-  }
-
-  /**
-   * @param dataSetsCsvFolder The dataSetsCsvFolder to set
-   */
-  public void setDataSetsCsvFolder(String dataSetsCsvFolder) {
-    this.dataSetsCsvFolder = dataSetsCsvFolder;
-  }
-
-  /**
-   * Gets enforcingExecutionInHome
-   *
-   * @return value of enforcingExecutionInHome
-   */
-  public boolean isEnforcingExecutionInHome() {
-    return enforcingExecutionInHome;
-  }
-
-  /**
-   * @param enforcingExecutionInHome The enforcingExecutionInHome to set
-   */
-  public void setEnforcingExecutionInHome(boolean enforcingExecutionInHome) {
-    this.enforcingExecutionInHome = enforcingExecutionInHome;
-  }
-
-  /**
-   * Gets parentProjectName
-   *
-   * @return value of parentProjectName
-   */
-  public String getParentProjectName() {
-    return parentProjectName;
-  }
-
-  /**
-   * @param parentProjectName The parentProjectName to set
-   */
-  public void setParentProjectName(String parentProjectName) {
-    this.parentProjectName = parentProjectName;
-  }
-
-  public MultiMetadataProvider getMetadataProvider() {
-    return metadataProvider;
-  }
-
-  public void setMetadataProvider(MultiMetadataProvider metadataProvider) {
-    this.metadataProvider = metadataProvider;
-  }
 }
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 c54cddf3ef..7aa4ad536d 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
@@ -85,6 +85,7 @@ public class ProjectDialog extends Dialog {
   private Text wDescription;
   private Text wCompany;
   private Text wDepartment;
+  private Text wVersion;
 
   private TextVar wMetadataBaseFolder;
   private TextVar wUnitTestsBasePath;
@@ -318,6 +319,23 @@ public class ProjectDialog extends Dialog {
     wDepartment.setLayoutData(fdDepartment);
     lastControl = wDepartment;
 
+    Label wlVersion = new Label(comp, SWT.RIGHT);
+    PropsUi.setLook(wlVersion);
+    wlVersion.setText(BaseMessages.getString(PKG, 
"ProjectDialog.Label.Version"));
+    FormData fdlVersion = new FormData();
+    fdlVersion.left = new FormAttachment(0, 0);
+    fdlVersion.right = new FormAttachment(middle, 0);
+    fdlVersion.top = new FormAttachment(lastControl, margin);
+    wlVersion.setLayoutData(fdlVersion);
+    wVersion = new Text(comp, SWT.SINGLE | SWT.BORDER | SWT.LEFT);
+    PropsUi.setLook(wVersion);
+    FormData fdVersion = new FormData();
+    fdVersion.left = new FormAttachment(middle, margin);
+    fdVersion.right = new FormAttachment(99, 0);
+    fdVersion.top = new FormAttachment(wlVersion, 0, SWT.CENTER);
+    wVersion.setLayoutData(fdVersion);
+    lastControl = wVersion;
+
     Label wlMetadataBaseFolder = new Label(comp, SWT.RIGHT);
     PropsUi.setLook(wlMetadataBaseFolder);
     wlMetadataBaseFolder.setText(
@@ -702,6 +720,7 @@ public class ProjectDialog extends Dialog {
     wDescription.setText(Const.NVL(project.getDescription(), ""));
     wCompany.setText(Const.NVL(project.getCompany(), ""));
     wDepartment.setText(Const.NVL(project.getDepartment(), ""));
+    wVersion.setText(Const.NVL(project.getVersion(), ""));
     wMetadataBaseFolder.setText(Const.NVL(project.getMetadataBaseFolder(), 
""));
     wUnitTestsBasePath.setText(Const.NVL(project.getUnitTestsBasePath(), ""));
     wDataSetCsvFolder.setText(Const.NVL(project.getDataSetsCsvFolder(), ""));
@@ -745,6 +764,7 @@ public class ProjectDialog extends Dialog {
     project.setDescription(wDescription.getText());
     project.setCompany(wCompany.getText());
     project.setDepartment(wDepartment.getText());
+    project.setVersion(wVersion.getText());
     project.setMetadataBaseFolder(wMetadataBaseFolder.getText());
     project.setUnitTestsBasePath(wUnitTestsBasePath.getText());
     project.setDataSetsCsvFolder(wDataSetCsvFolder.getText());
diff --git 
a/plugins/misc/projects/src/main/resources/org/apache/hop/projects/project/messages/messages_en_US.properties
 
b/plugins/misc/projects/src/main/resources/org/apache/hop/projects/project/messages/messages_en_US.properties
index f64633b92b..c0265b9497 100644
--- 
a/plugins/misc/projects/src/main/resources/org/apache/hop/projects/project/messages/messages_en_US.properties
+++ 
b/plugins/misc/projects/src/main/resources/org/apache/hop/projects/project/messages/messages_en_US.properties
@@ -43,6 +43,7 @@ ProjectDialog.Label.MetadataBaseFolder=Metadata base folder 
(HOP_METADATA_FOLDER
 ProjectDialog.Label.ParentProject=Parent project to inherit from
 ProjectDialog.Label.ProjectName=Name
 ProjectDialog.Label.UnitTestBaseFolder=Unit tests base path 
(HOP_UNIT_TESTS_FOLDER)
+ProjectDialog.Label.Version=Version
 ProjectDialog.ProjectConfigError.Error.Dialog.Header=Error
 ProjectDialog.ProjectConfigError.Error.Dialog.Message=There is a configuration 
error in the project
 ProjectDialog.ProjectDefinitionError.Error.Dialog.Header=Error

Reply via email to