16:49:08.542 [ERROR] [git] Unable to load module entry point class org.qualipso.factory.ui.service.git.client.presenter.GitPresenter (see associated exception for details)
java.lang.NullPointerException: null
at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:179)
at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:120)
at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:507)
at com.google.gwt.dev.shell.ModuleSpace.invokeNativeVoid(ModuleSpace.java:284)
at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeVoid(JavaScriptHost.java:107)
at org.qualipso.factory.ui.shared.OpenParts.client.OPPartLoaderBinding$.notifyLoadingCompletedImpl$(OPPartLoaderBinding.java)
at org.qualipso.factory.ui.shared.OpenParts.client.OPPartLoaderBinding$.notifyLoadingCompleted$(OPPartLoaderBinding.java:87)
at org.qualipso.factory.ui.shared.OpenParts.client.OPBinding$.notifyLoadingCompleted$(OPBinding.java:369)
at org.qualipso.factory.ui.shared.OpenParts.client.OPShell.notifyLoadingCompleted(OPShell.java:203)
at org.qualipso.factory.ui.service.git.client.presenter.GitPresenter_GitBinderImpl.notifyLoadingCompleted(GitPresenter_GitBinderImpl.java:18)
at org.qualipso.factory.ui.service.git.client.presenter.GitPresenter.onModuleLoad(GitPresenter.java:73)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:369)
at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:185)
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:380)
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:222)
at java.lang.Thread.run(Thread.java:619)In the component, when you define view factory methods (with the @OPViewFactory annotation), you can specify which parameters are mandatory, that is will necessarily be send to the factory. If the view factory is called without such parameter, it thrown an exception (specifically, a MissingMandatoryParamException as defined in OpenParts).
The problem is that, when you're loading a view in dev mode, you're not launching the whole ui, so you need a specific container that will load your view, thus call directly the view factory (and display the result). That's the role of OPContainer, as defined in, for example, GitDev.gwt.xml or ProjectDev.gwt.xml. The view to display (service, resource, action, parameters) is specified directly in the index.html page through meta tags.
We started to put the @OPMandatoryParams annotation just a bit before switching to the qad version, so only some view factory have the annotation in the normal version. However, thanks to the beauty of copy-paste and a simplified architecture only correct for a q&d version, now all view factory have a mandatory parameter, that is "path".
As you already guessed by now, I didn't tested the individual modules, so I didn't put the necessary meta-tag for parameters in the dev mode index.html page. Thus, in dev mode, OPContainer call directly the view factory without the mandatory param, thus the error (why you get a null pointer exception rather than the specific MissingMandatoryParamException that should be thrown is still a mystery to be solved).
So the only thing you have to do to correct the problem is to put a new meta-tag in index.html. The meta-tag should be like :
<meta name="part_params" content="path, /" />
You should put it between the last part_xxx tag and the xxxdev.nocache.js lauching tag, like that:
<meta name="part_name" content="project" /> <meta name="part_view" content="display" /> <meta name="part_params" content="path, /" /> <script type="text/javascript" src='projectdev/projectdev.nocache.js'></script>
2010-03-27 19:14:47.563:WARN:/factory-ui-1.0-SNAPSHOT:Exception while dispatching incoming RPC call com.google.gwt.user.client.rpc.SerializationException: Could not find ClientOracle data for permutation 7B60E1D05F6C23E004543F70A0E04677 at com.google.gwt.rpc.server.RpcServlet.findClientOracleData(RpcServlet.java:253) at com.google.gwt.rpc.server.RpcServlet.getClientOracle(RpcServlet.java:98) at com.google.gwt.rpc.server.RpcServlet.processPost(RpcServlet.java:177) at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:530) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1216) at org.qualipso.factory.ui.base.main.filter.BootstrapFilter.doFilter(BootstrapFilter.java:97) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1187) at org.qualipso.factory.ui.base.main.filter.AuthenticationFilter.doFilter(AuthenticationFilter.java:81) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1187) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:425) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:457) at org.eclipse.jetty.server.session.SessionHandler.handle(SessionHandler.java:182) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:933) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:362) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:867) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:245) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113) at org.eclipse.jetty.server.Server.handle(Server.java:334) at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:559) at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1007) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:747) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:209) at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:406) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:462) at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436) at java.lang.Thread.run(Unknown Source)