/*
* RHQ Management Platform
* Copyright (C) 2005-2008 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.content;
import java.util.List;
import java.util.ArrayList;
import javax.servlet.http.HttpServletRequest;
import javax.faces.component.UIData;
import javax.faces.model.SelectItem;
import org.ajax4jsf.model.KeepAlive;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.rhq.core.domain.content.InstalledPackageHistory;
import org.rhq.core.domain.content.PackageInstallationStep;
import org.rhq.core.domain.content.PackageVersion;
import org.rhq.core.gui.util.FacesContextUtility;
import org.rhq.enterprise.server.util.LookupUtil;
import org.rhq.enterprise.server.content.ContentUIManagerLocal;
/**
* Bean used to provide details on a specific entry in the package audit trail ({@link InstalledPackageHistory}).
*
* @author Jason Dobies
*/
@KeepAlive
public class ShowInstalledPackageHistoryUIBean {
private InstalledPackageHistory history;
private int selectedHistoryId;
private List<PackageInstallationStep> installationSteps;
private UIData stepsData;
private PackageInstallationStep step;
private final Log log = LogFactory.getLog(this.getClass());
public InstalledPackageHistory getHistory() {
if (history == null) {
ContentUIManagerLocal contentUIManager = LookupUtil.getContentUIManager();
history = contentUIManager.getInstalledPackageHistory(getSelectedHistoryId());
}
return history;
}
public void setHistory(InstalledPackageHistory history) {
this.history = history;
}
public PackageInstallationStep getStep() {
if (step == null) {
HttpServletRequest request = FacesContextUtility.getRequest();
int stepId = Integer.parseInt(request.getParameter("stepId"));
ContentUIManagerLocal contentUIManager = LookupUtil.getContentUIManager();
step = contentUIManager.getPackageInstallationStep(stepId);
}
return step;
}
public int getSelectedHistoryId() {
if (selectedHistoryId == 0) {
HttpServletRequest request = FacesContextUtility.getRequest();
selectedHistoryId = Integer.parseInt(request.getParameter("selectedHistoryId"));
}
return selectedHistoryId;
}
public void setSelectedHistoryId(int selectedHistoryId) {
this.selectedHistoryId = selectedHistoryId;
}
public List<PackageInstallationStep> getInstallationSteps() {
if (installationSteps == null) {
InstalledPackageHistory history = getHistory();
if (history == null) {
log.error("Trying to load steps for null history");
return installationSteps;
}
ContentUIManagerLocal contentUIManager = LookupUtil.getContentUIManager();
installationSteps = contentUIManager.getPackageInstallationSteps(history.getId());
}
return installationSteps;
}
public void setInstallationSteps(List<PackageInstallationStep> installationSteps) {
this.installationSteps = installationSteps;
}
public UIData getStepsData() {
return stepsData;
}
public void setStepsData(UIData stepsData) {
this.stepsData = stepsData;
}
}