/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package org.pieShare.pieShareApp.task.eventTasks;
import java.io.IOException;
import java.util.List;
import org.pieShare.pieShareApp.model.message.api.IFileListMessage;
import org.pieShare.pieShareApp.model.message.api.IFileListRequestMessage;
import org.pieShare.pieShareApp.model.pieFile.PieFile;
import org.pieShare.pieShareApp.service.fileService.api.IFileService;
import org.pieShare.pieShareApp.task.AMessageSendingEventTask;
import org.pieShare.pieTools.piePlate.service.cluster.exception.ClusterManagmentServiceException;
import org.pieShare.pieTools.pieUtilities.service.pieLogger.PieLogger;
/**
*
* @author Svetoslav
*/
public class FileListRequestTask extends AMessageSendingEventTask<IFileListRequestMessage> {
private IFileService fileService;
public void setFileService(IFileService fileService) {
this.fileService = fileService;
}
@Override
public void run() {
List<PieFile> pieFiles;
try {
pieFiles = this.fileService.getAllFiles();
//todo: use bean service instead
IFileListMessage reply = this.messageFactoryService.getFileListMessage();
reply.setFileList(pieFiles);
reply.setAddress(this.msg.getAddress());
this.setDefaultAdresse(reply);
try {
this.clusterManagementService.sendMessage(reply);
}
catch(ClusterManagmentServiceException ex) {
//todo: error handling
}
} catch (IOException ex) {
PieLogger.error(this.getClass(), "RequestTask failed!", ex);
}
}
}