/** * @return the attachment name */ public String getFilename() { return this.attachment.getFilename(); }
/** * The attachment's file name. * * @return a simple filename */ public String getFilename() { return this.attachment.getFilename(); }
@Override public int compare(XWikiAttachment attachement1, XWikiAttachment attachement2) { if (attachement1 == null || attachement2 == null) { int result = 0; if (attachement1 != null) { result = -1; } else if (attachement2 != null) { result = 1; } return result; } return attachement1.getFilename().compareTo(attachement2.getFilename()); } });
private void replaceAttachmentInPlace(XWikiDocument doc, XWikiAttachment attachment) { for (ListIterator<XWikiAttachment> it = doc.getAttachmentList().listIterator(); it.hasNext();) { if (StringUtils.equals(it.next().getFilename(), attachment.getFilename())) { it.remove(); it.add(attachment); break; } } }
public XWikiAttachment getAttachment(String filename) { for (XWikiAttachment attach : getAttachmentList()) { if (attach.getFilename().equals(filename)) { return attach; } } for (XWikiAttachment attach : getAttachmentList()) { if (attach.getFilename().startsWith(filename + ".")) { return attach; } } return null; }
@SuppressWarnings(ANOTATE_UNCHECKED) public List<DeletedAttachment> doInHibernate(Session session) throws HibernateException, XWikiException { Criteria c = session.createCriteria(DeletedAttachment.class); if (attachment != null) { c.add(Restrictions.eq(DOC_ID, attachment.getDocId())); if (!StringUtils.isBlank(attachment.getFilename())) { c.add(Restrictions.eq("filename", attachment.getFilename())); } } return c.addOrder(Order.desc(DATE)).list(); } });
public String getMimeType(XWikiContext context) { // Choose the right content type String mimetype = context.getEngineContext().getMimeType(getFilename().toLowerCase()); if (mimetype != null) { return mimetype; } else { return "application/octet-stream"; } }
public int queueAttachments(XWikiDocument document, XWikiContext context) { int retval = 0; final List<XWikiAttachment> attachmentList = document.getAttachmentList(); retval += attachmentList.size(); for (XWikiAttachment attachment : attachmentList) { try { queueAttachment(attachment, context, false); } catch (Exception e) { LOGGER.error("Failed to retrieve attachment [{}] of document [{}]", new Object[] {attachment.getFilename(), document, e}); } } return retval; }
@Override public AttachmentFileProvider getAttachmentFileProvider(final XWikiAttachment attachment) { return new DefaultAttachmentFileProvider(this.getAttachmentDir(attachment), attachment.getFilename()); }
@Override public DeletedAttachmentFileProvider getDeletedAttachmentFileProvider(final XWikiAttachment attachment, final Date deleteDate) { return new DefaultDeletedAttachmentFileProvider( this.getDeletedAttachmentDir(attachment, deleteDate), attachment.getFilename()); }
public void loadContent(XWikiContext context) throws XWikiException { if (this.attachment_content == null) { try { context.getWiki().getAttachmentStore().loadAttachmentContent(this, context, true); } catch (Exception ex) { LOG.warn(String.format("Failed to load content for attachment [%s@%s]. " + "This attachment is broken, please consider re-uploading it. " + "Internal error: %s", getFilename(), (this.doc != null) ? this.doc.getFullName() : "<unknown>", ex.getMessage())); } } }
public XWikiAttachmentArchive loadArchive(XWikiContext context) throws XWikiException { if (this.attachment_archive == null) { try { this.attachment_archive = context.getWiki().getAttachmentVersioningStore().loadArchive(this, context, true); } catch (Exception ex) { LOG.warn(String.format("Failed to load archive for attachment [%s@%s]. " + "This attachment is broken, please consider re-uploading it. " + "Internal error: %s", getFilename(), (this.doc != null) ? this.doc.getFullName() : "<unknown>", ex.getMessage())); } } return this.attachment_archive; }
public synchronized Version[] getVersions() { try { return getAttachment_archive().getVersions(); } catch (Exception ex) { LOG.warn(String.format("Cannot retrieve versions of attachment [%s@%s]: %s", getFilename(), getDoc() .getFullName(), ex.getMessage())); return new Version[] {new Version(this.getVersion())}; } }
public void queueAttachment(XWikiAttachment attachment, XWikiContext context, boolean deleted) { if (attachment != null && context != null) { this.queue.add(new AttachmentData(attachment, context, deleted)); } else { LOGGER.error("Invalid parameters given to {} attachment [{}] of document [{}]", new Object[] { deleted ? "deleted" : "added", attachment == null ? null : attachment.getFilename(), attachment == null || attachment.getDoc() == null ? null : attachment.getDoc().getDocumentReference()}); } }
@Override public byte[] getArchive(final XWikiContext context) throws XWikiException { try { return this.toRCS(context).toByteArray(); } catch (Exception e) { if (e instanceof XWikiException) { throw (XWikiException) e; } Object[] args = { getAttachment().getFilename() }; throw new XWikiException(XWikiException.MODULE_XWIKI_STORE, XWikiException.ERROR_XWIKI_STORE_ATTACHMENT_ARCHIVEFORMAT, GENERIC_EXCEPTION_MESSAGE, e, args); } }
@Override public byte[] getArchive(final XWikiContext context) throws XWikiException { try { return this.toRCS(context).toByteArray(); } catch (Exception e) { if (e instanceof XWikiException) { throw (XWikiException) e; } Object[] args = { getAttachment().getFilename() }; throw new XWikiException(XWikiException.MODULE_XWIKI_STORE, XWikiException.ERROR_XWIKI_STORE_ATTACHMENT_ARCHIVEFORMAT, GENERIC_EXCEPTION_MESSAGE, e, args); } }
protected Attachment newAttachment(Attachment att, XWikiAttachment xAtt, XWikiContext context) { att.setAttDate(xAtt.getDate().getTime()); att.setAuthor(xAtt.getAuthor()); att.setFilename(xAtt.getFilename()); att.setId(xAtt.getId()); att.setImage(xAtt.isImage(context)); att.setMimeType(xAtt.getMimeType(context)); att.setLongSize(xAtt.getLongSize()); att.setDownloadUrl(context.getWiki().getExternalAttachmentURL(xAtt.getDoc().getFullName(), xAtt.getFilename(), context)); return att; }
public AttachmentData(XWikiAttachment attachment, XWikiContext context, boolean deleted) { super(LucenePlugin.DOCTYPE_ATTACHMENT, attachment.getDoc(), context, deleted); setModificationDate(attachment.getDate()); setAuthor(attachment.getAuthor()); setSize(attachment.getFilesize()); setFilename(attachment.getFilename()); setMimeType(attachment.getMimeType(context)); }
@Override public void serialize(final XWikiAttachment attach, final XMLWriter writer) throws IOException { final Element docel = new DOMElement(ROOT_ELEMENT_NAME); docel.addAttribute(SERIALIZER_PARAM, THIS_SERIALIZER); writer.writeOpen(docel); writer.write(new DOMElement(FILENAME).addText(attach.getFilename())); writer.write(new DOMElement(FILESIZE).addText(attach.getFilesize() + "")); writer.write(new DOMElement(AUTHOR).addText(attach.getAuthor())); writer.write(new DOMElement(VERSION).addText(attach.getVersion())); writer.write(new DOMElement(COMMENT).addText(attach.getComment())); writer.write(new DOMElement(DATE).addText(attach.getDate().getTime() + "")); writer.writeClose(docel); } }
@Override public void serialize(final XWikiAttachment attach, final XMLWriter writer) throws IOException { final Element docel = new DOMElement(ROOT_ELEMENT_NAME); docel.addAttribute(SERIALIZER_PARAM, THIS_SERIALIZER); writer.writeOpen(docel); writer.write(new DOMElement(FILENAME).addText(attach.getFilename())); writer.write(new DOMElement(FILESIZE).addText(attach.getLongSize() + "")); writer.write(new DOMElement(AUTHOR).addText(attach.getAuthor())); writer.write(new DOMElement(VERSION).addText(attach.getVersion())); writer.write(new DOMElement(COMMENT).addText(attach.getComment())); writer.write(new DOMElement(DATE).addText(attach.getDate().getTime() + "")); writer.writeClose(docel); } }