/* * 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.service.factoryService; import org.pieShare.pieShareApp.model.message.FileListMessage; import org.pieShare.pieShareApp.model.message.FileListRequestMessage; import org.pieShare.pieShareApp.model.message.metaMessage.MetaMessage; import org.pieShare.pieShareApp.model.message.metaMessage.MetaCommitMessage; import org.pieShare.pieShareApp.model.message.api.IFileChangedMessage; import org.pieShare.pieShareApp.model.message.api.IFileDeletedMessage; import org.pieShare.pieShareApp.model.message.api.IFileListMessage; import org.pieShare.pieShareApp.model.message.api.IFileListRequestMessage; import org.pieShare.pieShareApp.model.message.api.IFileRequestMessage; import org.pieShare.pieShareApp.model.message.api.IFileTransferCompleteMessage; import org.pieShare.pieShareApp.model.message.api.IMetaMessage; import org.pieShare.pieShareApp.model.message.api.IMetaCommitMessage; import org.pieShare.pieShareApp.model.message.api.IFileCreatedMessage; import org.pieShare.pieShareApp.model.message.fileHistoryMessage.FileChangedMessage; import org.pieShare.pieShareApp.model.message.fileHistoryMessage.FileDeletedMessage; import org.pieShare.pieShareApp.model.message.fileMessageBase.FileRequestMessage; import org.pieShare.pieShareApp.model.message.metaMessage.FileTransferCompleteMessage; import org.pieShare.pieShareApp.model.message.fileMessageBase.FileCreatedMessage; import org.pieShare.pieShareApp.model.pieFile.FileMeta; import org.pieShare.pieTools.piePlate.model.IPieAddress; import org.pieShare.pieTools.piePlate.model.message.api.IClusterMessage; import org.pieShare.pieTools.piePlate.model.serializer.jacksonSerializer.JGroupsPieAddress; /** * * @author Svetoslav */ public class MessageFactoryService implements IMessageFactoryService { protected <P extends IClusterMessage> P prepareMessage(P message) { IPieAddress ad = new JGroupsPieAddress(); message.setAddress(ad); return message; } protected <P extends IMetaMessage> P prepareMetaMessage(P message) { message.setFileMeta(new FileMeta()); return this.prepareMessage(message); } @Override public IFileChangedMessage getFileChangedMessage() { return this.prepareMessage(new FileChangedMessage()); } @Override public IFileDeletedMessage getFileDeletedMessage() { return this.prepareMessage(new FileDeletedMessage()); } @Override public IFileListMessage getFileListMessage() { return this.prepareMessage(new FileListMessage()); } @Override public IFileListRequestMessage getFileListRequestMessage() { return this.prepareMessage(new FileListRequestMessage()); } @Override public IFileRequestMessage getFileRequestMessage() { return this.prepareMessage(new FileRequestMessage()); } @Override public IFileTransferCompleteMessage getFileTransferCompleteMessage() { return this.prepareMetaMessage(new FileTransferCompleteMessage()); } @Override public IMetaMessage getFileTransferMetaMessage() { return this.prepareMetaMessage(new MetaMessage()); } @Override public IFileCreatedMessage getNewFileMessage() { return this.prepareMessage(new FileCreatedMessage()); } @Override public IMetaCommitMessage getMetaCommitMessage() { return this.prepareMetaMessage(new MetaCommitMessage()); } }