Hi all,

I'm trying to get latest CodeIgniter framework to work in Quercus -
and noticed that there are some strange problems.

In /system/codeigniter/Codeigniter.php there is a code:

if ( ! class_exists($class)
        OR $method == 'controller'
        OR strncmp($method, '_', 1) == 0
        OR in_array($method, get_class_methods('Controller'), TRUE)
        )
{
        
        show_404("{$class}/{$method}");
}

In which in_array_part causes Quercus to barf if third parameter (
strictness ) is set to true.

var_dump shows that each of the variables - both the needle and items
in array - are indeed strings and I even tried to use explicit casting
for $method to a string.

array(5) { [0]=>  string(7) "CI_Base" [1]=>  string(10) "Controller"
[2]=>  string(14) "_ci_initialize" [3]=>  string(15) "_ci_scaffolding"
[4]=>  string(12) "get_instance" }

Exception thrown below:

500 Servlet Exception

[show] java.lang.UnsupportedOperationException

java.lang.UnsupportedOperationException
        at 
com.caucho.quercus.env.JavaAdapter.containsStrict(JavaAdapter.java:572)
        at com.caucho.quercus.lib.ArrayModule.in_array(ArrayModule.java:1519)
        at sun.reflect.GeneratedMethodAccessor29.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at 
com.caucho.quercus.module.StaticFunction.invoke(StaticFunction.java:129)
        at com.caucho.quercus.env.JavaInvoker.callMethod(JavaInvoker.java:606)
        at com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:541)
        at com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:182)
        at com.caucho.quercus.expr.FunctionExpr.eval(FunctionExpr.java:126)
        at 
com.caucho.quercus.program.ExprStatement.execute(ExprStatement.java:64)
        at 
com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:105)
        at 
com.caucho.quercus.program.QuercusProgram.execute(QuercusProgram.java:272)
        at 
com.caucho.quercus.page.InterpretedPage.execute(InterpretedPage.java:70)
        at com.caucho.quercus.env.Env.include(Env.java:3735)
        at com.caucho.quercus.env.Env.includeOnce(Env.java:3684)
        at com.caucho.quercus.expr.IncludeOnceExpr.eval(IncludeOnceExpr.java:88)
        at 
com.caucho.quercus.program.ExprStatement.execute(ExprStatement.java:64)
        at 
com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:105)
        at 
com.caucho.quercus.program.QuercusProgram.execute(QuercusProgram.java:272)
        at 
com.caucho.quercus.page.InterpretedPage.execute(InterpretedPage.java:70)
        at com.caucho.quercus.page.QuercusPage.executeTop(QuercusPage.java:119)
        at 
com.caucho.quercus.servlet.ResinQuercusServlet.service(ResinQuercusServlet.java:149)
        at 
com.caucho.quercus.servlet.QuercusServlet.service(QuercusServlet.java:355)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:91)
        at 
com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:103)
        at 
com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:187)
        at 
com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:266)
        at 
com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:270)
        at com.caucho.server.port.TcpConnection.run(TcpConnection.java:678)
        at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:721)
        at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:643)
        at java.lang.Thread.run(Thread.java:619)


Any thoughts?

-huima


_______________________________________________
resin-interest mailing list
resin-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/resin-interest

Reply via email to