blob: c881265438c8181332402d9621929f2328dd165b [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.cloudstack.framework.jobs.impl;
import java.util.Date;
import java.util.TimeZone;
import javax.management.StandardMBean;
import org.apache.cloudstack.framework.jobs.AsyncJob;
import org.apache.cloudstack.framework.jobs.AsyncJobMBean;
import com.cloud.utils.DateUtil;
public class AsyncJobMBeanImpl extends StandardMBean implements AsyncJobMBean {
private final AsyncJob _job;
public AsyncJobMBeanImpl(AsyncJob job) {
super(AsyncJobMBean.class, false);
_job = job;
}
@Override
public long getAccountId() {
return _job.getAccountId();
}
@Override
public long getUserId() {
return _job.getUserId();
}
@Override
public String getCmd() {
return _job.getCmd();
}
@Override
public String getCmdInfo() {
return _job.getCmdInfo();
}
@Override
public String getStatus() {
switch (_job.getStatus()) {
case SUCCEEDED:
return "Completed";
case IN_PROGRESS:
return "In progress";
case FAILED:
return "Failed";
case CANCELLED:
return "Cancelled";
}
return "Unknown";
}
@Override
public int getProcessStatus() {
return _job.getProcessStatus();
}
@Override
public int getResultCode() {
return _job.getResultCode();
}
@Override
public String getResult() {
return _job.getResult();
}
@Override
public String getInstanceType() {
if (_job.getInstanceType() != null)
return _job.getInstanceType().toString();
return "N/A";
}
@Override
public String getInstanceId() {
if (_job.getInstanceId() != null)
return String.valueOf(_job.getInstanceId());
return "N/A";
}
@Override
public String getInitMsid() {
if (_job.getInitMsid() != null) {
return String.valueOf(_job.getInitMsid());
}
return "N/A";
}
@Override
public String getCreateTime() {
Date time = _job.getCreated();
if (time != null)
return DateUtil.getDateDisplayString(TimeZone.getDefault(), time);
return "N/A";
}
@Override
public String getLastUpdateTime() {
Date time = _job.getLastUpdated();
if (time != null)
return DateUtil.getDateDisplayString(TimeZone.getDefault(), time);
return "N/A";
}
@Override
public String getLastPollTime() {
Date time = _job.getLastPolled();
if (time != null)
return DateUtil.getDateDisplayString(TimeZone.getDefault(), time);
return "N/A";
}
@Override
public String getSyncQueueId() {
SyncQueueItem item = _job.getSyncSource();
if (item != null && item.getQueueId() != null) {
return String.valueOf(item.getQueueId());
}
return "N/A";
}
@Override
public String getSyncQueueContentType() {
SyncQueueItem item = _job.getSyncSource();
if (item != null) {
return item.getContentType();
}
return "N/A";
}
@Override
public String getSyncQueueContentId() {
SyncQueueItem item = _job.getSyncSource();
if (item != null && item.getContentId() != null) {
return String.valueOf(item.getContentId());
}
return "N/A";
}
}