modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/deploy/GetDestinationStep.java
| 16 ++++++----
modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/inventory/groups/wizard/AbstractGroupCreateWizard.java
| 12 +++++--
2 files changed, 19 insertions(+), 9 deletions(-)
New commits:
commit 12e0cc0530d13d9e5a1f88f46460a2b3df47794c
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Tue Feb 25 17:35:15 2014 -0500
BZ 1069793 - fix the group creation from within bundle wizard
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/deploy/GetDestinationStep.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/deploy/GetDestinationStep.java
index 3e158a2..d0d0e76 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/deploy/GetDestinationStep.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/deploy/GetDestinationStep.java
@@ -59,9 +59,9 @@ import
org.rhq.coregui.client.inventory.resource.type.ResourceTypeRepository;
import
org.rhq.coregui.client.inventory.resource.type.ResourceTypeRepository.MetadataType;
import
org.rhq.coregui.client.inventory.resource.type.ResourceTypeRepository.TypesLoadedCallback;
import org.rhq.coregui.client.util.FormUtility;
+import org.rhq.coregui.client.util.enhanced.EnhancedVLayout;
import org.rhq.coregui.client.util.message.Message;
import org.rhq.coregui.client.util.message.Message.Severity;
-import org.rhq.coregui.client.util.enhanced.EnhancedVLayout;
/**
* @author Jay Shaughnessy
@@ -219,7 +219,7 @@ public class GetDestinationStep extends AbstractWizardStep {
public void onFailure(Throwable caught) {
CoreGUI.getErrorHandler().handleError(MSG.view_bundle_deployWizard_error_9(), caught);
- // try anyway and potentially fail again from there
+ // try anyway and potentially fail again from there
createDestination();
}
});
@@ -230,7 +230,7 @@ public class GetDestinationStep extends AbstractWizardStep {
return false;
}
- // this will advance or decrement the step depending on creation success or failure
+ // this will advance or decrement the step depending on creation success or failure
private void createDestination() {
int selectedGroup = (Integer) this.valForm.getValue("group");
@@ -264,7 +264,7 @@ public class GetDestinationStep extends AbstractWizardStep {
destBaseDirItem.clearValue();
destBaseDirItem.setValueMap((String[]) null);
- // this will be null if there is no true group actually selected (e.g. user is
typing a partial name to search)
+ // this will be null if there is no true group actually selected (e.g. user is
typing a partial name to search)
if (selectedGroupId != null) {
bundleServer.getResourceTypeBundleConfiguration(selectedGroupId.intValue(),
new AsyncCallback<ResourceTypeBundleConfiguration>() {
@@ -324,6 +324,12 @@ public class GetDestinationStep extends AbstractWizardStep {
SC.warn(MSG.view_bundle_deployWizard_createGroup_error_1());
return false;
}
+
+ // BZ 1069793 - We must get these first, before the async call is made.
+ // Otherwise, the group wizard (and this data) will get destroyed before we
have a change to get it.
+ final ResourceGroup group = createStep.getGroup();
+ final int[] selectedResourceIds = memberStep.getSelectedResourceIds();
+
ResourceTypeRepository typeRepository =
ResourceTypeRepository.Cache.getInstance();
typeRepository.getResourceTypes(ids,
EnumSet.of(MetadataType.bundleConfiguration),
new TypesLoadedCallback() {
@@ -334,7 +340,7 @@ public class GetDestinationStep extends AbstractWizardStep {
} else if
(typeSet.iterator().next().getResourceTypeBundleConfiguration() == null) {
SC.warn(MSG.view_bundle_deployWizard_createGroup_error_3());
} else {
- QuickGroupCreateWizard.super.createGroup();
+ QuickGroupCreateWizard.super.createGroup(group,
selectedResourceIds);
}
}
});
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/inventory/groups/wizard/AbstractGroupCreateWizard.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/inventory/groups/wizard/AbstractGroupCreateWizard.java
index 5cb5ae0..ad37442 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/inventory/groups/wizard/AbstractGroupCreateWizard.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/inventory/groups/wizard/AbstractGroupCreateWizard.java
@@ -75,21 +75,25 @@ public abstract class AbstractGroupCreateWizard extends AbstractWizard
{
}
public boolean createGroup() {
+ return createGroup(createStep.getGroup(), memberStep.getSelectedResourceIds());
+ }
+
+ public boolean createGroup(final ResourceGroup newGroupToCreate, final int[]
selectedGroupMembersResourceIds) {
ResourceGroupGWTServiceAsync groupService =
GWTServiceLookup.getResourceGroupService();
- groupService.createResourceGroup(createStep.getGroup(),
memberStep.getSelectedResourceIds(),
+ groupService.createResourceGroup(newGroupToCreate,
selectedGroupMembersResourceIds,
new AsyncCallback<ResourceGroup>() {
public void onFailure(Throwable caught) {
String msg = caught.getMessage();
-
CoreGUI.getErrorHandler().handleError(MSG.view_groupCreateWizard_createFailure(createStep.getGroup().getName(),msg),
caught);
+ CoreGUI.getErrorHandler().handleError(
+
MSG.view_groupCreateWizard_createFailure(newGroupToCreate.getName(), msg), caught);
}
public void onSuccess(ResourceGroup result) {
String conciseMessage =
MSG.view_groupCreateWizard_createSuccessful_concise(result.getName());
String detailedMessage =
MSG.view_groupCreateWizard_createSuccessful_full(result.getGroupCategory()
- .name().toLowerCase(), result.getName(), String
- .valueOf(memberStep.getSelectedResourceIds().length));
+ .name().toLowerCase(), result.getName(),
String.valueOf(selectedGroupMembersResourceIds.length));
CoreGUI.getMessageCenter().notify(new Message(conciseMessage,
detailedMessage));
groupCreateCallback(result);
}
Show replies by date