⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.java.txt

📁 刚开始学习看的
💻 TXT
📖 第 1 页 / 共 2 页
字号:
        case 3:
            return new TestBean() {
            };

        case 4:
            return (TestBean) Proxy.newProxyInstance(TestBean.class
                    .getClassLoader(), new Class[] { TestBean.class },
                    new TestBeanInvocationHandler());

        default:
            throw new IllegalArgumentException("" + type); //$NON-NLS-1$
        }
    }

    /** */
    public class InnerSubTestBean extends TestBean {
    }

    /** */
    public static class StaticInnerSubTestBean extends TestBean {
    }

    static class TestBeanInvocationHandler implements InvocationHandler {
        public Object invoke(Object proxy, Method method, Object[] args)
                throws Throwable {
            if (method.getName().equals("getInteger")) //$NON-NLS-1$
            {
                return new Integer(42);
            }

            if (method.getName().equals("getString")) //$NON-NLS-1$
            {
                return "Slartibartfast"; //$NON-NLS-1$
            }

            if (method.getName().equals("equals")) //$NON-NLS-1$
            {
                return new Boolean(equals(args[0]));
            }

            if (method.getName().equals("hashCode")) //$NON-NLS-1$
            {
                return new Integer(hashCode());
            }

            log.error("Failed on method: " + method); //$NON-NLS-1$
            return null;
        }
    }

    /**
     * @param client
     * @return Debugging map
     */
    public Map dateTest(Date client) {
        Date server = new Date();

        Map reply = new HashMap();

        reply.put("client-object", client); //$NON-NLS-1$
        reply.put("client-string", client.toString()); //$NON-NLS-1$
        reply.put("server-object", server); //$NON-NLS-1$
        reply.put("server-string", server.toString()); //$NON-NLS-1$

        return reply;
    }

    /**
     * @param type
     * @return test bean
     */
    public Foo inheritanceFooTest(int type) {
        switch (type) {
        case 0:
            return new InnerFoo();

        case 1:
            return new Foo() {
                public String getString() {
                    return "anon foo";}}; //$NON-NLS-1$

        case 4:
            return (Foo) Proxy.newProxyInstance(Foo.class.getClassLoader(),
                    new Class[] { Foo.class }, new TestBeanInvocationHandler());

        default:
            throw new IllegalArgumentException("" + type); //$NON-NLS-1$
        }
    }

    /** */
    public interface Foo {
        /** @return string */
        String getString();
    }

    /** */
    public class InnerFoo implements Foo {
        public String getString() {
            return "inner foo";} //$NON-NLS-1$
    }

    /**
     * @param req
     * @return string
     */
    public String httpServletRequestParam(HttpServletRequest req) {
        return req.getRemoteAddr();
    }

    /**
     * @param req
     * @param i
     * @param resp
     * @param s
     * @param session
     * @param ss
     * @param scx
     * @param d
     * @param scfg
     * @return string
     */
    public String httpObjectParams(HttpServletRequest req, int i,
            HttpServletResponse resp, String s, HttpSession session,
            short[] ss, ServletContext scx, Date d, ServletConfig scfg) {
        return req.getRemoteAddr() + i + resp.hashCode() + s + session.getId()
                + ss.length + scx.getMajorVersion() + d.getTime()
                + scfg.getServletName();
    }

    /**
     * @return nest
     */
    public TestBean[] getNestingTest() {
        TestBean a = new TestBean(0, "!\"$%^&*()_1", null); //$NON-NLS-1$
        TestBean b = new TestBean(0, "!\"$%^&*()_2", a); //$NON-NLS-1$
        TestBean c = new TestBean(0, "!\"$%^&*()_3", b); //$NON-NLS-1$
        TestBean d = new TestBean(0, "!\"$%^&*()_4", c); //$NON-NLS-1$

        TestBean[] reply = new TestBean[] { a, c, d, d, };

        return reply;
    }

    /**
     * @param param1
     * @param param2
     * @return string
     */
    public String stringStringParam(String param1, String param2) {
        return "param1='" + param1 + "' param2='" + param2 + "'"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
    }

    /**
     * @param param
     * @param delay
     * @return string
     * @throws InterruptedException
     */
    public String slowStringParam(String param, long delay)
            throws InterruptedException {
        log.debug("About to wait for: " + delay); //$NON-NLS-1$
        synchronized (this) {
            wait(delay);
        }
        log.debug("Done waiting for: " + delay); //$NON-NLS-1$

        return param;
    }

    /**
     * @param data
     *            The results of the current test
     * @return A summary of all the received results
     */
    public Map reply(Map data) {
        String failReport = (String) data.get("failreport"); //$NON-NLS-1$

        String userAgentHttp = request.getHeader("User-Agent"); //$NON-NLS-1$
        userAgentHttp = simplfyUserAgent(userAgentHttp);
        if (userAgentHttp.length() > 100) {
            userAgentHttp = userAgentHttp.substring(0, 100);
        }

        if (logfile == null) {
            try {
                String home = System.getProperty("user.home"); //$NON-NLS-1$
                Writer out = new FileWriter(
                        home + File.separator + "test.log", true); //$NON-NLS-1$
                // URL url =
                // ExecutionContext.get().getServletContext().getResource("/test.log");
                // //$NON-NLS-1$
                // OutputStream out = url.openConnection().getOutputStream();
                logfile = new PrintWriter(out);
            } catch (Exception ex) {
                log.error("Failed to open test log file", ex); //$NON-NLS-1$
            }
        }

        if (logfile != null) {
            for (Iterator it = data.keySet().iterator(); it.hasNext();) {
                String key = (String) it.next();
                if (key.length() > 100) {
                    key = key.substring(0, 100);
                }
                String value = (String) data.get(key);
                if (value.length() > 1000) {
                    value = value.substring(0, 1000);
                }
                logfile.write("\n" + key + "=" + value); //$NON-NLS-1$ //$NON-NLS-2$                
            }
            logfile.write("\nuseragent-http=" + userAgentHttp); //$NON-NLS-1$
            logfile.write("\naddr=" + request.getRemoteAddr()); //$NON-NLS-1$
            logfile.write("\n"); //$NON-NLS-1$
            logfile.flush();
        }

        // Update the results summary
        Map failCounts = (Map) results.get(userAgentHttp);
        if (failCounts == null) {
            failCounts = new HashMap();
            results.put(userAgentHttp, failCounts);
        }

        Integer reports = (Integer) failCounts.get(failReport);
        if (reports == null) {
            reports = new Integer(1);
        } else {
            reports = new Integer(reports.intValue() + 1);
        }
        failCounts.put(failReport, reports);

        return results;
    }

    /**
     * Attempt to simplfy a user-agent string
     * 
     * @param sent
     *            The user-agent from the browser
     * @return A user friendly version if possible
     */
    public static String simplfyUserAgent(String sent) {
        // Firefox
        int offset = sent.indexOf("Firefox"); //$NON-NLS-1$
        if (offset > 10) {
            return sent.substring(offset);
        }

        // IE
        offset = sent.indexOf("MSIE"); //$NON-NLS-1$
        if (offset > 10) {
            int end = sent.indexOf(";", offset); //$NON-NLS-1$
            if (end == -1) {
                end = sent.length();
            }
            return sent.substring(offset, end);
        }

        // Konq
        offset = sent.indexOf("Konqueror"); //$NON-NLS-1$
        if (offset > 10) {
            int end = sent.indexOf(";", offset); //$NON-NLS-1$
            if (end == -1) {
                end = sent.length();
            }
            return sent.substring(offset, end);
        }

        // Safari
        offset = sent.indexOf("Safari"); //$NON-NLS-1$
        if (offset > 10) {
            int end = sent.indexOf(";", offset); //$NON-NLS-1$
            if (end == -1) {
                end = sent.length();
            }
            return sent.substring(offset, end);
        }

        // Opera
        offset = sent.indexOf("Opera"); //$NON-NLS-1$
        if (offset > -1) {
            int end = sent.indexOf(" ", offset); //$NON-NLS-1$
            if (end == -1) {
                end = sent.length();
            }
            return sent.substring(offset, end);
        }

        return sent;
    }

    /**
     * @return string
     */
    public String delete() {
        return "You can't touch me"; //$NON-NLS-1$
    }

    /**
     * @return string
     */
    protected String protectedMethod() {
        privateMethod();
        return "You can't touch me"; //$NON-NLS-1$
    }

    /**
     * @return string
     */
    private String privateMethod() {
        return "You can't touch me"; //$NON-NLS-1$
    }

    /**
     * @return string
     */
    public static String staticMethod() {
        return "static Test.staticMethod() says hello."; //$NON-NLS-1$
    }

    /**
     * @param param1
     * @return string
     */
    public String dangerOverload(String param1) {
        return "Test.dangerOverload(" + param1 + ") says hello."; //$NON-NLS-1$//$NON-NLS-2$
    }

    /**
     * @return string
     */
    public String dangerOverload() {
        return "Test.dangerOverload() says hello."; //$NON-NLS-1$
    }

    /*
     * (non-Javadoc)
     * 
     * @see org.swato.json_rpc.servlet.RequestAware#setRequest(javax.servlet.http.HttpServletRequest)
     */
    public void setRequest(HttpServletRequest req) {
        this.request = req;
    }

    public String[][] twoDString(String[][] string) {
        return string;
    }

    /**
     * The log stream
     */
    private static Log log = LogFactory.getLog(Test.class);

    private static PrintWriter logfile = null;

    private HttpServletRequest request;

    private static Map results = new HashMap();

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -