/** * {@inheritDoc} * * @see org.prowim.dms.alfresco.ContentService#updateContent(byte[], java.lang.String, * java.lang.String, java.lang.String, java.lang.String, boolean) */ @Interceptors(AuthenticationInterceptor.class) public VersionResult updateContent( byte[] content, String name, String mimeType, String frameID, String username, boolean createNewVersion) throws OntologyErrorException, DMSException { Validate.notNull(content); Validate.notNull(name); Validate.notNull(mimeType); Validate.notNull(frameID); ContentFormat contentFormat = new ContentFormat(mimeType, DMSConstants.ENCODING); try { DocumentIdentification documentIdentification = documentManagement.getDocumentIdentification(frameID); Content contentRef = getContentService() .write( this.getReference( documentIdentification.getPath(), documentIdentification.getUuid(), DMSStoreRegistry.STORE_REF), Constants.PROP_CONTENT, content, contentFormat); if (createNewVersion) { return createNewVersion(name, username, contentRef.getNode().getUuid()); } /** Set the document identification. */ documentManagement.setDocumentIdentification(contentRef.getNode().getUuid(), null, frameID); if (this.commonBean.getDirectClassOfInstance(frameID).equals(Relation.Classes.KNOWLEDGE_LINK)) documentManagement.bindDocument( contentRef.getNode().getUuid(), name, frameID, getLastVersionLabel(contentRef.getNode())); return null; } catch (ContentFault e) { String message = "Could not update content: "; LOG.error(message, e); DMSFault dmsFault = new DMSFault(); dmsFault.setMessage(message); throw new DMSException(message, dmsFault, e.getCause()); } catch (RemoteException e) { String message = "Could not create connection: "; LOG.error(message, e); DMSFault dmsFault = new DMSFault(); dmsFault.setMessage(message); throw new DMSException(message, dmsFault, e.getCause()); } }
/** * {@inheritDoc} * * @see org.prowim.dms.alfresco.ContentService#writeContent(byte[], java.lang.String, * java.lang.String, java.lang.String, java.lang.String) */ @Interceptors(AuthenticationInterceptor.class) public boolean writeContent( byte[] content, String name, String mimeType, String frameID, String username) throws OntologyErrorException, DMSException { Validate.notNull(content); Validate.notEmpty(name); Validate.notNull(mimeType); Validate.notNull(frameID); ContentServiceSoapBindingStub contentService = getContentService(); ContentFormat contentFormat = new ContentFormat(mimeType, DMSConstants.ENCODING); DMSFault dmsFault; try { if (findFolderOrContent(name) == null) { Reference contentReference = this.createReference(name, organizationEntity.getUser(username).getID()); Content contentRef = contentService.write(contentReference, Constants.PROP_CONTENT, content, contentFormat); makeVersionable(contentReference); documentManagement.setDocumentIdentification(contentRef.getNode().getUuid(), name, frameID); if (this.commonBean .getDirectClassOfInstance(frameID) .equals(Relation.Classes.KNOWLEDGE_LINK)) documentManagement.bindDocument( contentRef.getNode().getUuid(), name, frameID, getLastVersionLabel(contentRef.getNode())); return true; } else return false; } catch (ContentFault e) { String message = "Could not create content: "; LOG.error(message, e); dmsFault = new DMSFault(); dmsFault.setMessage(message); throw new DMSException(message, dmsFault, e.getCause()); } catch (RemoteException e) { String message = "Could not create connection: "; LOG.error(message, e); dmsFault = new DMSFault(); dmsFault.setMessage(message); throw new DMSException(message, dmsFault, e.getCause()); } }