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
|#]