Package org.apache.slide.content

Examples of org.apache.slide.content.NodeRevisionDescriptor


                content.retrieve(slideToken, resourcePath);

            if (revisionDescriptors.hasRevisions()) {

                // Retrieve latest revision descriptor
                NodeRevisionDescriptor revisionDescriptor =
                    content.retrieve(slideToken, revisionDescriptors);

                if (revisionDescriptor != null) {

                    ResourceInfo resourceInfo =
                        new ResourceInfo(resourcePath, revisionDescriptor);

                    // Checking If headers
                    if (!checkIfHeaders(req, resp, resourceInfo))
                        return;

                    ServletOutputStream os = resp.getOutputStream();
                    InputStream         is = null;

                    if (printContent) {
                        is = content.retrieve
                            (slideToken, revisionDescriptors,
                             revisionDescriptor).streamContent();
                    }

                    Vector ranges = parseRange(req, resp, resourceInfo);

                    // ETag header
                    resp.setHeader("ETag", revisionDescriptor.getETag() );
                    resp.setHeader
                        ("Content-Language", revisionDescriptor.getContentLanguage());
                    resp.addHeader
                        ("Last-Modified",
                         revisionDescriptor.getLastModified().toString());

                    if ( ((ranges == null) || (ranges.isEmpty()))
                        && (req.getHeader("Range") == null) ) {

                        resp.setContentType
                            (revisionDescriptor.getContentType());
                        resp.setContentLength
                            ((int) revisionDescriptor.getContentLength());

                        // Copy the input stream to our output stream
                        // (if requested)
                        if (printContent) {
                            resp.setBufferSize(output);
                            copy(resourceInfo, is, os);
                        }

                    } else {

                        if ((ranges == null) || (ranges.isEmpty()))
                            return;

                        // Partial content response.

                        resp.setStatus(HttpServletResponse.SC_PARTIAL_CONTENT);

                        if (ranges.size() == 1) {

                            Range range = (Range) ranges.elementAt(0);
                            resp.addHeader("Content-Range", "bytes "
                                               + range.start
                                               + "-" + range.end + "/"
                                               + range.fileLength);
                            resp.setContentLength((int) range.length);
                            resp.setContentType
                                (revisionDescriptor.getContentType());

                            if (printContent) {
                                resp.setBufferSize(output);
                                copy(resourceInfo, is, os, range);
                            }

                        } else {

                            resp.setContentType
                                ("multipart/byteranges; boundary="
                                     + mimeSeparation);

                            if (printContent) {
                                resp.setBufferSize(output);
                                copy(resourceInfo, is, os,
                                     ranges.elements(),
                                     revisionDescriptor.getContentType());
                            }

                        }

                    }
View Full Code Here


                Enumeration locks = lock.enumerateLocks(slideToken, requestUri);
                if (!locks.hasMoreElements()) {

                    NodeRevisionDescriptors revisionDescriptors = content.retrieve(slideToken, requestUri);
                    NodeRevisionDescriptor revisionDescriptor = content.retrieve(slideToken, revisionDescriptors);
                    if (isLockNull(revisionDescriptor)) {
                        content.remove(slideToken, requestUri, revisionDescriptor);
                        content.remove(slideToken, revisionDescriptors);
                        ObjectNode node = structure.retrieve(slideToken, requestUri);
                        structure.remove(slideToken, node);
View Full Code Here

        // use a non-blocking slide token.
        SlideToken stoken = readonlySlideToken();
       
        NodeRevisionDescriptors lowerNrds = null;
        NodeRevisionDescriptor lowerNrd = null;
        try {
            lowerNrds = content.retrieve(stoken, lowerNode.getUri());
            lowerNrd = content.retrieve(stoken, lowerNrds);

            NodeProperty psProp = lowerNrd.getProperty(P_PARENT_SET);
            XMLValue xv = new XMLValue( String.valueOf(psProp.getValue()) );
            Iterator i = xv.getList().iterator();
            while (i.hasNext()) {
                // iterate over parent elements
                Element pElm = (Element)i.next();
View Full Code Here

        // use a non-blocking slide token.
        SlideToken stoken = readonlySlideToken();

        boolean isLockNull = false;
        try {
            NodeRevisionDescriptor nrd =
                content.retrieve(stoken, content.retrieve(stoken, uriStr));
            isLockNull = isLockNull( nrd );
        }
        catch (ServiceAccessException x) {
            throw x;
View Full Code Here

    public NodeProperty getProperty(String propertyName, String resourcePath, String contextPath, String servletPath) throws SlideException, JDOMException {
       
        UriHandler uriHandler = UriHandler.getUriHandler(resourcePath);
        String uri = null;
        NodeRevisionDescriptors revisionDescriptors = null;
        NodeRevisionDescriptor revisionDescriptor = null;
        Content contentHelper = nsaToken.getContentHelper();
       
        if (uriHandler.isVersionUri()) {
            uri = uriHandler.getAssociatedHistoryUri();
            NodeRevisionNumber revisionNumber = new NodeRevisionNumber(uriHandler.getVersionName());
View Full Code Here

     */
    public XMLValue computeSuccessorSet(NodeRevisionDescriptors revisionDescriptors, NodeRevisionDescriptor revisionDescriptor, String contextPath, String servletPath) throws ObjectLockedException, RevisionDescriptorNotFoundException, ServiceAccessException, LinkedObjectNotFoundException, AccessDeniedException, ObjectNotFoundException {
       
        XMLValue xmlValue = new XMLValue();
        Element hrefElement = new Element(E_HREF, DNSP);
        NodeRevisionDescriptor successorRevisionDescriptor = null;
        NodeRevisionNumber successorRevisionNumber = null;
        Enumeration successorEnum = revisionDescriptors.getSuccessors(revisionDescriptor.getRevisionNumber());
       
        if (successorEnum != null) {
            while (successorEnum.hasMoreElements()) {
View Full Code Here

        if (result == null) {
            i = psUris.iterator();
            while (i.hasNext()) {
                NodeRevisionDescriptors nrds =
                    nsaToken.getContentHelper().retrieve(sToken, ((UriHandler)i.next()).getUri());
                NodeRevisionDescriptor nrd =
                    nsaToken.getContentHelper().retrieve(sToken, nrds);
                result = computeWorkspace(nrds, nrd, contextPath, servletPath);
                if (result != null) {
                    break;
                }
View Full Code Here

     */
    protected void executeRequest() throws WebdavException, IOException {
       
        // Prevent dirty reads
        slideToken.setForceStoreEnlistment(true);
        NodeRevisionDescriptor revisionDescriptor = null;
       
        // check lock-null resources
        boolean isLockNull = false;
        try {
            revisionDescriptor =
                content.retrieve(slideToken, content.retrieve(slideToken, colName));
            isLockNull = isLockNull( revisionDescriptor );
        }
        catch (ServiceAccessException e) {
            int statusCode = getErrorCode((Exception)e);
            sendError( statusCode, e );
            throw new WebdavException( statusCode );
        }
        catch (SlideException e) {
            // ignore silently
        }
       
        if (revisionDescriptor == null) {
            revisionDescriptor =
                new NodeRevisionDescriptor(0);
        }
       
        // check destination URI
        UriHandler destinationUriHandler = UriHandler.getUriHandler(colName);
        if (destinationUriHandler.isRestrictedUri()) {
            int statusCode = WebdavStatus.SC_FORBIDDEN;
            sendError( statusCode, getClass().getName()+".restrictedDestinationUri", new Object[]{colName} );
            throw new WebdavException( statusCode );
        }
       
        // Resource type
        revisionDescriptor.setResourceType("<collection/>");
       
        // Creation date
        revisionDescriptor.setCreationDate(new Date());
       
        // Last modification date
        revisionDescriptor.setLastModified(new Date());
       
        // Content length name
        revisionDescriptor.setContentLength(0);
       
        // Source
        revisionDescriptor.setSource("");
       
        // Owner
        try {
            String creator = ((SubjectNode)security.getPrincipal(slideToken)).getPath().lastSegment();
            revisionDescriptor.setCreationUser(creator);
            revisionDescriptor.setOwner(creator);
        } catch (Exception e) {
            int statusCode = getErrorCode( e );
            sendError( statusCode, e );
            throw new WebdavException( statusCode );
        }
       
        // Added for DeltaV --start--
        if( Configuration.useVersionControl() ) {
            VersioningHelper vHelp =  VersioningHelper.getVersioningHelper(
                slideToken, token, req, resp, getConfig() );
           
            // Workspace
            vHelp.setWorkspaceProperty( colName, revisionDescriptor );
        }
        // Added for DeltaV --end--
       
        if (isMsProprietarySupport()) {
           
            NodeProperty property = null;
           
            // Name
            /*
             property = new NodeProperty("name", colName, "ms", "MICROSOFT");
             properties.setProperty(property);
             */
           
            // ParentName
            // TODO : Fix this
            /*
             property = new NodeProperty("parentname", colName, "ms",
             "MICROSOFT");
             properties.setProperty(property);
             */
           
            // Href
            /*
             property = new NodeProperty("href", colName, "ms", "MICROSOFT");
             properties.setProperty(property);
             */
           
            // Is hidden
            property = new NodeProperty("ishidden", "0", "MICROSOFT");
            revisionDescriptor.setProperty(property);
           
            // Is collection
            property = new NodeProperty("iscollection", "1", "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);
           
        }
       
        // If everything is ok : 201 - Created / OK
        resp.setStatus(WebdavStatus.SC_CREATED);
View Full Code Here

            }
           
            // if resource being removed is a checked-out VCR or a WR,
            // remove its URI in the DAV:checkout-set property of the VR
            NodeRevisionDescriptors nrds = content.retrieve(slideToken, targetUri);
            NodeRevisionDescriptor nrd = content.retrieve(slideToken, nrds);
            ResourceKind rk = AbstractResourceKind.determineResourceKind(token, nrds, nrd);
            if(rk instanceof CheckedOutVersionControlled || rk instanceof Working) {
                String vrUri =
                    VersioningHelper.getUriOfAssociatedVR(token, slideToken, content, targetUri);
                try {
                    NodeRevisionDescriptors vrNrds = content.retrieve(slideToken, vrUri);
                    NodeRevisionDescriptor vrNrd = content.retrieve(slideToken, vrNrds);
                    PropertyHelper.removeHrefFromProperty(vrNrd, P_CHECKOUT_SET, targetUri);
                    content.store(slideToken, vrNrds.getUri(), vrNrd, null);
                }
                catch( ObjectNotFoundException e ) {
                    // Nothing to do if the VR is gone, e.g. because the VHR was deleted.
View Full Code Here

       
        try {
           
            NodeRevisionDescriptors revisionDescriptors =
                contentHelper.retrieve(slideToken, usersPath + "/" + username);
            NodeRevisionDescriptor revisionDescriptor =
                contentHelper.retrieve(slideToken, revisionDescriptors);
            NodeProperty password =
                revisionDescriptor.getProperty
                ("password", NodeProperty.SLIDE_NAMESPACE);
            if (password != null) {
                passwordValue = (String) password.getValue();
            }
           
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.