Hi Chad,
Thanks! That worked GREAT!!
Jim
---- Chad Schoettger <[EMAIL PROTECTED]> wrote:
> Hi Jim,
>
> Sure, inside your onAcquire/onRelease method you can do something like,
>
> try {
>
> .....
>
> } catch (MyException e) {
>
> throw new ControlException(e);
> }
>
> On 10/11/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> > Hi Chad,
> >
> > I missed the reply that you posted (below) to the mailing list in my
> > mailbox. Sorry about that.
> >
> > Can you give an example of what you mean by "wrap the exception in
> > a org.apache.beehive.controls.api.ControlException"?
> >
> > Thanks,
> > Jim
> >
> >
> > =========================================
> > Hello,
> >
> > I don't believe its possible to change the signature of
> > onAcquire/onRelease event handlers since they are part of the core
> > controls package. I think the documentation you mentioned was
> > referring to custom event handlers defined by a user.
> >
> > What we have done in the past when it was desirable to throw an
> > exception from one of these methods has been to wrap the exception in
> > a org.apache.beehive.controls.api.ControlException which is a runtime
> > exception and can be thrown from anywhere.
> >
> > - Chad
> >
> >
> > ---- [EMAIL PROTECTED] wrote:
> > > Hi,
> > >
> > > I am working in a WebLogic/Workshop environment, and am VERY new to
> > > Beehive.
> > >
> > > I'm currently upgrading an application that was originally written in
> > > Workshop
> > > 8.1 to WebLogic/Workshop 9.2. This application uses several custom
> > > controls,
> > > and after upgrading by Workshop (via an import), the original custom
> > > controls
> > > got "converted" to Beehive controls.
> > >
> > > The original custom controls used what use to be the context_onAcquire()
> > > and
> > > context_onRelease() methods to setup the environment for the control
> > > code, and
> > > to cleanup the environment, respectively, and after the initial
> > > conversion,
> > > these two methods weren't being called.
> > >
> > > So, I manually added the necessary "things", e.g.:
> > >
> > > import org.apache.beehive.controls.api.events.EventHandler;
> > > import org.apache.beehive.controls.api.context.ResourceContext;
> > > .
> > > .
> > > @org.apache.beehive.controls.api.context.Context
> > > ResourceContext resourceContext;
> > > .
> > > .
> > > @EventHandler(field="resourceContext",
> > > eventSet=ResourceContext.ResourceEvents.class,
> > > eventName="onAcquire")
> > > public void onAcquire() throws Exception
> > > {
> > > .. code that use to be in context_onAcquire()
> > > }
> > >
> > >
> > > @EventHandler(field="resourceContext",
> > > eventSet=ResourceContext.ResourceEvents.class,
> > > eventName="onRelease")
> > > public void onRelease() throws Exception
> > > {
> > > .. code that use to be in context_onRelease()
> > > }
> > >
> > > However, when I did that, and tried to build the application, I got an
> > > "Unhandled exception type Exception" in a module named
> > > "XXXImplInitializer.java":
> > >
> > > public void onAcquire()
> > > {
> > > __bc_impl.onAcquire();
> > > }
> > >
> > > [In the original non-Beehive code, context_onAcquire() had:
> > >
> > > public void context_onAcquire() throws Exception
> > > ]
> > >
> > > I eventually worked around this problem by removing the "throws
> > > Exception" from
> > > the "public void onAcquire()" and by commenting out all of the "throw new
> > > Exception(...)" lines in the onAcquire() method.
> > >
> > > I think that info on the following page speaks to this under "Upgrading
> > > Exception Handling in Control Event Handlers":
> > >
> > > http://edocs.bea.com/workshop/docs92/ws_platform/upgrading/conUpgradingJavaContr
> > > ols.html
> > >
> > > As I mentioned, I am really new to Beehive, but I think that my
> > > "workaround" is
> > > doing the 2nd option that page mentions, i.e.:
> > >
> > > "Remove the throws clause from the event handler code and implement
> > > another way
> > > to handle exceptions generated from the event"
> > >
> > > But, I'd like to reinstate things so that my controls do throw
> > > exceptions, but
> > > I'm not quite sure I understand how to implement the 1st option:
> > >
> > > "Add the throws clause your event handler is throwing to the EventSet
> > > event
> > > method. You will also need to add a corresponding try/catch block to code
> > > that
> > > invokes the event method"
> > >
> > > Is this just a matter of adding something to the "eventSet" in the
> > > "EventHandler" annotation, and also, if that is the case, can someone
> > > tell me
> > > exactly what I need to add there?
> > >
> > > Or, if I need to do something additional, what else do I need to do?
> > >
> > > Thanks in advance,
> > > Jim
> > >
> > >
> >
> >