You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Jan-Kees van Andel (JIRA)" <de...@myfaces.apache.org> on 2009/12/13 22:09:18 UTC

[jira] Created: (EXTSCRIPT-36) NPE in when clicking button in myfaces 1.2 example

NPE in when clicking button in myfaces 1.2 example
--------------------------------------------------

                 Key: EXTSCRIPT-36
                 URL: https://issues.apache.org/jira/browse/EXTSCRIPT-36
             Project: MyFaces Extensions Scripting
          Issue Type: Bug
            Reporter: Jan-Kees van Andel
            Assignee: Werner Punz


When I enter some data in the upper input field in the MF 1.2 example, I get the following NPE:

javax.faces.FacesException: Exception while validating component with path : {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /helloWorld.xhtml][Class: javax.faces.component.html.HtmlForm,Id: form][Class: javax.faces.component.html.HtmlPanelGrid,Id: grid][Class: javax.faces.component.html.HtmlInputText,Id: input1]}
	at javax.faces.component.UIInput.validate(UIInput.java:421)
	at javax.faces.component.UIInput.processValidators(UIInput.java:186)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:726)
	at javax.faces.component.UIForm.processValidators(UIForm.java:82)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:726)
	at javax.faces.component.UIViewRoot.access$101(UIViewRoot.java:62)
	at javax.faces.component.UIViewRoot$2.process(UIViewRoot.java:133)
	at javax.faces.component.UIViewRoot.process(UIViewRoot.java:260)
	at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:129)
	at org.apache.myfaces.lifecycle.ProcessValidationsExecutor.execute(ProcessValidationsExecutor.java:32)
	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
	at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
	at org.apache.myfaces.scripting.jsf.dynamicdecorators.implemetations.LifefcycleProxy.execute(LifefcycleProxy.java:60)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:178)
	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491)
	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1074)
	at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
	at org.apache.myfaces.scripting.servlet.ScriptingServletFilter.doFilter(ScriptingServletFilter.java:48)
	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185)
	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:689)
	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:391)
	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:146)
	at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
	at org.mortbay.jetty.Server.handle(Server.java:285)
	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)
	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:765)
	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:628)
	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)
	at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
Caused by: java.lang.NullPointerException
	at org.apache.myfaces.scripting.core.CoreWeaver.reloadScriptingClass(CoreWeaver.java:70)
	at org.apache.myfaces.scripting.core.MethodLevelReloadingHandler.reloadInvoke(MethodLevelReloadingHandler.java:87)
	at org.apache.myfaces.scripting.core.MethodLevelReloadingHandler.invoke(MethodLevelReloadingHandler.java:65)
	at $Proxy6.validate(Unknown Source)
	at javax.faces.component._ComponentUtils.callValidators(_ComponentUtils.java:159)
	at javax.faces.component.UIInput.validateValue(UIInput.java:357)
	at javax.faces.component.UIInput.validate(UIInput.java:405)
	... 35 more

The debugger says that aclass is null.

Since this statement is only for debugging, I assume the quick fix is simple. Don't know the impact on the rest of the codebase...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Issue Comment Edited: (EXTSCRIPT-36) NPE in when clicking button in myfaces 1.2 example

Posted by "Werner Punz (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/EXTSCRIPT-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12790041#action_12790041 ] 

Werner Punz edited comment on EXTSCRIPT-36 at 12/14/09 8:41 AM:
----------------------------------------------------------------

Ok I have to investigate that, aclass should not be null, but do a quick fix...
the reload on components only can happen anyway if the component tree is built cleanly anewa instead of going through a post lifecycle from the same page (that is expected behavior, due to the restore mechanism in the component which gets out of sync with the components attributes)

So the fix wont break anything.
I will investigate the error on friday when I can work on the project again, so please leave the bug open!




      was (Author: werpu):
    Ok I have to investigate that, aclass should not be null, but do a quick fix...
the reload on components only can happen anyway if you do a full refresh on the page (that is expected behavior)
So the fix wont break anything.
I will investigate the error on friday when I can work on the project again, so please leave the bug open!



  
> NPE in when clicking button in myfaces 1.2 example
> --------------------------------------------------
>
>                 Key: EXTSCRIPT-36
>                 URL: https://issues.apache.org/jira/browse/EXTSCRIPT-36
>             Project: MyFaces Extensions Scripting
>          Issue Type: Bug
>            Reporter: Jan-Kees van Andel
>            Assignee: Werner Punz
>
> When I enter some data in the upper input field in the MF 1.2 example, I get the following NPE:
> javax.faces.FacesException: Exception while validating component with path : {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /helloWorld.xhtml][Class: javax.faces.component.html.HtmlForm,Id: form][Class: javax.faces.component.html.HtmlPanelGrid,Id: grid][Class: javax.faces.component.html.HtmlInputText,Id: input1]}
> 	at javax.faces.component.UIInput.validate(UIInput.java:421)
> 	at javax.faces.component.UIInput.processValidators(UIInput.java:186)
> 	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:726)
> 	at javax.faces.component.UIForm.processValidators(UIForm.java:82)
> 	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:726)
> 	at javax.faces.component.UIViewRoot.access$101(UIViewRoot.java:62)
> 	at javax.faces.component.UIViewRoot$2.process(UIViewRoot.java:133)
> 	at javax.faces.component.UIViewRoot.process(UIViewRoot.java:260)
> 	at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:129)
> 	at org.apache.myfaces.lifecycle.ProcessValidationsExecutor.execute(ProcessValidationsExecutor.java:32)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
> 	at org.apache.myfaces.scripting.jsf.dynamicdecorators.implemetations.LifefcycleProxy.execute(LifefcycleProxy.java:60)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:178)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1074)
> 	at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
> 	at org.apache.myfaces.scripting.servlet.ScriptingServletFilter.doFilter(ScriptingServletFilter.java:48)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
> 	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185)
> 	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> 	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:689)
> 	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:391)
> 	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:146)
> 	at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> 	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
> 	at org.mortbay.jetty.Server.handle(Server.java:285)
> 	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)
> 	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:765)
> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:628)
> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
> 	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)
> 	at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
> Caused by: java.lang.NullPointerException
> 	at org.apache.myfaces.scripting.core.CoreWeaver.reloadScriptingClass(CoreWeaver.java:70)
> 	at org.apache.myfaces.scripting.core.MethodLevelReloadingHandler.reloadInvoke(MethodLevelReloadingHandler.java:87)
> 	at org.apache.myfaces.scripting.core.MethodLevelReloadingHandler.invoke(MethodLevelReloadingHandler.java:65)
> 	at $Proxy6.validate(Unknown Source)
> 	at javax.faces.component._ComponentUtils.callValidators(_ComponentUtils.java:159)
> 	at javax.faces.component.UIInput.validateValue(UIInput.java:357)
> 	at javax.faces.component.UIInput.validate(UIInput.java:405)
> 	... 35 more
> The debugger says that aclass is null.
> Since this statement is only for debugging, I assume the quick fix is simple. Don't know the impact on the rest of the codebase...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Issue Comment Edited: (EXTSCRIPT-36) NPE in when clicking button in myfaces 1.2 example

