// // 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; } }