Package org.apache.cocoon.environment

Examples of org.apache.cocoon.environment.Request


        Parameters parameters)
        throws Exception {

        getLogger().debug("Authenticating request");

        Request request = ObjectModelHelper.getRequest(objectModel);
        Map result = null;
        if (getAccessController().authenticate(request)) {
            getLogger().debug("Authentication successful.");
            result = Collections.EMPTY_MAP;
        }
View Full Code Here


     */
    protected PageEnvelope getEnvelope(Map objectModel) throws ConfigurationException {
        PageEnvelope envelope = null;

        if (getLogger().isDebugEnabled()) {
            Request request = ObjectModelHelper.getRequest(objectModel);
            getLogger().debug("Resolving page envelope for URL [" + request.getRequestURI() + "]");
        }

        try {
            envelope = PageEnvelopeFactory.getInstance().getPageEnvelope(objectModel);
        } catch (Exception e) {
View Full Code Here

                    + URI_PARAMETER_DOCTYPE);

            String source =
                envelope.getDocument().getArea() + envelope.getDocument().getDocumentURL();

            Request request = ObjectModelHelper.getRequest(objectModel);
            map = parameterizer.parameterize(filterURI(request.getRequestURI()), filterURI(source), parameters);               
            documentType = (String) map.get(URI_PARAMETER_DOCTYPE);
           
        } finally {
            if (parameterizer != null) {
                manager.release(parameterizer);
View Full Code Here

     * @throws PublicationException if there was a problem creating the publication.
     */
    public static Publication getPublication(Map objectModel) throws PublicationException {

        assert objectModel != null;
        Request request = ObjectModelHelper.getRequest(objectModel);
        Context context = ObjectModelHelper.getContext(objectModel);
        return getPublication(request, context);
    }
View Full Code Here

        File unnumberTagsXSL = new File(sitemap.getAbsolutePath() + File.separator
                + parameters.getParameter("unnumberTagsXSL"));
        File numberTagsXSL = new File(sitemap.getAbsolutePath() + File.separator
                + parameters.getParameter("numberTagsXSL"));

        Request request = ObjectModelHelper.getRequest(objectModel);

        if (request.getParameter("cancel") != null) {
            getLogger().warn(".act(): Editing has been canceled");
            file.delete();
            return null;
        } else {
            if (file.isFile()) {
                getLogger().debug(".act(): Save modifications to " + file.getAbsolutePath());

                try {
                    Document document = null;
                    DocumentBuilderFactory parserFactory = DocumentBuilderFactory.newInstance();
                    parserFactory.setValidating(false);
                    parserFactory.setNamespaceAware(true);
                    parserFactory.setIgnoringElementContentWhitespace(true);
                    DocumentBuilder builder = parserFactory.newDocumentBuilder();
                    document = builder.parse(file.getAbsolutePath());
                    System.setProperty("org.xmldb.common.xml.queries.XPathQueryFactory",
                            "org.xmldb.common.xml.queries.xalan2.XPathQueryFactoryImpl");

                    XPathQuery xpath = XPathQueryFactory.newInstance().newXPathQuery();
                    XUpdateQuery xq = new XUpdateQueryImpl();

                    String editSelect = null;
                    String insertSelect = null;
                    Enumeration params = request.getParameterNames();
                    while (params.hasMoreElements()) {
                        String pname = (String) params.nextElement();
                        getLogger().debug("Parameter: " + pname + " ("
                                + request.getParameter(pname) + ")");

                        // Extract the xpath to edit
                        if (editSelect == null && pname.indexOf("edit[") >= 0
                                && pname.endsWith("].x")) {
                            editSelect = pname.substring(5, pname.length() - 3);
                            getLogger().debug("Edit: " + editSelect);
                        }
                       
                        // Make sure we are dealing with an xupdate statement,
                        // else skip
                        if (pname.indexOf("<xupdate:") == 0) {
                            String select = pname.substring(pname.indexOf("select") + 8);
                            select = select.substring(0, select.indexOf("\""));
                            getLogger().debug(".act() Select Node: " + select);

                            // Check if node exists
                            xpath.setQString(select);
                            XObject result = xpath.execute(document);
                            NodeList selectionNodeList = result.nodeset();
                            if (selectionNodeList.getLength() == 0) {
                                getLogger()
                                        .debug(".act(): Node does not exist (might have been deleted during update): "
                                                + select);
                            } else {
                                String xupdateModifications = null;
                                // now check for the different xupdate
                                // statements, and handle appropriately
                                if (pname.indexOf("xupdate:update-parent") > 0) {
                                    getLogger().debug("UPDATE PARENT Node: " + pname);
                                    // CDATA updates need to be handled
                                    // seperately
                                    if (pname.indexOf("<![CDATA[") > 0) {
                                        xupdateModifications = updateCDATA(request, pname, true);
                                    } else {
                                        xupdateModifications = update(request,
                                                pname,
                                                select,
                                                selectionNodeList,
                                                true);
                                    }
                                } else if (pname.indexOf("xupdate:update") > 0) {
                                    getLogger().debug("UPDATE Node: " + pname);
                                    // CDATA updates need to be handled
                                    // seperately
                                    if (pname.indexOf("<![CDATA[") > 0) {
                                        xupdateModifications = updateCDATA(request, pname, false);
                                    } else {
                                        xupdateModifications = update(request,
                                                pname,
                                                select,
                                                selectionNodeList,
                                                false);
                                    }
                                } else if (pname.indexOf("xupdate:append") > 0
                                        && pname.endsWith(">.x")) {
                                    xupdateModifications = append(pname.substring(0,
                                            pname.length() - 2));
                                    // insert-before: in case of select/option
                                } else if (pname.indexOf("xupdate:insert-before") > 0
                                        && pname.endsWith("/>")) {
                                    if (!request.getParameter(pname).equals("null")) {
                                        xupdateModifications = insertBefore(request
                                                .getParameter(pname));
                                        insertSelect = pname.substring(31,pname.length() - 3);
                                    }
                                    // insert-before: in case of image
                                } else if (pname.indexOf("xupdate:insert-before") > 0
                                        && pname.endsWith(">.x")) {
                                    xupdateModifications = insertBefore(pname.substring(0, pname
                                            .length() - 2));
                                    // insert-after: in case of select/option
                                } else if (pname.indexOf("xupdate:insert-after") > 0
                                        && pname.endsWith("/>")) {
                                    if (!request.getParameter(pname).equals("null")) {
                                        xupdateModifications = insertAfter(request
                                                .getParameter(pname));
                                        insertSelect = pname.substring(30,pname.length() - 3);
                                    }
                                    // insert-after: in case of image
                                } else if (pname.indexOf("xupdate:insert-after") > 0
                                        && pname.endsWith(">.x")) {
                                    xupdateModifications = insertAfter(pname.substring(0, pname
                                            .length() - 2));
                                } else if (pname.indexOf("xupdate:remove") > 0
                                        && pname.endsWith("/>.x")) {
                                    xupdateModifications = remove(pname.substring(0,
                                            pname.length() - 2));
                                    insertSelect = pname.substring(24,pname.length() - 3);
                                } else if (pname.endsWith(">.y")) {
                                    getLogger().debug("Don't handle this: " + pname);
                                } else {
                                    getLogger().debug("Don't handle this either: " + pname);
                                }

                                // Get hidden namespaces
                                String namespaces = request.getParameter("namespaces");

                                // Add XML declaration
                                // NOTE: select/option is generating parameter
                                // which should be considered as null
                                if (xupdateModifications != null) {
                                    xupdateModifications = "<?xml version=\"1.0\"?>"
                                            + addHiddenNamespaces(namespaces, xupdateModifications);
                                }

                                // now run the assembled xupdate query
                                if (xupdateModifications != null) {
                                    getLogger().info("Execute XUpdate Modifications: "
                                            + xupdateModifications);
                                    xq.setQString(xupdateModifications);
                                    xq.execute(document);
                                } else {
                                    getLogger()
                                            .debug("Parameter did not match any xupdate command: "
                                                    + pname);
                                }
                            }
                        }
                    }

                    //  Uncomment this for debugging
                    /*
                     * java.io.StringWriter writer = new java.io.StringWriter();
                     * org.apache.xml.serialize.OutputFormat OutFormat = new
                     * org.apache.xml.serialize.OutputFormat("xml", "UTF-8",
                     * true); org.apache.xml.serialize.XMLSerializer serializer =
                     * new org.apache.xml.serialize.XMLSerializer(writer,
                     * OutFormat);
                     * serializer.asDOMSerializer().serialize((Document)
                     * document); log.error(".act(): XUpdate Result:
                     * \n"+writer.toString());
                     */

                    // validate against relax ng after the updates
                    if (schema.isFile()) {
                        DocumentHelper.writeDocument(document, new File(file.getCanonicalPath()
                                + ".validate"));
                        String message = validateDocument(schema, new File(file.getCanonicalPath()
                                + ".validate"), unnumberTagsXSL);
                        if (message != null) {
                            getLogger().error("RELAX NG Validation failed: " + message);
                            HashMap hmap = new HashMap();
                            hmap.put("message", "RELAX NG Validation failed: " + message);
                            return hmap;
                        }
                    } else {
                        getLogger().warn("No such schema: " + schema.getAbsolutePath());
                    }

                    Document renumberedDocument = renumberDocument(document,
                            unnumberTagsXSL,
                            numberTagsXSL);
                    DocumentHelper.writeDocument(renumberedDocument, file);

                    // check to see if we save and exit
                    if (request.getParameter("save") != null) {
                        getLogger().info(".act(): Save");
                        return null;
                    } else {
                        /*
                         * We don't exit
View Full Code Here

            if (proxy != null) {
                value = proxy.getURL(doc);
            } else {
                // Take server name and port from request.
                Request request = ObjectModelHelper.getRequest(objectModel);
                value = "http://" + request.getServerName() + ":" + request.getServerPort()
                        + request.getContextPath() + doc.getCompleteURL();
            }

        } catch (Exception e) {
            throw new ConfigurationException("Obtaining value for [" + name + "] failed: ", e);
        }
View Full Code Here

     * @param objectModel The object model.
     * @return A page envelope.
     * @throws PageEnvelopeException if something went wrong.
     */
    public PageEnvelope getPageEnvelope(Map objectModel) throws PageEnvelopeException {
        Request request = ObjectModelHelper.getRequest(objectModel);
        PageEnvelope envelope = new PageEnvelope(objectModel, true);
        request.setAttribute(PageEnvelope.class.getName(), envelope);
        return envelope;
    }
View Full Code Here

        super.act(redirector, resolver, objectModel, src, parameters);
       
        HashMap actionMap = new HashMap();
       
        // Get request object
        Request request = ObjectModelHelper.getRequest(objectModel);

        // Get the parameters in order to check some preconditions (e.g.
        // is the document relly checked out).
        String step = parameters.getParameter("step");
               
        Session session = request.getSession(false);
        RCML rcml = getRc().getRCML(getFilename());
        Identity identity = (Identity) session.getAttribute(Identity.class
                .getName());

        if (step.equals("checkit")) {
View Full Code Here

     * @see org.apache.cocoon.components.modules.input.InputModule#getAttribute(java.lang.String, org.apache.avalon.framework.configuration.Configuration, java.util.Map)
     */
    public Object getAttribute(String name, Configuration modeConf, Map objectModel)
        throws ConfigurationException {

        Request request = ObjectModelHelper.getRequest(objectModel);
        Session session = request.getSession();
        Object value = null;

        if (!Arrays.asList(PARAMETER_NAMES).contains(name)) {
            throw new ConfigurationException("The attribute [" + name + "] is not supported!");
        }
View Full Code Here

     */
    public Map act(Redirector redirector, SourceResolver resolver, Map objectModel, String source,
            Parameters parameters) throws Exception {

        Map results = new HashMap();
        Request request = ObjectModelHelper.getRequest(objectModel);
        pageEnvelope = PageEnvelopeFactory.getInstance().getPageEnvelope(objectModel);
        document = pageEnvelope.getDocument();
       
        int width = 0;
        int height = 0;
        File assetFile;

        logRequestParameters(request);

        // determine if the upload is an asset or a content upload
        String uploadType = request.getParameter("uploadtype");

        // make asset upload the default if it is not specified
        if (uploadType == null) {
            uploadType = "asset";
        }

        Map dublinCoreParams = getDublinCoreParameters(request);
        Map lenyaMetaParams = new HashMap();

        // upload the file to the uploadDir
        Part part = (Part) request.get(UPLOADASSET_PARAM_NAME);

        String fileName = part.getFileName();
        if (!fileName.matches(FILE_NAME_REGEXP) || FilenameUtils.getExtension(fileName).equals("")) {
            // the file name contains characters which mean trouble
            // and are therefore not allowed.
View Full Code Here

TOP

Related Classes of org.apache.cocoon.environment.Request

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.