Search in sources :

Example 1 with ClientFileEntity

use of org.mifos.framework.fileupload.domain.ClientFileEntity in project head by mifos.

the class ClientFileServiceFileSystem method create.

public boolean create(Integer clientId, InputStream in, UploadedFileDto uploadedFileDto) {
    try {
        String storageDir = viewOrganizationSettingsServiceFacade.getClientStorageDirectory();
        String fileDir = storageDir + File.separator + clientId.toString();
        File file = new File(fileDir + File.separator + uploadedFileDto.getName());
        if (file.exists() || customerDao.getClientUploadedFileByName(clientId, uploadedFileDto.getName()) != null) {
            return update(clientId, in, uploadedFileDto);
        }
        FileInfoEntity fileInfo = FileStorageManager.createFile(in, fileDir, uploadedFileDto);
        hibernateTransactionHelper.startTransaction();
        ClientFileEntity clientFile = new ClientFileEntity();
        clientFile.setClientId(clientId);
        clientFile.setFileInfo(fileInfo);
        genericDao.getSession().save(clientFile);
        hibernateTransactionHelper.commitTransaction();
    } catch (IOException e) {
        logger.error("Unable to persist", e);
        return false;
    } catch (Exception e) {
        hibernateTransactionHelper.rollbackTransaction();
    }
    return true;
}
Also used : ClientFileEntity(org.mifos.framework.fileupload.domain.ClientFileEntity) FileInfoEntity(org.mifos.framework.fileupload.domain.FileInfoEntity) IOException(java.io.IOException) File(java.io.File) IOException(java.io.IOException)

Example 2 with ClientFileEntity

use of org.mifos.framework.fileupload.domain.ClientFileEntity in project head by mifos.

the class ClientFileServiceFileSystem method readAll.

public List<UploadedFileDto> readAll(Integer clientId) {
    List<ClientFileEntity> clientFileEntities = customerDao.getClientAllUploadedFiles(clientId);
    List<UploadedFileDto> uploadedFiles = new ArrayList<UploadedFileDto>();
    for (ClientFileEntity entity : clientFileEntities) {
        FileInfoEntity fileInfo = entity.getFileInfo();
        Long uploadFileId = entity.getFileId();
        String fileName = fileInfo.getName();
        String contentType = fileInfo.getContentType();
        Integer fileSize = fileInfo.getSize();
        String description = fileInfo.getDescription();
        java.util.Date uploadDate = fileInfo.getUploadDate();
        uploadedFiles.add(new UploadedFileDto(uploadFileId, fileName, contentType, fileSize, description, uploadDate));
    }
    return uploadedFiles;
}
Also used : ClientFileEntity(org.mifos.framework.fileupload.domain.ClientFileEntity) ArrayList(java.util.ArrayList) FileInfoEntity(org.mifos.framework.fileupload.domain.FileInfoEntity) UploadedFileDto(org.mifos.dto.screen.UploadedFileDto)

Example 3 with ClientFileEntity

use of org.mifos.framework.fileupload.domain.ClientFileEntity in project head by mifos.

the class ClientFileServiceFileSystem method delete.

public boolean delete(Integer clientId, Long fileId) {
    ClientFileEntity clientFile = customerDao.getUploadedFile(fileId);
    if (clientFile != null) {
        FileInfoEntity fileInfo = clientFile.getFileInfo();
        hibernateTransactionHelper.startTransaction();
        genericDao.getSession().delete(clientFile);
        hibernateTransactionHelper.commitTransaction();
        return FileStorageManager.delete(viewOrganizationSettingsServiceFacade.getClientStorageDirectory() + File.separator + clientId.toString() + File.separator + fileInfo.getName());
    } else {
        return false;
    }
}
Also used : ClientFileEntity(org.mifos.framework.fileupload.domain.ClientFileEntity) FileInfoEntity(org.mifos.framework.fileupload.domain.FileInfoEntity)

Example 4 with ClientFileEntity

use of org.mifos.framework.fileupload.domain.ClientFileEntity in project head by mifos.

the class ClientFileServiceFileSystem method update.

public boolean update(Integer clientId, InputStream in, UploadedFileDto uploadedFileDto) {
    ClientFileEntity clientFile = customerDao.getClientUploadedFileByName(clientId, uploadedFileDto.getName());
    if (clientFile == null) {
        return create(clientId, in, uploadedFileDto);
    }
    try {
        String storageDir = viewOrganizationSettingsServiceFacade.getClientStorageDirectory();
        String fileDir = storageDir + File.separator + clientId.toString();
        FileInfoEntity updateFileInfo = FileStorageManager.updateFile(in, fileDir, clientFile.getFileInfo(), uploadedFileDto);
        if (updateFileInfo == null) {
            return false;
        }
        hibernateTransactionHelper.startTransaction();
        genericDao.getSession().save(updateFileInfo);
        hibernateTransactionHelper.commitTransaction();
    } catch (IOException e) {
        logger.error("Unable to persist", e);
        return false;
    } catch (Exception e) {
        hibernateTransactionHelper.rollbackTransaction();
    }
    return true;
}
Also used : ClientFileEntity(org.mifos.framework.fileupload.domain.ClientFileEntity) FileInfoEntity(org.mifos.framework.fileupload.domain.FileInfoEntity) IOException(java.io.IOException) IOException(java.io.IOException)

Aggregations

ClientFileEntity (org.mifos.framework.fileupload.domain.ClientFileEntity)4 FileInfoEntity (org.mifos.framework.fileupload.domain.FileInfoEntity)4 IOException (java.io.IOException)2 File (java.io.File)1 ArrayList (java.util.ArrayList)1 UploadedFileDto (org.mifos.dto.screen.UploadedFileDto)1