| From | Sent On | Attachments |
|---|---|---|
| Joe Di Pol | Sep 28, 2010 10:49 am | |
| Jerome Dochez | Sep 28, 2010 9:29 pm | |
| Joe Di Pol | Sep 29, 2010 8:46 am | |
| Carla Mott | Sep 29, 2010 10:38 am |
| Subject: | ActionReport cause not set on bean validation failure? | |
|---|---|---|
| From: | Joe Di Pol (joe....@oracle.com) | |
| Date: | Sep 28, 2010 10:49:30 am | |
| List: | net.java.dev.glassfish.admin | |
When bean validation fails on the Node config bean the resulting ActionReport does not have the exception set.
For example create-node-config does this:
public void execute(AdminCommandContext context) { ActionReport report = context.getActionReport();
CommandInvocation ci = cr.getCommandInvocation("_create-node", report); ParameterMap map = new ParameterMap(); . . . ci.parameters(map); ci.execute();
After the ci.execute() if there was a bean validation failure then report.getFailureCause() returns null instead of the exception and report.getMessage() returns:
"Exception while adding the new configuration
org.jvnet.hk2.config.TransactionFailure:
Injection failed on public abstract void
com.sun.enterprise.config.serverbeans.Node.setName(java.lang.String) throws
java.beans.PropertyVetoException"
I'm pretty sure this use to work (the exception was set on the ActionReport). FYI here is the trace from the log file of the exception I'd expect to see set in the ActionReport.
Anybody know if anything changed?
Thanks,
Joe
[#|2010-09-28T10:27:36.105-0700|SEVERE|glassfish3.1|javax.enterprise.system.tools.admin.org.glassfish.config.support|_ThreadID=16;_ThreadName=Thread-1;|Exception
while adding the new configuration org.jvnet.hk2.config.TransactionFailure:
Injection
failed on public abstract void
com.sun.enterprise.config.serverbeans.Node.setName(java.lang.String) throws
java.beans.PropertyVetoException
org.jvnet.hk2.config.TransactionFailure: Injection failed on public abstract
void
com.sun.enterprise.config.serverbeans.Node.setName(java.lang.String) throws
java.beans.PropertyVetoException
at org.jvnet.hk2.config.ConfigSupport._apply(ConfigSupport.java:203)
at org.jvnet.hk2.config.ConfigSupport.apply(ConfigSupport.java:133)
at org.jvnet.hk2.config.ConfigSupport.apply(ConfigSupport.java:112)
at
org.glassfish.config.support.GenericCreateCommand.execute(GenericCreateCommand.java:140)
at
com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:365)
at
com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:375)
at
com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1072)
at
com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:101)
at
com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1221)
at
com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1210)
at
com.sun.enterprise.v3.admin.cluster.CreateNodeConfigCommand.execute(CreateNodeConfigCommand.java:93)
at
com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:360)
at
com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:375)
at
com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1072)
at
com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:101)
at
com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1221)
at
com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1210)
at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:375)
at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:209)
at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:166)
at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117)
at
com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:234)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:824)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:721)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1014)
at
com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:220)
at
com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
at
com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
at
com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
at
com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:530)
at
com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:511)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.jvnet.hk2.component.ComponentException: Injection failed on
public abstract
void com.sun.enterprise.config.serverbeans.Node.setName(java.lang.String) throws
java.beans.PropertyVetoException
at org.jvnet.hk2.component.InjectionManager.inject(InjectionManager.java:212)
at org.jvnet.hk2.component.InjectionManager.inject(InjectionManager.java:102)
at
org.glassfish.config.support.GenericCreateCommand$1.run(GenericCreateCommand.java:145)
at org.jvnet.hk2.config.ConfigSupport$1.run(ConfigSupport.java:115)
at org.jvnet.hk2.config.ConfigSupport._apply(ConfigSupport.java:174)
... 35 more
Caused by: java.lang.reflect.InvocationTargetException
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 org.jvnet.hk2.component.InjectionManager.inject(InjectionManager.java:197)
... 39 more
Caused by: java.lang.RuntimeException: org.jvnet.hk2.config.ValidationException:
Constraints for this bean violated.
Message = name must match "[\p{L}\p{N}_][\p{L}\p{N}\-_./;#]*"
at org.jvnet.hk2.config.WriteableView.setter(WriteableView.java:183)
at org.jvnet.hk2.config.WriteableView.invoke(WriteableView.java:139)
at $Proxy79.setName(Unknown Source)
... 44 more
Caused by: org.jvnet.hk2.config.ValidationException: Constraints for this bean
violated.
Message = name must match "[\p{L}\p{N}_][\p{L}\p{N}\-_./;#]*"
at org.jvnet.hk2.config.WriteableView.handleValidation(WriteableView.java:665)
at org.jvnet.hk2.config.WriteableView.setter(WriteableView.java:180)
... 46 more
|#]