Posted by "Werner Punz (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/EXTSCRIPT-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12790628#action_12790628 ] 

Werner Punz edited comment on EXTSCRIPT-36 at 12/15/09 9:17 AM:
----------------------------------------------------------------

Ok I found the issue, it as too much proxying, validators and converters are implicit parts of the component tree attached to the components, if a reloading proxy is created on them it survives exactly one lifecycle. The Lifetime of those artefacts is similar to the components, aka refreshed upon a full tree rebuild.

the fix is simple but I am not sure if I can commit it:
 public Validator createValidator(String s) throws FacesException {
        weaveDelegate();

        Validator retVal = _delegate.createValidator(s);
        if (WeavingContext.isDynamic(retVal.getClass()) && !Proxy.isProxyClass(retVal.getClass())) {
            retVal = (Validator) reloadInstance(retVal, ScriptingConst.ARTEFACT_TYPE_VALIDATOR);         
       }
        return retVal;
    }


I will fix it on the code, but I am not sure if I manage a commit today due to private circumstances (first birthday of my son)
Give it simply a try and remember the validator is refreshed only
if you do a full tree rebuild, the same applies to components as well!
This is a limitation imposed by JSF and unless we do dynamic class rewriting on those artefacts this cannot be changed!


      was (Author: werpu):
    Ok I found the issue, it as too much proxying, validators and converters are implicit parts of the component tree attached to the components, if a reloading proxy is created on them it survives exactly one lifecycle. The Lifetime of those artefacts is similar to the components, aka refreshed upon a full tree rebuild.

the fix is simple but I am not sure if I can commit it:
 public Validator createValidator(String s) throws FacesException {
        weaveDelegate();

        Validator retVal = _delegate.createValidator(s);
        if (WeavingContext.isDynamic(retVal.getClass()) && !Proxy.isProxyClass(retVal.getClass())) {
            retVal = (Validator) reloadInstance(retVal, ScriptingConst.ARTEFACT_TYPE_VALIDATOR);         
  }
        return retVal;
    }


I will fix it on the code, but I am not sure if I manage a commit today due to private circumstances (first birthday of my son)
Give it simply a try and remember the validator is refreshed only
if you do a full tree rebuild, the same applies to components as well!
This is a limitation imposed by JSF and unless we do dynamic class rewriting on those artefacts this cannot be changed!

  
> NPE in when clicking button in myfaces 1.2 example
> --------------------------------------------------
>
>                 Key: EXTSCRIPT-36
>                 URL: https://issues.apache.org/jira/browse/EXTSCRIPT-36
>             Project: MyFaces Extensions Scripting
>          Issue Type: Bug
>            Reporter: Jan-Kees van Andel
>            Assignee: Werner Punz
>
> When I enter some data in the upper input field in the MF 1.2 example, I get the following NPE:
> javax.faces.FacesException: Exception while validating component with path : {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /helloWorld.xhtml][Class: javax.faces.component.html.HtmlForm,Id: form][Class: javax.faces.component.html.HtmlPanelGrid,Id: grid][Class: javax.faces.component.html.HtmlInputText,Id: input1]}
> 	at javax.faces.component.UIInput.validate(UIInput.java:421)
> 	at javax.faces.component.UIInput.processValidators(UIInput.java:186)
> 	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:726)
> 	at javax.faces.component.UIForm.processValidators(UIForm.java:82)
> 	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:726)
> 	at javax.faces.component.UIViewRoot.access$101(UIViewRoot.java:62)
> 	at javax.faces.component.UIViewRoot$2.process(UIViewRoot.java:133)
> 	at javax.faces.component.UIViewRoot.process(UIViewRoot.java:260)
> 	at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:129)
> 	at org.apache.myfaces.lifecycle.ProcessValidationsExecutor.execute(ProcessValidationsExecutor.java:32)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
> 	at org.apache.myfaces.scripting.jsf.dynamicdecorators.implemetations.LifefcycleProxy.execute(LifefcycleProxy.java:60)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:178)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1074)
> 	at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
> 	at org.apache.myfaces.scripting.servlet.ScriptingServletFilter.doFilter(ScriptingServletFilter.java:48)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
> 	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185)
> 	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> 	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:689)
> 	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:391)
> 	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:146)
> 	at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> 	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
> 	at org.mortbay.jetty.Server.handle(Server.java:285)
> 	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)
> 	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:765)
> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:628)
> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
> 	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)
> 	at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
> Caused by: java.lang.NullPointerException
> 	at org.apache.myfaces.scripting.core.CoreWeaver.reloadScriptingClass(CoreWeaver.java:70)
> 	at org.apache.myfaces.scripting.core.MethodLevelReloadingHandler.reloadInvoke(MethodLevelReloadingHandler.java:87)
> 	at org.apache.myfaces.scripting.core.MethodLevelReloadingHandler.invoke(MethodLevelReloadingHandler.java:65)
> 	at $Proxy6.validate(Unknown Source)
> 	at javax.faces.component._ComponentUtils.callValidators(_ComponentUtils.java:159)
> 	at javax.faces.component.UIInput.validateValue(UIInput.java:357)
> 	at javax.faces.component.UIInput.validate(UIInput.java:405)
> 	... 35 more
> The debugger says that aclass is null.
> Since this statement is only for debugging, I assume the quick fix is simple. Don't know the impact on the rest of the codebase...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (EXTSCRIPT-36) NPE in when clicking button in myfaces 1.2 example

Posted by "Werner Punz (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/EXTSCRIPT-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12790052#action_12790052 ] 

Werner Punz commented on EXTSCRIPT-36:
--------------------------------------

Ok this issue is reproducable in a Unix environment as well, the quick fix is an NPE check in the affected class, but I have to investigate why aClass is null at all which it should not be!
I will investigate the issue asap (either today in the evening or on friday as I said)


Thanks for reporting the bug.


