use of org.wso2.carbon.attachment.mgt.api.attachment.Attachment in project carbon-business-process by wso2.
the class AttachmentMgtDAOBasicOperationsTest method testAttachmentDAOAddTest.
/**
* This method tests the attachment upload functionality
*/
public void testAttachmentDAOAddTest() {
AttachmentManagerService service = new AttachmentManagerService();
try {
attachmentID = service.add(createAttachment());
log.info("Attachment added with id : " + attachmentID);
assertNotNull(attachmentID);
} catch (AttachmentMgtException ex) {
log.error(ex.getLocalizedMessage(), ex);
Assert.fail("Attachment upload failed due to reason: " + ex.getLocalizedMessage());
}
}
use of org.wso2.carbon.attachment.mgt.api.attachment.Attachment in project carbon-business-process by wso2.
the class AttachmentDownloadServlet method doGet.
/**
* Logic that will be executed for a get request.
*
* @param request the HTTP Servlet request.
* @param response the HTTP Servlet response.
* @throws ServletException if an error occurred.
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String url = request.getRequestURI();
String attachmentUniqueID = url.substring(url.lastIndexOf("/") + 1);
InputStream contentStream = null;
ServletOutputStream servletOutputStream = null;
try {
TAttachment fileAttachment = getFileFromUniqueID(url);
response.setHeader("Content-Disposition", "attachment; filename=" + fileAttachment.getName());
response.setContentType(fileAttachment.getContentType());
contentStream = fileAttachment.getContent().getInputStream();
servletOutputStream = response.getOutputStream();
IOUtils.copy(contentStream, servletOutputStream);
servletOutputStream.flush();
} catch (AttachmentMgtException e) {
throw new ServletException(e.getLocalizedMessage(), e);
} finally {
IOUtils.closeQuietly(contentStream);
IOUtils.closeQuietly(servletOutputStream);
}
}
use of org.wso2.carbon.attachment.mgt.api.attachment.Attachment in project carbon-business-process by wso2.
the class AttachmentMgtDAOFactoryImpl method getAttachmentInfoFromURL.
@Override
public AttachmentDAO getAttachmentInfoFromURL(final String attachmentURI) throws AttachmentMgtException {
try {
AttachmentDAO resultantDAO = jobExecutor.execTransaction(new Callable<AttachmentDAO>() {
@Override
public AttachmentDAO call() throws Exception {
Query query = entityManager.createQuery("SELECT x FROM org.wso2.carbon.attachment.mgt.core.dao.impl.jpa.openjpa.entity.AttachmentDAOImpl AS x WHERE x.url = :attachmentURI");
query.setParameter("attachmentURI", attachmentURI);
List<AttachmentDAO> daoList = query.getResultList();
if (daoList.isEmpty()) {
throw new AttachmentMgtException("Attachment not found for the uri:" + attachmentURI);
} else if (daoList.size() != 1) {
String errorMsg = "There exist more than one attachment for the attachment URI:" + attachmentURI + ". org" + ".wso2.carbon.attachment.mgt.util.URLGeneratorUtil.generateURL method has generated " + "similar uris for different attachments. This has caused a major inconsistency for " + "attachment management.";
log.fatal(errorMsg);
throw new AttachmentMgtException(errorMsg);
} else {
return daoList.get(0);
}
}
});
return resultantDAO;
} catch (Exception e) {
String errorMsg = "org.wso2.carbon.attachment.mgt.core.dao.impl.hibernate.AttachmentMgtDAOFactoryImpl.getAttachmentInfoFromURL operation failed. " + "Reason: " + e.getLocalizedMessage();
log.error(errorMsg, e);
throw new AttachmentMgtException(errorMsg, e);
}
}
use of org.wso2.carbon.attachment.mgt.api.attachment.Attachment in project carbon-business-process by wso2.
the class AttachmentMgtDAOTransformerFactoryImpl method convertAttachment.
@Override
public AttachmentDAO convertAttachment(Attachment attachment) throws AttachmentMgtException {
AttachmentDAO attachmentDAO = new AttachmentDAOImpl();
attachmentDAO.setName(attachment.getName());
attachmentDAO.setCreatedBy(attachment.getCreatedBy());
attachmentDAO.setContent(attachment.getContent());
attachmentDAO.setContentType(attachment.getContentType());
return attachmentDAO;
}
use of org.wso2.carbon.attachment.mgt.api.attachment.Attachment in project carbon-business-process by wso2.
the class AttachmentManagerService method getAttachmentInfoFromURL.
/**
* {@inheritDoc}
*/
@Override
public TAttachment getAttachmentInfoFromURL(final String attachmentURL) throws AttachmentMgtException {
try {
// Extracting the attachment uri
String attachmentUniqueID = attachmentURL.substring(attachmentURL.lastIndexOf("/") + 1);
AttachmentDAO attachmentDAO = getDaoConnectionFactory().getDAOConnection().getAttachmentMgtDAOFactory().getAttachmentInfoFromURL(attachmentUniqueID);
Attachment attachment = getDaoTransformFactory().convertAttachment(attachmentDAO);
return TransformerUtil.convertAttachment(attachment);
} catch (org.wso2.carbon.attachment.mgt.core.exceptions.AttachmentMgtException e) {
String errorMsg = "org.wso2.carbon.attachment.mgt.core.service.AttachmentManagerService.getAttachmentInfoFromURL operation failed. " + "Reason:" + e.getLocalizedMessage();
log.error(errorMsg, e);
throw new AttachmentMgtException(errorMsg, e);
}
}
Aggregations