Galaxy

Unable to add custom lifecycle - NPE

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: To be reviewed To be reviewed
  • Resolution: Fixed
  • Affects Version/s: 1.0-beta-3
  • Fix Version/s: 1.0-RC
  • Component/s: Core
  • Labels:
    None
  • Environment:

    Jetty 6.1.6 on Windows

  • User impact:
    High
  • Similar Issues:
    GALAXY-216 Unable to delete custom lifecycle
    GALAXY-24 Custom Lifecycles
    GALAXY-275 Can't edit lifecycle phases
    GALAXY-290 Attempt to add a duplicate lifecycle silently fails with a 'null' message
    GALAXY-400 Lifecycle select boxes do not display proper values.
    GALAXY-150 Artifact Type [Add] link incorrectly brings to Add Lifecycle screen
    GALAXY-289 Usability fixes on Add/Edit Lifecycle forms
    GALAXY-338 Unable to add artifact via UI
    GALAXY-285 Form is not properly re-initialized for Lifecycle, results in error on save
    GALAXY-51 Unable to save Policy changes in the admin module

Description

Attempting to add a custom lifecycle results in a Null Pointer Exception

Steps to reproduce:
Go to the Administration tab, select Add lifecycle.
Enter a Lifecycle name "my life"
Add Phase "one"
Add phase "two"
Make one the Initial phase
Click Save

An error occurs. The log shows:

INFO | jvm 1 | 2008/04/24 09:51:14 | WARN 2008-04-24 09:51:14,775 [btpool0-8] org.gwtwidgets.server.spring.GWTRPCServiceExporter: java.lang.reflect.InvocationTargetException
INFO | jvm 1 | 2008/04/24 09:51:14 | 2008-04-24 09:51:14.799:/galaxy:WARN: Exception while dispatching incoming RPC call
INFO | jvm 1 | 2008/04/24 09:51:14 | java.lang.RuntimeException: com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract void org.mule.galaxy.web.rpc.RegistryService.saveLifecycle(org.mule.galaxy.web.rpc.WLifecycle) throws org.mule.galaxy.web.client.RPCException,org.mule.galaxy.web.rpc.ItemExistsException' threw an unexpected exception: java.lang.NullPointerException
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.gwtwidgets.server.spring.GWTRPCServiceExporter.processCall(GWTRPCServiceExporter.java:150)
INFO | jvm 1 | 2008/04/24 09:51:14 | at com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost(RemoteServiceServlet.java:187)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.gwtwidgets.server.spring.GWTRPCServiceExporter.handleRequest(GWTRPCServiceExporter.java:168)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:49)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:441)
INFO | jvm 1 | 2008/04/24 09:51:14 | at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
INFO | jvm 1 | 2008/04/24 09:51:14 | at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.springmodules.jcr.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:93)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:124)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.acegisecurity.ui.switchuser.SwitchUserProcessingFilter.doFilter(SwitchUserProcessingFilter.java:341)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:81)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:174)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:404)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.mortbay.jetty.Server.handle(Server.java:324)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:842)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:205)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
INFO | jvm 1 | 2008/04/24 09:51:14 | Caused by: com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract void org.mule.galaxy.web.rpc.RegistryService.saveLifecycle(org.mule.galaxy.web.rpc.WLifecycle) throws org.mule.galaxy.web.client.RPCException,org.mule.galaxy.web.rpc.ItemExistsException' threw an unexpected exception: java.lang.NullPointerException
INFO | jvm 1 | 2008/04/24 09:51:14 | at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:361)
INFO | jvm 1 | 2008/04/24 09:51:14 | at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:320)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.gwtwidgets.server.spring.GWTRPCServiceExporter.processCall(GWTRPCServiceExporter.java:143)
INFO | jvm 1 | 2008/04/24 09:51:14 | ... 55 more
INFO | jvm 1 | 2008/04/24 09:51:14 | Caused by: java.lang.NullPointerException
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.mule.galaxy.impl.lifecycle.LifecycleManagerImpl.getChild(LifecycleManagerImpl.java:458)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.mule.galaxy.impl.lifecycle.LifecycleManagerImpl.persist(LifecycleManagerImpl.java:398)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.mule.galaxy.impl.lifecycle.LifecycleManagerImpl.persist(LifecycleManagerImpl.java:51)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.mule.galaxy.impl.jcr.onm.AbstractDao.doSave(AbstractDao.java:239)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.mule.galaxy.impl.jcr.onm.AbstractDao$2.doInJcr(AbstractDao.java:67)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.springmodules.jcr.JcrTemplate.execute(JcrTemplate.java:76)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.springmodules.jcr.JcrTemplate.execute(JcrTemplate.java:108)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.mule.galaxy.impl.jcr.onm.AbstractDao.save(AbstractDao.java:64)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.mule.galaxy.impl.lifecycle.LifecycleManagerImpl.save(LifecycleManagerImpl.java:51)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.mule.galaxy.impl.lifecycle.LifecycleManagerImpl$$FastClassByCGLIB$$1d877b5a.invoke(<generated>)
INFO | jvm 1 | 2008/04/24 09:51:14 | at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.mule.galaxy.impl.lifecycle.LifecycleManagerImpl$$EnhancerByCGLIB$$fc233b20.save(<generated>)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.mule.galaxy.web.server.RegistryServiceImpl.saveLifecycle(RegistryServiceImpl.java:1231)
INFO | jvm 1 | 2008/04/24 09:51:14 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
INFO | jvm 1 | 2008/04/24 09:51:14 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
INFO | jvm 1 | 2008/04/24 09:51:14 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
INFO | jvm 1 | 2008/04/24 09:51:14 | at java.lang.reflect.Method.invoke(Method.java:597)
INFO | jvm 1 | 2008/04/24 09:51:14 | at org.gwtwidgets.server.spring.GWTRPCServiceExporter.processCall(GWTRPCServiceExporter.java:127)
INFO | jvm 1 | 2008/04/24 09:51:14 | ... 55 more

I'm not sure what I did differently the first time I attempted this, but in that case I permanently screwed up the lifecycles dialog – I would get an error every time I attempted to visit the dialog. The only way to recover was to delete my galaxy-data directory entirely.

Activity

Hide
Dan Diephouse added a comment - 30/Apr/08 03:50 PM

Fixed in: http://fisheye.muleforge.org/changelog/galaxy/?cs=815

The problem was that it didn't given an appropriate error message that a lifecycle with that name already existed.

Show
Dan Diephouse added a comment - 30/Apr/08 03:50 PM Fixed in: http://fisheye.muleforge.org/changelog/galaxy/?cs=815 The problem was that it didn't given an appropriate error message that a lifecycle with that name already existed.

People

Vote (0)
Watch (0)

Dates

  • Created:
    24/Apr/08 11:59 AM
    Updated:
    30/Apr/08 03:50 PM
    Resolved:
    30/Apr/08 03:50 PM