Package railo.runtime.thread

Source Code of railo.runtime.thread.ThreadUtil

package railo.runtime.thread;

import java.io.OutputStream;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import railo.commons.io.DevNullOutputStream;
import railo.commons.lang.Pair;
import railo.runtime.CFMLFactory;
import railo.runtime.CFMLFactoryImpl;
import railo.runtime.PageContext;
import railo.runtime.PageContextImpl;
import railo.runtime.config.Config;
import railo.runtime.config.ConfigImpl;
import railo.runtime.config.ConfigWeb;
import railo.runtime.net.http.HTTPServletRequestWrap;
import railo.runtime.net.http.HttpServletRequestDummy;
import railo.runtime.net.http.HttpServletResponseDummy;
import railo.runtime.type.Struct;

public class ThreadUtil {
 

  public static  PageContextImpl clonePageContext(PageContext pc, OutputStream os, boolean stateless,boolean registerPC,boolean isChild)  {
    // TODO stateless
    CFMLFactoryImpl factory = (CFMLFactoryImpl) ((ConfigImpl)pc.getConfig()).getFactory();
        HttpServletRequest  req=new HTTPServletRequestWrap(cloneHttpServletRequest(pc));
        HttpServletResponse  rsp=createHttpServletResponse(os);
       
        // copy state
        PageContextImpl pci = (PageContextImpl) pc;
    PageContextImpl dest = factory.getPageContextImpl(factory.getServlet(), req, rsp, null, false, -1, false,registerPC, isChild);
    pci.copyStateTo(dest);
    return dest;
  }

  public static  PageContextImpl createPageContext(ConfigWeb config,OutputStream os,String serverName,String requestURI,String queryString,Cookie[] cookies,Pair[] headers,Pair[] parameters,Struct attributes)  {
    CFMLFactory factory = config.getFactory();
        HttpServletRequest  req = new HttpServletRequestDummy(
        config.getRootDirectory(),
        serverName,
        requestURI,
        queryString,
        cookies,
        headers,
        parameters,
        attributes,
        null
      );
   
   
    req=new HTTPServletRequestWrap(req);
        HttpServletResponse  rsp=createHttpServletResponse(os);
       
        return (PageContextImpl) factory.getRailoPageContext(
            factory.getServlet(),
            req, rsp, null, false, -1, false);
   
  }
 

  public static HttpServletRequest cloneHttpServletRequest(PageContext pc) {
    Config config = pc.getConfig();
    HttpServletRequest req = pc.getHttpServletRequest();
    HttpServletRequestDummy dest = HttpServletRequestDummy.clone(config,config.getRootDirectory(),req);
    return dest;
  }
 
  public static HttpServletResponse createHttpServletResponse(OutputStream os) {
    if(os==null) os = DevNullOutputStream.DEV_NULL_OUTPUT_STREAM;
   
    HttpServletResponseDummy dest = new HttpServletResponseDummy(os);
    return dest;
  }

  /**
   * return priority as a String representation
   * @param priority Thread priority
   * @return String defintion of priority (null when input is invalid)
   */
  public static String toStringPriority(int priority) {
    if(priority==Thread.NORM_PRIORITY) return "NORMAL";
    if(priority==Thread.MAX_PRIORITY) return "HIGH";
    if(priority==Thread.MIN_PRIORITY) return "LOW";
    return null;
  }
 
  /**
   * return priority as a int representation
   * @param priority Thread priority as String definition
   * @return int defintion of priority (-1 when input is invalid)
   */
  public static int toIntPriority(String strPriority) {
    strPriority=strPriority.trim().toLowerCase();
   
    if("low".equals(strPriority))    return Thread.MIN_PRIORITY;
    if("min".equals(strPriority))    return Thread.MIN_PRIORITY;
    if("high".equals(strPriority))    return Thread.MAX_PRIORITY;
    if("max".equals(strPriority))    return Thread.MAX_PRIORITY;
    if("normal".equals(strPriority))  return Thread.NORM_PRIORITY;
    if("norm".equals(strPriority))    return Thread.NORM_PRIORITY;
    return -1;
  }
}
TOP

Related Classes of railo.runtime.thread.ThreadUtil

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.