blob: e96fb8902af156c657a76e0a2d135a7791f788f9 [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.ambari.server.events;
import org.apache.ambari.server.agent.CommandReport;
/**
* The {@link ActionFinalReportReceivedEvent} is fired when a
* command report action is received. Event is fired only if command state
* is COMPLETED/FAILED/ABORTED.
*/
public final class ActionFinalReportReceivedEvent extends AmbariEvent {
private Long clusterId;
private String hostname;
private CommandReport commandReport;
private String role;
private Boolean emulated;
/**
* Constructor.
*
* @param clusterId (beware, may be null if action is not bound to cluster)
* @param hostname host that is an origin for a command report
* @param report full command report (may be null if action has been cancelled)
* @param emulated true, if event was generated without actually receiving
* data from agent (e.g. if we did not perform action, or action timed out,
* but we want to trigger event listener anyway). More loose checks against
* data will be performed in this case.
*/
public ActionFinalReportReceivedEvent(Long clusterId, String hostname,
CommandReport report,
Boolean emulated) {
super(AmbariEventType.ACTION_EXECUTION_FINISHED);
this.clusterId = clusterId;
this.hostname = hostname;
this.commandReport = report;
if (report.getRole() != null) {
this.role = report.getRole();
} else {
this.role = null;
}
this.emulated = emulated;
}
public Long getClusterId() {
return clusterId;
}
public String getHostname() {
return hostname;
}
public CommandReport getCommandReport() {
return commandReport;
}
public String getRole() {
return role;
}
public Boolean isEmulated() {
return emulated;
}
@Override
public String toString() {
return "ActionFinalReportReceivedEvent{" +
"clusterId=" + clusterId +
", hostname='" + hostname + '\'' +
", commandReportStatus=" + commandReport.getStatus() +
", commandReportRole=" + role +
'}';
}
}