/*
* 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.admin;
import javax.faces.application.FacesMessage;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.rhq.core.domain.auth.Subject;
import org.rhq.core.gui.util.FacesContextUtility;
import org.rhq.core.util.exception.ThrowableUtil;
import org.rhq.enterprise.gui.util.EnterpriseFacesContextUtility;
import org.rhq.enterprise.server.measurement.MeasurementScheduleManagerLocal;
import org.rhq.enterprise.server.util.LookupUtil;
public class LargeEnvironmentPreparationUIBean {
private final Log log = LogFactory.getLog(LargeEnvironmentPreparationUIBean.class);
public static final String MANAGED_BEAN_NAME = "LargeEnvironmentPreparationUIBean";
private MeasurementScheduleManagerLocal measurementScheduleManager = LookupUtil.getMeasurementScheduleManager();
public LargeEnvironmentPreparationUIBean() {
}
public String disableMeasurementTemplates() {
Subject subject = EnterpriseFacesContextUtility.getSubject();
log.warn(subject.getName() + " has requested to disable measurement templates.");
try {
measurementScheduleManager.disableAllDefaultCollections(subject);
FacesContextUtility.addMessage(FacesMessage.SEVERITY_INFO,
"Collection intervals for all Measurement Templates have been disabled. "
+ "This means any new resources that will be imported in the future "
+ "will, by default, not collect measurements. Current resources already "
+ "in inventory have not been affected.");
} catch (Exception e) {
FacesContextUtility.addMessage(FacesMessage.SEVERITY_ERROR,
"Failed to disable all measurement templates. Cause: " + ThrowableUtil.getAllMessages(e));
}
return "success";
}
public String disableMeasurementSchedules() {
Subject subject = EnterpriseFacesContextUtility.getSubject();
log.warn(subject.getName() + " has requested to disable current measurement schedules.");
try {
measurementScheduleManager.disableAllSchedules(subject);
FacesContextUtility.addMessage(FacesMessage.SEVERITY_INFO,
"Collection intervals for all current resources in inventory have been disabled. "
+ "This means all resources will no longer collect measurements. "
+ "Resources that you import into inventory in the future will collect measurements "
+ "unless you also disabled the templates.");
} catch (Exception e) {
FacesContextUtility.addMessage(FacesMessage.SEVERITY_ERROR,
"Failed to disable all resource measurement schedules. Cause: " + ThrowableUtil.getAllMessages(e));
}
return "success";
}
}