Exemplo n.º 1
0
  /**
   * {@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());
    }
  }
Exemplo n.º 2
0
  /**
   * {@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());
    }
  }