modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/ConfigurationEditor.java
| 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/history/AbstractOperationHistoryDetailsView.java
| 260 +++++++++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/history/ResourceOperationHistoryDetailsView.java
| 263 ----------
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/history/GroupOperationHistoryDetailsView.java
| 58 ++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/history/GroupOperationHistoryListView.java
| 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/history/ResourceOperationHistoryDetailsView.java
| 76 ++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/history/ResourceOperationHistoryListView.java
| 3
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/operation/SubsystemOperationHistoryListView.java
| 4
8 files changed, 400 insertions(+), 270 deletions(-)
New commits:
commit 29f4c410f21b253faeb32ded5ea9157fb2758f72
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Tue Feb 8 17:43:12 2011 -0500
fix layout issues for Resource operations history details view and implement initial
version of group operations history details view (note these views now share a common base
class)
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/ConfigurationEditor.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/ConfigurationEditor.java
index 45bf782..23b0f5e 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/ConfigurationEditor.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/ConfigurationEditor.java
@@ -255,7 +255,7 @@ public class ConfigurationEditor extends LocatableVLayout {
EnumSet.of(ResourceTypeRepository.MetadataType.resourceConfigurationDefinition),
new ResourceTypeRepository.TypesLoadedCallback() {
public void onTypesLoaded(Map<Integer, ResourceType> types)
{
- com.allen_sauer.gwt.log.client.Log.debug("ConfigDef
retreived in: "
+ com.allen_sauer.gwt.log.client.Log.debug("ConfigDef
retrieved in: "
+ (System.currentTimeMillis() - start));
configurationDefinition =
types.get(resourceTypeId).getResourceConfigurationDefinition();
if (configurationDefinition == null) {
@@ -282,7 +282,7 @@ public class ConfigurationEditor extends LocatableVLayout {
EnumSet.of(ResourceTypeRepository.MetadataType.pluginConfigurationDefinition),
new ResourceTypeRepository.TypesLoadedCallback() {
public void onTypesLoaded(Map<Integer, ResourceType> types)
{
- Log.debug("ConfigDef retreived in: " +
(System.currentTimeMillis() - start));
+ Log.debug("ConfigDef retrieved in: " +
(System.currentTimeMillis() - start));
configurationDefinition =
types.get(resourceTypeId).getPluginConfigurationDefinition();
if (configurationDefinition == null) {
showError(MSG.view_configEdit_error_2());
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/history/AbstractOperationHistoryDetailsView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/history/AbstractOperationHistoryDetailsView.java
new file mode 100644
index 0000000..0d7681a
--- /dev/null
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/history/AbstractOperationHistoryDetailsView.java
@@ -0,0 +1,260 @@
+/*
+ * RHQ Management Platform
+ * Copyright (C) 2005-2010 Red Hat, Inc.
+ * All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+package org.rhq.enterprise.gui.coregui.client.inventory.common.detail.operation.history;
+
+import com.smartgwt.client.types.Overflow;
+import com.smartgwt.client.widgets.Canvas;
+import com.smartgwt.client.widgets.Label;
+import com.smartgwt.client.widgets.Window;
+import com.smartgwt.client.widgets.events.CloseClickHandler;
+import com.smartgwt.client.widgets.events.CloseClientEvent;
+import com.smartgwt.client.widgets.form.DynamicForm;
+import com.smartgwt.client.widgets.form.fields.LinkItem;
+import com.smartgwt.client.widgets.form.fields.StaticTextItem;
+import com.smartgwt.client.widgets.form.fields.events.ClickEvent;
+import com.smartgwt.client.widgets.form.fields.events.ClickHandler;
+import com.smartgwt.client.widgets.layout.VLayout;
+import org.rhq.core.domain.configuration.definition.ConfigurationDefinition;
+import org.rhq.core.domain.operation.OperationDefinition;
+import org.rhq.core.domain.operation.OperationHistory;
+import org.rhq.core.domain.operation.OperationRequestStatus;
+import org.rhq.enterprise.gui.coregui.client.BookmarkableView;
+import org.rhq.enterprise.gui.coregui.client.ImageManager;
+import org.rhq.enterprise.gui.coregui.client.ViewPath;
+import
org.rhq.enterprise.gui.coregui.client.components.configuration.ConfigurationEditor;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableHTMLPane;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableWindow;
+
+import java.util.Date;
+
+/**
+ * @author Greg Hinkle
+ */
+public abstract class AbstractOperationHistoryDetailsView<T extends
OperationHistory> extends LocatableVLayout
+ implements BookmarkableView {
+
+ private OperationDefinition definition;
+ private T operationHistory;
+
+ private DynamicForm form;
+
+ public AbstractOperationHistoryDetailsView(String locatorId) {
+ this(locatorId, null, null);
+ }
+
+ public AbstractOperationHistoryDetailsView(String locatorId, OperationDefinition
definition,
+ T operationHistory) {
+ super(locatorId);
+
+ this.definition = definition;
+ this.operationHistory = operationHistory;
+
+ setWidth100();
+ setHeight100();
+ setOverflow(Overflow.AUTO);
+ setLayoutMargin(0);
+ setMembersMargin(16);
+ }
+
+ @Override
+ protected void onDraw() {
+ super.onDraw();
+
+ destroyMembers();
+
+ if (this.operationHistory != null) {
+ displayDetails(operationHistory);
+ }
+ }
+
+ protected void displayDetails(final T operationHistory) {
+
+ for (Canvas child : getMembers()) {
+ removeChild(child);
+ }
+
+ this.definition = operationHistory.getOperationDefinition();
+ this.operationHistory = operationHistory;
+
+ // Information Form
+
+ form = new DynamicForm();
+ form.setWidth100();
+ form.setWrapItemTitles(false);
+
+ OperationRequestStatus status = operationHistory.getStatus();
+
+ StaticTextItem operationItem = new
StaticTextItem(AbstractOperationHistoryDataSource.Field.OPERATION_NAME, MSG
+ .view_operationHistoryDetails_operation());
+ operationItem.setValue(definition.getDisplayName());
+
+ StaticTextItem submittedItem = new
StaticTextItem(AbstractOperationHistoryDataSource.Field.STARTED_TIME, MSG
+ .view_operationHistoryDetails_dateSubmitted());
+ submittedItem.setValue(new Date(operationHistory.getStartedTime()));
+
+ StaticTextItem completedItem = new StaticTextItem("completed",
MSG.view_operationHistoryDetails_dateCompleted());
+ if (status == OperationRequestStatus.INPROGRESS) {
+ completedItem.setValue(MSG.common_val_na());
+ } else if (status == OperationRequestStatus.CANCELED) {
+ completedItem.setValue(MSG.common_val_never());
+ } else {
+ completedItem.setValue(new Date(operationHistory.getStartedTime() +
operationHistory.getDuration()));
+ }
+
+ StaticTextItem requesterItem = new
StaticTextItem(AbstractOperationHistoryDataSource.Field.SUBJECT, MSG
+ .view_operationHistoryDetails_requestor());
+ requesterItem.setValue(operationHistory.getSubjectName());
+
+ LinkItem errorLinkItem = null;
+
+ StaticTextItem statusItem = new
StaticTextItem(AbstractOperationHistoryDataSource.Field.STATUS, MSG
+ .view_operationHistoryDetails_status());
+ String icon =
ImageManager.getFullImagePath(ImageManager.getOperationResultsIcon(status));
+ statusItem.setValue("<img src='" + icon +
"'/>");
+ switch (status) {
+ case SUCCESS:
+ statusItem.setTooltip(MSG.common_status_success());
+ break;
+ case FAILURE:
+ statusItem.setTooltip(MSG.common_status_failed());
+ errorLinkItem = new LinkItem("errorLink");
+ errorLinkItem.setTitle(MSG.common_title_error());
+ errorLinkItem.setLinkTitle(getShortErrorMessage(operationHistory));
+ errorLinkItem.addClickHandler(new ClickHandler() {
+ @Override
+ public void onClick(ClickEvent event) {
+ final Window winModal = new
LocatableWindow(AbstractOperationHistoryDetailsView.this
+ .extendLocatorId("errorWin"));
+ winModal.setTitle(MSG.common_title_details());
+ winModal.setOverflow(Overflow.VISIBLE);
+ winModal.setShowMinimizeButton(false);
+ winModal.setShowMaximizeButton(true);
+ winModal.setIsModal(true);
+ winModal.setShowModalMask(true);
+ winModal.setAutoSize(true);
+ winModal.setAutoCenter(true);
+ winModal.setShowResizer(true);
+ winModal.setCanDragResize(true);
+ winModal.centerInPage();
+ winModal.addCloseClickHandler(new CloseClickHandler() {
+ @Override
+ public void onCloseClick(CloseClientEvent event) {
+ winModal.markForDestroy();
+ }
+ });
+
+ LocatableHTMLPane htmlPane = new
LocatableHTMLPane(AbstractOperationHistoryDetailsView.this
+ .extendLocatorId("statusDetailsPane"));
+ htmlPane.setMargin(10);
+ htmlPane.setDefaultWidth(500);
+ htmlPane.setDefaultHeight(400);
+ String errorMsg = operationHistory.getErrorMessage();
+ if (errorMsg == null) {
+ errorMsg = MSG.common_status_failed();
+ }
+ htmlPane.setContents("<pre>" + errorMsg +
"</pre>");
+ winModal.addItem(htmlPane);
+ winModal.show();
+ }
+ });
+
+ break;
+ case INPROGRESS:
+ statusItem.setTooltip(MSG.common_status_inprogress());
+ break;
+ case CANCELED:
+ statusItem.setTooltip(MSG.common_status_canceled());
+ break;
+ }
+
+ /*
+ Operation: View Process List
+ Date Submitted: 3/11/10, 12:24:02 PM, EST
+ Date Completed: 3/11/10, 12:24:03 PM, EST
+ Requester: rhqadmin
+ Status: Failure
+ Error Message: __Exception: Cannot connect...__
+ */
+
+ if (errorLinkItem != null) {
+ form.setItems(operationItem, submittedItem, completedItem, requesterItem,
statusItem, errorLinkItem);
+ } else {
+ form.setItems(operationItem, submittedItem, completedItem, requesterItem,
statusItem);
+ }
+
+ addMember(form);
+
+ // params/results
+
+ if (operationHistory.getParameters() != null) {
+ LocatableVLayout parametersSection = new
LocatableVLayout(extendLocatorId("ParametersSection"));
+
+ Label title = new Label("<h4>" +
MSG.view_operationHistoryDetails_parameters() + "</h4>");
+ title.setHeight(27);
+ parametersSection.addMember(title);
+
+ ConfigurationDefinition parametersConfigurationDefinition = definition
+ .getParametersConfigurationDefinition();
+ if (parametersConfigurationDefinition != null &&
+
!parametersConfigurationDefinition.getPropertyDefinitions().isEmpty()) {
+ ConfigurationEditor editor = new
ConfigurationEditor(extendLocatorId("params"),
+ parametersConfigurationDefinition,
operationHistory.getParameters());
+ editor.setReadOnly(true);
+ parametersSection.addMember(editor);
+ } else {
+ Label noParametersLabel = new Label("This operation does not take
any parameters.");
+ noParametersLabel.setHeight(17);
+ parametersSection.addMember(noParametersLabel);
+ }
+
+ addMember(parametersSection);
+ }
+
+ Canvas resultsSection = buildResultsSection(operationHistory);
+ if (resultsSection != null) {
+ addMember(resultsSection);
+ }
+
+ VLayout verticalSpacer = new VLayout();
+ verticalSpacer.setHeight100();
+ addMember(verticalSpacer);
+ }
+
+ protected abstract Canvas buildResultsSection(T operationHistory);
+
+ protected abstract void lookupDetails(int historyId);
+
+ @Override
+ public void renderView(ViewPath viewPath) {
+ int historyId = viewPath.getCurrentAsInt();
+ lookupDetails(historyId);
+ }
+
+ private static String getShortErrorMessage(OperationHistory operationHistory) {
+ String errMsg = operationHistory.getErrorMessage();
+ if (errMsg == null) {
+ errMsg = MSG.common_status_failed();
+ } else if (errMsg.length() > 80) {
+ errMsg = errMsg.substring(0, 80) + "...";
+ }
+ return errMsg;
+ }
+
+}
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/history/ResourceOperationHistoryDetailsView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/history/ResourceOperationHistoryDetailsView.java
deleted file mode 100644
index 09fc8d2..0000000
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/history/ResourceOperationHistoryDetailsView.java
+++ /dev/null
@@ -1,263 +0,0 @@
-/*
- * RHQ Management Platform
- * Copyright (C) 2005-2010 Red Hat, Inc.
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-package org.rhq.enterprise.gui.coregui.client.inventory.common.detail.operation.history;
-
-import java.util.Date;
-
-import com.google.gwt.user.client.rpc.AsyncCallback;
-import com.smartgwt.client.types.Overflow;
-import com.smartgwt.client.widgets.Canvas;
-import com.smartgwt.client.widgets.Label;
-import com.smartgwt.client.widgets.Window;
-import com.smartgwt.client.widgets.events.CloseClickHandler;
-import com.smartgwt.client.widgets.events.CloseClientEvent;
-import com.smartgwt.client.widgets.form.DynamicForm;
-import com.smartgwt.client.widgets.form.fields.LinkItem;
-import com.smartgwt.client.widgets.form.fields.StaticTextItem;
-import com.smartgwt.client.widgets.form.fields.events.ClickEvent;
-import com.smartgwt.client.widgets.form.fields.events.ClickHandler;
-
-import org.rhq.core.domain.criteria.ResourceOperationHistoryCriteria;
-import org.rhq.core.domain.operation.OperationDefinition;
-import org.rhq.core.domain.operation.OperationRequestStatus;
-import org.rhq.core.domain.operation.ResourceOperationHistory;
-import org.rhq.core.domain.util.PageList;
-import org.rhq.enterprise.gui.coregui.client.BookmarkableView;
-import org.rhq.enterprise.gui.coregui.client.CoreGUI;
-import org.rhq.enterprise.gui.coregui.client.ImageManager;
-import org.rhq.enterprise.gui.coregui.client.ViewPath;
-import
org.rhq.enterprise.gui.coregui.client.components.configuration.ConfigurationEditor;
-import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableHTMLPane;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableWindow;
-
-/**
- * @author Greg Hinkle
- */
-public class ResourceOperationHistoryDetailsView extends LocatableVLayout implements
BookmarkableView {
-
- private OperationDefinition definition;
- private ResourceOperationHistory operationHistory;
-
- private DynamicForm form;
-
- public ResourceOperationHistoryDetailsView(String locatorId) {
- super(locatorId);
- }
-
- public ResourceOperationHistoryDetailsView(String locatorId, OperationDefinition
definition,
- ResourceOperationHistory operationHistory) {
- super(locatorId);
-
- this.definition = definition;
- this.operationHistory = operationHistory;
- }
-
- @Override
- protected void onDraw() {
- super.onDraw();
-
- destroyMembers();
-
- if (this.operationHistory != null) {
- displayDetails(operationHistory);
- }
- }
-
- private void displayDetails(final ResourceOperationHistory operationHistory) {
-
- for (Canvas child : getMembers()) {
- removeChild(child);
- }
-
- this.definition = operationHistory.getOperationDefinition();
- this.operationHistory = operationHistory;
-
- // Information Form
-
- form = new DynamicForm();
- form.setWidth100();
- form.setWrapItemTitles(false);
-
- OperationRequestStatus status = operationHistory.getStatus();
-
- StaticTextItem operationItem = new
StaticTextItem(AbstractOperationHistoryDataSource.Field.OPERATION_NAME, MSG
- .view_operationHistoryDetails_operation());
- operationItem.setValue(definition.getDisplayName());
-
- StaticTextItem submittedItem = new
StaticTextItem(AbstractOperationHistoryDataSource.Field.STARTED_TIME, MSG
- .view_operationHistoryDetails_dateSubmitted());
- submittedItem.setValue(new Date(operationHistory.getStartedTime()));
-
- StaticTextItem completedItem = new StaticTextItem("completed",
MSG.view_operationHistoryDetails_dateCompleted());
- if (status == OperationRequestStatus.INPROGRESS) {
- completedItem.setValue(MSG.common_val_na());
- } else if (status == OperationRequestStatus.CANCELED) {
- completedItem.setValue(MSG.common_val_never());
- } else {
- completedItem.setValue(new Date(operationHistory.getStartedTime() +
operationHistory.getDuration()));
- }
-
- StaticTextItem requesterItem = new
StaticTextItem(AbstractOperationHistoryDataSource.Field.SUBJECT, MSG
- .view_operationHistoryDetails_requestor());
- requesterItem.setValue(operationHistory.getSubjectName());
-
- LinkItem errorLinkItem = null;
-
- StaticTextItem statusItem = new
StaticTextItem(AbstractOperationHistoryDataSource.Field.STATUS, MSG
- .view_operationHistoryDetails_status());
- String icon =
ImageManager.getFullImagePath(ImageManager.getOperationResultsIcon(status));
- statusItem.setValue("<img src='" + icon +
"'/>");
- switch (status) {
- case SUCCESS:
- statusItem.setTooltip(MSG.common_status_success());
- break;
- case FAILURE:
- statusItem.setTooltip(MSG.common_status_failed());
- errorLinkItem = new LinkItem("errorLink");
- errorLinkItem.setTitle(MSG.common_title_error());
- errorLinkItem.setLinkTitle(getShortErrorMessage(operationHistory));
- errorLinkItem.addClickHandler(new ClickHandler() {
- @Override
- public void onClick(ClickEvent event) {
- final Window winModal = new
LocatableWindow(ResourceOperationHistoryDetailsView.this
- .extendLocatorId("errorWin"));
- winModal.setTitle(MSG.common_title_details());
- winModal.setOverflow(Overflow.VISIBLE);
- winModal.setShowMinimizeButton(false);
- winModal.setShowMaximizeButton(true);
- winModal.setIsModal(true);
- winModal.setShowModalMask(true);
- winModal.setAutoSize(true);
- winModal.setAutoCenter(true);
- winModal.setShowResizer(true);
- winModal.setCanDragResize(true);
- winModal.centerInPage();
- winModal.addCloseClickHandler(new CloseClickHandler() {
- @Override
- public void onCloseClick(CloseClientEvent event) {
- winModal.markForDestroy();
- }
- });
-
- LocatableHTMLPane htmlPane = new
LocatableHTMLPane(ResourceOperationHistoryDetailsView.this
- .extendLocatorId("statusDetailsPane"));
- htmlPane.setMargin(10);
- htmlPane.setDefaultWidth(500);
- htmlPane.setDefaultHeight(400);
- String errorMsg = operationHistory.getErrorMessage();
- if (errorMsg == null) {
- errorMsg = MSG.common_status_failed();
- }
- htmlPane.setContents("<pre>" + errorMsg +
"</pre>");
- winModal.addItem(htmlPane);
- winModal.show();
- }
- });
-
- break;
- case INPROGRESS:
- statusItem.setTooltip(MSG.common_status_inprogress());
- break;
- case CANCELED:
- statusItem.setTooltip(MSG.common_status_canceled());
- break;
- }
-
- /*
- Operation: View Process List
- Date Submitted: 3/11/10, 12:24:02 PM, EST
- Date Completed: 3/11/10, 12:24:03 PM, EST
- Requester: rhqadmin
- Status: Failure
- Error Message: __Exception: Cannot connect...__
- */
-
- if (errorLinkItem != null) {
- form.setItems(operationItem, submittedItem, completedItem, requesterItem,
statusItem, errorLinkItem);
- } else {
- form.setItems(operationItem, submittedItem, completedItem, requesterItem,
statusItem);
- }
-
- addMember(form);
-
- // params/results
-
- if (operationHistory.getParameters() != null) {
- Label title = new Label(MSG.view_operationHistoryDetails_parameters());
- addMember(title);
-
- ConfigurationEditor editor = new
ConfigurationEditor(extendLocatorId("params"), definition
- .getParametersConfigurationDefinition(),
operationHistory.getParameters());
- editor.setReadOnly(true);
- addMember(editor);
- }
-
- if (status == OperationRequestStatus.SUCCESS &&
operationHistory.getResults() != null) {
- Label title = new Label(MSG.view_operationHistoryDetails_results());
- addMember(title);
-
- ConfigurationEditor editor = new
ConfigurationEditor(extendLocatorId("results"), definition
- .getResultsConfigurationDefinition(), operationHistory.getResults());
- editor.setReadOnly(true);
- addMember(editor);
- }
- }
-
- private void lookupDetails(int historyId) {
- ResourceOperationHistoryCriteria criteria = new
ResourceOperationHistoryCriteria();
-
- criteria.addFilterId(historyId);
-
- criteria.fetchOperationDefinition(true);
- criteria.fetchParameters(true);
- criteria.fetchResults(true);
-
-
GWTServiceLookup.getOperationService().findResourceOperationHistoriesByCriteria(criteria,
- new AsyncCallback<PageList<ResourceOperationHistory>>() {
- public void onFailure(Throwable caught) {
- CoreGUI.getErrorHandler()
-
.handleError(MSG.view_operationHistoryDetails_error_fetchFailure(), caught);
- }
-
- public void onSuccess(PageList<ResourceOperationHistory> result) {
- ResourceOperationHistory item = result.get(0);
- displayDetails(item);
- }
- });
- }
-
- @Override
- public void renderView(ViewPath viewPath) {
- int historyId = viewPath.getCurrentAsInt();
- lookupDetails(historyId);
- }
-
- private String getShortErrorMessage(ResourceOperationHistory operationHistory) {
- String errMsg = operationHistory.getErrorMessage();
- if (errMsg == null) {
- errMsg = MSG.common_status_failed();
- } else if (errMsg.length() > 80) {
- errMsg = errMsg.substring(0, 80) + "...";
- }
- return errMsg;
- }
-
-}
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/history/GroupOperationHistoryDetailsView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/history/GroupOperationHistoryDetailsView.java
new file mode 100644
index 0000000..937c163
--- /dev/null
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/history/GroupOperationHistoryDetailsView.java
@@ -0,0 +1,58 @@
+package org.rhq.enterprise.gui.coregui.client.inventory.groups.detail.operation.history;
+
+import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.smartgwt.client.widgets.Canvas;
+import com.smartgwt.client.widgets.Label;
+import org.rhq.core.domain.criteria.GroupOperationHistoryCriteria;
+import org.rhq.core.domain.operation.GroupOperationHistory;
+import org.rhq.core.domain.operation.OperationDefinition;
+import org.rhq.core.domain.operation.OperationRequestStatus;
+import org.rhq.core.domain.util.PageList;
+import org.rhq.enterprise.gui.coregui.client.CoreGUI;
+import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
+import
org.rhq.enterprise.gui.coregui.client.inventory.common.detail.operation.history.AbstractOperationHistoryDetailsView;
+
+/**
+ * @author Ian Springer
+ */
+public class GroupOperationHistoryDetailsView extends
AbstractOperationHistoryDetailsView<GroupOperationHistory> {
+
+ public GroupOperationHistoryDetailsView(String locatorId) {
+ super(locatorId);
+ }
+
+ public GroupOperationHistoryDetailsView(String locatorId, OperationDefinition
definition,
+ GroupOperationHistory operationHistory) {
+ super(locatorId, definition, operationHistory);
+ }
+
+ protected void lookupDetails(int historyId) {
+ GroupOperationHistoryCriteria criteria = new GroupOperationHistoryCriteria();
+
+ criteria.addFilterId(historyId);
+
+ criteria.fetchOperationDefinition(true);
+ criteria.fetchParameters(true);
+
+
GWTServiceLookup.getOperationService().findGroupOperationHistoriesByCriteria(criteria,
+ new AsyncCallback<PageList<GroupOperationHistory>>() {
+ public void onFailure(Throwable caught) {
+ CoreGUI.getErrorHandler()
+
.handleError(MSG.view_operationHistoryDetails_error_fetchFailure(), caught);
+ }
+
+ public void onSuccess(PageList<GroupOperationHistory> result)
{
+ GroupOperationHistory item = result.get(0);
+ displayDetails(item);
+ }
+ });
+ }
+
+ @Override
+ protected Canvas buildResultsSection(GroupOperationHistory operationHistory) {
+ OperationRequestStatus status = operationHistory.getStatus();
+
+ return new Label("<h5>TODO</h5>");
+ }
+
+}
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/history/GroupOperationHistoryListView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/history/GroupOperationHistoryListView.java
index 887e313..af0e786 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/history/GroupOperationHistoryListView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/history/GroupOperationHistoryListView.java
@@ -45,7 +45,7 @@ public class GroupOperationHistoryListView extends
AbstractOperationHistoryListV
@Override
public Canvas getDetailsView(int id) {
- return new Canvas();
+ return new
GroupOperationHistoryDetailsView(extendLocatorId("DetailsView"));
}
}
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/history/ResourceOperationHistoryDetailsView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/history/ResourceOperationHistoryDetailsView.java
new file mode 100644
index 0000000..f9de542
--- /dev/null
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/history/ResourceOperationHistoryDetailsView.java
@@ -0,0 +1,76 @@
+package
org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.operation.history;
+
+import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.smartgwt.client.widgets.Canvas;
+import com.smartgwt.client.widgets.Label;
+import org.rhq.core.domain.criteria.ResourceOperationHistoryCriteria;
+import org.rhq.core.domain.operation.OperationDefinition;
+import org.rhq.core.domain.operation.OperationRequestStatus;
+import org.rhq.core.domain.operation.ResourceOperationHistory;
+import org.rhq.core.domain.util.PageList;
+import org.rhq.enterprise.gui.coregui.client.CoreGUI;
+import
org.rhq.enterprise.gui.coregui.client.components.configuration.ConfigurationEditor;
+import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
+import
org.rhq.enterprise.gui.coregui.client.inventory.common.detail.operation.history.AbstractOperationHistoryDetailsView;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+
+/**
+ * @author Ian Springer
+ */
+public class ResourceOperationHistoryDetailsView extends
AbstractOperationHistoryDetailsView<ResourceOperationHistory> {
+
+ public ResourceOperationHistoryDetailsView(String locatorId) {
+ super(locatorId);
+ }
+
+ public ResourceOperationHistoryDetailsView(String locatorId, OperationDefinition
definition,
+ ResourceOperationHistory operationHistory)
{
+ super(locatorId, definition, operationHistory);
+ }
+
+ protected void lookupDetails(int historyId) {
+ ResourceOperationHistoryCriteria criteria = new
ResourceOperationHistoryCriteria();
+
+ criteria.addFilterId(historyId);
+
+ criteria.fetchOperationDefinition(true);
+ criteria.fetchParameters(true);
+ criteria.fetchResults(true);
+
+
GWTServiceLookup.getOperationService().findResourceOperationHistoriesByCriteria(criteria,
+ new AsyncCallback<PageList<ResourceOperationHistory>>() {
+ public void onFailure(Throwable caught) {
+ CoreGUI.getErrorHandler()
+
.handleError(MSG.view_operationHistoryDetails_error_fetchFailure(), caught);
+ }
+
+ public void onSuccess(PageList<ResourceOperationHistory> result) {
+ ResourceOperationHistory item = result.get(0);
+ displayDetails(item);
+ }
+ });
+ }
+
+ @Override
+ protected Canvas buildResultsSection(ResourceOperationHistory operationHistory) {
+ OperationRequestStatus status = operationHistory.getStatus();
+ if (status == OperationRequestStatus.SUCCESS &&
operationHistory.getResults() != null) {
+ LocatableVLayout resultsSection = new
LocatableVLayout(extendLocatorId("ResultsSection"));
+
+ Label title = new Label("<h4>" +
MSG.view_operationHistoryDetails_results() + "</h4>");
+ title.setHeight(27);
+ resultsSection.addMember(title);
+
+ OperationDefinition operationDefinition =
operationHistory.getOperationDefinition();
+ ConfigurationEditor editor = new
ConfigurationEditor(extendLocatorId("results"), operationDefinition
+ .getResultsConfigurationDefinition(), operationHistory.getResults());
+ editor.setReadOnly(true);
+ resultsSection.addMember(editor);
+
+ return resultsSection;
+ } else {
+ return null;
+ }
+ }
+
+}
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/history/ResourceOperationHistoryListView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/history/ResourceOperationHistoryListView.java
index 3b0f747..3cd24ce 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/history/ResourceOperationHistoryListView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/history/ResourceOperationHistoryListView.java
@@ -23,7 +23,6 @@ import com.smartgwt.client.data.Criteria;
import com.smartgwt.client.widgets.Canvas;
import org.rhq.core.domain.resource.composite.ResourceComposite;
import
org.rhq.enterprise.gui.coregui.client.inventory.common.detail.operation.history.AbstractOperationHistoryListView;
-import
org.rhq.enterprise.gui.coregui.client.inventory.common.detail.operation.history.ResourceOperationHistoryDetailsView;
/**
* @author Ian Springer
@@ -46,7 +45,7 @@ public class ResourceOperationHistoryListView extends
AbstractOperationHistoryLi
@Override
public Canvas getDetailsView(int id) {
- return new
ResourceOperationHistoryDetailsView(this.extendLocatorId("Details"));
+ return new
ResourceOperationHistoryDetailsView(this.extendLocatorId("DetailsView"));
}
}
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/operation/SubsystemOperationHistoryListView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/operation/SubsystemOperationHistoryListView.java
index 81ebb94..b4c3091 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/operation/SubsystemOperationHistoryListView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/operation/SubsystemOperationHistoryListView.java
@@ -37,8 +37,8 @@ import org.rhq.enterprise.gui.coregui.client.PermissionsLoader;
import org.rhq.enterprise.gui.coregui.client.components.view.ViewName;
import
org.rhq.enterprise.gui.coregui.client.inventory.common.detail.operation.history.AbstractOperationHistoryDataSource;
import
org.rhq.enterprise.gui.coregui.client.inventory.common.detail.operation.history.AbstractOperationHistoryListView;
-import
org.rhq.enterprise.gui.coregui.client.inventory.common.detail.operation.history.ResourceOperationHistoryDetailsView;
import
org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.operation.history.ResourceOperationHistoryDataSource;
+import
org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.operation.history.ResourceOperationHistoryDetailsView;
/**
* @author Ian Springer
@@ -102,7 +102,7 @@ public class SubsystemOperationHistoryListView extends
AbstractOperationHistoryL
@Override
public Canvas getDetailsView(int id) {
- return new
ResourceOperationHistoryDetailsView(this.extendLocatorId("Details"));
+ return new
ResourceOperationHistoryDetailsView(this.extendLocatorId("DetailsView"));
}
}