/* * RHQ Management Platform * Copyright (C) 2005-2009 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.coregui.client.inventory.resource.detail; import com.smartgwt.client.types.TitleOrientation; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.form.DynamicForm; import com.smartgwt.client.widgets.form.fields.StaticTextItem; import com.smartgwt.client.widgets.form.fields.TextAreaItem; import org.rhq.core.domain.resource.CreateResourceHistory; import org.rhq.core.domain.resource.DeleteResourceHistory; import org.rhq.core.domain.util.ResourceTypeUtility; import org.rhq.coregui.client.components.table.TimestampCellFormatter; import org.rhq.coregui.client.util.enhanced.EnhancedVLayout; /** * Details view for a single child history entity. * * @author John Mazzitelli */ public class ChildHistoryDetails extends EnhancedVLayout { private CreateResourceHistory createHistory; private DeleteResourceHistory deleteHistory; public ChildHistoryDetails(CreateResourceHistory history) { super(); createHistory = history; deleteHistory = null; } public ChildHistoryDetails(DeleteResourceHistory history) { super(); createHistory = null; deleteHistory = history; } @Override protected void onDraw() { super.onDraw(); DynamicForm form = null; if (createHistory != null) { form = buildForCreate(createHistory); } else if (deleteHistory != null) { form = buildForDelete(deleteHistory); } addMember(form); } private DynamicForm buildForCreate(CreateResourceHistory history) { DynamicForm form = new DynamicForm(); form.setWidth100(); form.setHeight100(); form.setWrapItemTitles(false); StaticTextItem id = new StaticTextItem("id", MSG.common_title_id()); id.setValue(history.getId()); StaticTextItem type = new StaticTextItem("type", MSG.common_title_type()); String typeValue = Canvas.imgHTML(ChildHistoryView.CHILD_CREATED_ICON); typeValue += MSG.view_resource_inventory_childhistory_createdChild(); type.setValue(typeValue); StaticTextItem createdTimestamp = new StaticTextItem("created", MSG.common_title_dateCreated()); createdTimestamp.setValue(TimestampCellFormatter.format(history.getCreatedDate(), TimestampCellFormatter.DATE_TIME_FORMAT_FULL)); StaticTextItem modifiedTimestamp = new StaticTextItem("created", MSG.common_title_lastUpdated()); modifiedTimestamp.setValue(TimestampCellFormatter.format(history.getLastModifiedDate(), TimestampCellFormatter.DATE_TIME_FORMAT_FULL)); StaticTextItem subject = new StaticTextItem("subject", MSG.common_title_user()); subject.setValue(history.getSubjectName()); StaticTextItem status = new StaticTextItem("status", MSG.common_title_status()); switch (history.getStatus()) { case SUCCESS: status.setValue(MSG.common_status_success()); break; case FAILURE: status.setValue(MSG.common_status_failed()); break; case IN_PROGRESS: status.setValue(MSG.common_status_inprogress()); break; case INVALID_ARTIFACT: status.setValue(MSG.view_resource_inventory_childhistory_status_invalidArtifact()); break; case INVALID_CONFIGURATION: status.setValue(MSG.view_resource_inventory_childhistory_status_invalidConfig()); break; case TIMED_OUT: status.setValue(MSG.common_status_timedOut()); break; default: status.setValue("?"); } StaticTextItem createdResourceName = new StaticTextItem("createdResourceName", MSG.common_title_resource_name()); createdResourceName.setValue(history.getCreatedResourceName()); StaticTextItem createdResourceKey = new StaticTextItem("createdResourceKey", MSG.common_title_resource_key()); createdResourceKey.setValue(history.getNewResourceKey()); StaticTextItem createdResourceType = new StaticTextItem("createdResourceType", MSG.common_title_resource_type()); if (history.getResourceType() != null) { createdResourceType.setValue(ResourceTypeUtility.displayName(history.getResourceType())); } else { createdResourceType.setValue(MSG.common_status_unknown()); } TextAreaItem errorMessage = new TextAreaItem("errorMessage", MSG.common_severity_error()); errorMessage.setValue(history.getErrorMessage()); errorMessage.setTitleOrientation(TitleOrientation.TOP); errorMessage.setColSpan(2); errorMessage.setWidth("100%"); errorMessage.setHeight("100%"); if (history.getErrorMessage() != null && history.getErrorMessage().length() > 0) { form.setItems(id, type, createdTimestamp, modifiedTimestamp, subject, createdResourceName, createdResourceKey, createdResourceType, status, errorMessage); } else { form.setItems(id, type, createdTimestamp, modifiedTimestamp, subject, createdResourceName, createdResourceKey, createdResourceType, status); } return form; } private DynamicForm buildForDelete(DeleteResourceHistory history) { DynamicForm form = new DynamicForm(); form.setWidth100(); form.setHeight100(); form.setWrapItemTitles(false); StaticTextItem id = new StaticTextItem("id", MSG.common_title_id()); id.setValue(history.getId()); StaticTextItem type = new StaticTextItem("type", MSG.common_title_type()); String typeValue = Canvas.imgHTML(ChildHistoryView.CHILD_DELETED_ICON); typeValue += MSG.view_resource_inventory_childhistory_deletedChild(); type.setValue(typeValue); StaticTextItem createdTimestamp = new StaticTextItem("created", MSG.common_title_dateCreated()); createdTimestamp.setValue(TimestampCellFormatter.format(history.getCreatedDate(), TimestampCellFormatter.DATE_TIME_FORMAT_FULL)); StaticTextItem modifiedTimestamp = new StaticTextItem("created", MSG.common_title_lastUpdated()); modifiedTimestamp.setValue(TimestampCellFormatter.format(history.getLastModifiedDate(), TimestampCellFormatter.DATE_TIME_FORMAT_FULL)); StaticTextItem subject = new StaticTextItem("subject", MSG.common_title_user()); subject.setValue(history.getSubjectName()); StaticTextItem status = new StaticTextItem("status", MSG.common_title_status()); switch (history.getStatus()) { case SUCCESS: status.setValue(MSG.common_status_success()); break; case FAILURE: status.setValue(MSG.common_status_failed()); break; case IN_PROGRESS: status.setValue(MSG.common_status_inprogress()); break; case TIMED_OUT: status.setValue(MSG.common_status_timedOut()); break; default: status.setValue("?"); } StaticTextItem deletedResourceName = new StaticTextItem("deletedResourceName", MSG.common_title_resource_name()); StaticTextItem deletedResourceType = new StaticTextItem("deletedResourceType", MSG.common_title_resource_type()); deletedResourceName.setValue(history.getResourceName()); deletedResourceType.setValue(ResourceTypeUtility.displayName(history.getResourceType())); TextAreaItem errorMessage = new TextAreaItem("errorMessage", MSG.common_severity_error()); errorMessage.setValue(history.getErrorMessage()); errorMessage.setTitleOrientation(TitleOrientation.TOP); errorMessage.setColSpan(2); errorMessage.setWidth("100%"); errorMessage.setHeight("100%"); if (history.getErrorMessage() != null && history.getErrorMessage().length() > 0) { form.setItems(id, type, createdTimestamp, modifiedTimestamp, subject, deletedResourceName, deletedResourceType, status, errorMessage); } else { form.setItems(id, type, createdTimestamp, modifiedTimestamp, subject, deletedResourceName, deletedResourceType, status); } return form; } }