Examples of SlingScriptHelper


Examples of org.apache.sling.api.scripting.SlingScriptHelper

                cause);
           
        } finally {
            // dispose of the SlingScriptHelper
            if ( bindings != null ) {
                final SlingScriptHelper helper = (SlingScriptHelper) bindings.get(SLING);
                if ( helper != null ) {
                    helper.dispose();
                }
            }
           
            // close the script reader (SLING-380)
            if (reader != null) {
View Full Code Here

Examples of org.apache.sling.api.scripting.SlingScriptHelper

                slingObject = new ScriptHelper(this.bundleContext, this);
            }
        } else if (!(slingObject instanceof SlingScriptHelper) ) {
            throw fail(scriptName, SLING, "Wrong type");
        }
        final SlingScriptHelper sling = (SlingScriptHelper)slingObject;
        bindings.put(SLING, sling);

        if (request != null) {
            //throw fail(scriptName, REQUEST, "Missing or wrong type");

          SlingHttpServletResponse response = slingBindings.getResponse();
            if (response == null) {
                throw fail(scriptName, RESPONSE, "Missing or wrong type");
            }

            Object resourceObject = slingBindings.get(RESOURCE);
            if (resourceObject != null && !(resourceObject instanceof Resource)) {
                throw fail(scriptName, RESOURCE, "Wrong type");
            }

            Object writerObject = slingBindings.get(OUT);
            if (writerObject != null && !(writerObject instanceof PrintWriter)) {
                throw fail(scriptName, OUT, "Wrong type");
            }

            // if there is a provided sling script helper, check arguments
            if (slingBindings.get(SLING) != null) {

                if (sling.getRequest() != request) {
                    throw fail(scriptName, REQUEST,
                        "Not the same as request field of SlingScriptHelper");
                }

                if (sling.getResponse() != response) {
                    throw fail(scriptName, RESPONSE,
                        "Not the same as response field of SlingScriptHelper");
                }

                if (resourceObject != null
                    && sling.getRequest().getResource() != resourceObject) {
                    throw fail(scriptName, RESOURCE,
                        "Not the same as resource of the SlingScriptHelper request");
                }

                if (writerObject != null
                    && sling.getResponse().getWriter() != writerObject) {
                    throw fail(scriptName, OUT,
                        "Not the same as writer of the SlingScriptHelper response");
                }
            }

            // set base variables when executing inside a request
            bindings.put(REQUEST, sling.getRequest());
            bindings.put(READER, sling.getRequest().getReader());
            bindings.put(RESPONSE, sling.getResponse());
            bindings.put(RESOURCE, sling.getRequest().getResource());
            bindings.put(OUT, sling.getResponse().getWriter());
           
            // set the current node if the resource is node based
            Node node = sling.getRequest().getResource().adaptTo(Node.class);
            if (node != null) {
                bindings.put(NODE, node);
            }
        }
View Full Code Here

