Package com.multysite.quercus

Source Code of com.multysite.quercus.MondayTestServlet

package com.multysite.quercus;

import java.io.IOException;
import java.util.Calendar;
import java.util.Date;

import javax.script.Bindings;
import javax.script.ScriptContext;
import javax.script.ScriptException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.google.appengine.api.memcache.MemcacheService;
import com.google.appengine.api.memcache.MemcacheServiceFactory;

@SuppressWarnings("serial")
public class MondayTestServlet extends HttpServlet {
  public void doGet(HttpServletRequest req, HttpServletResponse resp)
      throws IOException {

    MondayScriptingContext context = new MondayScriptingContext();
    context.setUnicodeSemantics(true);
    context.setIni("unicode.semantics", "on");
    context.setScriptEncoding("UTF-8");
    context.init();
    context.start();
    MondayScriptingEngine engine = new MondayScriptingEngine(
        new MondayScriptingFactory(), context);

    String sayHelloVN = "<?php ob_start(); echo  'gà lợn '.$abc; return ob_get_contents(); ?>";
    try {

      MondayCompiledScript compiledscript = engine.compile(sayHelloVN);

      MemcacheService syncCache = MemcacheServiceFactory
          .getMemcacheService();
      syncCache.put("test", compiledscript);
      long begin = System.nanoTime();

      Bindings b = compiledscript.getEngine().getBindings(
          ScriptContext.ENGINE_SCOPE);
      b.put("abc", "def");
      Date date = Calendar.getInstance().getTime();
      b.put("abc", date);

      for (int i = 0; i < 1000; i++) {
        String str;
        try {
          str = (String) compiledscript.eval();
          resp.getWriter().write(str);
          // System.out.println(new
          // String(str.getBytes("iso-8859-1"),"utf-8"));

        } catch (ScriptException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }

      }
      long end = System.nanoTime();

      System.out.println("\n" + (double) (end - begin) / 1000000000);
    } catch (ScriptException e1) {
      // TODO Auto-generated catch block
      e1.printStackTrace();
    }

    //

  }

  public static void main(String[] args) throws ScriptException, IOException {

    //
    // Quercus quercus = new Quercus();
    // quercus.setUnicodeSemantics(true);
    // quercus.setIni("unicode.semantics", "on");
    // quercus.setScriptEncoding("UTF-8");
    // quercus.init();
    // quercus.start();
    // MondayScriptingEngine engine = new MondayScriptingEngine(new
    // MondayScriptingFactory(), quercus);
    //
    // String sayHelloVN =
    // "<?php ob_start(); echo  'gà lợn '.$abc; return ob_get_contents(); ?>";
    //
    //
    // MondayCompiledScript compiledscript = engine.compile(sayHelloVN);
    //
    // MemcacheService syncCache =
    // MemcacheServiceFactory.getMemcacheService();
    // syncCache.put("test", compiledscript);
    // long begin =System.currentTimeMillis();
    //
    // Bindings b =
    // compiledscript.getEngine().getBindings(ScriptContext.ENGINE_SCOPE);
    // b.put("abc", "def");
    // Date date = Calendar.getInstance().getTime();
    // b.put("abc", date);
    //
    //
    //
    //
    // // compiledscript.eval();
    // for (int i = 0; i < 1; i++) {
    // String str = (String)compiledscript.eval();
    // System.out.println(new String(str.getBytes("iso-8859-1"),"utf-8"));
    // }
    // long end =System.currentTimeMillis();
    //
    // System.out.println("\n"+(end-begin));
    //

    // ScriptEngineManager manager = new ScriptEngineManager();
    // ScriptEngine enginex = manager.getEngineByName("javascript");
    // engine.put("counter", 0);
    // if (engine instanceof Compilable) {
    // Compilable compEngine = (Compilable) engine;
    // try {
    // CompiledScript script = compEngine.compile("print 'asdasdadad';");
    // long begin =System.currentTimeMillis();
    // for (int i = 0; i < 10000; i++) {
    // script.eval();
    // }
    // long end =System.currentTimeMillis();
    //
    // System.out.println("\n"+(end-begin));
    //
    // } catch (ScriptException e) {
    // System.err.println(e);
    // }
    // } else {
    // System.err.println("Engine can't compile code");
    // }

  }
}
TOP

Related Classes of com.multysite.quercus.MondayTestServlet

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.