14 var logger = Logger('model/JobModel.js');
19 // define the downloadable status
20 var DOWNLOADABLE_STATUS = 'DONE';
21 // define the default status
22 var DEFAULT_STATUS = 'READY';
24 // describe the all the status of job
25 var JOB_STATUS_LIST = [
48 // set the config information for the app
49 Util.getAppConfig().then(function (data) {
53 var JobModel = function (paramObj) {
61 this.jobHasKsFile = false;
64 this.isDownload;//{boolean}
66 // for the href on a tag
78 JobModel.prototype.init = function (obj) {
79 logger.info('init: ' + JSON.stringify(obj));
81 this.setJobId(obj.job_id);
82 this.setJobStatus(obj.job_status);
83 this.setJobImageName(obj.job_image_name);
84 this.setJobImageSize(obj.job_image_size);
87 this.setJobImagePath();
88 this.setJobHasKsFile(obj.job_hasksfile);
93 this.setJobAbsImagePath();
94 this.setJobAbsKsPath();
95 this.setJobAbsLogPath();
97 this.setJobUptime(obj.job_uptime);
100 JobModel.prototype.getIsDownload = function () {
101 return this.isDownload;
104 JobModel.prototype.setIsDownload = function (value) {
105 this.isDownload = value || false;
108 JobModel.prototype.getJobUptime = function () {
109 return this.jobUptime;
112 JobModel.prototype.setJobUptime = function (value) {
113 this.jobUptime = value;
116 JobModel.prototype.getJobLogPath = function () {
117 return this.jobLogPath;
120 JobModel.prototype.setJobLogPath = function () {
121 this.jobLogPath = this.getJobPath() + AppConfig.TIC_WEB.LOG_FILE_NAME;
124 JobModel.prototype.getJobAbsLogPath = function () {
125 return this.jobAbsLogPath;
128 JobModel.prototype.setJobAbsLogPath = function () {
129 this.jobAbsLogPath = this.getJobAbsPath() + AppConfig.TIC_WEB.LOG_FILE_NAME;
132 JobModel.prototype.getJobKsPath = function () {
133 return this.jobKsPath;
136 JobModel.prototype.setJobKsPath = function () {
137 this.jobKsPath = this.getJobPath() + AppConfig.TIC_WEB.KS_FILE_NAME;
140 JobModel.prototype.getJobAbsKsPath = function () {
141 return this.jobAbsKsPath;
144 JobModel.prototype.setJobAbsKsPath = function () {
145 this.jobAbsKsPath = this.getJobAbsPath() + AppConfig.TIC_WEB.KS_FILE_NAME;
148 JobModel.prototype.getJobHasKsFile = function () {
152 JobModel.prototype.setJobHasKsFile = function (value) {
153 this.jobHasKsFile = value || false;
156 JobModel.prototype.getJobImagePath = function () {
157 return this.jobImagePath;
160 JobModel.prototype.setJobImagePath = function () {
161 this.jobImagePath = this.getJobPath() + this.getJobImageName();
164 JobModel.prototype.getJobImageSize = function () {
165 return this.jobImageSize;
168 JobModel.prototype.setJobImageSize = function (value) {
169 this.jobImageSize = value ? Util.bytesToSize(value) : '0KB';
172 JobModel.prototype.getJobPath = function () {
176 JobModel.prototype.setJobPath = function () {
177 this.jobPath = AppConfig.TIC_WEB.PATH + this.getJobId() + '/';
180 JobModel.prototype.getJobAbsImagePath = function () {
181 return this.jobAbsImagePath;
184 JobModel.prototype.setJobAbsImagePath = function () {
185 this.jobAbsImagePath = this.getJobAbsPath() + this.getJobImageName();
188 JobModel.prototype.getJobAbsPath = function () {
189 return this.jobAbsPath;
192 JobModel.prototype.setJobAbsPath = function () {
193 this.jobAbsPath = AppConfig.TIC_WEB.PATH_ABSTRACT + this.getJobId() + '/';
196 JobModel.prototype.getJobImageName = function () {
197 return this.jobImageName;
200 JobModel.prototype.setJobImageName = function (value) {
201 this.jobImageName = value ? value : '-';
204 JobModel.prototype.getJobStatusText = function () {
205 return this.jobStatusText;
208 JobModel.prototype.setJobStatusText = function (value) {
209 this.jobStatusText = value || '';
212 JobModel.prototype.getJobStatus = function () {
213 return this.jobStatus;
216 JobModel.prototype.setJobStatus = function (status) {
217 var statusInfo, isDownloadable;
219 isDownloadable = false;
220 statusInfo = _.find(JOB_STATUS_LIST, {value: status}) || _.find(JOB_STATUS_LIST, {value: DEFAULT_STATUS});
222 this.jobStatus = statusInfo.value || '';
223 this.setJobStatusText(statusInfo.text);
225 if (this.getJobStatus() === DOWNLOADABLE_STATUS) {
226 isDownloadable = true;
229 this.setIsDownload(isDownloadable);
232 JobModel.prototype.getJobId = function () {
236 JobModel.prototype.setJobId = function (value) {
237 this.jobId = value || 0;