modules/core/domain/src/main/java/org/rhq/core/domain/drift/DriftDefinition.java | 1 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionTemplatesView.java | 50 ++++------ modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/DriftGWTService.java | 2 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/DriftGWTServiceImpl.java | 11 ++ modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties | 3 5 files changed, 40 insertions(+), 27 deletions(-)
New commits: commit 8955805230d595349a578326ff570946e96a80fd Author: John Sanda jsanda@redhat.com Date: Wed Nov 2 15:13:33 2011 -0400
[BZ 750895] Update the attached field when the definitions configuration is updated
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/drift/DriftDefinition.java b/modules/core/domain/src/main/java/org/rhq/core/domain/drift/DriftDefinition.java index 081f3b6..efb9ac2 100644 --- a/modules/core/domain/src/main/java/org/rhq/core/domain/drift/DriftDefinition.java +++ b/modules/core/domain/src/main/java/org/rhq/core/domain/drift/DriftDefinition.java @@ -237,6 +237,7 @@ public class DriftDefinition implements Serializable { interval = getIntervalProperty(); driftHandlingMode = getDriftHandlingModeProperty(); isPinned = getIsPinnedProperty(); + attached = getAttachedProperty(); }
public Resource getResource() {
commit 5dfd88f388c15c02faac819268d237f07ab64d9a Author: John Sanda jsanda@redhat.com Date: Wed Nov 2 15:00:12 2011 -0400
[BZ 749899] Adding support for deleting drift templates
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionTemplatesView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionTemplatesView.java index 8b0e4d5..2c5f2f0 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionTemplatesView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionTemplatesView.java @@ -21,6 +21,7 @@ package org.rhq.enterprise.gui.coregui.client.drift;
import java.util.ArrayList;
+import com.google.gwt.user.client.rpc.AsyncCallback; import com.smartgwt.client.data.SortSpecifier; import com.smartgwt.client.types.SortDirection; import com.smartgwt.client.widgets.Canvas; @@ -30,12 +31,15 @@ import com.smartgwt.client.widgets.grid.ListGridRecord; import org.rhq.core.domain.common.EntityContext; import org.rhq.core.domain.drift.DriftCategory; import org.rhq.core.domain.resource.ResourceType; +import org.rhq.enterprise.gui.coregui.client.CoreGUI; import org.rhq.enterprise.gui.coregui.client.ViewPath; import org.rhq.enterprise.gui.coregui.client.admin.templates.DriftDefinitionTemplateTypeView; import org.rhq.enterprise.gui.coregui.client.components.table.AbstractTableAction; import org.rhq.enterprise.gui.coregui.client.components.table.TableActionEnablement; import org.rhq.enterprise.gui.coregui.client.components.table.TableSection; import org.rhq.enterprise.gui.coregui.client.drift.wizard.DriftAddDefinitionWizard; +import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup; +import org.rhq.enterprise.gui.coregui.client.util.message.Message;
/** * A list view that displays a paginated table of {@link org.rhq.core.domain.drift.DriftDefinitionTemplate}s. It @@ -121,7 +125,7 @@ public class DriftDefinitionTemplatesView extends TableSection<DriftDefinitionTe } });
- addTableAction("Delete", MSG.common_button_delete(), MSG.view_drift_delete_defConfirm(), + addTableAction("Delete", MSG.common_button_delete(), MSG.view_drift_template_delete_confirm(), new AbstractTableAction(deleteEnablement) {
boolean result = false; @@ -155,35 +159,27 @@ public class DriftDefinitionTemplatesView extends TableSection<DriftDefinitionTe DriftDefinitionTemplatesView.this.refreshTableInfo(); }
- private void delete(ListGridRecord[] records) { - // TODO - - // final String[] driftDefNames = new String[records.length]; - // for (int i = 0, selectionLength = records.length; i < selectionLength; i++) { - // ListGridRecord record = records[i]; - // String driftDefName = record.getAttribute(DriftDefinitionDataSource.ATTR_NAME); - // driftDefNames[i] = driftDefName; - // } + private void delete(final ListGridRecord[] records) { + int[] templateIds = new int[records.length]; + for (int i = 0; i < records.length; ++i) { + templateIds[i] = Integer.parseInt(records[i].getAttribute(DriftDefinitionTemplateDataSource.ATTR_ID)); + } + GWTServiceLookup.getDriftService().deleteDriftDefinitionTemplates(templateIds, new AsyncCallback<Void>() { + @Override + public void onFailure(Throwable caught) { + CoreGUI.getErrorHandler().handleError(MSG.view_drift_template_delete_failure(), caught); + DriftDefinitionTemplatesView.this.refresh(); + }
- //deleteDriftDefinitionTemplatesByName(driftDefNames); + @Override + public void onSuccess(Void result) { + CoreGUI.getMessageCenter().notify(new Message(MSG.view_drift_template_delete_success( + Integer.toString(records.length)), Message.Severity.Info)); + DriftDefinitionTemplatesView.this.refresh(); + } + }); }
- // private void deleteDriftDefinitionsByName(final String[] driftDefNames) { - // GWTServiceLookup.getDriftService().deleteDriftDefinitionsByContext(context, driftDefNames, - // new AsyncCallback<Integer>() { - // public void onSuccess(Integer resultCount) { - // CoreGUI.getMessageCenter().notify( - // new Message(MSG.view_drift_success_deleteDefs(String.valueOf(resultCount)), - // Message.Severity.Info)); - // refresh(); - // } - // - // public void onFailure(Throwable caught) { - // CoreGUI.getErrorHandler().handleError(MSG.view_drift_failure_deleteDefs(), caught); - // } - // }); - // } - @Override public void renderView(ViewPath viewPath) { // we have two detail views for drift def templates, the config editor and the pinned snapshot. Figure out which diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/DriftGWTService.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/DriftGWTService.java index 5a70bc6..7566831 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/DriftGWTService.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/DriftGWTService.java @@ -105,6 +105,8 @@ public interface DriftGWTService extends RemoteService { PageList<DriftDefinitionTemplate> findDriftDefinitionTemplatesByCriteria(DriftDefinitionTemplateCriteria criteria) throws RuntimeException;
+ void deleteDriftDefinitionTemplates(int[] templateIds) throws RuntimeException; + /** * Find all drifts that match the specified criteria. * diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/DriftGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/DriftGWTServiceImpl.java index 8ac2d4a..5302362 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/DriftGWTServiceImpl.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/DriftGWTServiceImpl.java @@ -154,6 +154,17 @@ public class DriftGWTServiceImpl extends AbstractGWTServiceImpl implements Drift }
@Override + public void deleteDriftDefinitionTemplates(int[] templateIds) throws RuntimeException { + try { + for (int templateId : templateIds) { + driftTemplateManager.deleteTemplate(getSessionSubject(), templateId); + } + } catch (Throwable t) { + throw getExceptionToThrowToClient(t); + } + } + + @Override public DriftSnapshot getSnapshot(DriftSnapshotRequest request) throws RuntimeException { try { DriftSnapshot results = driftManager.getSnapshot(getSessionSubject(), request); diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties index 623cab9..32db3fc 100644 --- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties +++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties @@ -1224,6 +1224,9 @@ view_drift_wizard_addDef_success = Successfully added new drift detection defini view_drift_wizard_addDef_templatePrompt = Drift Definition Templates view_drift_wizard_addDef_title = Add Drift Detection Definition for Resource of Type [{0}] view_drift_wizard_addDef_windowTitle = Add Drift Detection Definition Wizard +view_drift_template_delete_confirm = Warning! Deleting this template will also cause all attached drift definitions to be deleted as well. Those attached definitions along with all of their snapshots will be permanently removed from the system. Detached definitions will not be removed. Are you sure you want to continue? +view_drift_template_delete_success = Successfully deleted {0} drift templates +view_drift_template_delete_failure = "Failed to delete some or all of the drift templates view_drift_wizard_addTemplate_failure = Failed to add new drift template [{0}] view_drift_wizard_addTemplate_infoStepHelp = Each drift template is derived from an existing template. This provides a quick way to build new templates that are similar to existing templates, or originate with plugin defined templates. Like a drift definition, the template describes a set of files for which drift monitoring will be performed. Depending on the situation a definition derived from the template may or may not be allowed to alter the file set, or change other settings. Template names must be unique within a resource type. view_drift_wizard_addTemplate_infoStepName = Select the Starting Template