modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/SingleGroupDefinitionView.java | 27 ++++++++-- 1 file changed, 22 insertions(+), 5 deletions(-)
New commits: commit 053dbbdd57305468cd10c35dfb0e586c4631b0ab Author: Mike Thompson mithomps@redhat.com Date: Mon Jan 30 11:18:24 2012 -0800
[BZ734197]-Improvement: Dynagroup creation should provide better error msg for duplicate name. Delete logging.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/SingleGroupDefinitionView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/SingleGroupDefinitionView.java index a9d41fc..f55c37a 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/SingleGroupDefinitionView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/SingleGroupDefinitionView.java @@ -83,7 +83,6 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableDynamicForm; import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableIButton; import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
-import com.allen_sauer.gwt.log.client.Log;
/** * @author Joseph Marques @@ -202,9 +201,7 @@ public class SingleGroupDefinitionView extends LocatableVLayout implements Bookm Map.Entry thisEntry = (Map.Entry) entryObject; String fieldKey = (String) thisEntry.getKey(); // the duplicate name error will be keyed by 'name' in the errorMap - Log.debug("there were errors"); if (fieldKey.equals("name")) { - Log.debug("found name error key"); String errorValue = (String) thisEntry.getValue(); CoreGUI.getErrorHandler().handleError(errorValue); hasDuplicateNameError = true;
commit 26a4e740cdec5e690ac99453c73eecb18f2c6c97 Author: Mike Thompson mithomps@redhat.com Date: Mon Jan 30 10:42:38 2012 -0800
[BZ734197]-Improvement: Dynagroup creation should provide better error msg for duplicate name.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/SingleGroupDefinitionView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/SingleGroupDefinitionView.java index 96d3702..a9d41fc 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/SingleGroupDefinitionView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/SingleGroupDefinitionView.java @@ -24,9 +24,7 @@ import static org.rhq.enterprise.gui.coregui.client.inventory.groups.ResourceGro import static org.rhq.enterprise.gui.coregui.client.inventory.groups.ResourceGroupDataSourceField.PLUGIN; import static org.rhq.enterprise.gui.coregui.client.inventory.groups.ResourceGroupDataSourceField.TYPE;
-import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.Set; +import java.util.*;
import com.google.gwt.user.client.History; import com.google.gwt.user.client.rpc.AsyncCallback; @@ -85,6 +83,8 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableDynamicForm; import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableIButton; import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import com.allen_sauer.gwt.log.client.Log; + /** * @author Joseph Marques */ @@ -192,11 +192,31 @@ public class SingleGroupDefinitionView extends LocatableVLayout implements Bookm form.saveData(new DSCallback() { @Override public void execute(DSResponse response, Object rawData, DSRequest request) { + boolean hasDuplicateNameError = false; if (form.isNewRecord()) { Record[] results = response.getData(); if (results.length != 1) { - CoreGUI.getErrorHandler().handleError( - MSG.view_dynagroup_singleSaveFailure(String.valueOf(results.length))); + + // handle the special case for name already exists error + for (Object entryObject : response.getErrors().entrySet()) { + Map.Entry thisEntry = (Map.Entry) entryObject; + String fieldKey = (String) thisEntry.getKey(); + // the duplicate name error will be keyed by 'name' in the errorMap + Log.debug("there were errors"); + if (fieldKey.equals("name")) { + Log.debug("found name error key"); + String errorValue = (String) thisEntry.getValue(); + CoreGUI.getErrorHandler().handleError(errorValue); + hasDuplicateNameError = true; + } + } + + if(!hasDuplicateNameError){ + CoreGUI.getErrorHandler().handleError( + MSG.view_dynagroup_singleSaveFailure(String.valueOf(results.length))); + } + + } else { Record newRecord = results[0]; GroupDefinition newGroupDefinition = GroupDefinitionDataSource.getInstance().copyValues(
rhq-commits@lists.fedorahosted.org