Hi Carlin,

2006/6/23, Carlin Rogers <[EMAIL PROTECTED]>:

Hi Giovanni,

Is operazione1.Operazione1Controller your subclass or is it the derived
class?


It is the subclass.

Just curious, were you able to get the example from the BEEHIVE-1060 to
compile and work with your version of beehive? Are you able to create a
simple reproduction of the problem you are having? If so, could you attach
it to the CR as well or send it to me? Thanks for the help!


I tried your sample now and to me it didn't work, i get NPE using field
protected too.
The dump of the handled exception (ClassNotFound for ClientInitializer) is
visible only raising log trace level to DEBUG.
As i said, i'm using a pre-packaged installation of BEA 9.2, so i'm not sure
what the beehive version is (i guess 1.0).

Thanks again, regards. Giovanni.

Kind regards,
Carlin

On 6/23/06, Giovanni Motta <[EMAIL PROTECTED]> wrote:
>
> Many thanks Carlin for clarifications...Unfortunately, it did not solve
my
> problem, and i'm wondering if it is a version-related issue..
> I found a workaround myself, even if it is a little bit dirty... I  was
> forced to declare a JavaControl in the PageFlow P2, this causes the
> generation of the ClientInitializer also for P2, and then all the
controls
> (even the ones defined in base class P1) work correctly (i have no more
> NPE).
> This forces me to define a fake java control in each pageFlow to be sure
> my
> hierarchy never breaks...
>
> I added a comment on your JIRA issue #1060, hope it helps.
>
> Regards. Giovanni.
>
> 2006/6/21, Carlin Rogers <[EMAIL PROTECTED]>:
> >
> > Hi Giovanni,
> >
> > In BEEHIVE-1060, if the @Control member of the parent or base class
> > controller is defined with just the default package visibility (no
> > modifier)
> > as...
> >
> >    @Control
> >    SomeControl _control;
> >
> > ...and used in a base class action method, then it will not get
> > initialized
> > when the inherited action is called for the derived controller. The
work
> > around for now is to just declare the control with the protected
> modifier
> > in
> > the base class...
> >
> >    @Control
> >    protected SomeControl _control;
> >
> > I updated the zip file with the repro case for BEEHIVE-1060 so it
> includes
> > the control used to test this specific issue. You can download it as
an
> > example. You will need to edit the ParentController and add the
> protected
> > modifier to the control so that it will work. Otherwise, this example
> > failas
> > as described in the bug.
> >
> > Hope the example helps,
> > Carlin
> >
> > On 6/21/06, Giovanni Motta <[EMAIL PROTECTED]> wrote:
> > >
> > > In https://issues.apache.org/jira/browse/BEEHIVE-1060 i read:
> > >
> > > ...The work around is to make the control field protected rather
than
> > > package protected...
> > >
> > > Sorry, my fault, but i don't understand what does it mean...Carlin,
> > could
> > > you explain better, and/or complete your sample with the workaround?
> > Many
> > > thanks.
> > > Giovanni.
> > >
> > >
> > > 2006/6/21, Giovanni Motta <[EMAIL PROTECTED] >:
> > > >
> > > >  Thanks Carlin, i realized my explanation was not clear...
> > > > I noticed the ClientInitializer is built only for 'father'
pageflow
> P1
> > > > (the base class), the one that holds the action and the control to
> be
> > > > executed.
> > > >
> > > > For pageflow P2 that inherits from P1, ClientInitializer is NOT
> > > > generated...I don't know if it is a bug the fact of not to
generate
> > it,
> > > or
> > > > else the fact of look for it in this particular case, where the
> > > > ClientInitializer is generated for the base class...
> > > >
> > > > I think my problem is quite similar to the one you mentioned, i
also
> > get
> > > a
> > > > NPE when the control is referenced by base class, but i noticed
also
> > > that
> > > > other exception i reported. It is logged and probably handled by
the
> > > > framework, since it doesn't stop execution...maybe it should???
> > > >
> > > > Could you point me to JIRA (some kind of bug tracker, i suppose?).
> > > > Many thanks, regards.
> > > > Giovanni.
> > > > 2006/6/20, Carlin Rogers <[EMAIL PROTECTED]>:
> > > >
> > > > > Hi Giovanni,
> > > > >
> > > > > The only issue I'm aware of is tracked in
> > > > > https://issues.apache.org/jira/browse/BEEHIVE-1060 where a
package
> > > > > protected
> > > > > control in a parent page flow is not being initialized when
using
> a
> > > > > derived
> > > > > page flow inheriting from the parent. In this case it throws an
> NPE
> > > when
> > > > > the
> > > > > base class method tries to access the control because the
control
> > was
> > > > > never
> > > > > initialized. The non-initialization is similar to your
experience
> > but
> > > I
> > > > > think different. Your stack trace indicates a problem in the
> > > > > initializeClient() method of
> > > > > org.apache.beehive.controls.api.bean.Controls. The call to the
> > > > > ClassLoader
> > > > > loadClass() is throwing a ClassNotFoundException for the class
> file
> > of
> > > > > your
> > > > > generated ClientInitializer,
> > > > > operazione1.Operazione1ControllerClientInitializer . You
mentioned
> > that
> > > > > you
> > > > > noticed that the ClientInitializer is built. Is the class file
in
> > > > > build/WEB-INF/classes/? Is it just an issue with the deployment
in
> > > your
> > > > > Tomcat 5.5.9 configuration. If you have a simple repro case, you
> can
> > > log
> > > > > a
> > > > > separate JIRA issue.
> > > > >
> > > > > Thanks,
> > > > > Carlin
> > > > >
> > > > > On 6/20/06, Giovanni Motta <[EMAIL PROTECTED]> wrote:
> > > > > >
> > > > > > Hi all, i'm new to the list.
> > > > > > I'm trying to build a pageflows hierarchy (pageflow PF1
defines
> > java
> > > > > > control
> > > > > > C1 and an action A1 that internally performs a call to a
method
> of
> > > C1,
> > > > > > pageflow PF2 inherits directly from PF1 and performs a forward
> to
> > A1
> > > > > ).
> > > > > > All
> > > > > > is done through annotations, no custom instanciation.
> > > > > > I'm developing with BEA 9.2 tools, but I'm using a tomcat
> > 5.5.9server
> > > > > for
> > > > > > project requirements.
> > > > > > The application starts fine on PF2, invokes action A1 of PF1
> with
> > no
> > > > > > problem, but when the java control C1 is first used, i see
with
> > the
> > > > > debug
> > > > > > tool it is not instanciated (null) .
> > > > > > Also, during initialization of pageflow P2, i see in console
> > output
> > > > > the
> > > > > > exception reported.
> > > > > > It seems like no client initializer class is found for P2, but
> i'm
> > > > > > wondering
> > > > > > if it's ordinary stuff, since i see the client initializer
class
> > is
> > > > > built
> > > > > > for pageflow P1, that in effect is the owner of the java
> > > > > control...Bug???
> > > > > >
> > > > > > Apart from this, i would like to know if someone else has
> already
> > > > > > developed
> > > > > > something similar and can produce a sample code.
> > > > > > Reading beehive 1.0.1 documentation, it seems this kind of
> > > inheritance
> > > > > > should be fully supported.
> > > > > > Problems with the container? Any points?
> > > > > >
> > > > > > Thanks in advance to who will answer.
> > > > > >
> > > > > > Exception follows:
> > > > > >
> > > > > > [INFO] FlowController - Handling exception in onCreate(),
> > > > > FlowController
> > > > > > [EMAIL PROTECTED]
> > > > > >
> > > > > > Throwable: *
> > > > > >
> > > > >
> > >
> org.apache.beehive.netui.pageflow.ControlFieldInitializationException*:
> > > > > > Exception occurred while initializing control field
> > > > > > operazione1.Operazione1Controller in
> > > > > > /operazione1/Operazione1Controller.jpf.
> > > > > >
> > > > > > Stack Trace:
> > > > > > *
> > > > > >
> > > > > >
> > > > >
> > >
> org.apache.beehive.netui.pageflow.ControlFieldInitializationException*:
> > > > > > Exception occurred while initializing control field
> > > > > > operazione1.Operazione1Controller in
> > > > > > /operazione1/Operazione1Controller.jpf.
> > > > > >
> > > > > > at
> > > > > >
> > > > > >
> > > > >
> > >
> >
>
org.apache.beehive.netui.pageflow.internal.JavaControlUtils.initJavaControls
> > > > > > (* JavaControlUtils.java:177*)
> > > > > >
> > > > > > at
> org.apache.beehive.netui.pageflow.PageFlowManagedObject.create
> > (*
> > > > > > PageFlowManagedObject.java:83*)
> > > > > >
> > > > > > at org.apache.beehive.netui.pageflow.FlowController.create (*
> > > > > > FlowController.java:556*)
> > > > > >
> > > > > > at
> org.*apache*.beehive.netui.pageflow.PageFlowController.create(*
> >
> > > > > > PageFlowController.java:405*)
> > > > > >
> > > > > > at
> > > > >
> > org.apache.beehive.netui.pageflow.FlowControllerFactory.createPageFlow
> > > > > > (*
> > > > > > FlowControllerFactory.java:294*)
> > > > > >
> > > > > > at
> > > > > >
> > > > > >
> > > > >
> > >
> >
>
org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.getFlowController
> > > > > > (*PageFlowRequestProcessor.java:603*)
> > > > > >
> > > > > > at org.*apache*
> > > > > >
> .beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(*
> > > > > > PageFlowRequestProcessor.java:508*)
> > > > > >
> > > > > > at
> > > org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(*
> > > > > > PageFlowRequestProcessor.java:838*)
> > > > > >
> > > > > > at
> > > org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process
> > > > > (*
> > > > > > AutoRegisterActionServlet.java:634*)
> > > > > >
> > > > > > at
> org.apache.beehive.netui.pageflow.PageFlowActionServlet.process
> > (*
> > > > > > PageFlowActionServlet.java:156*)
> > > > > >
> > > > > > at org.apache.struts.action.ActionServlet.doGet (*
> > ActionServlet.java
> > > > > :507*)
> > > > > >
> > > > > > at javax.servlet.http.HttpServlet.service(*HttpServlet.java
> :689*)
> > > > > >
> > > > > > at javax.servlet.http.HttpServlet.service (*HttpServlet.java
> :802*)
> > > > > >
> > > > > > at
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
> > > (*
> > > > > > ApplicationFilterChain.java:252*)
> > > > > >
> > > > > > at org.apache.catalina.core.ApplicationFilterChain.doFilter(*
> > > > > > ApplicationFilterChain.java:173*)
> > > > > >
> > > > > > at org.apache.catalina.core.ApplicationDispatcher.invoke (*
> > > > > > ApplicationDispatcher.java:672*)
> > > > > >
> > > > > > at
org.apache.catalina.core.ApplicationDispatcher.processRequest
> (*
> > > > > > ApplicationDispatcher.java :463*)
> > > > > >
> > > > > > at org.apache.catalina.core.ApplicationDispatcher.doForward(*
> > > > > > ApplicationDispatcher.java :398*)
> > > > > >
> > > > > > at org.apache.catalina.core.ApplicationDispatcher.forward(*
> > > > > > ApplicationDispatcher.java:301*)
> > > > > >
> > > > > > at
> > > > > >
> > > > > >
> > > > >
> > >
> >
>
org.apache.beehive.netui.pageflow.internal.DefaultForwardRedirectHandler.forward
> > > > > > (*DefaultForwardRedirectHandler.java:127*)
> > > > > >
> > > > > > at
> > > > >
> org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.doForward
> > (*
> > > > > > PageFlowRequestProcessor.java:1797*)
> > > > > >
> > > > > > at
> > > > > >
> > > > > >
> > > > >
> > >
> >
>
org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processPageFlowRequest
> > > > > > (*PageFlowRequestProcessor.java:732*)
> > > > > >
> > > > > > at
> > > > > >
> > > > >
> > >
> >
>
org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal
> > > > > > (*
> > > > > > PageFlowRequestProcessor.java:469*)
> > > > > >
> > > > > > at
> > > org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process
> > > > > (*
> > > > > > PageFlowRequestProcessor.java:838*)
> > > > > >
> > > > > > at
> > > org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process
(*
> > > > > > AutoRegisterActionServlet.java:634*)
> > > > > >
> > > > > > at
> org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(*
> > > > > > PageFlowActionServlet.java:156*)
> > > > > >
> > > > > > at org.apache.struts.action.ActionServlet.doGet (*
> > ActionServlet.java
> > > > > :507*)
> > > > > >
> > > > > > at javax.servlet.http.HttpServlet.service(*HttpServlet.java
> :689*)
> > > > > >
> > > > > > at javax.servlet.http.HttpServlet.service(*HttpServlet.java
> :802*)
> > > > > >
> > > > > > at
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(*
> > > > > > ApplicationFilterChain.java:252*)
> > > > > >
> > > > > > at org.apache.catalina.core.ApplicationFilterChain.doFilter (*
> > > > > > ApplicationFilterChain.java:173*)
> > > > > >
> > > > > > at org.apache.catalina.core.StandardWrapperValve.invoke (*
> > > > > > StandardWrapperValve.java:213*)
> > > > > >
> > > > > > at org.apache.catalina.core.StandardContextValve.invoke(*
> > > > > > StandardContextValve.java:178*)
> > > > > >
> > > > > > at org.apache.catalina.core.StandardHostValve.invoke (*
> > > > > > StandardHostValve.java
> > > > > > :126*)
> > > > > >
> > > > > > at org.apache.catalina.valves.ErrorReportValve.invoke(*
> > > > > > ErrorReportValve.java
> > > > > > :105*)
> > > > > >
> > > > > > at org.apache.catalina.core.StandardEngineValve.invoke (*
> > > > > > StandardEngineValve.java:107*)
> > > > > >
> > > > > > at org.apache.catalina.connector.CoyoteAdapter.service(*
> > > > > CoyoteAdapter.java
> > > > > > :148*)
> > > > > >
> > > > > > at org.apache.coyote.http11.Http11Processor.process(*
> > > > > Http11Processor.java
> > > > > > :856*)
> > > > > >
> > > > > > at
> > > > > >
> > > > > >
> > > > >
> > >
> >
>
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection
> > > > > > (*Http11Protocol.java:744*)
> > > > > >
> > > > > > at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket (*
> > > > > > PoolTcpEndpoint.java:527*)
> > > > > >
> > > > > > at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt
(*
> > > > > > LeaderFollowerWorkerThread.java:80*)
> > > > > >
> > > > > > at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
> (*
> > > > > > ThreadPool.java:684*)
> > > > > >
> > > > > > at java.lang.Thread.run(*Thread.java:595*)
> > > > > >
> > > > > > Caused by: *java.lang.ClassNotFoundException*:
> > > > > > operazione1.Operazione1ControllerClientInitializer
> > > > > >
> > > > > > at org.apache.catalina.loader.WebappClassLoader.loadClass(*
> > > > > > WebappClassLoader.java :1332*)
> > > > > >
> > > > > > at org.apache.catalina.loader.WebappClassLoader.loadClass(*
> > > > > > WebappClassLoader.java:1181*)
> > > > > >
> > > > > > at
> org.apache.beehive.controls.api.bean.Controls.initializeClient(*
> > > > > > Controls.java:131*)
> > > > > >
> > > > > > at
> > > > > >
> > > > > >
> > > > >
> > >
> >
>
org.apache.beehive.netui.pageflow.internal.JavaControlUtils.initJavaControls
> > > > > > (*JavaControlUtils.java:172*)
> > > > > >
> > > > > > ... 42 more
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>


Reply via email to