Package org.apache.slide.content

Examples of org.apache.slide.content.NodeRevisionDescriptor


                        return new ViolatedPrecondition(C_VERSION_HISTORY_IS_TREE, WebdavStatus.SC_FORBIDDEN);
                    }
                   
                    // check precondition C_CHECKIN_FORK_FORBIDDEN
                    NodeRevisionNumber predecessorNrn = new NodeRevisionNumber(predecessorUriHandler.getVersionName());
                    NodeRevisionDescriptor predecessorNrd = content.retrieve(stok,
                                                                             vhrNrds,
                                                                             predecessorNrn);
                    NodeProperty predecessorCheckinForkProperty = predecessorNrd.getProperty(P_CHECKIN_FORK);
                    if (predecessorCheckinForkProperty != null) {
                       
                        Enumeration predecessorSuccessors = vhrNrds.getSuccessors(predecessorNrn);
                        if ( (predecessorSuccessors != null) &&
                                (predecessorSuccessors.hasMoreElements()) &&
View Full Code Here


            }
            catch (org.apache.slide.content.RevisionDescriptorNotFoundException e) {
                // The object doesn't have any revision, we create a dummy
                // NodeRevisionDescriptor object
                // isCollection = true;
                revisionDescriptor = new NodeRevisionDescriptor(0);
                revisionDescriptor.setName(new UriPath(objectNode.getUri()).lastSegment());
            }
        }
        catch (AccessDeniedException e) {
            e.fillInStackTrace();
View Full Code Here

                if (href != null) {
                   
                    UriHandler predecessorUriHandler = UriHandler.getUriHandler( href);
                   
                    NodeRevisionNumber predecessorNrn = new NodeRevisionNumber(predecessorUriHandler.getVersionName());
                    NodeRevisionDescriptor predecessorNrd = content.retrieve(sToken,
                                                                             vhrNrds,
                                                                             predecessorNrn);
                    NodeProperty predecessorCheckinForkProperty = predecessorNrd.getProperty(P_CHECKIN_FORK);
                    if (predecessorCheckinForkProperty != null) {
                       
                        Enumeration predecessorSuccessors = vhrNrds.getSuccessors(predecessorNrn);
                        if ( (predecessorSuccessors != null) &&
                            predecessorSuccessors.hasMoreElements() ) {
View Full Code Here

                NodeRevisionDescriptors revisionDescriptors =
                    content.retrieve(slideToken, resourcePath);
               
                NodeRevisionNumber revisionNumber =
                    revisionDescriptors.getLatestRevision();
                NodeRevisionDescriptor oldRevisionDescriptor = null;
                if (revisionNumber != null) {
                    try {
                        oldRevisionDescriptor = content.retrieve
                            (slideToken, revisionDescriptors);
                    } catch (RevisionDescriptorNotFoundException e) {
                    }
                }
                if (WebdavUtils.isCollection(oldRevisionDescriptor)) {
                    int statusCode = WebdavStatus.SC_METHOD_NOT_ALLOWED;
                    sendError( statusCode, getClass().getName()+".mustNotBeCollection" );
                    throw new WebdavException( statusCode );
                }
               
                NodeRevisionDescriptor revisionDescriptor = null;
                if (oldRevisionDescriptor == null) {
                    revisionDescriptor = new NodeRevisionDescriptor();
                } else {
                    revisionDescriptor = oldRevisionDescriptor;
                    revisionDescriptor.setContentLength(-1);
                }
               
                ResourceKind resourceKind = AbstractResourceKind.determineResourceKind(token, resourcePath, revisionDescriptor);
               
                versioningHelper.isWriteLocked(slideToken, revisionDescriptors);
               
                // check preconditions
                ViolatedPrecondition violatedPrecondition = getPreconditionViolation(revisionDescriptors, revisionDescriptor, resourceKind);
                if (violatedPrecondition != null) {
                    throw new PreconditionViolationException(violatedPrecondition, resourcePath);
                }
               
                // Changed for DeltaV --start--
                boolean mustCheckIn = false;
                if( Configuration.useVersionControl() &&
                       (resourceKind instanceof CheckedInVersionControlled) &&
                   versioningHelper.mustCheckoutAutoVersionedVCR(revisionDescriptors, revisionDescriptor) ) {
                   
                    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
                revisionDescriptor.setContentLength(req.getContentLength());
               
                // 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() && AUTO_VERSION_CONTROL && !isInVersioncontrolExcludePath ) {
                        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());
               
                //NodeProperty property = null;
               
                // Creation date
               
                // Resource type
                revisionDescriptor.setResourceType("");
               
                // Source
                revisionDescriptor.setSource("");
               
                // Get content language
                revisionDescriptor.setContentLanguage("en");
               
                // Get content length
                revisionDescriptor.setContentLength(req.getContentLength());
               
                // 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());
               
                content.create(slideToken, resourcePath, revisionDescriptor,
                               revisionContent);
               
                // check if the resource should be put under version-control
                if ( Configuration.useVersionControl() && AUTO_VERSION_CONTROL && !isInVersioncontrolExcludePath ) {
                    versioningHelper.versionControl(resourcePath);
                }
               
                // ETag header
                resp.setHeader("ETag", revisionDescriptor.getETag() );
               
                resp.setStatus(WebdavStatus.SC_CREATED);
               
            }
        }
View Full Code Here

     * @throws     SlideException
     */
    public void update(String vcrUri, String vrUri) throws SlideException {
       
        NodeRevisionDescriptors vcrRevisionDescriptors = content.retrieve( sToken,vcrUri );
        NodeRevisionDescriptor vcrRevisionDescriptor = content.retrieve( sToken, vcrRevisionDescriptors);
       
        NodeRevisionDescriptors vrRevisionDescriptors = content.retrieve( sToken, vrUri );
        NodeRevisionDescriptor vrRevisionDescriptor = content.retrieve( sToken, vrRevisionDescriptors); // vrUri
       
        update(vcrRevisionDescriptors, vcrRevisionDescriptor, vrRevisionDescriptors, vrRevisionDescriptor);
    }
View Full Code Here

     *
     * @throws     SlideException
     */
    protected void backupSpecificLiveProperties(NodeRevisionDescriptors rNrds, NodeRevisionDescriptor rNrd) throws SlideException {
       
        NodeRevisionDescriptor backupNrd =
            new NodeRevisionDescriptor( NodeRevisionNumber.HIDDEN_0_0, "backup", new Vector(), new Hashtable() );
       
        NodeProperty p;
       
        p = rNrd.getProperty( P_AUTO_VERSION );
        if( p != null )
            backupNrd.setProperty( p );
       
        p = rNrd.getProperty( P_COMMENT );
        if( p != null )
            backupNrd.setProperty( p );
       
        p = rNrd.getProperty( P_DISPLAYNAME );
        if( p != null )
            backupNrd.setProperty( p );
       
        p = rNrd.getProperty( P_CREATOR_DISPLAYNAME );
        if( p != null )
            backupNrd.setProperty( p );
       
        try {
            content.retrieve( sToken, rNrds, NodeRevisionNumber.HIDDEN_0_0 );
            content.store( sToken, rNrds.getUri(), backupNrd, null );
        }
View Full Code Here

     *
     * @throws     SlideException
     */
    protected void restoreSpecificLiveProperties(NodeRevisionDescriptors rNrds, NodeRevisionDescriptor rNrd) throws SlideException {
       
        NodeRevisionDescriptor backupNrd =
            content.retrieve(sToken, rNrds, NodeRevisionNumber.HIDDEN_0_0);
       
        NodeProperty p;
       
        p = backupNrd.getProperty( P_AUTO_VERSION );
        if( p != null )
            rNrd.setProperty( p );
       
        p = backupNrd.getProperty( P_COMMENT );
        if( p != null )
            rNrd.setProperty( p );
       
        p = backupNrd.getProperty( P_DISPLAYNAME );
        if( p != null )
            rNrd.setProperty( p );
       
        p = backupNrd.getProperty( P_CREATOR_DISPLAYNAME );
        if( p != null )
            rNrd.setProperty( p );
       
        content.store(sToken, rNrds.getUri(), rNrd, null);
    }
View Full Code Here

     *
     * @throws     SlideException
     */
    public boolean mustCheckoutAutoVersionedVCR(String resourceUri) throws SlideException {
        NodeRevisionDescriptors vcrRevisionDescriptors = content.retrieve(sToken,resourceUri);
        NodeRevisionDescriptor vcrRevisionDescriptor = content.retrieve( sToken, vcrRevisionDescriptors);
        return mustCheckoutAutoVersionedVCR(vcrRevisionDescriptors, vcrRevisionDescriptor);
    }
View Full Code Here

     *
     * @throws    SlideException
     */
    public boolean mustCheckinAutoVersionedVCR(SlideToken slideToken, String resourceUri) throws SlideException {
        NodeRevisionDescriptors vcrRevisionDescriptors = content.retrieve(sToken,resourceUri);
        NodeRevisionDescriptor vcrRevisionDescriptor = content.retrieve( sToken, vcrRevisionDescriptors);
        return mustCheckinAutoVersionedVCR(slideToken, vcrRevisionDescriptors, vcrRevisionDescriptor);
    }
View Full Code Here

     */
    private static String getLabeledResourceUri(NamespaceAccessToken nsaToken, SlideToken sToken, Content content, String resourcePath, String label) throws SlideException, LabeledRevisionNotFoundException {
       
        NodeRevisionDescriptors revisionDescriptors =
            content.retrieve( sToken, resourcePath );
        NodeRevisionDescriptor revisionDescriptor =
            content.retrieve( sToken, revisionDescriptors);
        ResourceKind resourceKind = AbstractResourceKind.determineResourceKind( nsaToken, resourcePath, revisionDescriptor);
       
        if ( (resourceKind instanceof VersionControlled) && (label != null) ) {
            String vrUri = getUriOfAssociatedVR(nsaToken, sToken, content, revisionDescriptors.getUri());
View Full Code Here

TOP

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

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.