You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hop.apache.org by ha...@apache.org on 2021/06/23 15:39:18 UTC
[incubator-hop] branch master updated: HOP-2995 - Project's options
dialog let you enter a non existent project
This is an automated email from the ASF dual-hosted git repository.
hansva pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-hop.git
The following commit(s) were added to refs/heads/master by this push:
new adebcc8 HOP-2995 - Project's options dialog let you enter a non existent project
new f0a8a43 Merge pull request #897 from sramazzina/PRJ-FIXES
adebcc8 is described below
commit adebcc81fbbafa8edeafde4f3b4673aea6259d55
Author: sergio.ramazzina <se...@serasoft.it>
AuthorDate: Wed Jun 23 15:50:38 2021 +0200
HOP-2995 - Project's options dialog let you enter a non existent project
---
.../config/ProjectsConfigOptionPlugin.java | 35 +++++++++++++++++++---
.../apache/hop/projects/gui/ProjectsGuiPlugin.java | 4 +--
.../config/messages/messages_en_US.properties | 5 ++++
.../config/messages/messages_it_IT.properties | 8 +++--
4 files changed, 43 insertions(+), 9 deletions(-)
diff --git a/plugins/misc/projects/src/main/java/org/apache/hop/projects/config/ProjectsConfigOptionPlugin.java b/plugins/misc/projects/src/main/java/org/apache/hop/projects/config/ProjectsConfigOptionPlugin.java
index db75592..a57dd08 100644
--- a/plugins/misc/projects/src/main/java/org/apache/hop/projects/config/ProjectsConfigOptionPlugin.java
+++ b/plugins/misc/projects/src/main/java/org/apache/hop/projects/config/ProjectsConfigOptionPlugin.java
@@ -17,6 +17,8 @@
package org.apache.hop.projects.config;
+import org.apache.commons.lang.StringUtils;
+import org.apache.hop.core.Const;
import org.apache.hop.core.config.plugin.ConfigPlugin;
import org.apache.hop.core.config.plugin.IConfigOptions;
import org.apache.hop.core.exception.HopException;
@@ -28,6 +30,7 @@ import org.apache.hop.core.variables.IVariables;
import org.apache.hop.i18n.BaseMessages;
import org.apache.hop.metadata.api.IHasHopMetadataProvider;
import org.apache.hop.metadata.api.IHopMetadataProvider;
+import org.apache.hop.projects.util.ProjectsUtil;
import org.apache.hop.ui.core.dialog.EnterOptionsDialog;
import org.apache.hop.ui.core.dialog.ErrorDialog;
import org.apache.hop.ui.core.gui.GuiCompositeWidgets;
@@ -35,8 +38,10 @@ import org.apache.hop.ui.core.gui.IGuiPluginCompositeWidgetsListener;
import org.apache.hop.ui.core.widget.ComboVar;
import org.apache.hop.ui.core.widget.TextVar;
import org.apache.hop.ui.hopgui.HopGui;
+import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.MessageBox;
import picocli.CommandLine;
import java.util.ArrayList;
@@ -275,16 +280,38 @@ public class ProjectsConfigOptionPlugin
ProjectsConfigSingleton.getConfig().setEnvironmentMandatory(environmentMandatory);
break;
case WIDGET_ID_DEFAULT_PROJECT:
- defaultProject = ((ComboVar) control).getText();
- ProjectsConfigSingleton.getConfig().setDefaultProject(defaultProject);
+ String defProject = ((ComboVar) control).getText();
+ if (!StringUtils.isEmpty(defProject)) {
+ boolean defParentPrjExists = ProjectsUtil.projectExists(defProject);
+ if (!defParentPrjExists) {
+ MessageBox box = new MessageBox(HopGui.getInstance().getShell(), SWT.OK | SWT.ICON_ERROR);
+ box.setText(BaseMessages.getString(PKG, "ProjectConfig.ProjectNotExists.Error.Header"));
+ box.setMessage(BaseMessages.getString(PKG, "ProjectConfig.ProjectNotExists.DefaultProject.Error.Message", defProject));
+ box.open();
+ } else {
+ defaultProject = defProject;
+ ProjectsConfigSingleton.getConfig().setDefaultProject(defaultProject);
+ }
+ }
break;
case WIDGET_ID_DEFAULT_ENVIRONMENT:
defaultEnvironment = ((TextVar) control).getText();
ProjectsConfigSingleton.getConfig().setDefaultEnvironment(defaultEnvironment);
break;
case WIDGET_ID_STANDARD_PARENT_PROJECT:
- standardParentProject = ((ComboVar) control).getText();
- ProjectsConfigSingleton.getConfig().setStandardParentProject(standardParentProject);
+ String stdParentProject = ((ComboVar) control).getText();
+ if (!StringUtils.isEmpty(stdParentProject)) {
+ boolean stdParentPrjExists = ProjectsUtil.projectExists(stdParentProject);
+ if (!stdParentPrjExists) {
+ MessageBox box = new MessageBox(HopGui.getInstance().getShell(), SWT.OK | SWT.ICON_ERROR);
+ box.setText(BaseMessages.getString(PKG, "ProjectConfig.ProjectNotExists.Error.Header"));
+ box.setMessage(BaseMessages.getString(PKG, "ProjectConfig.ProjectNotExists.StandardProject.Error.Message", stdParentProject));
+ box.open();
+ } else {
+ standardParentProject = stdParentProject;
+ ProjectsConfigSingleton.getConfig().setStandardParentProject(standardParentProject);
+ }
+ }
break;
case WIDGET_ID_STANDARD_PROJECTS_FOLDER:
standardProjectsFolder = ((TextVar) control).getText();
diff --git a/plugins/misc/projects/src/main/java/org/apache/hop/projects/gui/ProjectsGuiPlugin.java b/plugins/misc/projects/src/main/java/org/apache/hop/projects/gui/ProjectsGuiPlugin.java
index c10ac4a..2808df0 100644
--- a/plugins/misc/projects/src/main/java/org/apache/hop/projects/gui/ProjectsGuiPlugin.java
+++ b/plugins/misc/projects/src/main/java/org/apache/hop/projects/gui/ProjectsGuiPlugin.java
@@ -397,9 +397,7 @@ public class ProjectsGuiPlugin {
+ Const.CR
+ prjReferences
+ Const.CR
- + BaseMessages.getString(PKG, "ProjectGuiPlugin.DeleteProject.ProjectReferencedAsParent.Message2"))
-
- ;
+ + BaseMessages.getString(PKG, "ProjectGuiPlugin.DeleteProject.ProjectReferencedAsParent.Message2"));
box.open();
}
} catch (Exception e) {
diff --git a/plugins/misc/projects/src/main/resources/org/apache/hop/projects/config/messages/messages_en_US.properties b/plugins/misc/projects/src/main/resources/org/apache/hop/projects/config/messages/messages_en_US.properties
index 8f3b8bf..4570964 100644
--- a/plugins/misc/projects/src/main/resources/org/apache/hop/projects/config/messages/messages_en_US.properties
+++ b/plugins/misc/projects/src/main/resources/org/apache/hop/projects/config/messages/messages_en_US.properties
@@ -25,5 +25,10 @@ ProjectConfig.DefaultEnvironment.Message=The default environment to use when non
ProjectConfig.ParentProject.Message=The parent project to propose when creating projects
ProjectConfig.StdProjectFolder.Message=GUI: The standard projects folder proposed when creating projects
+ProjectConfig.ProjectNotExists.Error.Header=Project doesn''t exists!
+ProjectConfig.ProjectNotExists.DefaultProject.Error.Message=Project ''{0}'' cannot be set as suggested default project because it does not exists!
+ProjectConfig.ProjectNotExists.StandardProject.Error.Message=Project ''{0}'' cannot be set as suggested parent project because it does not exists!
+
+
ProjectConfig.SavingOption.ErrorDialog.Header=Error
ProjectConfig.SavingOption.ErrorDialog.Message=Error saving option
diff --git a/plugins/misc/projects/src/main/resources/org/apache/hop/projects/config/messages/messages_it_IT.properties b/plugins/misc/projects/src/main/resources/org/apache/hop/projects/config/messages/messages_it_IT.properties
index 85233a3..ef0c825 100644
--- a/plugins/misc/projects/src/main/resources/org/apache/hop/projects/config/messages/messages_it_IT.properties
+++ b/plugins/misc/projects/src/main/resources/org/apache/hop/projects/config/messages/messages_it_IT.properties
@@ -20,10 +20,14 @@ ProjectConfig.Tab.Name=Progetti
ProjectConfig.EnableProjectPlugin.Message=Abilita il plugin di gestione progetti
ProjectConfig.ProjectMandatory.Message=L''uso di un progetto \u00E8 obbligatorio
ProjectConfig.EnvironmentMandatory.Message=L''uso di un ambiente \u00E8 obbligatorio
-ProjectConfig.DefaultProject.Message=Progetto di default da utilizzare quando non \u00E8 specificato
-ProjectConfig.DefaultEnvironment.Message=Ambiente di default quando non \u00E8 specificato
+ProjectConfig.DefaultProject.Message=Progetto di default da utilizzare quando non specificato
+ProjectConfig.DefaultEnvironment.Message=Ambiente di default quando non specificato
ProjectConfig.ParentProject.Message=Progetto padre da proporre quando si crea un progetto
ProjectConfig.StdProjectFolder.Message=GUI: Cartella standard del progetto da proporre durante la creazione
+ProjectConfig.ProjectNotExists.Error.Header=Progetto non esiste!
+ProjectConfig.ProjectNotExists.DefaultProject.Error.Message=Il progetto ''{0}'' non pu\u00F2 essere suggerito come progetto di default perch\u00E8 non esiste!
+ProjectConfig.ProjectNotExists.StandardProject.Error.Message=Il progetto ''{0}'' non pu\u00F2 essere suggerito come progetto padre perch\u00E8 non esiste!
+
ProjectConfig.SavingOption.ErrorDialog.Header=Errore
ProjectConfig.SavingOption.ErrorDialog.Message=Si \u00E8 verificato un errore salvando l''opzione