uploadrepository.java
来自「用Hibernate开发的JiveJdon」· Java 代码 · 共 73 行
JAVA
73 行
package com.jdon.jivejdon.repository;
import java.io.File;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import org.apache.log4j.Logger;
import com.jdon.jivejdon.dao.MessageDaoFacade;
import com.jdon.jivejdon.dao.UploadFileDao;
import com.jdon.jivejdon.model.ForumMessage;
import com.jdon.jivejdon.model.UploadFile;
public class UploadRepository {
private final static Logger logger = Logger.getLogger(UploadRepository.class);
private UploadFileDao uploadFileDao;
private MessageDaoFacade messageDaoFacade;
public UploadRepository(MessageDaoFacade messageDaoFacade,UploadFileDao uploadFileDao) {
this.messageDaoFacade = messageDaoFacade;
this.uploadFileDao = uploadFileDao;
}
/**
* 帖子的附件集合,由于附件于帖与存在紧密的级联关系,所以对附件的管理全部交给帖子对象,在Jdon框架里面,这里用到了组件的状态管理
* @param messageId
* @return
*/
public Collection getUploadFiles(Long messageId) {
Collection uploadFiles = null;
try {
ForumMessage message = messageDaoFacade.getMessageDao().getMessage(messageId);
uploadFiles = message.getUploadFiles();
}catch(Exception ex){
ex.printStackTrace();
}
return uploadFiles;
}
public void saveAllUploadFiles(List uploadFiles) {
Iterator iter = uploadFiles.iterator();
while(iter.hasNext()) {
UploadFile uploadFile = (UploadFile)iter.next();
if(uploadFile.isNew()){
try {
uploadFileDao.createUploadFile(uploadFile);
}catch(Exception ex){
ex.printStackTrace();
}
}
}
}
public void removeUploadFile(UploadFile uploadFile) {
Long fileId = uploadFile.getFileId();
UploadFile file = uploadFileDao.getUploadFile(fileId);
new File(file.getFilePath()).delete();//从文件系统中删除文件
try {
uploadFileDao.deleteUploadFile(file);
}catch(Exception ex){
ex.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?