Package org.apache.slide.content

Examples of org.apache.slide.content.NodeRevisionContent


            if (property == null)
                revisionDescriptor.setProperty(propertyName, propertyNamespace,
                                               propertyValue);
        }
       
        NodeRevisionContent revisionContent = null;
       
        if ((revisionDescriptors != null)
            && (revisionDescriptors.hasRevisions())) {
           
            try {
View Full Code Here


     * @param revisionDescriptor Node revision descriptor
     */
    public NodeRevisionContent retrieveRevisionContent
        (Uri uri, NodeRevisionDescriptor revisionDescriptor)
        throws ServiceAccessException, RevisionNotFoundException {
        NodeRevisionContent revisionContent = null;
        if (isForceStoreEnlistment(uri)) {
            enlist(contentStore);
            try {
                revisionContent =
                    contentStore.retrieveRevisionContent
                    (uri, revisionDescriptor);
            } catch (ServiceAccessException e) {
                delist(contentStore, false);
                throw e;
            } catch (RevisionNotFoundException e) {
                // Normal read failures aren't considered fatal
                delist(contentStore);
                throw e;
            } catch (Throwable t) {
                delist(contentStore, false);
                // Wrap everything else in a ServiceAccessException
                throw new ServiceAccessException
                    (contentStore, t);
            }
            delist(contentStore);
        } else {
            try {
                revisionContent =
                    contentStore.retrieveRevisionContent
                    (uri, revisionDescriptor);
            } catch (ServiceAccessException e) {
                throw e;
            } catch (RevisionNotFoundException e) {
                throw e;
            } catch (Throwable t) {
                // Wrap everything else in a ServiceAccessException
                throw new ServiceAccessException
                    (contentStore, t);
            }
        }
        revisionContent.validate();
        return revisionContent;
    }
View Full Code Here

            NodeRevisionDescriptors sourceNrds =
                contentHelper.retrieve(token, sourceNode.getUri());
            if (sourceNrds.hasRevisions()) {
                NodeRevisionDescriptor sourceNrd =
                    contentHelper.retrieve(token, sourceNrds);
                NodeRevisionContent sourceNrc = null;
                if (sourceNrd.getContentLength() > 0) {
                    sourceNrc =
                        contentHelper.retrieve(token, sourceNrds, sourceNrd);
                }
               
View Full Code Here

            if (txId != null) {
                is = rm.readResource(txId, revisionUri);
            } else {
                is = rm.readResource(revisionUri);
            }
            NodeRevisionContent result = new NodeRevisionContent();
            result.setContent(is);
            return result;
        } catch (ResourceManagerException e) {
            if (e.getStatus() == ResourceManagerException.ERR_NO_SUCH_RESOURCE) {
                throw new RevisionNotFoundException(uri.toString(), revisionDescriptor.getRevisionNumber());
            } else {
View Full Code Here

            super.close();

            byte[] bytes = new byte[0]; // must be initialized

            try {
                NodeRevisionContent content = new NodeRevisionContent();
                bytes = toByteArray();
                content.setContent(bytes);

                if (m_descriptor == null) {
                    m_descriptor = new NodeRevisionDescriptor(0);
                    m_descriptor.setName(getName());
                }

                m_descriptor.setContentLength(bytes.length);
                m_descriptor.setLastModified(new Date());

                m_nat.begin();
                if (m_version == null) {
                    m_content.create(m_slideToken,m_uri,m_descriptor,null);
                }
                m_content.store(m_slideToken,m_uri,m_descriptor,content);
                try {
                    m_nat.commit();
                } catch (Exception cme) {
                    throw new CascadingIOException("Could not commit the transaction",cme);
                }

            } catch (ObjectNotFoundException e) {
               
                // Todo : Check to see if parent exists
                SubjectNode subject = new SubjectNode();

                try {
                    // Creating an object
                    m_structure.create(m_slideToken,subject,m_uri);
                } catch (SlideException se) {
                    throw new CascadingIOException(se);
                }

                NodeRevisionDescriptor descriptor = new NodeRevisionDescriptor(bytes.length);
                descriptor.setResourceType("");
                descriptor.setSource("");
                descriptor.setContentLanguage("en");
                descriptor.setContentLength(bytes.length);
                String contentType = null;

                try {
                    contentType = ((org.apache.cocoon.environment.Context)
                        m_context.get(Constants.CONTEXT_ENVIRONMENT_CONTEXT)).getMimeType(m_path);
                } catch (ContextException ce) {
                    this.logger.warn("Could not get context to determine the mime type.");
                }
                if (contentType == null) {
                    contentType = "application/octet-stream";
                }
                descriptor.setContentType(contentType);
                descriptor.setLastModified(new Date());
                descriptor.setOwner(m_slideToken.getCredentialsToken().getPublicCredentials());
                NodeRevisionContent content = new NodeRevisionContent();
               
                content.setContent(bytes);
                try {
                    m_content.create(m_slideToken,m_uri,descriptor,content);
                    try {
                        m_nat.commit();
                    } catch (Exception cme) {
View Full Code Here

                    versioningHelper.checkout(revisionDescriptors, revisionDescriptor, false, false, true );
                    mustCheckIn = versioningHelper.mustCheckinAutoVersionedVCR(slideToken, revisionDescriptors, revisionDescriptor);
                }
                // Changed for DeltaV --end--
               
                NodeRevisionContent revisionContent =
                    new NodeRevisionContent();
                //revisionContent.setContent(req.getReader());
               
                revisionContent.setContent(req.getInputStream());
               
                // Get content length
                int contentLength = req.getContentLength();
                if (contentLength == (-1)) {
                  contentLength = revisionContent.getContentBytes().length;
                }
                revisionDescriptor.setContentLength(contentLength);
               
                // Last modification date
                revisionDescriptor.setLastModified(new Date());
               
                // Etag generation
                revisionDescriptor.setETag(PropertyHelper.computeEtag(resourcePath, revisionDescriptor) );
               
                // Get content type (allow content-type to be updated here)
                String contentType = req.getContentType();
                if (contentType == null) {
                    contentType = getConfig().getServletContext()
                        .getMimeType(resourcePath);
                }
                if (contentType == null) {
                    contentType = getConfig().getDefaultMimeType();
                }
                revisionDescriptor.setContentType(contentType);
               
                // Normally assume the 'getcontentlanguage'
                // is set, however, before we clear the
                // 'resourcetype' need to check for the case when a
                // 'lock-null' is created just before the initial PUT. In
                // that case need to add the missing properties.
                if (isLockNull(revisionDescriptor)) {
                    //              if (revisionDescriptor.getResourceType().equals("<lock-null/>")) {
                    isLockedNullResource = true;
                    revisionDescriptor.setContentLanguage("en");
                   
                    // Changed for DeltaV --start--
                    if( Configuration.useVersionControl() ) {
                        // Workspace
                        versioningHelper.setWorkspaceProperty( resourcePath, revisionDescriptor );
                    }
                    // Changed for DeltaV --end--
                }
               
                // Resource type
                revisionDescriptor.setResourceType("");
               
                // Owner
                if ( isLockedNullResource ) {
                    // set the owner when updating a lock-null resource
                    String creator = ((SubjectNode)security.getPrincipal(slideToken)).getPath().lastSegment();
                    revisionDescriptor.setCreationUser(creator);
                    revisionDescriptor.setOwner(creator);
                }
               
                content.store(slideToken, resourcePath, revisionDescriptor,
                              revisionContent);
               
                // Changed for DeltaV --start--
                // check if the resource should be put under version-control
                if ( isLockedNullResource ) {
                    if ( Configuration.useVersionControl() && isAutoVersionControl(resourcePath) && !isExcludedForVersionControl(resourcePath) ) {
                        versioningHelper.versionControl(resourcePath);
                    }
                }
                if( Configuration.useVersionControl() && mustCheckIn) {
                    versioningHelper.checkin(revisionDescriptors, revisionDescriptor, false, false, true ); //forkOk=false, keepCheckedOut=false
                }
                // Changed for DeltaV --end--
               
               
                // ETag header
                resp.setHeader("ETag", revisionDescriptor.getETag() );
               
                resp.setStatus(WebdavStatus.SC_NO_CONTENT);
               
            } catch (LinkedObjectNotFoundException e) {
                int statusCode = getErrorCode( e );
                sendError( statusCode, e );
                throw new WebdavException( statusCode );
            } catch (ObjectNotFoundException e) {
                SubjectNode subject = new SubjectNode();
                // Creating an object
                structure.create(slideToken, subject, resourcePath);
               
                NodeRevisionDescriptor revisionDescriptor =
                    new NodeRevisionDescriptor(req.getContentLength());
               
                ResourceInfo resourceInfo =
                    new ResourceInfo(resourcePath, revisionDescriptor);
                resourceInfo.exists = false;
               
                // Checking If headers
                if (!checkIfHeaders(req, resp, resourceInfo)) {
                    int statusCode = WebdavStatus.SC_PRECONDITION_FAILED;
                    sendError( statusCode, "Check If Header failed" );
                    throw new WebdavException( statusCode );
                }
               
                //NodeProperty property = null;
               
                // Creation date
               
                // Resource type
                revisionDescriptor.setResourceType("");
               
                // Source
                revisionDescriptor.setSource("");
               
                // Get content language
                revisionDescriptor.setContentLanguage("en");
               
                // Get content type
                String contentType = req.getContentType();
                if (contentType == null) {
                    contentType = getConfig().getServletContext()
                        .getMimeType(resourcePath);
                }
                if (contentType == null) {
                    contentType = getConfig().getDefaultMimeType();
                }
                revisionDescriptor.setContentType(contentType);
               
                // Last modification date
                revisionDescriptor.setLastModified(new Date());
               
                // Etag generation
                revisionDescriptor.setETag(PropertyHelper.computeEtag(resourcePath, revisionDescriptor));
               
                // Creation date
                revisionDescriptor.setCreationDate(new Date());
               
                // Owner
                String creator = ((SubjectNode)security.getPrincipal(slideToken)).getPath().lastSegment();
                revisionDescriptor.setCreationUser(creator);
                revisionDescriptor.setOwner(creator);
               
                // Added for DeltaV --start--
                if( Configuration.useVersionControl() ) {
                    // Workspace
                    versioningHelper.setWorkspaceProperty( resourcePath, revisionDescriptor );
                }
                // Added for DeltaV --end--
               
                if (isMsProprietarySupport()) {
                    NodeProperty property = null;
                    // Is hidden
                    property = new NodeProperty("ishidden", "0", "MICROSOFT");
                    revisionDescriptor.setProperty(property);
                   
                    // Is collection
                    property = new NodeProperty("iscollection", "0",
                                                "MICROSOFT");
                    revisionDescriptor.setProperty(property);
                   
                    // Is read only
                    property = new NodeProperty("isreadonly", "0",
                                                "MICROSOFT");
                    revisionDescriptor.setProperty(property);
                   
                    // Last accessed
                    property = new NodeProperty("lastaccessed",
                                                    (new Date()).toString(),
                                                "MICROSOFT");
                    revisionDescriptor.setProperty(property);
                   
                }
               
                // Creating revisionDescriptor associated with the object
                NodeRevisionContent revisionContent =
                    new NodeRevisionContent();
                revisionContent.setContent(req.getInputStream());
               
                // Get content length
                int contentLength = req.getContentLength();
                if (contentLength == -1) {
                    contentLength = revisionContent.getContentBytes().length;
                }
                revisionDescriptor.setContentLength(contentLength);
               
                content.create(slideToken, resourcePath, revisionDescriptor,
                               revisionContent);
View Full Code Here

            if (property == null)
                revisionDescriptor.setProperty(propertyName, propertyNamespace,
                                               propertyValue);
        }
       
        NodeRevisionContent revisionContent = null;
       
        if ((revisionDescriptors != null)
            && (revisionDescriptors.hasRevisions())) {
           
            try {
View Full Code Here

  // -------------------------------------------------- ContentStore Methods ----------

  public NodeRevisionContent retrieveRevisionContent(
      Uri uri, NodeRevisionDescriptor revisionDescriptor )
      throws ServiceAccessException, RevisionNotFoundException {
    NodeRevisionContent nrc = new NodeRevisionContent();
    nrc.setContent( new char[0] );
    return nrc;
  }
View Full Code Here

            // Resource type
            XMLValue lockNull = new XMLValue(new Element(E_LOCKNULL, DNSP));
            revisionDescriptor.setResourceType(lockNull.toString());

            NodeRevisionContent nrc = new NodeRevisionContent();
            nrc.setContent(new byte[0]);

            // Creating the revision descriptor
            content.create(slideToken, lockInfo_lockSubject, revisionDescriptor, nrc);
        }
        return toLockSubject;
View Full Code Here

            NodeRevisionDescriptors sourceNrds =
                contentHelper.retrieve(token, sourceNode.getUri());
            if (sourceNrds.hasRevisions()) {
                NodeRevisionDescriptor sourceNrd =
                    contentHelper.retrieve(token, sourceNrds);
                NodeRevisionContent sourceNrc = null;
                if (sourceNrd.getContentLength() > 0) {
                    sourceNrc =
                        contentHelper.retrieve(token, sourceNrds, sourceNrd);
                }
               
View Full Code Here

TOP

Related Classes of org.apache.slide.content.NodeRevisionContent

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.