modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardsView.java
| 13
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/operations/OperationsPortlet.java
| 10
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/problems/ProblemResourcesPortlet.java
| 214 +++++++++-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/operation/RecentOperationsDataSource.java
| 1
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/operation/ScheduledOperationsDataSource.java
| 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/resource/ProblemResourcesDataSource.java
| 28 +
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/resource/disambiguation/ReportDecorator.java
| 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGWTServiceImpl.java
| 2
8 files changed, 248 insertions(+), 28 deletions(-)
New commits:
commit 0ba7c596e9395013826bcffd820bb39540d7c564
Author: Simeon Pinder <spinder(a)redhat.com>
Date: Thu Sep 2 10:24:24 2010 -0400
adding no-args constructors for serialization.
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/operations/OperationsPortlet.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/operations/OperationsPortlet.java
index 9314743..5119bf1 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/operations/OperationsPortlet.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/operations/OperationsPortlet.java
@@ -46,6 +46,12 @@ public class OperationsPortlet extends LocatableVLayout implements
Portlet {
private static String recentOperations = "Recent Operations";
private static String scheduledOperations = "Scheduled Operations";
+ //default no-args constructor for serialization.
+ //TODO: spinder 9/2/10 revisit why we need to do this?
+ private OperationsPortlet() {
+ super("(unitialized)");
+ }
+
public OperationsPortlet(String locatorId) {
super(locatorId);
}
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/problems/ProblemResourcesPortlet.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/problems/ProblemResourcesPortlet.java
index e336e08..9838932 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/problems/ProblemResourcesPortlet.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/problems/ProblemResourcesPortlet.java
@@ -61,6 +61,10 @@ public class ProblemResourcesPortlet extends Table implements
CustomSettingsPort
public static final String unlimited = "unlimited";
public static final String defaultValue = unlimited;
+ private ProblemResourcesPortlet() {
+ super("(uninitialized)");
+ }
+
public ProblemResourcesPortlet(String locatorId) {
super(locatorId, TITLE, true);
commit bc80ed00f579673101743fa8a8a96236e7ae9530
Author: Simeon Pinder <spinder(a)redhat.com>
Date: Thu Sep 2 08:33:46 2010 -0400
modified ProblemResourcesPortlet to accept refresh action and to edit configuration.
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardsView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardsView.java
index 49379db..9e0ee74 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardsView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardsView.java
@@ -232,9 +232,18 @@ public class DashboardsView extends LocatableVLayout implements
BookmarkableView
DashboardPortlet operations = new DashboardPortlet("Operations",
OperationsPortlet.KEY, 250);
dashboard.addPortlet(operations, 1, 5);
- DashboardPortlet hasAlertsCurrentlyUnavailable = new DashboardPortlet("Has
Alerts or Currently Unavailable",
+ DashboardPortlet problemResources = new DashboardPortlet("Has Alerts or
Currently Unavailable",
ProblemResourcesPortlet.KEY, 250);
- dashboard.addPortlet(hasAlertsCurrentlyUnavailable, 1, 6);
+ //initialize config for the problemResources portlet.
+ problemResources.getConfiguration()
+ .put(
+ new PropertySimple(ProblemResourcesPortlet.PROBLEM_RESOURCE_SHOW_MAX,
+ ProblemResourcesPortlet.defaultValue));
+ problemResources.getConfiguration()
+ .put(
+ new PropertySimple(ProblemResourcesPortlet.PROBLEM_RESOURCE_SHOW_HRS,
+ ProblemResourcesPortlet.defaultValue));
+ dashboard.addPortlet(problemResources, 1, 6);
return dashboard;
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/problems/ProblemResourcesPortlet.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/problems/ProblemResourcesPortlet.java
index 8c48ab0..e336e08 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/problems/ProblemResourcesPortlet.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/problems/ProblemResourcesPortlet.java
@@ -19,54 +19,110 @@ package
org.rhq.enterprise.gui.coregui.client.dashboard.portlets.recent.problems
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+import java.util.ArrayList;
+
import com.google.gwt.core.client.GWT;
+import com.smartgwt.client.types.Overflow;
import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.HTMLFlow;
import com.smartgwt.client.widgets.form.DynamicForm;
+import com.smartgwt.client.widgets.form.events.SubmitValuesEvent;
+import com.smartgwt.client.widgets.form.events.SubmitValuesHandler;
+import com.smartgwt.client.widgets.form.fields.SelectItem;
+import com.smartgwt.client.widgets.grid.ListGrid;
+import org.rhq.core.domain.configuration.PropertySimple;
+import org.rhq.core.domain.configuration.definition.ConfigurationDefinition;
+import org.rhq.core.domain.configuration.definition.PropertyDefinitionSimple;
+import org.rhq.core.domain.configuration.definition.PropertySimpleType;
import org.rhq.core.domain.dashboard.DashboardPortlet;
+import org.rhq.enterprise.gui.coregui.client.components.table.Table;
+import org.rhq.enterprise.gui.coregui.client.dashboard.CustomSettingsPortlet;
import org.rhq.enterprise.gui.coregui.client.dashboard.Portlet;
import org.rhq.enterprise.gui.coregui.client.dashboard.PortletViewFactory;
import org.rhq.enterprise.gui.coregui.client.dashboard.PortletWindow;
import org.rhq.enterprise.gui.coregui.client.resource.ProblemResourcesDataSource;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableListGrid;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
/**
- * A view that displays a paginated table of Resoruces with alerts,
+ * A view that displays a paginated table of Resources with alerts,
* and/or Resources reported unavailable.
*
* @author Simeon Pinder
*/
-public class ProblemResourcesPortlet extends LocatableVLayout implements Portlet {
+public class ProblemResourcesPortlet extends Table implements CustomSettingsPortlet {
+ public static final String PROBLEM_RESOURCE_SHOW_HRS =
"max-problems-query-span";
+ public static final String PROBLEM_RESOURCE_SHOW_MAX =
"max-problems-shown";
public static final String KEY = "Has Alerts or Currently Unavailable";
private static final String TITLE = KEY;
+ private int maximumProblemResourcesToDisplay = -1;
+ private int maximumProblemResourcesWithinHours = -1;
+ private DashboardPortlet storedPortlet;
+ public static final String unlimited = "unlimited";
+ public static final String defaultValue = unlimited;
public ProblemResourcesPortlet(String locatorId) {
- super(locatorId);
+ super(locatorId, TITLE, true);
+
+ setShowHeader(false);
+ setShowFooter(false);
+
+ setOverflow(Overflow.HIDDEN);
+
+ this.dataSource = new ProblemResourcesDataSource(this);
+
+ setDataSource(this.dataSource);
}
+ /** Gets access to the ListGrid from super class for editing.
+ *
+ */
@Override
- protected void onInit() {
- super.onInit();
-
- // Add the list table as the top half of the view.
- LocatableListGrid listGrid = new LocatableListGrid("Problem
Resources");
- listGrid.setDataSource(new ProblemResourcesDataSource());
- listGrid.setAutoFetchData(true);
- listGrid.setTitle(TITLE);
- listGrid.setResizeFieldsInRealTime(true);
- listGrid.setCellHeight(50);
- listGrid.setWrapCells(true);
- // listGrid.setFixedRecordHeights(false);
- addMember(listGrid);
+ protected void configureTable() {
+ ListGrid listGrid = getListGrid();
+ if (listGrid != null) {
+ //extend height for displaying disambiguated resources
+ listGrid.setCellHeight(50);
+ //wrap to display disambiguation
+ listGrid.setWrapCells(true);
+
listGrid.getField(ProblemResourcesDataSource.resource).setWidth("40%");
+
listGrid.getField(ProblemResourcesDataSource.location).setWidth("40%");
+
listGrid.getField(ProblemResourcesDataSource.alerts).setWidth("10%");
+
listGrid.getField(ProblemResourcesDataSource.available).setWidth("10%");
+ }
}
+ //reference to datasource
+ private ProblemResourcesDataSource dataSource;
+
+ /** Implement configure action.
+ *
+ */
@Override
public void configure(PortletWindow portletWindow, DashboardPortlet storedPortlet) {
- // TODO implement this.
+ this.storedPortlet = storedPortlet;
+ if (storedPortlet.getConfiguration().getSimple(PROBLEM_RESOURCE_SHOW_MAX) !=
null) {
+ //retrieve and translate to int
+ String retrieved =
storedPortlet.getConfiguration().getSimple(PROBLEM_RESOURCE_SHOW_MAX).getStringValue();
+ if (retrieved.equals(unlimited)) {
+ maximumProblemResourcesToDisplay = -1;
+ } else {
+ maximumProblemResourcesToDisplay = Integer.parseInt(retrieved);
+ }
+ } else {//create setting
+ storedPortlet.getConfiguration().put(new
PropertySimple(PROBLEM_RESOURCE_SHOW_MAX, defaultValue));
+ }
+ if (storedPortlet.getConfiguration().getSimple(PROBLEM_RESOURCE_SHOW_HRS) !=
null) {
+ String retrieved =
storedPortlet.getConfiguration().getSimple(PROBLEM_RESOURCE_SHOW_HRS).getStringValue();
+ if (retrieved.equals(unlimited)) {
+ setMaximumProblemResourcesWithinHours(-1);
+ } else {
+ setMaximumProblemResourcesWithinHours(Integer.parseInt(retrieved));
+ }
+ } else {
+ storedPortlet.getConfiguration().put(new
PropertySimple(PROBLEM_RESOURCE_SHOW_HRS, defaultValue));
+ }
}
@Override
@@ -74,8 +130,95 @@ public class ProblemResourcesPortlet extends LocatableVLayout
implements Portlet
return new HTMLFlow("This portlet displays resources that have reported
alerts or Down availability.");
}
+ /** Build custom for to dispaly the Portlet Configuration settings.
+ *
+ */
public DynamicForm getCustomSettingsForm() {
- return null;
+
+ final DynamicForm form = new DynamicForm();
+
+ //-------------combobox for number of resource to display on the dashboard
+ // final ComboBoxItem maximumProblemResourcesComboBox = new
ComboBoxItem(PROBLEM_RESOURCE_SHOW_MAX);
+ //TODO: spinder(9/1/10) field is still editable. This looks like a bug.
+ final SelectItem maximumProblemResourcesComboBox = new
SelectItem(PROBLEM_RESOURCE_SHOW_MAX);
+ maximumProblemResourcesComboBox.setTitle("Show maximum of");
+ maximumProblemResourcesComboBox.setHint("<nobr><b> problem
resources for display on dashboard.</b></nobr>");
+ maximumProblemResourcesComboBox.setType("comboBox");
+ //define acceptable values for display amount
+ String[] acceptableDisplayValues = { "5", "10",
"15", "20", "30", unlimited };
+ maximumProblemResourcesComboBox.setValueMap(acceptableDisplayValues);
+ //load the acceptable values for validity check later.
+ final ArrayList<String> acceptableProblemResourceDisplayValues = new
ArrayList<String>();
+ for (String value : acceptableDisplayValues) {
+ acceptableProblemResourceDisplayValues.add(value);
+ }
+ //set width of dropdown display region
+ maximumProblemResourcesComboBox.setWidth(100);
+
+ //default selected value to 'unlimited'(live lists) and check both
combobox settings here.
+ String selectedValue = defaultValue;
+ if (storedPortlet != null) {
+ //if property exists retrieve it
+ if (storedPortlet.getConfiguration().getSimple(PROBLEM_RESOURCE_SHOW_MAX) !=
null) {
+ selectedValue =
storedPortlet.getConfiguration().getSimple(PROBLEM_RESOURCE_SHOW_MAX).getStringValue();
+ } else {//insert default value
+ storedPortlet.getConfiguration().put(new
PropertySimple(PROBLEM_RESOURCE_SHOW_MAX, defaultValue));
+ }
+ }
+ //prepopulate the combobox with the previously stored selection
+ maximumProblemResourcesComboBox.setDefaultValue(selectedValue);
+
+ //------------- Build second combobox for timeframe for problem resources
search.
+ final SelectItem maximumTimeProblemResourcesComboBox = new
SelectItem(PROBLEM_RESOURCE_SHOW_HRS);
+ maximumTimeProblemResourcesComboBox.setTitle("For the last ");
+ maximumTimeProblemResourcesComboBox.setHint("<nobr><b> hours
</b></nobr>");
+ maximumTimeProblemResourcesComboBox.setType("comboBox");
+ //define acceptable values for display amount
+ String[] acceptableTimeValues = { "1", "4", "8",
"24", "48", unlimited };
+ //load the acceptable values for validity check later.
+ final ArrayList<String> acceptableTimeDisplayValues = new
ArrayList<String>();
+ for (String value : acceptableTimeValues) {
+ acceptableTimeDisplayValues.add(value);
+ }
+ maximumTimeProblemResourcesComboBox.setValueMap(acceptableTimeValues);
+ maximumTimeProblemResourcesComboBox.setWidth(100);
+
+ //set to default
+ selectedValue = defaultValue;
+ if (storedPortlet != null) {
+ //if property exists retrieve it
+ if (storedPortlet.getConfiguration().getSimple(PROBLEM_RESOURCE_SHOW_HRS) !=
null) {
+ selectedValue =
storedPortlet.getConfiguration().getSimple(PROBLEM_RESOURCE_SHOW_HRS).getStringValue();
+ } else {//insert default value
+ storedPortlet.getConfiguration().put(new
PropertySimple(PROBLEM_RESOURCE_SHOW_HRS, defaultValue));
+ }
+ }
+ //prepopulate the combobox with the previously stored selection
+ maximumTimeProblemResourcesComboBox.setDefaultValue(selectedValue);
+
+ //insert fields
+ form.setFields(maximumProblemResourcesComboBox,
maximumTimeProblemResourcesComboBox);
+
+ //submit handler
+ form.addSubmitValuesHandler(new SubmitValuesHandler() {
+ @Override
+ public void onSubmitValues(SubmitValuesEvent event) {
+ String maxItems = (String) form.getValue(PROBLEM_RESOURCE_SHOW_MAX);
+ String timeFrame = (String) form.getValue(PROBLEM_RESOURCE_SHOW_HRS);
+ //TODO: spinder 9/1/10: use smartgwt validation here?
+ //shouldn't be necessary, but SelectItem remains editable for odd
reason.
+ if (acceptableProblemResourceDisplayValues.contains(maxItems.trim())) {
+ storedPortlet.getConfiguration().put(
+ new PropertySimple(PROBLEM_RESOURCE_SHOW_MAX,
form.getValue(PROBLEM_RESOURCE_SHOW_MAX)));
+ }
+ if (acceptableTimeDisplayValues.contains(timeFrame.trim())) {
+ storedPortlet.getConfiguration().put(
+ new PropertySimple(PROBLEM_RESOURCE_SHOW_HRS,
form.getValue(PROBLEM_RESOURCE_SHOW_HRS)));
+ }
+ }
+ });
+
+ return form;
}
public static final class Factory implements PortletViewFactory {
@@ -90,4 +233,31 @@ public class ProblemResourcesPortlet extends LocatableVLayout
implements Portlet
}
}
+ public ConfigurationDefinition getConfigurationDefinition() {
+ ConfigurationDefinition definition = new
ConfigurationDefinition("ProblemResourcesPortlet Configuration",
+ "The configuration settings for the Problem resources portlet.");
+
+ definition.put(new PropertyDefinitionSimple(PROBLEM_RESOURCE_SHOW_MAX,
+ "Maximum number of Problem resources to display.", true,
PropertySimpleType.INTEGER));
+ definition.put(new PropertyDefinitionSimple(PROBLEM_RESOURCE_SHOW_HRS,
+ "Show problem resources going back this many hours.", true,
PropertySimpleType.INTEGER));
+
+ return definition;
+ }
+
+ public int getMaximumProblemResourcesToDisplay() {
+ return maximumProblemResourcesToDisplay;
+ }
+
+ public void setMaximumProblemResourcesToDisplay(int maxPerRow) {
+ this.maximumProblemResourcesToDisplay = maxPerRow;
+ }
+
+ public void setMaximumProblemResourcesWithinHours(int
maximumProblemResourcesWithinHours) {
+ this.maximumProblemResourcesWithinHours = maximumProblemResourcesWithinHours;
+ }
+
+ public int getMaximumProblemResourcesWithinHours() {
+ return maximumProblemResourcesWithinHours;
+ }
}
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/resource/ProblemResourcesDataSource.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/resource/ProblemResourcesDataSource.java
index 5f2b5ee..d0835b8 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/resource/ProblemResourcesDataSource.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/resource/ProblemResourcesDataSource.java
@@ -36,6 +36,8 @@ import org.rhq.core.domain.measurement.AvailabilityType;
import org.rhq.core.domain.resource.composite.DisambiguationReport;
import org.rhq.core.domain.resource.composite.ProblemResourceComposite;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
+import org.rhq.enterprise.gui.coregui.client.dashboard.Portlet;
+import
org.rhq.enterprise.gui.coregui.client.dashboard.portlets.recent.problems.ProblemResourcesPortlet;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.resource.disambiguation.ReportDecorator;
import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
@@ -50,10 +52,13 @@ public class ProblemResourcesDataSource extends
RPCDataSource<DisambiguationRepo
public static final String location = "location";
public static final String alerts = "alerts";
public static final String available = "available";
+ private Portlet portlet = null;
/** Build list of fields for the datasource and then adds them to it.
+ * @param problemResourcesPortlet
*/
- public ProblemResourcesDataSource() {
+ public ProblemResourcesDataSource(Portlet problemResourcesPortlet) {
+ this.portlet = problemResourcesPortlet;
setClientOnly(false);
setDataProtocol(DSProtocol.CLIENTCUSTOM);
setDataFormat(DSDataFormat.CUSTOM);
@@ -97,9 +102,26 @@ public class ProblemResourcesDataSource extends
RPCDataSource<DisambiguationRepo
*/
public void executeFetch(final DSRequest request, final DSResponse response) {
- ResourceCriteria c = new ResourceCriteria();
+ ResourceCriteria criteria = new ResourceCriteria();
+ //retrieve current portlet display settings
+ if ((this.portlet != null) && (this.portlet instanceof
ProblemResourcesPortlet)) {
+ ProblemResourcesPortlet problemPortlet = (ProblemResourcesPortlet)
this.portlet;
+ //populate criteria with portlet preferences defined.
+ if (problemPortlet != null) {
+ if (problemPortlet.getMaximumProblemResourcesToDisplay() > 0) {
+ criteria.setPaging(0,
problemPortlet.getMaximumProblemResourcesToDisplay());
+ }
+ //define the time window
+ if (problemPortlet.getMaximumProblemResourcesWithinHours() > 0) {
+ criteria.addFilterStartItime(System.currentTimeMillis()
+ - (problemPortlet.getMaximumProblemResourcesWithinHours() * 60 *
60 * 1000));
+ criteria.addFilterEndItime(System.currentTimeMillis());
+ }
+ }
+ //problem resources within the time specified
+ }
- GWTServiceLookup.getResourceService().findProblemResources(c,
+ GWTServiceLookup.getResourceService().findProblemResources(criteria,
new
AsyncCallback<List<DisambiguationReport<ProblemResourceComposite>>>() {
public void onFailure(Throwable throwable) {
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGWTServiceImpl.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGWTServiceImpl.java
index c846faf..aca7778 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGWTServiceImpl.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGWTServiceImpl.java
@@ -153,6 +153,8 @@ public class ResourceGWTServiceImpl extends AbstractGWTServiceImpl
implements Re
ResourceManagerLocal resourceManager = LookupUtil.getResourceManager();
//retrieve list of discovered problem resources. Grab all, live scrolling data
+ //TODO: modify MeasurementProblemManagerLocal to accept ResourceCriteria
+ // located = problemManager.findProblemResources(getSessionSubject(), 0,
new PageControl(0, -1));
located = problemManager.findProblemResources(getSessionSubject(), 0, new
PageControl(0, -1));
//translate the returned problem resources to disambiguated links
commit 648c9360897f7c101b54256f13feb05d9f45c489
Author: Simeon Pinder <spinder(a)redhat.com>
Date: Tue Aug 31 09:27:05 2010 -0400
i)fix disambig display detail to wrap ii)fix ScheduledOp display time bug iii) plugin
disambig decoration fix.
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/operations/OperationsPortlet.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/operations/OperationsPortlet.java
index 7875815..9314743 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/operations/OperationsPortlet.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/operations/OperationsPortlet.java
@@ -67,6 +67,8 @@ public class OperationsPortlet extends LocatableVLayout implements
Portlet {
recentOperationsGrid.setHeaderSpanHeight(new Integer(20));
recentOperationsGrid.setHeaderHeight(40);
recentOperationsGrid.setResizeFieldsInRealTime(true);
+ recentOperationsGrid.setCellHeight(50);
+ recentOperationsGrid.setWrapCells(true);
addMember(recentOperationsGrid);
// Add the list table as the top half of the view.
@@ -82,6 +84,8 @@ public class OperationsPortlet extends LocatableVLayout implements
Portlet {
scheduledOperationsGrid.setTitle(scheduledOperations);
scheduledOperationsGrid.setResizeFieldsInRealTime(true);
+ scheduledOperationsGrid.setCellHeight(50);
+ scheduledOperationsGrid.setWrapCells(true);
addMember(scheduledOperationsGrid);
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/problems/ProblemResourcesPortlet.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/problems/ProblemResourcesPortlet.java
index a94727f..8c48ab0 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/problems/ProblemResourcesPortlet.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/problems/ProblemResourcesPortlet.java
@@ -20,7 +20,6 @@ package
org.rhq.enterprise.gui.coregui.client.dashboard.portlets.recent.problems
*/
import com.google.gwt.core.client.GWT;
-import com.smartgwt.client.types.Autofit;
import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.HTMLFlow;
import com.smartgwt.client.widgets.form.DynamicForm;
@@ -58,8 +57,9 @@ public class ProblemResourcesPortlet extends LocatableVLayout implements
Portlet
listGrid.setAutoFetchData(true);
listGrid.setTitle(TITLE);
listGrid.setResizeFieldsInRealTime(true);
- listGrid.setCellHeight(40);
- listGrid.setAutoFitData(Autofit.BOTH);
+ listGrid.setCellHeight(50);
+ listGrid.setWrapCells(true);
+ // listGrid.setFixedRecordHeights(false);
addMember(listGrid);
}
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/operation/RecentOperationsDataSource.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/operation/RecentOperationsDataSource.java
index b48b4c3..e53708c 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/operation/RecentOperationsDataSource.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/operation/RecentOperationsDataSource.java
@@ -69,7 +69,6 @@ public class RecentOperationsDataSource extends
DataSourceDateTimeField timeField = new DataSourceDateTimeField(time,
"Date/Time");
- // DataSourceImageField statusField = new DataSourceImageField(status,
"Status");
DataSourceTextField statusField = new DataSourceTextField(status,
"Status");
setFields(resourceField, locationField, operationField, timeField, statusField);
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/operation/ScheduledOperationsDataSource.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/operation/ScheduledOperationsDataSource.java
index 22ec638..4f58644 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/operation/ScheduledOperationsDataSource.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/operation/ScheduledOperationsDataSource.java
@@ -64,7 +64,7 @@ public class ScheduledOperationsDataSource extends
DataSourceTextField operationField = new DataSourceTextField(operation,
"Operation");
- DataSourceTextField timeField = new DataSourceTextField(operation,
"Date/Time");
+ DataSourceTextField timeField = new DataSourceTextField(time,
"Date/Time");
setFields(resourceField, locationField, operationField, timeField);
}
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/resource/disambiguation/ReportDecorator.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/resource/disambiguation/ReportDecorator.java
index d2c7a4a..e7ca4ff 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/resource/disambiguation/ReportDecorator.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/resource/disambiguation/ReportDecorator.java
@@ -33,8 +33,12 @@ public class ReportDecorator {
String decorated = "";
if (type != null) {
decorated += type.getName();
+
+ if (type.getPlugin() != null) {
+ decorated += " (" + type.getPlugin() + " plugin) ";
+ }
}
- // decorated += " <a href=\"" + GWT_RESOURCE_URL +
resourceId + "\">" + resourceName + "</a>";
+
decorated += " <a href=\"" + specificUrl + resourceId +
"\">" + resourceName + "</a>";
return decorated;
}