> NPE in when clicking button in myfaces 1.2 example
> --------------------------------------------------
>
>                 Key: EXTSCRIPT-36
>                 URL: https://issues.apache.org/jira/browse/EXTSCRIPT-36
>             Project: MyFaces Extensions Scripting
>          Issue Type: Bug
>            Reporter: Jan-Kees van Andel
>            Assignee: Werner Punz
>
> When I enter some data in the upper input field in the MF 1.2 example, I get the following NPE:
> javax.faces.FacesException: Exception while validating component with path : {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /helloWorld.xhtml][Class: javax.faces.component.html.HtmlForm,Id: form][Class: javax.faces.component.html.HtmlPanelGrid,Id: grid][Class: javax.faces.component.html.HtmlInputText,Id: input1]}
> 	at javax.faces.component.UIInput.validate(UIInput.java:421)
> 	at javax.faces.component.UIInput.processValidators(UIInput.java:186)
> 	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:726)
> 	at javax.faces.component.UIForm.processValidators(UIForm.java:82)
> 	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:726)
> 	at javax.faces.component.UIViewRoot.access$101(UIViewRoot.java:62)
> 	at javax.faces.component.UIViewRoot$2.process(UIViewRoot.java:133)
> 	at javax.faces.component.UIViewRoot.process(UIViewRoot.java:260)
> 	at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:129)
> 	at org.apache.myfaces.lifecycle.ProcessValidationsExecutor.execute(ProcessValidationsExecutor.java:32)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
> 	at org.apache.myfaces.scripting.jsf.dynamicdecorators.implemetations.LifefcycleProxy.execute(LifefcycleProxy.java:60)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:178)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1074)
> 	at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
> 	at org.apache.myfaces.scripting.servlet.ScriptingServletFilter.doFilter(ScriptingServletFilter.java:48)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
> 	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185)
> 	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> 	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:689)
> 	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:391)
> 	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:146)
> 	at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> 	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
> 	at org.mortbay.jetty.Server.handle(Server.java:285)
> 	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)
> 	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:765)
> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:628)
> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
> 	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)
> 	at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
> Caused by: java.lang.NullPointerException
> 	at org.apache.myfaces.scripting.core.CoreWeaver.reloadScriptingClass(CoreWeaver.java:70)
> 	at org.apache.myfaces.scripting.core.MethodLevelReloadingHandler.reloadInvoke(MethodLevelReloadingHandler.java:87)
> 	at org.apache.myfaces.scripting.core.MethodLevelReloadingHandler.invoke(MethodLevelReloadingHandler.java:65)
> 	at $Proxy6.validate(Unknown Source)
> 	at javax.faces.component._ComponentUtils.callValidators(_ComponentUtils.java:159)
> 	at javax.faces.component.UIInput.validateValue(UIInput.java:357)
> 	at javax.faces.component.UIInput.validate(UIInput.java:405)
> 	... 35 more
> The debugger says that aclass is null.
> Since this statement is only for debugging, I assume the quick fix is simple. Don't know the impact on the rest of the codebase...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (EXTSCRIPT-36) NPE in when clicking button in myfaces 1.2 example

Posted by "Jan-Kees van Andel (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/EXTSCRIPT-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12790105#action_12790105 ] 

Jan-Kees van Andel commented on EXTSCRIPT-36:
---------------------------------------------

I also tried a quick fix (some null checks), but unfortunately this didn't solve anything. If I have some spare time tonight, I'll also take a look at the cause. For one, I saw two strange (copy-paste) methods in WeavingContext.java:

    public static Object createMethodReloadingProxyFromObject(Object o, Class theInterface, int artefactType) {
        return Proxy.newProxyInstance(o.getClass().getClassLoader(),
                                      new Class[]{theInterface},
                                      new MethodLevelReloadingHandler(o, artefactType));
    }

    public static Object createConstructorReloadingProxyFromObject(Object o, Class theInterface, int artefactType) {
        return Proxy.newProxyInstance(o.getClass().getClassLoader(),
                                      new Class[]{theInterface},
                                      new MethodLevelReloadingHandler(o, artefactType));
    }

Both return a MethodLevelReloadingHandler.

However, changing the second method to return a ConstructorLevelReloadingHandler, doesn't make a difference. The same exception occurs.

> NPE in when clicking button in myfaces 1.2 example
> --------------------------------------------------
>
>                 Key: EXTSCRIPT-36
>                 URL: https://issues.apache.org/jira/browse/EXTSCRIPT-36
>             Project: MyFaces Extensions Scripting
>          Issue Type: Bug
>            Reporter: Jan-Kees van Andel
>            Assignee: Werner Punz
>
> When I enter some data in the upper input field in the MF 1.2 example, I get the following NPE:
> javax.faces.FacesException: Exception while validating component with path : {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /helloWorld.xhtml][Class: javax.faces.component.html.HtmlForm,Id: form][Class: javax.faces.component.html.HtmlPanelGrid,Id: grid][Class: javax.faces.component.html.HtmlInputText,Id: input1]}
> 	at javax.faces.component.UIInput.validate(UIInput.java:421)
> 	at javax.faces.component.UIInput.processValidators(UIInput.java:186)
> 	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:726)
> 	at javax.faces.component.UIForm.processValidators(UIForm.java:82)
> 	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:726)
> 	at javax.faces.component.UIViewRoot.access$101(UIViewRoot.java:62)
> 	at javax.faces.component.UIViewRoot$2.process(UIViewRoot.java:133)
> 	at javax.faces.component.UIViewRoot.process(UIViewRoot.java:260)
> 	at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:129)
> 	at org.apache.myfaces.lifecycle.ProcessValidationsExecutor.execute(ProcessValidationsExecutor.java:32)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
> 	at org.apache.myfaces.scripting.jsf.dynamicdecorators.implemetations.LifefcycleProxy.execute(LifefcycleProxy.java:60)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:178)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1074)
> 	at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
> 	at org.apache.myfaces.scripting.servlet.ScriptingServletFilter.doFilter(ScriptingServletFilter.java:48)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
> 	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185)
> 	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> 	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:689)
> 	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:391)
> 	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:146)
> 	at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> 	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
> 	at org.mortbay.jetty.Server.handle(Server.java:285)
> 	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)
> 	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:765)
> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:628)
> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
> 	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)
> 	at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
> Caused by: java.lang.NullPointerException
> 	at org.apache.myfaces.scripting.core.CoreWeaver.reloadScriptingClass(CoreWeaver.java:70)
> 	at org.apache.myfaces.scripting.core.MethodLevelReloadingHandler.reloadInvoke(MethodLevelReloadingHandler.java:87)
> 	at org.apache.myfaces.scripting.core.MethodLevelReloadingHandler.invoke(MethodLevelReloadingHandler.java:65)
> 	at $Proxy6.validate(Unknown Source)
> 	at javax.faces.component._ComponentUtils.callValidators(_ComponentUtils.java:159)
> 	at javax.faces.component.UIInput.validateValue(UIInput.java:357)
> 	at javax.faces.component.UIInput.validate(UIInput.java:405)
> 	... 35 more
> The debugger says that aclass is null.
> Since this statement is only for debugging, I assume the quick fix is simple. Don't know the impact on the rest of the codebase...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (EXTSCRIPT-36) NPE in when clicking button in myfaces 1.2 example

