Package org.apache.slide.content

Examples of org.apache.slide.content.NodeRevisionDescriptors


    protected ViolatedPrecondition getPreconditionViolation(String resourcePath) throws SlideException {
        // use a non-blocking slide token.
        SlideToken stoken = readonlySlideToken();
       
        ViolatedPrecondition violatedPrecondition = null;
        NodeRevisionDescriptors revisionDescriptors =
            content.retrieve( stoken, resourcePath);
        NodeRevisionDescriptor revisionDescriptor =
            content.retrieve( stoken, revisionDescriptors);
        ResourceKind resourceKind = AbstractResourceKind.determineResourceKind(token, revisionDescriptors, revisionDescriptor);
       
        // check <DAV:must-be-checked-in>
        if ( (resourceKind instanceof VersionControlled) &&
            !(resourceKind instanceof CheckedInVersionControlled) ) {
            return new ViolatedPrecondition(DeltavConstants.C_MUST_BE_CHECKED_IN,
                                            WebdavStatus.SC_CONFLICT);
        }
       
        // check <DAV:must-select-version-in-history>
        if ( (resourceKind instanceof VersionControlled) &&
                (labelHeader != null) ) {
            try {
                versioningHelper.getLabeledResourceUri(resourcePath, labelHeader);
            }
            catch (LabeledRevisionNotFoundException e) {
                return new ViolatedPrecondition(DeltavConstants.C_MUST_SELECT_VERSION_IN_HISTORY,
                                                WebdavStatus.SC_CONFLICT);
            }
        }
       
        try {
            String slideResourceUri = getResourceUri(resourcePath, labelHeader);
            revisionDescriptors =
                content.retrieve( stoken, slideResourceUri);
            revisionDescriptor =
                content.retrieve( stoken, revisionDescriptors);
            resourceKind = AbstractResourceKind.determineResourceKind(token, revisionDescriptors, revisionDescriptor);
            if (resourceKind instanceof Version) {
               
                // check <DAV:label-must-exist>
                if (DeltavConstants.E_REMOVE.equals(operation)) {
                    if ( ! hasLabel(revisionDescriptor, label) ) {
                        return new ViolatedPrecondition(DeltavConstants.C_LABEL_MUST_EXIST,
                                                        WebdavStatus.SC_CONFLICT);
                    }
                }
               
                try {
                    versioningHelper.retrieveLabeledRevision(revisionDescriptors.getUri(), label);
                    // check <DAV:must-be-new-label>
                    if (DeltavConstants.E_ADD.equals(operation)) {
                        return new ViolatedPrecondition(DeltavConstants.C_MUST_BE_NEW_LABEL,
                                                        WebdavStatus.SC_CONFLICT);
                    }
View Full Code Here


     */
    protected String getResourceUri(String resourcePath, String label) throws SlideException {
       
        String labeledResourceUri = versioningHelper.getLabeledResourceUri(resourcePath,
                                                                           label);
        NodeRevisionDescriptors revisionDescriptors =
            content.retrieve( slideToken,labeledResourceUri);
        NodeRevisionDescriptor revisionDescriptor =
            content.retrieve( slideToken, revisionDescriptors);
        ResourceKind resourceKind = AbstractResourceKind.determineResourceKind(token, revisionDescriptors, revisionDescriptor);
        if (resourceKind instanceof VersionControlled) {
View Full Code Here

        // bug #26913. While the history counter is incremented no other tx can be allowed
        // to access the counter, that's why a write lock that is valid until commit is needed.
        // As this requires locking going through to the store and must thus tunnel caching
        // the other part of the fix is a HACK in ExtendedStore
        synchronized (HISTORY_LOCK) {
            NodeRevisionDescriptors hpathNrds =
                content.retrieve( sToken, hpath );
           
            NodeRevisionDescriptor hpathNrd =
                content.retrieve( sToken, hpathNrds );
           
View Full Code Here

            WorkingresourcePathHandler.getResolvedWorkingresourcePathHandler( nsName, uh );
        Content content = nsaToken.getContentHelper();
       
        String wrpath = wrpathHandler.toString();
       
        NodeRevisionDescriptors wrpathNrds =
            content.retrieve( sToken, wrpath );
       
        NodeRevisionDescriptor wrpathNrd =
            content.retrieve( sToken, wrpathNrds );
       
View Full Code Here

     */
    public void afterCopy(String sourceUri, String destinationUri, boolean isRootOfCopy) throws SlideException {
       
        if(Configuration.useVersionControl()) {
           
            NodeRevisionDescriptors destinationNrds = content.retrieve( slideToken, destinationUri);
            NodeRevisionDescriptor destinationNrd = content.retrieve( slideToken, destinationNrds);
           
            // restore backup descriptor
            restoreBackupRevisionDescriptor(destinationUri, destinationNrds);
           
            NodeRevisionDescriptor existingNrd =
                (NodeRevisionDescriptor)destinationDescriptorMap.get(destinationUri);
            if (existingNrd != null) {
               
                // there has been an existing destination, so restore live properties
                restoreLiveProperties(destinationUri, destinationNrd, existingNrd);
            }
            else {
               
                // DAV:must-not-copy-versioning-property
                resetDeltavProperties(destinationNrd);
            }
           
            // set <workspace> property
            versioningHelper.setWorkspaceProperty(destinationUri, destinationNrd);
           
            // set some other properties
            destinationNrd.setLastModified( new Date() ); // P_GETLASTMODIFIED
            destinationNrd.setETag( PropertyHelper.computeEtag(destinationUri, destinationNrd) ); // P_GETETAG
           
            content.store(slideToken, destinationNrds.getUri(), destinationNrd, null);
           
            // checkin if necessary
            boolean mustCheckin = versioningHelper.mustCheckinAutoVersionedVCR(slideToken, destinationNrds, destinationNrd);
            if (mustCheckin) {
                try {
View Full Code Here

     *                             of the Macro helper (contained in the
     *                             MacroDeleteException.
     */
    private void beforeUpdateOrDelete(String destinationUri) throws SlideException {
        if( Configuration.useVersionControl() ) {
            NodeRevisionDescriptors destinationNrds = null;
            NodeRevisionDescriptor destinationNrd = null;
           
            try {
                destinationNrds = content.retrieve( slideToken, destinationUri);
                destinationNrd = content.retrieve( slideToken, destinationNrds);
View Full Code Here

            String currentResource = (String) resources.nextElement();
            NodeRevisionDescriptor currentDescriptor = null;
            permissionsList = null;
            locksList = null;
            try {
                NodeRevisionDescriptors revisionDescriptors =
                    content.retrieve(slideToken, currentResource);
                // Retrieve latest revision descriptor
                currentDescriptor =
                    content.retrieve(slideToken, revisionDescriptors);
            } catch (SlideException e) {
View Full Code Here

     * @throws     SlideException
     */
    public void afterUnlock(String uri) throws SlideException {
        // Check whether the resource must be checked-in due to auto-versioning semantics.
        Content content = token.getContentHelper();
        NodeRevisionDescriptors revisionDescriptors =
            content.retrieve(slideToken, uri);
        NodeRevisionDescriptor revisionDescriptor =
            content.retrieve(slideToken, revisionDescriptors);
        ResourceKind resourceKind = AbstractResourceKind.determineResourceKind(token, uri, revisionDescriptor);
        if( Configuration.useVersionControl() &&
View Full Code Here

        if( Configuration.useVersionControl() ) {

            if (isRequestSourceWorkspace) {

                UriHandler destinationUriHandler = UriHandler.getUriHandler(destinationUri);
                NodeRevisionDescriptors destinationRevisionDescriptors = null;
                NodeRevisionDescriptor destinationRevisionDescriptor = null;
                try {
                    destinationRevisionDescriptors = content.retrieve( stoken, destinationUri);
                    destinationRevisionDescriptor = content.retrieve( stoken, destinationRevisionDescriptors);
                }
View Full Code Here

                throw new PreconditionViolationException(new ViolatedPrecondition(DeltavConstants.C_CANNOT_RENAME_WORKING_RESOURCE,
                                                                                  WebdavStatus.SC_FORBIDDEN),
                                                         sourceUri);
            }

            NodeRevisionDescriptors sourceRevisionDescriptors =
                content.retrieve( slideToken, sourceUri);
            NodeRevisionDescriptor sourceRevisionDescriptor =
                content.retrieve( slideToken, sourceRevisionDescriptors);
            ResourceKind resourceKind = AbstractResourceKind.determineResourceKind(token,
                                                                                   sourceRevisionDescriptors,
                                                                                   sourceRevisionDescriptor);
            isCopySourceVCR = (resourceKind instanceof VersionControlled);

            // if resource being moved is a checked-out VCR or a WR,
            // update its URI in the DAV:checkout-set property of the VR
            if(resourceKind instanceof CheckedOutVersionControlled || resourceKind instanceof Working) {
                String vrUri =
                    VersioningHelper.getUriOfAssociatedVR(token, slideToken, content, sourceUri);
                NodeRevisionDescriptors vrNrds = content.retrieve(slideToken, vrUri);
                NodeRevisionDescriptor vrNrd = content.retrieve(slideToken, vrNrds);
                try {
                    PropertyHelper.removeHrefFromProperty(vrNrd, P_CHECKOUT_SET, sourceUri);
                    PropertyHelper.addHrefToProperty(vrNrd, P_CHECKOUT_SET, destinationUri);
                    content.store(slideToken, vrNrds.getUri(), vrNrd, null);
                }
                catch (JDOMException e) {
                    throw new SlideException(
                        "Unable to update DAV:checkout-set of "+vrUri+": "+e.getMessage() );
                }
View Full Code Here

TOP

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

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.