modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftConfigurationDataSource.java | 15 ++++ modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftConfigurationView.java | 23 ------- modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDataSource.java | 13 ++++ modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/AbstractDriftAddConfigWizard.java | 7 +- modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftAddConfigWizard.java | 31 +++++++++- modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftAddConfigWizardInfoStep.java | 6 - modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties | 2 modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties | 2 modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties | 2 modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties | 2 modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties | 2 11 files changed, 74 insertions(+), 31 deletions(-)
New commits: commit c9bc8846f642fbe9ff9a155548b477dbeb3894f5 Author: Jay Shaughnessy jshaughn@redhat.com Date: Tue Jun 28 16:40:49 2011 -0400
- Drift AddConfig wizard now adding configs to the db. It's a canned config for testing until we have real support for drift config templates. - Add missing filtering in DriftDataSource and DriftConfigDataSource to narrow down the result set to applicable resource. - Fix issue in DriftConfigDataSource needing string attribute value - Remove unnecessary/wrong link column stuff in config view
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftConfigurationDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftConfigurationDataSource.java index ba942b0..c38b68d 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftConfigurationDataSource.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftConfigurationDataSource.java @@ -236,6 +236,19 @@ public class DriftConfigurationDataSource extends RPCDataSource<DriftConfigurati protected ResourceCriteria getFetchCriteria(DSRequest request) {
ResourceCriteria criteria = new ResourceCriteria(); + switch (entityContext.getType()) { + case Resource: + criteria.addFilterId(entityContext.getResourceId()); + break; + + case ResourceGroup: + criteria.addFilterExplicitGroupIds(entityContext.getGroupId()); + break; + + default: + // no filter + } + criteria.fetchDriftConfigurations(true); criteria.setPageControl(getPageControl(request));
@@ -265,7 +278,7 @@ public class DriftConfigurationDataSource extends RPCDataSource<DriftConfigurati ListGridRecord record = new ListGridRecord(); record.setAttribute("id", from.getId()); record.setAttribute("name", from.getName()); - record.setAttribute("interval", from.getInterval()); + record.setAttribute("interval", String.valueOf(from.getInterval())); record.setAttribute("baseDir", from.getBasedir()); record.setAttribute("enabled", from.getEnabled());
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftConfigurationView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftConfigurationView.java index b217d5b..002f468 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftConfigurationView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftConfigurationView.java @@ -28,7 +28,6 @@ import com.smartgwt.client.data.ResultSet; import com.smartgwt.client.data.SortSpecifier; import com.smartgwt.client.types.SortDirection; import com.smartgwt.client.widgets.Canvas; -import com.smartgwt.client.widgets.grid.CellFormatter; import com.smartgwt.client.widgets.grid.ListGrid; import com.smartgwt.client.widgets.grid.ListGridField; import com.smartgwt.client.widgets.grid.ListGridRecord; @@ -36,18 +35,14 @@ import com.smartgwt.client.widgets.grid.ListGridRecord; import org.rhq.core.domain.common.EntityContext; import org.rhq.core.domain.drift.DriftCategory; import org.rhq.enterprise.gui.coregui.client.CoreGUI; -import org.rhq.enterprise.gui.coregui.client.LinkManager; import org.rhq.enterprise.gui.coregui.client.components.table.AbstractTableAction; import org.rhq.enterprise.gui.coregui.client.components.table.TableAction; 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.components.table.TimestampCellFormatter; import org.rhq.enterprise.gui.coregui.client.components.view.ViewName; import org.rhq.enterprise.gui.coregui.client.drift.wizard.DriftAddConfigWizard; import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup; -import org.rhq.enterprise.gui.coregui.client.inventory.resource.AncestryUtil; import org.rhq.enterprise.gui.coregui.client.util.message.Message; -import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/** * A view that displays a paginated table of {@link org.rhq.core.domain.drift.DriftConfiguration}s, along with the @@ -126,24 +121,6 @@ public class DriftConfigurationView extends TableSection<DriftConfigurationDataS super.configureTable(); }
- @Override - protected String getDetailsLinkColumnName() { - return "name"; - } - - @Override - protected CellFormatter getDetailsLinkColumnCellFormatter() { - return new CellFormatter() { - public String format(Object value, ListGridRecord record, int i, int i1) { - Integer resourceId = record.getAttributeAsInt(AncestryUtil.RESOURCE_ID); - Integer driftConfigId = getId(record); - String url = LinkManager.getSubsystemDriftConfigLink(resourceId, driftConfigId); - String formattedValue = TimestampCellFormatter.format(value); - return SeleniumUtility.getLocatableHref(url, formattedValue, null); - } - }; - } - protected void setupTableInteractions(final boolean hasWriteAccess) { TableActionEnablement singleTargetEnablement = hasWriteAccess ? TableActionEnablement.ANY : TableActionEnablement.NEVER; diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDataSource.java index fe592a9..ae5db2a 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDataSource.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDataSource.java @@ -242,6 +242,19 @@ public class DriftDataSource extends RPCDataSource<Drift, DriftCriteria> {
DriftCriteria criteria = new DriftCriteria(); criteria.addFilterCategories(categoriesFilter); + + switch (entityContext.getType()) { + case Resource: + criteria.addFilterResourceIds(entityContext.getResourceId()); + break; + + case ResourceGroup: + // TODO ? + + default: + // no filter + } + criteria.fetchChangeSet(true); criteria.setPageControl(getPageControl(request));
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/AbstractDriftAddConfigWizard.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/AbstractDriftAddConfigWizard.java index 0b6bca4..4d3b073 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/AbstractDriftAddConfigWizard.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/AbstractDriftAddConfigWizard.java @@ -20,6 +20,7 @@ package org.rhq.enterprise.gui.coregui.client.drift.wizard;
import org.rhq.core.domain.common.EntityContext; import org.rhq.core.domain.configuration.Configuration; +import org.rhq.core.domain.drift.DriftConfiguration; import org.rhq.core.domain.resource.ResourceType; import org.rhq.enterprise.gui.coregui.client.components.wizard.AbstractWizard; import org.rhq.enterprise.gui.coregui.client.components.wizard.WizardView; @@ -35,7 +36,7 @@ public abstract class AbstractDriftAddConfigWizard extends AbstractWizard { private String newConfigName; private String newConfigInterval; private Configuration newStartingConfiguration; - private Configuration newDriftConfiguration; + private DriftConfiguration newDriftConfiguration;
private WizardView view;
@@ -90,12 +91,12 @@ public abstract class AbstractDriftAddConfigWizard extends AbstractWizard { this.newStartingConfiguration = newStartingConfiguration; }
- public Configuration getNewDriftConfiguration() { + public DriftConfiguration getNewDriftConfiguration() { return newDriftConfiguration; }
public void setNewConfiguration(Configuration newDriftConfiguration) { - this.newDriftConfiguration = newDriftConfiguration; + this.newDriftConfiguration = new DriftConfiguration(newDriftConfiguration); }
public void cancel() { diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftAddConfigWizard.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftAddConfigWizard.java index 4fcb61f..f8bca45 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftAddConfigWizard.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftAddConfigWizard.java @@ -31,6 +31,7 @@ import org.rhq.core.domain.util.PageList; import org.rhq.enterprise.gui.coregui.client.CoreGUI; import org.rhq.enterprise.gui.coregui.client.components.wizard.WizardStep; import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup; +import org.rhq.enterprise.gui.coregui.client.util.message.Message;
/** * @author Jay Shaughnessy @@ -62,7 +63,35 @@ public class DriftAddConfigWizard extends AbstractDriftAddConfigWizard { }
public void execute() { - // TODO + EntityContext context = getEntityContext(); + switch (context.getType()) { + case Resource: + + ResourceCriteria rc = new ResourceCriteria(); + rc.addFilterId(context.getResourceId()); + rc.fetchResourceType(true); + GWTServiceLookup.getDriftService().updateDriftConfiguration(context, getNewDriftConfiguration(), + new AsyncCallback<Void>() { + public void onSuccess(Void result) { + CoreGUI.getMessageCenter().notify( + new Message(MSG.view_drift_wizard_addConfig_success(getNewDriftConfiguration().getName()), + Message.Severity.Info)); + getView().closeDialog(); + } + + public void onFailure(Throwable caught) { + CoreGUI.getErrorHandler().handleError( + MSG.view_drift_wizard_addConfig_failure(getNewDriftConfiguration().getName()), caught); + getView().closeDialog(); + } + }); + + break; + + default: + throw new IllegalArgumentException("Entity Context Type not supported [" + context + "]"); + } + }
public static void showWizard(final EntityContext context) { diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftAddConfigWizardInfoStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftAddConfigWizardInfoStep.java index 2d0932b..8f5b750 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftAddConfigWizardInfoStep.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftAddConfigWizardInfoStep.java @@ -100,12 +100,12 @@ public class DriftAddConfigWizardInfoStep extends AbstractWizardStep { } } else { // TODO this should throw an error as there should be at least one template (can remove the +1 sizing above when changing) - // throw new IllegalStateException( "At least one srift configuration template should exist for the resource type" ); + // throw new IllegalStateException( "At least one drift configuration template should exist for the resource type" ); ConfigurationTemplate test = new ConfigurationTemplate("Test", "Test"); Configuration config = new Configuration(); config.put(new PropertySimple("name", "Test")); - config.put(new PropertySimple("basedir", "/TestDir")); - config.put(new PropertySimple("interval", "1200")); + config.put(new PropertySimple("basedir", "C:/workspace/rhq/dev-container/jbossas/server/default/conf")); + config.put(new PropertySimple("interval", "6000")); test.setConfiguration(config); test.setConfigurationDefinition(DriftConfigurationDefinition.getInstance()); templatesMap.put("TestOnly", test); 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 d171188..fb4e2a6 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 @@ -1126,9 +1126,11 @@ view_drift_table_newFile = New File view_drift_table_oldFile = Old File view_drift_table_resourceConfig = Resource Drift Configuration view_drift_table_resourceHistory = Resource Drift History +view_drift_wizard_addConfig_failure = Failed to add new drift configuration [{0}] view_drift_wizard_addConfig_infoStepName = Provide Drift Detection Information view_drift_wizard_addConfig_nameHelp = A textual name briefly describing the purpose of this drift detection configuration. Drift configuration names must be unique for a resource. view_drift_wizard_addConfig_namePrompt = New Drift Configuration Name +view_drift_wizard_addConfig_success = Successfully added new drift configuration [{0}]. Agent(s) will be updated. view_drift_wizard_addConfig_templateHelp = Each drift configuration describes a set of files for which drift detection can be performed. The configuration can be enabled and disabled, defines the detection interval, and specifies a base directory and optional file filters. For each resource type offering drift detection there will be one or more predefined templates to use a starting configuration, which can then be edited. view_drift_wizard_addConfig_templatePrompt = Drift Configuration Templates view_drift_wizard_addConfig_title = Add Drift Configuration for Resource of Type [{0}] diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties index 52389a9..d3b63d2 100644 --- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties +++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties @@ -950,9 +950,11 @@ view_dashboards_title = Dashboard ##view_drift_table_oldFile = Old File view_drift_table_resourceConfig = Resource Drift Configuration ##view_drift_table_resourceHistory = Resource Drift History +##view_drift_wizard_addConfig_failure = Failed to add new drift configuration [{0}] ##view_drift_wizard_addConfig_infoStepName = Provide Drift Detection Information ##view_drift_wizard_addConfig_nameHelp = A textual name briefly describing the purpose of this drift detection configuration. Drift configuration names must be unique for a resource. ##view_drift_wizard_addConfig_namePrompt = New Drift Configuration Name +##view_drift_wizard_addConfig_success = Successfully added new drift configuration [{0}]. Agent(s) will be updated. ##view_drift_wizard_addConfig_templateHelp = Each drift configuration describes a set of files for which drift detection can be performed. The configuration can be enabled and disabled, defines the detection interval, and specifies a base directory and optional file filters. For each resource type offering drift detection there will be one or more predefined templates to use a starting configuration, which can then be edited. ##view_drift_wizard_addConfig_templatePrompt = Drift Configuration Templates ##view_drift_wizard_addConfig_title = Add Drift Configuration for Resource of Type [{0}] diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties index 134a22f..c648541 100644 --- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties +++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties @@ -1127,9 +1127,11 @@ view_dashboards_title = ダッシュボード ##view_drift_table_oldFile = Old File view_drift_table_resourceConfig = Resource Drift Configuration ##view_drift_table_resourceHistory = Resource Drift History +##view_drift_wizard_addConfig_failure = Failed to add new drift configuration [{0}] ##view_drift_wizard_addConfig_infoStepName = Provide Drift Detection Information ##view_drift_wizard_addConfig_nameHelp = A textual name briefly describing the purpose of this drift detection configuration. Drift configuration names must be unique for a resource. ##view_drift_wizard_addConfig_namePrompt = New Drift Configuration Name +##view_drift_wizard_addConfig_success = Successfully added new drift configuration [{0}]. Agent(s) will be updated. ##view_drift_wizard_addConfig_templateHelp = Each drift configuration describes a set of files for which drift detection can be performed. The configuration can be enabled and disabled, defines the detection interval, and specifies a base directory and optional file filters. For each resource type offering drift detection there will be one or more predefined templates to use a starting configuration, which can then be edited. ##view_drift_wizard_addConfig_templatePrompt = Drift Configuration Templates ##view_drift_wizard_addConfig_title = Add Drift Configuration for Resource of Type [{0}] diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties index 88273e4..a81c28f 100644 --- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties +++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties @@ -1150,9 +1150,11 @@ view_dashboards_title = Dashboard~ ##view_drift_table_oldFile = Old File view_drift_table_resourceConfig = Resource Drift Configuration ##view_drift_table_resourceHistory = Resource Drift History +##view_drift_wizard_addConfig_failure = Failed to add new drift configuration [{0}] ##view_drift_wizard_addConfig_infoStepName = Provide Drift Detection Information ##view_drift_wizard_addConfig_nameHelp = A textual name briefly describing the purpose of this drift detection configuration. Drift configuration names must be unique for a resource. ##view_drift_wizard_addConfig_namePrompt = New Drift Configuration Name +##view_drift_wizard_addConfig_success = Successfully added new drift configuration [{0}]. Agent(s) will be updated. ##view_drift_wizard_addConfig_templateHelp = Each drift configuration describes a set of files for which drift detection can be performed. The configuration can be enabled and disabled, defines the detection interval, and specifies a base directory and optional file filters. For each resource type offering drift detection there will be one or more predefined templates to use a starting configuration, which can then be edited. ##view_drift_wizard_addConfig_templatePrompt = Drift Configuration Templates ##view_drift_wizard_addConfig_title = Add Drift Configuration for Resource of Type [{0}] diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties index 9ff3634..560241b 100644 --- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties +++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties @@ -1126,9 +1126,11 @@ view_dashboards_title = \u7EDF\u8BA1\u8868\u76D8 ##view_drift_table_oldFile = Old File view_drift_table_resourceConfig = Resource Drift Configuration ##view_drift_table_resourceHistory = Resource Drift History +##view_drift_wizard_addConfig_failure = Failed to add new drift configuration [{0}] ##view_drift_wizard_addConfig_infoStepName = Provide Drift Detection Information ##view_drift_wizard_addConfig_nameHelp = A textual name briefly describing the purpose of this drift detection configuration. Drift configuration names must be unique for a resource. ##view_drift_wizard_addConfig_namePrompt = New Drift Configuration Name +##view_drift_wizard_addConfig_success = Successfully added new drift configuration [{0}]. Agent(s) will be updated. ##view_drift_wizard_addConfig_templateHelp = Each drift configuration describes a set of files for which drift detection can be performed. The configuration can be enabled and disabled, defines the detection interval, and specifies a base directory and optional file filters. For each resource type offering drift detection there will be one or more predefined templates to use a starting configuration, which can then be edited. ##view_drift_wizard_addConfig_templatePrompt = Drift Configuration Templates ##view_drift_wizard_addConfig_title = Add Drift Configuration for Resource of Type [{0}]