Posted by "Werner Punz (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/EXTSCRIPT-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12790628#action_12790628 ] 

Werner Punz commented on EXTSCRIPT-36:
--------------------------------------

Ok I found the issue, it as too much proxying, validators and converters are implicit parts of the component tree attached to the components, if a reloading proxy is created on them it survives exactly one lifecycle. The Lifetime of those artefacts is similar to the components, aka refreshed upon a full tree rebuild.

the fix is simple but I am not sure if I can commit it:
 public Validator createValidator(String s) throws FacesException {
        weaveDelegate();

        Validator retVal = _delegate.createValidator(s);
        if (WeavingContext.isDynamic(retVal.getClass()) && !Proxy.isProxyClass(retVal.getClass())) {
            retVal = (Validator) reloadInstance(retVal, ScriptingConst.ARTEFACT_TYPE_VALIDATOR);         }
        return retVal;
    }


I will fix it on the code, but I am not sure if I manage a commit today due to private circumstances (first birthday of my son)
Give it simply a try and remember the validator is refreshed only
if you do a full tree rebuild, the same applies to components as well!
This is a limitation imposed by JSF and unless we do dynamic class rewriting on those artefacts this cannot be changed!


> NPE in when clicking button in myfaces 1.2 example
> --------------------------------------------------
>
>                 Key: EXTSCRIPT-36
>                 URL: https://issues.apache.org/jira/browse/EXTSCRIPT-36
>             Project: MyFaces Extensions Scripting
>          Issue Type: Bug
>            Reporter: Jan-Kees van Andel
>            Assignee: Werner Punz
>
> When I enter some data in the upper input field in the MF 1.2 example, I get the following NPE:
> javax.faces.FacesException: Exception while validating component with path : {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /helloWorld.xhtml][Class: javax.faces.component.html.HtmlForm,Id: form][Class: javax.faces.component.html.HtmlPanelGrid,Id: grid][Class: javax.faces.component.html.HtmlInputText,Id: input1]}
> 	at javax.faces.component.UIInput.validate(UIInput.java:421)
> 	at javax.faces.component.UIInput.processValidators(UIInput.java:186)
> 	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:726)
> 	at javax.faces.component.UIForm.processValidators(UIForm.java:82)
> 	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:726)
> 	at javax.faces.component.UIViewRoot.access$101(UIViewRoot.java:62)
> 	at javax.faces.component.UIViewRoot$2.process(UIViewRoot.java:133)
> 	at javax.faces.component.UIViewRoot.process(UIViewRoot.java:260)
> 	at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:129)
> 	at org.apache.myfaces.lifecycle.ProcessValidationsExecutor.execute(ProcessValidationsExecutor.java:32)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
> 	at org.apache.myfaces.scripting.jsf.dynamicdecorators.implemetations.LifefcycleProxy.execute(LifefcycleProxy.java:60)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:178)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1074)
> 	at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
> 	at org.apache.myfaces.scripting.servlet.ScriptingServletFilter.doFilter(ScriptingServletFilter.java:48)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
> 	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185)
> 	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> 	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:689)
> 	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:391)
> 	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:146)
> 	at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> 	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
> 	at org.mortbay.jetty.Server.handle(Server.java:285)
> 	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)
> 	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:765)
> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:628)
> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
> 	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)
> 	at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
> Caused by: java.lang.NullPointerException
> 	at org.apache.myfaces.scripting.core.CoreWeaver.reloadScriptingClass(CoreWeaver.java:70)
> 	at org.apache.myfaces.scripting.core.MethodLevelReloadingHandler.reloadInvoke(MethodLevelReloadingHandler.java:87)
> 	at org.apache.myfaces.scripting.core.MethodLevelReloadingHandler.invoke(MethodLevelReloadingHandler.java:65)
> 	at $Proxy6.validate(Unknown Source)
> 	at javax.faces.component._ComponentUtils.callValidators(_ComponentUtils.java:159)
> 	at javax.faces.component.UIInput.validateValue(UIInput.java:357)
> 	at javax.faces.component.UIInput.validate(UIInput.java:405)
> 	... 35 more
> The debugger says that aclass is null.
> Since this statement is only for debugging, I assume the quick fix is simple. Don't know the impact on the rest of the codebase...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (EXTSCRIPT-36) NPE in when clicking button in myfaces 1.2 example

Posted by "Werner Punz (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/EXTSCRIPT-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12790375#action_12790375 ] 

Werner Punz commented on EXTSCRIPT-36:
--------------------------------------

Actually both are soon to be removed, since I dont use them anyore (at least not the constructor reloading, hence this broken code there)


> NPE in when clicking button in myfaces 1.2 example
> --------------------------------------------------
>
>                 Key: EXTSCRIPT-36
>                 URL: https://issues.apache.org/jira/browse/EXTSCRIPT-36
>             Project: MyFaces Extensions Scripting
>          Issue Type: Bug
>            Reporter: Jan-Kees van Andel
>            Assignee: Werner Punz
>
> When I enter some data in the upper input field in the MF 1.2 example, I get the following NPE:
> javax.faces.FacesException: Exception while validating component with path : {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /helloWorld.xhtml][Class: javax.faces.component.html.HtmlForm,Id: form][Class: javax.faces.component.html.HtmlPanelGrid,Id: grid][Class: javax.faces.component.html.HtmlInputText,Id: input1]}
> 	at javax.faces.component.UIInput.validate(UIInput.java:421)
> 	at javax.faces.component.UIInput.processValidators(UIInput.java:186)
> 	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:726)
> 	at javax.faces.component.UIForm.processValidators(UIForm.java:82)
> 	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:726)
> 	at javax.faces.component.UIViewRoot.access$101(UIViewRoot.java:62)
> 	at javax.faces.component.UIViewRoot$2.process(UIViewRoot.java:133)
> 	at javax.faces.component.UIViewRoot.process(UIViewRoot.java:260)
> 	at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:129)
> 	at org.apache.myfaces.lifecycle.ProcessValidationsExecutor.execute(ProcessValidationsExecutor.java:32)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
> 	at org.apache.myfaces.scripting.jsf.dynamicdecorators.implemetations.LifefcycleProxy.execute(LifefcycleProxy.java:60)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:178)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1074)
> 	at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
> 	at org.apache.myfaces.scripting.servlet.ScriptingServletFilter.doFilter(ScriptingServletFilter.java:48)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
> 	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185)
> 	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> 	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:689)
> 	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:391)
> 	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:146)
> 	at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> 	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
> 	at org.mortbay.jetty.Server.handle(Server.java:285)
> 	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)
> 	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:765)
> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:628)
> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
> 	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)
> 	at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
> Caused by: java.lang.NullPointerException
> 	at org.apache.myfaces.scripting.core.CoreWeaver.reloadScriptingClass(CoreWeaver.java:70)
> 	at org.apache.myfaces.scripting.core.MethodLevelReloadingHandler.reloadInvoke(MethodLevelReloadingHandler.java:87)
> 	at org.apache.myfaces.scripting.core.MethodLevelReloadingHandler.invoke(MethodLevelReloadingHandler.java:65)
> 	at $Proxy6.validate(Unknown Source)
> 	at javax.faces.component._ComponentUtils.callValidators(_ComponentUtils.java:159)
> 	at javax.faces.component.UIInput.validateValue(UIInput.java:357)
> 	at javax.faces.component.UIInput.validate(UIInput.java:405)
> 	... 35 more
> The debugger says that aclass is null.
> Since this statement is only for debugging, I assume the quick fix is simple. Don't know the impact on the rest of the codebase...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (EXTSCRIPT-36) NPE in when clicking button in myfaces 1.2 example

