thagale / google-refine

Automatically exported from code.google.com/p/google-refine
Other
0 stars 0 forks source link

AbstractMethodError when adding column that results in unexpected type #590

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
Add Column using this expression

forEach(('['+value.split('[')[3].split(']')[0]+']').parseJson(),k,k['html'].pars
eHtml().select('a')[0].htmlAttr('href'))

produces the following traceback on the server console and never returns in the 
client.  We need to handle this error better.

11:17:04.759 [          org.mortbay.log] Error for /command/core/add-column (35m
s)
java.lang.AbstractMethodError: java.lang.Exception.toString()Ljava/lang/String;
        at com.google.refine.grel.ast.FunctionCallExpr.evaluate(FunctionCallExpr
.java:71)
        at com.google.refine.grel.ast.FunctionCallExpr.evaluate(FunctionCallExpr
.java:62)
        at com.google.refine.grel.ast.FunctionCallExpr.evaluate(FunctionCallExpr
.java:62)
        at com.google.refine.grel.ast.OperatorCallExpr.evaluate(OperatorCallExpr
.java:57)
        at com.google.refine.grel.ast.OperatorCallExpr.evaluate(OperatorCallExpr
.java:57)
        at com.google.refine.grel.ast.FunctionCallExpr.evaluate(FunctionCallExpr
.java:62)
        at com.google.refine.grel.controls.ForEach.call(ForEach.java:66)
        at com.google.refine.grel.ast.ControlCallExpr.evaluate(ControlCallExpr.j
ava:57)
        at com.google.refine.operations.column.ColumnAdditionOperation$1.visit(C
olumnAdditionOperation.java:198)
        at com.google.refine.browsing.util.ConjunctiveFilteredRows.visitRow(Conj
unctiveFilteredRows.java:76)
        at com.google.refine.browsing.util.ConjunctiveFilteredRows.accept(Conjun
ctiveFilteredRows.java:65)
        at com.google.refine.operations.column.ColumnAdditionOperation.createHis
toryEntry(ColumnAdditionOperation.java:151)
        at com.google.refine.model.AbstractOperation$1.createHistoryEntry(Abstra
ctOperation.java:52)
        at com.google.refine.process.QuickHistoryEntryProcess.performImmediate(Q
uickHistoryEntryProcess.java:73)
        at com.google.refine.process.ProcessManager.queueProcess(ProcessManager.
java:82)
        at com.google.refine.commands.Command.performProcessAndRespond(Command.j
ava:248)
        at com.google.refine.commands.EngineDependentCommand.doPost(EngineDepend
entCommand.java:81)
        at com.google.refine.RefineServlet.service(RefineServlet.java:177)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511
)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1166)
        at org.mortbay.servlet.UserAgentFilter.doFilter(UserAgentFilter.java:81)

        at org.mortbay.servlet.GzipFilter.doFilter(GzipFilter.java:132)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1157)
        at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3
88)
        at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.jav
a:216)
        at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:1
82)
        at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:7
65)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)

        at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:1
52)
        at org.mortbay.jetty.Server.handle(Server.java:326)
        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:54
2)
        at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnectio
n.java:938)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
        at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.
java:228)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

Original issue reported on code.google.com by tfmorris on 24 Jul 2012 at 3:21