Examples of org.apache.sling.api.scripting.SlingScriptHelper

    public Object eval(Reader scriptReader, ScriptContext scriptContext)
            throws ScriptException {
        Bindings bindings = scriptContext.getBindings(ScriptContext.ENGINE_SCOPE);
        String scriptName = "NO_SCRIPT_NAME";
        {
            SlingScriptHelper helper = (SlingScriptHelper) bindings.get(SlingBindings.SLING);
            if (helper != null) {
                scriptName = helper.getScript().getScriptResource().getPath();
            }
        }

        // wrap the reader in an EspReader for ESP scripts
        if (scriptName.endsWith(RhinoJavaScriptEngineFactory.ESP_SCRIPT_EXTENSION)) {
View Full Code Here

Examples of org.apache.sling.api.scripting.SlingScriptHelper

        getLogger(cx, thisObj).info(message.toString());
    }

    private void load(Context cx, Scriptable thisObj, Object[] args) {

        SlingScriptHelper sling = getProperty(cx, thisObj, SlingBindings.SLING,
            SlingScriptHelper.class);
        if (sling == null) {
            throw new NullPointerException(SlingBindings.SLING);
        }

        Scriptable globalScope = ScriptableObject.getTopLevelScope(thisObj);

        Resource scriptResource = sling.getScript().getScriptResource();
        ResourceResolver resolver = scriptResource.getResourceResolver();

        // the path of the current script to resolve realtive paths
        String currentScript = sling.getScript().getScriptResource().getPath();
        String scriptParent = ResourceUtil.getParent(currentScript);

        for (Object arg : args) {
            String scriptName = ScriptRuntime.toString(arg);
View Full Code Here

Examples of org.apache.sling.api.scripting.SlingScriptHelper

        }

        public Object eval(Reader script, ScriptContext context)
                throws ScriptException {
            Bindings props = context.getBindings(ScriptContext.ENGINE_SCOPE);
            SlingScriptHelper scriptHelper = (SlingScriptHelper) props.get(SLING);
            if (scriptHelper != null) {
               
                // set the current class loader as the thread context loader for
                // the compilation and execution of the JSP script
                ClassLoader old = Thread.currentThread().getContextClassLoader();
View Full Code Here

Examples of org.apache.sling.api.scripting.SlingScriptHelper

                cause);

        } finally {
            // dispose of the SlingScriptHelper
            if ( bindings != null ) {
                final SlingScriptHelper helper = (SlingScriptHelper) bindings.get(SLING);
                if ( helper != null ) {
                    helper.dispose();
                }
            }

            // close the script reader (SLING-380)
            if (reader != null) {
View Full Code Here

Examples of org.apache.sling.api.scripting.SlingScriptHelper

                slingObject = new ScriptHelper(this.bundleContext, this);
            }
        } else if (!(slingObject instanceof SlingScriptHelper) ) {
            throw fail(scriptName, SLING, "Wrong type");
        }
        final SlingScriptHelper sling = (SlingScriptHelper)slingObject;
        bindings.put(SLING, sling);

        if (request != null) {
            //throw fail(scriptName, REQUEST, "Missing or wrong type");

          SlingHttpServletResponse response = slingBindings.getResponse();
            if (response == null) {
                throw fail(scriptName, RESPONSE, "Missing or wrong type");
            }

            Object resourceObject = slingBindings.get(RESOURCE);
            if (resourceObject != null && !(resourceObject instanceof Resource)) {
                throw fail(scriptName, RESOURCE, "Wrong type");
            }

            Object writerObject = slingBindings.get(OUT);
            if (writerObject != null && !(writerObject instanceof PrintWriter)) {
                throw fail(scriptName, OUT, "Wrong type");
            }

            // if there is a provided sling script helper, check arguments
            if (slingBindings.get(SLING) != null) {

                if (sling.getRequest() != request) {
                    throw fail(scriptName, REQUEST,
                        "Not the same as request field of SlingScriptHelper");
                }

                if (sling.getResponse() != response) {
                    throw fail(scriptName, RESPONSE,
                        "Not the same as response field of SlingScriptHelper");
                }

                if (resourceObject != null
                    && sling.getRequest().getResource() != resourceObject) {
                    throw fail(scriptName, RESOURCE,
                        "Not the same as resource of the SlingScriptHelper request");
                }

                if (writerObject != null
                    && sling.getResponse().getWriter() != writerObject) {
                    throw fail(scriptName, OUT,
                        "Not the same as writer of the SlingScriptHelper response");
                }
            }

            // set base variables when executing inside a request
            bindings.put(REQUEST, sling.getRequest());
            bindings.put(READER, sling.getRequest().getReader());
            bindings.put(RESPONSE, sling.getResponse());
            bindings.put(RESOURCE, sling.getRequest().getResource());
            bindings.put(OUT, sling.getResponse().getWriter());

            // set the current node if the resource is node based
            Node node = sling.getRequest().getResource().adaptTo(Node.class);
            if (node != null) {
                bindings.put(NODE, node);
            }
        }
View Full Code Here

Examples of org.apache.sling.api.scripting.SlingScriptHelper

     *
     * @return always {@link #EVAL_PAGE}.
     */
    public int doEndTag() {
        final SlingBindings bindings = (SlingBindings)pageContext.getRequest().getAttribute(SlingBindings.class.getName());
        final SlingScriptHelper scriptHelper = bindings.getSling();

        pageContext.setAttribute(requestName, scriptHelper.getRequest());
        pageContext.setAttribute(responseName, scriptHelper.getResponse());
        final Resource resource = scriptHelper.getRequest().getResource();
        pageContext.setAttribute(resourceName, resource);
        pageContext.setAttribute(resourceResolverName, scriptHelper.getRequest().getResourceResolver());
        pageContext.setAttribute(slingName, scriptHelper);
        pageContext.setAttribute(logName, bindings.getLog());
        final Node node = resource.adaptTo(Node.class);
        if (node != null) {
            pageContext.setAttribute(nodeName, node);
View Full Code Here

Examples of org.apache.sling.api.scripting.SlingScriptHelper

  public static SlingHttpServletRequest slingRequestFrom(final PageContext pageContext) {
    return (SlingHttpServletRequest) pageContext.getRequest();
  }

  public static ContextProvider contextProviderFrom(final PageContext pageContext) {
    final SlingScriptHelper slingScriptHelper = getSlingScriptHelper(pageContext);
    return slingScriptHelper.getService(ContextProvider.class);
  }
View Full Code Here

Examples of org.apache.sling.api.scripting.SlingScriptHelper

    final SlingScriptHelper slingScriptHelper = getSlingScriptHelper(pageContext);
    return slingScriptHelper.getService(ContextProvider.class);
  }

  public static InjectorsRepository injectorsRepositoryFrom(final PageContext pageContext) {
    final SlingScriptHelper slingScriptHelper = getSlingScriptHelper(pageContext);
    return slingScriptHelper.getService(InjectorsRepository.class);
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.