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 + -
显示快捷键?