Posted by "Werner Punz (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/EXTSCRIPT-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12790374#action_12790374 ] 

Werner Punz commented on EXTSCRIPT-36:
--------------------------------------

Hello dont touch those, they are for interface type artefacts which are stateless the components are none of those...

The issue here simply is another one, let me debug into it and fix it, and dont worry for now with it, we are not even alpha so issues like this can crop up ;-)


> NPE in when clicking button in myfaces 1.2 example
> --------------------------------------------------
>
>                 Key: EXTSCRIPT-36
>                 URL: https://issues.apache.org/jira/browse/EXTSCRIPT-36
>             Project: MyFaces Extensions Scripting
>          Issue Type: Bug
>            Reporter: Jan-Kees van Andel
>            Assignee: Werner Punz
>
> When I enter some data in the upper input field in the MF 1.2 example, I get the following NPE:
> javax.faces.FacesException: Exception while validating component with path : {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /helloWorld.xhtml][Class: javax.faces.component.html.HtmlForm,Id: form][Class: javax.faces.component.html.HtmlPanelGrid,Id: grid][Class: javax.faces.component.html.HtmlInputText,Id: input1]}
> 	at javax.faces.component.UIInput.validate(UIInput.java:421)
> 	at javax.faces.component.UIInput.processValidators(UIInput.java:186)
> 	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:726)
> 	at javax.faces.component.UIForm.processValidators(UIForm.java:82)
> 	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:726)
> 	at javax.faces.component.UIViewRoot.access$101(UIViewRoot.java:62)
> 	at javax.faces.component.UIViewRoot$2.process(UIViewRoot.java:133)
> 	at javax.faces.component.UIViewRoot.process(UIViewRoot.java:260)
> 	at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:129)
> 	at org.apache.myfaces.lifecycle.ProcessValidationsExecutor.execute(ProcessValidationsExecutor.java:32)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
> 	at org.apache.myfaces.scripting.jsf.dynamicdecorators.implemetations.LifefcycleProxy.execute(LifefcycleProxy.java:60)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:178)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1074)
> 	at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
> 	at org.apache.myfaces.scripting.servlet.ScriptingServletFilter.doFilter(ScriptingServletFilter.java:48)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
> 	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185)
> 	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> 	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:689)
> 	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:391)
> 	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:146)
> 	at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> 	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
> 	at org.mortbay.jetty.Server.handle(Server.java:285)
> 	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)
> 	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:765)
> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:628)
> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
> 	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)
> 	at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
> Caused by: java.lang.NullPointerException
> 	at org.apache.myfaces.scripting.core.CoreWeaver.reloadScriptingClass(CoreWeaver.java:70)
> 	at org.apache.myfaces.scripting.core.MethodLevelReloadingHandler.reloadInvoke(MethodLevelReloadingHandler.java:87)
> 	at org.apache.myfaces.scripting.core.MethodLevelReloadingHandler.invoke(MethodLevelReloadingHandler.java:65)
> 	at $Proxy6.validate(Unknown Source)
> 	at javax.faces.component._ComponentUtils.callValidators(_ComponentUtils.java:159)
> 	at javax.faces.component.UIInput.validateValue(UIInput.java:357)
> 	at javax.faces.component.UIInput.validate(UIInput.java:405)
> 	... 35 more
> The debugger says that aclass is null.
> Since this statement is only for debugging, I assume the quick fix is simple. Don't know the impact on the rest of the codebase...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (EXTSCRIPT-36) NPE in when clicking button in myfaces 1.2 example

Posted by "Werner Punz (JIRA)" <de...@myfaces.apache.org>.
     [ https://issues.apache.org/jira/browse/EXTSCRIPT-36?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Werner Punz resolved EXTSCRIPT-36.
----------------------------------

    Resolution: Fixed

> NPE in when clicking button in myfaces 1.2 example
> --------------------------------------------------
>
>                 Key: EXTSCRIPT-36
>                 URL: https://issues.apache.org/jira/browse/EXTSCRIPT-36
>             Project: MyFaces Extensions Scripting
>          Issue Type: Bug
>            Reporter: Jan-Kees van Andel
>            Assignee: Werner Punz
>
> When I enter some data in the upper input field in the MF 1.2 example, I get the following NPE:
> javax.faces.FacesException: Exception while validating component with path : {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /helloWorld.xhtml][Class: javax.faces.component.html.HtmlForm,Id: form][Class: javax.faces.component.html.HtmlPanelGrid,Id: grid][Class: javax.faces.component.html.HtmlInputText,Id: input1]}
> 	at javax.faces.component.UIInput.validate(UIInput.java:421)
> 	at javax.faces.component.UIInput.processValidators(UIInput.java:186)
> 	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:726)
> 	at javax.faces.component.UIForm.processValidators(UIForm.java:82)
> 	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:726)
> 	at javax.faces.component.UIViewRoot.access$101(UIViewRoot.java:62)
> 	at javax.faces.component.UIViewRoot$2.process(UIViewRoot.java:133)
> 	at javax.faces.component.UIViewRoot.process(UIViewRoot.java:260)
> 	at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:129)
> 	at org.apache.myfaces.lifecycle.ProcessValidationsExecutor.execute(ProcessValidationsExecutor.java:32)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
> 	at org.apache.myfaces.scripting.jsf.dynamicdecorators.implemetations.LifefcycleProxy.execute(LifefcycleProxy.java:60)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:178)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1074)
> 	at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
> 	at org.apache.myfaces.scripting.servlet.ScriptingServletFilter.doFilter(ScriptingServletFilter.java:48)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
> 	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185)
> 	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> 	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:689)
> 	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:391)
> 	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:146)
> 	at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> 	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
> 	at org.mortbay.jetty.Server.handle(Server.java:285)
> 	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)
> 	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:765)
> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:628)
> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
> 	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)
> 	at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
> Caused by: java.lang.NullPointerException
> 	at org.apache.myfaces.scripting.core.CoreWeaver.reloadScriptingClass(CoreWeaver.java:70)
> 	at org.apache.myfaces.scripting.core.MethodLevelReloadingHandler.reloadInvoke(MethodLevelReloadingHandler.java:87)
> 	at org.apache.myfaces.scripting.core.MethodLevelReloadingHandler.invoke(MethodLevelReloadingHandler.java:65)
> 	at $Proxy6.validate(Unknown Source)
> 	at javax.faces.component._ComponentUtils.callValidators(_ComponentUtils.java:159)
> 	at javax.faces.component.UIInput.validateValue(UIInput.java:357)
> 	at javax.faces.component.UIInput.validate(UIInput.java:405)
> 	... 35 more
> The debugger says that aclass is null.
> Since this statement is only for debugging, I assume the quick fix is simple. Don't know the impact on the rest of the codebase...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (EXTSCRIPT-36) NPE in when clicking button in myfaces 1.2 example

