Package org.apache.velocity.context

Examples of org.apache.velocity.context.InternalContextAdapterImpl


   
   
    private static void velocityLogError(Class cl){
      if(velocityCtx.get() != null){
        Context ctx =  velocityCtx.get();
        InternalContextAdapter ica =  new InternalContextAdapterImpl(ctx);
        com.dotcms.repackage.org.apache.log4j.Logger logger = map.get(VelocityServlet.class);
        logger.error("#--------------------------------------------------------------------------------------");
        logger.error("#");
        if(ica.getCurrentMacroName() != null){
          logger.error("# Velocity Error");
        }

        if(ctx.get("VTLSERVLET_URI") != null && ctx.get("host") != null ){
          logger.error("# on url      : " + ((Host) ctx.get("host")).getHostname()  + ctx.get("VTLSERVLET_URI") );
        }
        else if(ctx.get("VTLSERVLET_URI") != null ){
          logger.error("# on uri      : " + ctx.get("VTLSERVLET_URI") );
        }
        else if(ctx.get("host") != null){
          logger.error("# on host     : " + ((Host) ctx.get("host")).getHostname() );
        }
        if(ctx.get("request") != null){
          HttpServletRequest req  = (HttpServletRequest)ctx.get("request");
          if(req.getAttribute("javax.servlet.forward.request_uri") != null){
            logger.error("# on req      : " + req.getAttribute("javax.servlet.forward.request_uri") );
          }
         
         }
        if(ica.getCurrentMacroName() != null){
          logger.error("# with macro  : #" + ica.getCurrentMacroName());
        }
        if(ica.getCurrentTemplateName() != null){
          logger.error("# on template : " + normalizeTemplate(ica.getCurrentTemplateName()));
        }
        logger.error("#    stack:");
        for(Object obj : ica.getTemplateNameStack()){
        logger.error("#    -- " + normalizeTemplate(obj));
        }
        logger.error("#");
        logger.error("#--------------------------------------------------------------------------------------");
      }
View Full Code Here


                          String logTag, SimpleNode nodeTree)
    {
        /*
         * we want to init then render
         */
        InternalContextAdapterImpl ica =
            new InternalContextAdapterImpl(context);

        ica.pushCurrentTemplateName(logTag);

        try
        {
            try
            {
                nodeTree.init(ica, this);
            }
            catch (TemplateInitException pex)
            {
                throw new ParseErrorException(pex, null);
            }
            /**
             * pass through application level runtime exceptions
             */
            catch(RuntimeException e)
            {
                throw e;
            }
            catch(Exception e)
            {
                String msg = "RuntimeInstance.render(): init exception for tag = "+logTag;
                Logger.error(this,msg, e);
                throw new VelocityException(msg, e);
            }

            try
            {
                if (provideEvaluateScope)
                {
                    Object previous = ica.get(evaluateScopeName);
                    context.put(evaluateScopeName, new Scope(this, previous));
                }
                nodeTree.render(ica, writer);
            }
            catch (StopCommand stop)
            {
                if (!stop.isFor(this))
                {
                    throw stop;
                }
                else if (Logger.isDebugEnabled(this.getClass()))
                {
                    Logger.debug(this,stop.getMessage());
                }
            }
            catch (IOException e)
            {
                throw new VelocityException("IO Error in writer: " + e.getMessage(), e);
            }
        }
        finally
        {
            ica.popCurrentTemplateName();
            if (provideEvaluateScope)
            {
                Object obj = ica.get(evaluateScopeName);
                if (obj instanceof Scope)
                {
                    Scope scope = (Scope)obj;
                    if (scope.getParent() != null)
                    {
                        ica.put(evaluateScopeName, scope.getParent());
                    }
                    else if (scope.getReplaced() != null)
                    {
                        ica.put(evaluateScopeName, scope.getReplaced());
                    }
                    else
                    {
                        ica.remove(evaluateScopeName);
                    }
                }
            }
        }

View Full Code Here

        Template tesp1 = engine.getTemplate("/live/"+w.getIdentifier()+"_2."+contentEXT);

        Context ctx = VelocityUtil.getWebContext(requestProxy, responseProxy);
        StringWriter writer=new StringWriter();
        teng1.merge(ctx, writer);
        contentTester.render(new InternalContextAdapterImpl(ctx), writer);
        assertEquals("code:Initial code",writer.toString());
        ctx = VelocityUtil.getWebContext(requestProxy, responseProxy);
        writer=new StringWriter();
        tesp1.merge(ctx, writer);
        contentTester.render(new InternalContextAdapterImpl(ctx), writer);
        assertEquals("code:Initial code",writer.toString());

        Contentlet w2=contentletAPI.checkout(w.getInode(), user, false);
        w2.setStringProperty("code", "Modified Code to make templates different");
        w2 = contentletAPI.checkin(w2, user, false);
        contentletAPI.publish(w2, user, false);
        contentletAPI.isInodeIndexed(w2.getInode(),true);

        // now if everything have been cleared correctly those should match again
        Template teng3 = engine.getTemplate("/live/"+w.getIdentifier()+"_1."+contentEXT);
        Template tesp3 = engine.getTemplate("/live/"+w.getIdentifier()+"_2."+contentEXT);
        ctx = VelocityUtil.getWebContext(requestProxy, responseProxy);
        writer=new StringWriter();
        teng3.merge(ctx, writer);
        contentTester.render(new InternalContextAdapterImpl(ctx), writer);
        assertEquals("code:Modified Code to make templates different",writer.toString());
        ctx = VelocityUtil.getWebContext(requestProxy, responseProxy);
        writer=new StringWriter();
        tesp3.merge(ctx, writer);
        contentTester.render(new InternalContextAdapterImpl(ctx), writer);
        assertEquals("code:Modified Code to make templates different",writer.toString());

        // clean up
        APILocator.getVersionableAPI().removeLive(w2);
        contentletAPI.archive(w2, user, false);
View Full Code Here

TOP

Related Classes of org.apache.velocity.context.InternalContextAdapterImpl

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.