blob: fdc47b4c99f3c7620da4fd266bbc17d96e34b4cc [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 com.cloud.agent.api.storage;
import java.io.File;
import com.cloud.agent.api.Answer;
import com.cloud.agent.api.Command;
import com.cloud.storage.VMTemplateStorageResourceAssoc;
import com.cloud.storage.VMTemplateStorageResourceAssoc.Status;
public class DownloadAnswer extends Answer {
private String jobId;
private int downloadPct;
private String errorString;
private VMTemplateStorageResourceAssoc.Status downloadStatus;
private String downloadPath;
private String installPath;
private long templateSize = 0L;
private long templatePhySicalSize = 0L;
private String checkSum;
public String getCheckSum() {
return checkSum;
}
public int getDownloadPct() {
return downloadPct;
}
public String getErrorString() {
return errorString;
}
public String getDownloadStatusString() {
return downloadStatus.toString();
}
public VMTemplateStorageResourceAssoc.Status getDownloadStatus() {
return downloadStatus;
}
public String getDownloadPath() {
return downloadPath;
}
protected DownloadAnswer() {
}
public String getJobId() {
return jobId;
}
public void setJobId(String jobId) {
this.jobId = jobId;
}
public DownloadAnswer(String errorString, Status status) {
super();
this.downloadPct = 0;
this.errorString = errorString;
this.downloadStatus = status;
this.details = errorString;
}
public DownloadAnswer(String jobId, int downloadPct, String errorString, Status downloadStatus, String fileSystemPath, String installPath, long templateSize,
long templatePhySicalSize, String checkSum) {
super();
this.jobId = jobId;
this.downloadPct = downloadPct;
this.errorString = errorString;
this.details = errorString;
this.downloadStatus = downloadStatus;
this.downloadPath = fileSystemPath;
this.installPath = fixPath(installPath);
this.templateSize = templateSize;
this.templatePhySicalSize = templatePhySicalSize;
this.checkSum = checkSum;
}
public DownloadAnswer(String jobId, int downloadPct, Command command, Status downloadStatus, String fileSystemPath, String installPath) {
super(command);
this.jobId = jobId;
this.downloadPct = downloadPct;
this.downloadStatus = downloadStatus;
this.downloadPath = fileSystemPath;
this.installPath = installPath;
}
private static String fixPath(String path) {
if (path == null) {
return path;
}
if (path.startsWith(File.separator)) {
path = path.substring(File.separator.length());
}
if (path.endsWith(File.separator)) {
path = path.substring(0, path.length() - File.separator.length());
}
return path;
}
public void setDownloadStatus(VMTemplateStorageResourceAssoc.Status downloadStatus) {
this.downloadStatus = downloadStatus;
}
public String getInstallPath() {
return installPath;
}
public void setInstallPath(String installPath) {
this.installPath = fixPath(installPath);
}
public void setTemplateSize(long templateSize) {
this.templateSize = templateSize;
}
public Long getTemplateSize() {
return templateSize;
}
public void setTemplatePhySicalSize(long templatePhySicalSize) {
this.templatePhySicalSize = templatePhySicalSize;
}
public long getTemplatePhySicalSize() {
return templatePhySicalSize;
}
}