Posted by "Werner Punz (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/EXTSCRIPT-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12790686#action_12790686 ] 

Werner Punz commented on EXTSCRIPT-36:
--------------------------------------

resolved

> NPE in when clicking button in myfaces 1.2 example
> --------------------------------------------------
>
>                 Key: EXTSCRIPT-36
>                 URL: https://issues.apache.org/jira/browse/EXTSCRIPT-36
>             Project: MyFaces Extensions Scripting
>          Issue Type: Bug
>            Reporter: Jan-Kees van Andel
>            Assignee: Werner Punz
>
> When I enter some data in the upper input field in the MF 1.2 example, I get the following NPE:
> javax.faces.FacesException: Exception while validating component with path : {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /helloWorld.xhtml][Class: javax.faces.component.html.HtmlForm,Id: form][Class: javax.faces.component.html.HtmlPanelGrid,Id: grid][Class: javax.faces.component.html.HtmlInputText,Id: input1]}
> 	at javax.faces.component.UIInput.validate(UIInput.java:421)
> 	at javax.faces.component.UIInput.processValidators(UIInput.java:186)
> 	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:726)
> 	at javax.faces.component.UIForm.processValidators(UIForm.java:82)
> 	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:726)
> 	at javax.faces.component.UIViewRoot.access$101(UIViewRoot.java:62)
> 	at javax.faces.component.UIViewRoot$2.process(UIViewRoot.java:133)
> 	at javax.faces.component.UIViewRoot.process(UIViewRoot.java:260)
> 	at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:129)
> 	at org.apache.myfaces.lifecycle.ProcessValidationsExecutor.execute(ProcessValidationsExecutor.java:32)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
> 	at org.apache.myfaces.scripting.jsf.dynamicdecorators.implemetations.LifefcycleProxy.execute(LifefcycleProxy.java:60)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:178)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1074)
> 	at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
> 	at org.apache.myfaces.scripting.servlet.ScriptingServletFilter.doFilter(ScriptingServletFilter.java:48)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
> 	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185)
> 	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> 	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:689)
> 	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:391)
> 	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:146)
> 	at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> 	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
> 	at org.mortbay.jetty.Server.handle(Server.java:285)
> 	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)
> 	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:765)
> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:628)
> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
> 	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)
> 	at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
> Caused by: java.lang.NullPointerException
> 	at org.apache.myfaces.scripting.core.CoreWeaver.reloadScriptingClass(CoreWeaver.java:70)
> 	at org.apache.myfaces.scripting.core.MethodLevelReloadingHandler.reloadInvoke(MethodLevelReloadingHandler.java:87)
> 	at org.apache.myfaces.scripting.core.MethodLevelReloadingHandler.invoke(MethodLevelReloadingHandler.java:65)
> 	at $Proxy6.validate(Unknown Source)
> 	at javax.faces.component._ComponentUtils.callValidators(_ComponentUtils.java:159)
> 	at javax.faces.component.UIInput.validateValue(UIInput.java:357)
> 	at javax.faces.component.UIInput.validate(UIInput.java:405)
> 	... 35 more
> The debugger says that aclass is null.
> Since this statement is only for debugging, I assume the quick fix is simple. Don't know the impact on the rest of the codebase...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Issue Comment Edited: (EXTSCRIPT-36) NPE in when clicking button in myfaces 1.2 example

Posted by "Werner Punz (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/EXTSCRIPT-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12790628#action_12790628 ] 

Werner Punz edited comment on EXTSCRIPT-36 at 12/15/09 9:16 AM:
----------------------------------------------------------------

Ok I found the issue, it as too much proxying, validators and converters are implicit parts of the component tree attached to the components, if a reloading proxy is created on them it survives exactly one lifecycle. The Lifetime of those artefacts is similar to the components, aka refreshed upon a full tree rebuild.

the fix is simple but I am not sure if I can commit it:
 public Validator createValidator(String s) throws FacesException {
        weaveDelegate();

        Validator retVal = _delegate.createValidator(s);
        if (WeavingContext.isDynamic(retVal.getClass()) && !Proxy.isProxyClass(retVal.getClass())) {
            retVal = (Validator) reloadInstance(retVal, ScriptingConst.ARTEFACT_TYPE_VALIDATOR);         
  }
        return retVal;
    }


I will fix it on the code, but I am not sure if I manage a commit today due to private circumstances (first birthday of my son)
Give it simply a try and remember the validator is refreshed only
if you do a full tree rebuild, the same applies to components as well!
This is a limitation imposed by JSF and unless we do dynamic class rewriting on those artefacts this cannot be changed!


      was (Author: werpu):
    Ok I found the issue, it as too much proxying, validators and converters are implicit parts of the component tree attached to the components, if a reloading proxy is created on them it survives exactly one lifecycle. The Lifetime of those artefacts is similar to the components, aka refreshed upon a full tree rebuild.

the fix is simple but I am not sure if I can commit it:
 public Validator createValidator(String s) throws FacesException {
        weaveDelegate();

        Validator retVal = _delegate.createValidator(s);
        if (WeavingContext.isDynamic(retVal.getClass()) && !Proxy.isProxyClass(retVal.getClass())) {
            retVal = (Validator) reloadInstance(retVal, ScriptingConst.ARTEFACT_TYPE_VALIDATOR);         }
        return retVal;
    }


