While all what Wouter says is true, there still shouldn't be an error in the logs, if it doesn't match it should continue without logging an error. Is there any other information after the error like a stack trace or something?

Wouter Zoons wrote:

Just curious : in andromda-bpm4struts.log, I get this kind of messages,
at the beginning :

Failed to construct a meta facade of type 'class
org.andromda.cartridges.bpm4struts.metafacades.StrutsUserLogicImpl' with
mappingObject of type -->
'org.omg.uml.behavioralelements.usecases.Actor$Impl'

(etc)

although it seems that the generation does fine. What is the meaning of
these
messages ?




it means AndroMDA tried to match a facade for a metaclass but it failed

we have a thing called "conditional metafacade mapping", this means the
facade is mapped onto the metaclass and one or more tests are performed on
it to see whether it is suitable or not, if a test fails the facade is
rejected and the next one is tested

example:

do you remember the time we had to use <<FrontEndEvent>> on transitions ?
we needed that to tell AndroMDA to use the StrutsAction facade, otherwise
it would use the StrutsForward facade

well, now we don't do that anymore, we just configure the bpm4struts
cartridge's facades to always use StrutsAction if either one of these
conditions is true:

1. the transition exists an initial state
2. the transition exists an action state carrying <<FrontEndView>>

here's the code for that (andromda-metafacades.xml), notice it takes 2
entries because it's an 'or' condition:

   <metafacade
class="org.andromda.cartridges.bpm4struts.metafacades.StrutsActionLogicImpl">
       <mapping
class="org.omg.uml.behavioralelements.statemachines.Transition$Impl">
           <property name="exitingInitialState"/>
       </mapping>
   </metafacade>

   <metafacade
class="org.andromda.cartridges.bpm4struts.metafacades.StrutsActionLogicImpl">
       <mapping
class="org.omg.uml.behavioralelements.statemachines.Transition$Impl">
           <property name="exitingPage"/>
       </mapping>
   </metafacade>


if neither one of these condition evaluates true we try StrutsForward, this way we guarantee the correct facade being used at *all* times: no more errors modeling them (like: forgetting to add <<FrontEndEvent>>)


you might wonder why we need to map the facade first, well that's because the properties are defined on the facade itself, so in effect we're testing whether or not the facade is suitable


makes sense ? -- Wouter





-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.
Get your fingers limbered up and give it your best shot. 4 great events, 4
opportunities to win big! Highest score wins.NEC IT Guy Games. Play to
win an NEC 61 plasma display. Visit http://www.necitguy.com/?r _______________________________________________
Andromda-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/andromda-user







------------------------------------------------------- This SF.Net email is sponsored by: NEC IT Guy Games. Get your fingers limbered up and give it your best shot. 4 great events, 4 opportunities to win big! Highest score wins.NEC IT Guy Games. Play to win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20 _______________________________________________ Andromda-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/andromda-user

Reply via email to