Package org.apache.slide.content

Examples of org.apache.slide.content.NodeRevisionDescriptors


     *
     * @throws   SlideException
     * @throws   IOException
     */
    public void execute(String resourcePath, Element multistatusElm, int depth) throws SlideException, IOException {
        NodeRevisionDescriptors nrds = content.retrieve(slideToken, resourcePath);
        NodeRevisionDescriptor nrd = content.retrieve(slideToken, nrds);
        Enumeration permissions = security.enumeratePermissions(slideToken, resourcePath, true);
        while (permissions != null && permissions.hasMoreElements()) {
            NodePermission p = (NodePermission)permissions.nextElement();
            SubjectNode principalNode = SubjectNode.getSubjectNode(p.getSubjectUri());
View Full Code Here


            revisionDefinition.getConfigurations("property");
       
        // Now creating the new revision descriptor object
        NodeRevisionDescriptor revisionDescriptor = null;
       
        NodeRevisionDescriptors revisionDescriptors = null;
        try {
            revisionDescriptors = accessToken.getContentHelper().retrieve
                (token, uri);
        } catch (ObjectLockedException e) {
            // Ignore
        }
        if ((revisionDescriptors != null)
            && (revisionDescriptors.hasRevisions())) {
            try {
                revisionDescriptor = accessToken.getContentHelper().retrieve
                    (token, revisionDescriptors);
            } catch (RevisionDescriptorNotFoundException e) {
                // Ignore
            } catch (ObjectLockedException e) {
                // Ignore
            }
        }
        if (revisionDescriptor == null) {
            revisionDescriptor = new NodeRevisionDescriptor(0);
        }
       
        while (propertyDefinitions.hasMoreElements()) {
            Configuration propertyDefinition =
                (Configuration) propertyDefinitions.nextElement();
            String propertyName = propertyDefinition.getAttribute("name");
            String propertyValue = propertyDefinition.getValue();
            String propertyNamespace = propertyDefinition.getAttribute
                ("namespace", NodeProperty.DEFAULT_NAMESPACE);
            NodeProperty property = revisionDescriptor.getProperty
                (propertyName, propertyNamespace);
            if (property == null)
                revisionDescriptor.setProperty(propertyName, propertyNamespace,
                                               propertyValue);
        }
       
        NodeRevisionContent revisionContent = null;
       
        if ((revisionDescriptors != null)
            && (revisionDescriptors.hasRevisions())) {
           
            try {
                revisionContent = accessToken.getContentHelper()
                    .retrieve(token, uri, revisionDescriptor);
            } catch (RevisionContentNotFoundException e) {
View Full Code Here

        // 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);
        if ( ! (resourceKind instanceof CheckedInVersionControlled) ) {
            return new ViolatedPrecondition(DeltavConstants.C_MUST_BE_CHECKED_IN_VERSION_CONTROLLED_RESOURCE,
                                            WebdavStatus.SC_CONFLICT);
        }

        if (updateSourceLabel != null) {
            try {
                updateSourcePath = versioningHelper.getLabeledResourceUri(resourcePath, updateLabelName);
            }
            catch (LabeledRevisionNotFoundException e) {
                return new ViolatedPrecondition(DeltavConstants.C_MUST_SELECT_VERSION_IN_HISTORY,
                                                WebdavStatus.SC_CONFLICT);
            }
        }

        String associatedVrUri = versioningHelper.getUriOfAssociatedVR(resourcePath);
        String vcrHistoryUri = UriHandler.getUriHandler(associatedVrUri).getAssociatedHistoryUri();
        UriHandler vrUriHandler = UriHandler.getUriHandler(updateSourcePath);
        boolean isVersionOfVcrHistory = false;
        if (vrUriHandler.isVersionUri() &&
            vcrHistoryUri.equals(vrUriHandler.getAssociatedHistoryUri()) ) {

            NodeRevisionDescriptors vrDescriptors =
                content.retrieve(stoken, updateSourcePath);
            try {
                NodeRevisionDescriptor vrDescriptor =
                    content.retrieve(stoken, vrDescriptors);
                isVersionOfVcrHistory = true;
View Full Code Here

     * @exception RevisionDescriptorNotFoundException Revision descriptor
     * was not found
     */
    public NodeRevisionDescriptors retrieveRevisionDescriptors(Uri uri)
        throws ServiceAccessException, RevisionDescriptorNotFoundException {
        NodeRevisionDescriptors revisionDescriptors = null;
        if (isForceStoreEnlistment(uri)) {
            enlist(revisionDescriptorsStore);
            try {
                revisionDescriptors =
                    revisionDescriptorsStore.retrieveRevisionDescriptors(uri);
            } catch (ServiceAccessException e) {
                delist(revisionDescriptorsStore, false);
                throw e;
            } catch (RevisionDescriptorNotFoundException e) {
                // Normal read failures aren't considered fatal
                delist(revisionDescriptorsStore);
                throw e;
            } catch (Throwable t) {
                delist(revisionDescriptorsStore, false);
                // Wrap everything else in a ServiceAccessException
                throw new ServiceAccessException
                    (revisionDescriptorsStore, t);
            }
            delist(revisionDescriptorsStore);
        } else {
            try {
                revisionDescriptors =
                    revisionDescriptorsStore.retrieveRevisionDescriptors(uri);
            } catch (ServiceAccessException e) {
                throw e;
            } catch (RevisionDescriptorNotFoundException e) {
                throw e;
            } catch (Throwable t) {
                // Wrap everything else in a ServiceAccessException
                throw new ServiceAccessException
                    (revisionDescriptorsStore, t);
            }
        }
        revisionDescriptors.validate(uri.toString());
        return revisionDescriptors;
    }
View Full Code Here

        Element responseElement = new Element(E_RESPONSE, DNSP);
       
        String status = new String(HTTP_VERSION + WebdavStatus.SC_OK + " "
                                       + WebdavStatus.getStatusText
                                       (WebdavStatus.SC_OK));
        NodeRevisionDescriptors revisionDescriptors = null;
        NodeRevisionDescriptor revisionDescriptor = null;
       
        boolean isCollection = false;
       
        NodeLock objectLockToken = null;
View Full Code Here

                // The copy should definitely succeed anyway,
                // so we silently catch the exception.
            }
           
            // Now copying revision descriptors and content
            NodeRevisionDescriptors sourceNrds =
                contentHelper.retrieve(token, sourceNode.getUri());
            if (sourceNrds.hasRevisions()) {
                NodeRevisionDescriptor sourceNrd =
                    contentHelper.retrieve(token, sourceNrds);
                NodeRevisionContent sourceNrc = null;
                if (sourceNrd.getContentLength() > 0) {
                    sourceNrc =
View Full Code Here

                // notify DeleteListener
                if (deleteListener != null) {
                    deleteListener.beforeDelete(targetUri);
                }
               
                NodeRevisionDescriptors revisionDescriptors =
                    contentHelper.retrieve(token, currentObject.getUri());
              
                // remove the associated locks
                Enumeration locks = lockHelper.enumerateLocks
                    (token, currentObject.getUri(), false);
                while (locks.hasMoreElements()) {
                    lockHelper.unlock(token, (NodeLock) locks.nextElement());
                }
                // remove the associated security
                Enumeration permissions = securityHelper.enumeratePermissions
                    (token, currentObject);
                while (permissions.hasMoreElements()) {
                    NodePermission permission =
                        (NodePermission) permissions.nextElement();
                    securityHelper.revokePermission(token, permission);
                }
               
                // remove all revisions
                if( !revisionDescriptors.isRedirected() ) {
                    Enumeration revisionNumberEnum =
                        revisionDescriptors.enumerateRevisionNumbers();
                    if (revisionNumberEnum != null) {
                        while (revisionNumberEnum.hasMoreElements()) {
                            contentHelper.remove
                                (token, currentObject.getUri(),
                                     (NodeRevisionNumber)revisionNumberEnum.nextElement());
View Full Code Here

    public void setVersioningHelper(VersioningHelper versioningHelper) {
        this.versioningHelper = versioningHelper;
    }
   
    private void writeReport(String resourcePath, Element multistatusElm) throws SlideException {
        NodeRevisionDescriptors nrds = content.retrieve(slideToken, resourcePath);
        NodeRevisionDescriptor nrd = content.retrieve(slideToken, nrds);
        ResourceKind resourceKind =
            AbstractResourceKind.determineResourceKind(token, nrds, nrd);
       
        if (resourceKind instanceof VersionControlled) {
View Full Code Here

    }
   
    private void writeReport(String resourcePath, Element multistatusElm, List propertyElmList) {
       
        try {
            NodeRevisionDescriptors nrds = content.retrieve(slideToken, resourcePath);
            NodeRevisionDescriptor nrd = content.retrieve(slideToken, nrds);
           
            Element response = getResponseElement(slideToken,
                                                  resourcePath,
                                                  nrd.getRevisionNumber(),
View Full Code Here

        NodeRevisionNumber aInitialRevision=decodeRevisionNumber(aRevisionsHistory.getAttributeValue("initialRevision"));
        boolean aUseVersionning=new Boolean(aRevisionsHistory.getAttributeValue("useVersioning")).booleanValue();

        Element aBranchesElement=aRevisionsHistory.getChild("branches");
        if (aBranchesElement==null) {
            revisionDescriptors=new NodeRevisionDescriptors(
                object.getUri().toString(),aInitialRevision,new Hashtable(),new Hashtable(),new Hashtable(),aUseVersionning);
                return;
        }
       
        List aList=aBranchesElement.getChildren();
        Hashtable aLastestRevisions=new Hashtable();
        for (int i=0;i<aList.size();i++) {
            Element aChild=(Element)aList.get(i);
            String aName=aChild.getAttributeValue("name");
            NodeRevisionNumber aRevisionNumber=decodeRevisionNumber(aChild.getAttributeValue("lastestRevision"));
            aLastestRevisions.put(aName,aRevisionNumber);
        }
        Hashtable aBranches=new Hashtable();
        Element aRevisionsElement=aRevisionsHistory.getChild("revisions");
        aList=aRevisionsElement.getChildren();
        for (int i=0;i<aList.size();i++) {
            Element aChild=(Element)aList.get(i);
            NodeRevisionNumber aStartNumber=decodeRevisionNumber(aChild.getAttributeValue("start"));
            List aSuccessors=aChild.getChildren();
            Vector aSuccessorsNumbers=new Vector();
            for (int k=0;k<aSuccessors.size();k++) {
                Element aSuccessor=(Element)aSuccessors.get(k);
                NodeRevisionNumber aRevisionNumber=decodeRevisionNumber(aSuccessor.getAttributeValue("number"));
                aSuccessorsNumbers.addElement(aRevisionNumber);
            }
            aBranches.put(aStartNumber,aSuccessorsNumbers);
        }
        revisionDescriptors=new NodeRevisionDescriptors(
                object.getUri().toString(),aInitialRevision,new Hashtable(),aLastestRevisions,aBranches,aUseVersionning);
    }
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.