I will fix it on the code, but I am not sure if I manage a commit today due to private circumstances (first birthday of my son)
Give it simply a try and remember the validator is refreshed only
if you do a full tree rebuild, the same applies to components as well!
This is a limitation imposed by JSF and unless we do dynamic class rewriting on those artefacts this cannot be changed!

  
> NPE in when clicking button in myfaces 1.2 example
> --------------------------------------------------
>
>                 Key: EXTSCRIPT-36
>                 URL: https://issues.apache.org/jira/browse/EXTSCRIPT-36
>             Project: MyFaces Extensions Scripting
>          Issue Type: Bug
>            Reporter: Jan-Kees van Andel
>            Assignee: Werner Punz
>
> When I enter some data in the upper input field in the MF 1.2 example, I get the following NPE:
> javax.faces.FacesException: Exception while validating component with path : {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /helloWorld.xhtml][Class: javax.faces.component.html.HtmlForm,Id: form][Class: javax.faces.component.html.HtmlPanelGrid,Id: grid][Class: javax.faces.component.html.HtmlInputText,Id: input1]}
> 	at javax.faces.component.UIInput.validate(UIInput.java:421)
> 	at javax.faces.component.UIInput.processValidators(UIInput.java:186)
> 	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:726)
> 	at javax.faces.component.UIForm.processValidators(UIForm.java:82)
> 	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:726)
> 	at javax.faces.component.UIViewRoot.access$101(UIViewRoot.java:62)
> 	at javax.faces.component.UIViewRoot$2.process(UIViewRoot.java:133)
> 	at javax.faces.component.UIViewRoot.process(UIViewRoot.java:260)
> 	at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:129)
> 	at org.apache.myfaces.lifecycle.ProcessValidationsExecutor.execute(ProcessValidationsExecutor.java:32)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
> 	at org.apache.myfaces.scripting.jsf.dynamicdecorators.implemetations.LifefcycleProxy.execute(LifefcycleProxy.java:60)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:178)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1074)
> 	at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
> 	at org.apache.myfaces.scripting.servlet.ScriptingServletFilter.doFilter(ScriptingServletFilter.java:48)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
> 	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185)
> 	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> 	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:689)
> 	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:391)
> 	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:146)
> 	at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> 	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
> 	at org.mortbay.jetty.Server.handle(Server.java:285)
> 	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)
> 	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:765)
> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:628)
> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
> 	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)
> 	at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
> Caused by: java.lang.NullPointerException
> 	at org.apache.myfaces.scripting.core.CoreWeaver.reloadScriptingClass(CoreWeaver.java:70)
> 	at org.apache.myfaces.scripting.core.MethodLevelReloadingHandler.reloadInvoke(MethodLevelReloadingHandler.java:87)
> 	at org.apache.myfaces.scripting.core.MethodLevelReloadingHandler.invoke(MethodLevelReloadingHandler.java:65)
> 	at $Proxy6.validate(Unknown Source)
> 	at javax.faces.component._ComponentUtils.callValidators(_ComponentUtils.java:159)
> 	at javax.faces.component.UIInput.validateValue(UIInput.java:357)
> 	at javax.faces.component.UIInput.validate(UIInput.java:405)
> 	... 35 more
> The debugger says that aclass is null.
> Since this statement is only for debugging, I assume the quick fix is simple. Don't know the impact on the rest of the codebase...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (EXTSCRIPT-36) NPE in when clicking button in myfaces 1.2 example

Posted by "Werner Punz (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/EXTSCRIPT-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12790389#action_12790389 ] 

Werner Punz commented on EXTSCRIPT-36:
--------------------------------------

Ok the issue seems to be improper serialisation code in the MethodLevelReloadingHandler....
It gets restored but some attributes are nulled and then the code fails.

> NPE in when clicking button in myfaces 1.2 example
> --------------------------------------------------
>
>                 Key: EXTSCRIPT-36
>                 URL: https://issues.apache.org/jira/browse/EXTSCRIPT-36
>             Project: MyFaces Extensions Scripting
>          Issue Type: Bug
>            Reporter: Jan-Kees van Andel
>            Assignee: Werner Punz
>
> When I enter some data in the upper input field in the MF 1.2 example, I get the following NPE:
> javax.faces.FacesException: Exception while validating component with path : {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /helloWorld.xhtml][Class: javax.faces.component.html.HtmlForm,Id: form][Class: javax.faces.component.html.HtmlPanelGrid,Id: grid][Class: javax.faces.component.html.HtmlInputText,Id: input1]}
> 	at javax.faces.component.UIInput.validate(UIInput.java:421)
> 	at javax.faces.component.UIInput.processValidators(UIInput.java:186)
> 	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:726)
> 	at javax.faces.component.UIForm.processValidators(UIForm.java:82)
> 	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:726)
> 	at javax.faces.component.UIViewRoot.access$101(UIViewRoot.java:62)
> 	at javax.faces.component.UIViewRoot$2.process(UIViewRoot.java:133)
> 	at javax.faces.component.UIViewRoot.process(UIViewRoot.java:260)
> 	at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:129)
> 	at org.apache.myfaces.lifecycle.ProcessValidationsExecutor.execute(ProcessValidationsExecutor.java:32)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
> 	at org.apache.myfaces.scripting.jsf.dynamicdecorators.implemetations.LifefcycleProxy.execute(LifefcycleProxy.java:60)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:178)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1074)
> 	at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
> 	at org.apache.myfaces.scripting.servlet.ScriptingServletFilter.doFilter(ScriptingServletFilter.java:48)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
> 	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185)
> 	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> 	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:689)
> 	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:391)
> 	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:146)
> 	at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> 	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
> 	at org.mortbay.jetty.Server.handle(Server.java:285)
> 	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)
> 	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:765)
> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:628)
> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
> 	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)
> 	at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
> Caused by: java.lang.NullPointerException
> 	at org.apache.myfaces.scripting.core.CoreWeaver.reloadScriptingClass(CoreWeaver.java:70)
> 	at org.apache.myfaces.scripting.core.MethodLevelReloadingHandler.reloadInvoke(MethodLevelReloadingHandler.java:87)
> 	at org.apache.myfaces.scripting.core.MethodLevelReloadingHandler.invoke(MethodLevelReloadingHandler.java:65)
> 	at $Proxy6.validate(Unknown Source)
> 	at javax.faces.component._ComponentUtils.callValidators(_ComponentUtils.java:159)
> 	at javax.faces.component.UIInput.validateValue(UIInput.java:357)
> 	at javax.faces.component.UIInput.validate(UIInput.java:405)
> 	... 35 more
> The debugger says that aclass is null.
> Since this statement is only for debugging, I assume the quick fix is simple. Don't know the impact on the rest of the codebase...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (EXTSCRIPT-36) NPE in when clicking button in myfaces 1.2 example

Posted by "Werner Punz (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/EXTSCRIPT-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12790041#action_12790041 ] 

Werner Punz commented on EXTSCRIPT-36:
--------------------------------------

Ok I have to investigate that, aclass should not be null, but do a quick fix...
the reload on components only can happen anyway if you do a full refresh on the page (that is expected behavior)
So the fix wont break anything.
I will investigate the error on friday when I can work on the project again, so please leave the bug open!




> NPE in when clicking button in myfaces 1.2 example
> --------------------------------------------------
>
>                 Key: EXTSCRIPT-36
>                 URL: https://issues.apache.org/jira/browse/EXTSCRIPT-36
>             Project: MyFaces Extensions Scripting
>          Issue Type: Bug
>            Reporter: Jan-Kees van Andel
>            Assignee: Werner Punz
>
> When I enter some data in the upper input field in the MF 1.2 example, I get the following NPE:
> javax.faces.FacesException: Exception while validating component with path : {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /helloWorld.xhtml][Class: javax.faces.component.html.HtmlForm,Id: form][Class: javax.faces.component.html.HtmlPanelGrid,Id: grid][Class: javax.faces.component.html.HtmlInputText,Id: input1]}
> 	at javax.faces.component.UIInput.validate(UIInput.java:421)
> 	at javax.faces.component.UIInput.processValidators(UIInput.java:186)
> 	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:726)
> 	at javax.faces.component.UIForm.processValidators(UIForm.java:82)
> 	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:726)
> 	at javax.faces.component.UIViewRoot.access$101(UIViewRoot.java:62)
> 	at javax.faces.component.UIViewRoot$2.process(UIViewRoot.java:133)
> 	at javax.faces.component.UIViewRoot.process(UIViewRoot.java:260)
> 	at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:129)
> 	at org.apache.myfaces.lifecycle.ProcessValidationsExecutor.execute(ProcessValidationsExecutor.java:32)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
> 	at org.apache.myfaces.scripting.jsf.dynamicdecorators.implemetations.LifefcycleProxy.execute(LifefcycleProxy.java:60)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:178)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1074)
> 	at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
> 	at org.apache.myfaces.scripting.servlet.ScriptingServletFilter.doFilter(ScriptingServletFilter.java:48)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
> 	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185)
> 	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> 	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:689)
> 	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:391)
> 	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:146)
> 	at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> 	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
> 	at org.mortbay.jetty.Server.handle(Server.java:285)
> 	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)
> 	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:765)
> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:628)
> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
> 	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)
> 	at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
> Caused by: java.lang.NullPointerException
> 	at org.apache.myfaces.scripting.core.CoreWeaver.reloadScriptingClass(CoreWeaver.java:70)
> 	at org.apache.myfaces.scripting.core.MethodLevelReloadingHandler.reloadInvoke(MethodLevelReloadingHandler.java:87)
> 	at org.apache.myfaces.scripting.core.MethodLevelReloadingHandler.invoke(MethodLevelReloadingHandler.java:65)
> 	at $Proxy6.validate(Unknown Source)
> 	at javax.faces.component._ComponentUtils.callValidators(_ComponentUtils.java:159)
> 	at javax.faces.component.UIInput.validateValue(UIInput.java:357)
> 	at javax.faces.component.UIInput.validate(UIInput.java:405)
> 	... 35 more
> The debugger says that aclass is null.
> Since this statement is only for debugging, I assume the quick fix is simple. Don't know the impact on the rest of the codebase...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (EXTSCRIPT-36) NPE in when clicking button in myfaces 1.2 example

Posted by "Werner Punz (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/EXTSCRIPT-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12790383#action_12790383 ] 

Werner Punz commented on EXTSCRIPT-36:
--------------------------------------

Ok short explanation, the method level reloading handler is for flyweight interface exposing classes and for classes which generally are stateless and are bound by interface definitions,
I changed some parts of the classloading recently to fix a bug seems I introduced another one in this area.
The method level reloading handler is currently used, but I think of eliminating it in the long run for performance reasons (who needs a reload on every method call)

The Constructor level reloading handler has never been used afair and is incorrect codewise.


> NPE in when clicking button in myfaces 1.2 example
> --------------------------------------------------
>
>                 Key: EXTSCRIPT-36
>                 URL: https://issues.apache.org/jira/browse/EXTSCRIPT-36
>             Project: MyFaces Extensions Scripting
>          Issue Type: Bug
>            Reporter: Jan-Kees van Andel
>            Assignee: Werner Punz
>
> When I enter some data in the upper input field in the MF 1.2 example, I get the following NPE:
> javax.faces.FacesException: Exception while validating component with path : {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /helloWorld.xhtml][Class: javax.faces.component.html.HtmlForm,Id: form][Class: javax.faces.component.html.HtmlPanelGrid,Id: grid][Class: javax.faces.component.html.HtmlInputText,Id: input1]}
> 	at javax.faces.component.UIInput.validate(UIInput.java:421)
> 	at javax.faces.component.UIInput.processValidators(UIInput.java:186)
> 	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:726)
> 	at javax.faces.component.UIForm.processValidators(UIForm.java:82)
> 	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:726)
> 	at javax.faces.component.UIViewRoot.access$101(UIViewRoot.java:62)
> 	at javax.faces.component.UIViewRoot$2.process(UIViewRoot.java:133)
> 	at javax.faces.component.UIViewRoot.process(UIViewRoot.java:260)
> 	at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:129)
> 	at org.apache.myfaces.lifecycle.ProcessValidationsExecutor.execute(ProcessValidationsExecutor.java:32)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
> 	at org.apache.myfaces.scripting.jsf.dynamicdecorators.implemetations.LifefcycleProxy.execute(LifefcycleProxy.java:60)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:178)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1074)
> 	at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
> 	at org.apache.myfaces.scripting.servlet.ScriptingServletFilter.doFilter(ScriptingServletFilter.java:48)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
> 	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185)
> 	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> 	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:689)
> 	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:391)
> 	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:146)
> 	at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> 	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
> 	at org.mortbay.jetty.Server.handle(Server.java:285)
> 	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)
> 	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:765)
> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:628)
> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
> 	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)
> 	at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
> Caused by: java.lang.NullPointerException
> 	at org.apache.myfaces.scripting.core.CoreWeaver.reloadScriptingClass(CoreWeaver.java:70)
> 	at org.apache.myfaces.scripting.core.MethodLevelReloadingHandler.reloadInvoke(MethodLevelReloadingHandler.java:87)
> 	at org.apache.myfaces.scripting.core.MethodLevelReloadingHandler.invoke(MethodLevelReloadingHandler.java:65)
> 	at $Proxy6.validate(Unknown Source)
> 	at javax.faces.component._ComponentUtils.callValidators(_ComponentUtils.java:159)
> 	at javax.faces.component.UIInput.validateValue(UIInput.java:357)
> 	at javax.faces.component.UIInput.validate(UIInput.java:405)
> 	... 35 more
> The debugger says that aclass is null.
> Since this statement is only for debugging, I assume the quick fix is simple. Don't know the impact on the rest of the codebase...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.