You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(6) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(178) |
Feb
(169) |
Mar
(286) |
Apr
(117) |
May
(98) |
Jun
(68) |
Jul
(63) |
Aug
(121) |
Sep
(88) |
Oct
(124) |
Nov
(2) |
Dec
(111) |
2007 |
Jan
(224) |
Feb
(69) |
Mar
(10) |
Apr
(72) |
May
(7) |
Jun
(21) |
Jul
(33) |
Aug
(35) |
Sep
(12) |
Oct
(22) |
Nov
(5) |
Dec
(6) |
2008 |
Jan
(2) |
Feb
(10) |
Mar
(39) |
Apr
(58) |
May
(34) |
Jun
(9) |
Jul
(27) |
Aug
(10) |
Sep
(3) |
Oct
|
Nov
|
Dec
|
From: Vance K. <va...@us...> - 2006-05-15 12:35:15
|
User: vancek Date: 06/05/15 05:34:48 Added: andromda-ejb3/src/site/resources HowToModel.xmi Log: initial revision of howtomodel xmi Revision Changes Path 1.1 cartridges/andromda-ejb3/src/site/resources/HowToModel.xmi Index: HowToModel.xmi =================================================================== <?xml version='1.0' encoding='UTF-8'?> <!-- <!DOCTYPE XMI SYSTEM "uml14xmi12.dtd"> --> <!-- This xmi file is optimized for MagicDraw UML. Some references are not saved. --> <!-- Change MagicDraw UML environment options property General->.Save Rich XMI --> <XMI xmi.version='1.2' timestamp='Mon May 15 15:32:40 WST 2006' xmlns:UML='omg.org/UML/1.4'> <XMI.header> <XMI.documentation> <XMI.exporter>MagicDraw UML</XMI.exporter> <XMI.exporterVersion>9.5</XMI.exporterVersion> </XMI.documentation> <XMI.metamodel xmi.name='UML' xmi.version='1.4'/> </XMI.header> <XMI.content> <UML:Model xmi.id='eee_1045467100313_135436_1' name='Data'> <UML:ModelElement.comment> <UML:Comment xmi.id='_24400562_1092013275546_280654_0' name='Author:Administrator. Created:8/8/04 8:58 PM. Title:. Comment:. '/> </UML:ModelElement.comment> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <ignoredInModule xmi.value='true'/> </XMI.extension> <UML:Namespace.ownedElement> <UML:Package xmi.id='eee_1045467100313_365297_7' name='Component View'/> <UML:Package xmi.id='_24400562_1092022112000_884099_1' name='Data types'/> <UML:Model xmi.id='_9_0_1fe00f9_1106264199675_585661_0' name='EJB3 Example'> <UML:Namespace.ownedElement> <UML:Package xmi.id='_9_0_1fe00f9_1106264213473_301665_1' name='org.andromda.test'> <UML:Namespace.ownedElement> <UML:Package xmi.id='_9_0_1fe00f9_1106264228864_832544_2' name='howto1'> <UML:Namespace.ownedElement> <UML:Package xmi.id='_9_0_1fe00f9_1106264428951_7263_26' name='b'> <UML:Namespace.ownedElement> <UML:Class xmi.id='_9_5_1_192d044b_1138754931453_489155_31' name='Car'> <UML:ModelElement.stereotype> <UML:Stereotype href='andromda-profile-persistence-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119337118921_354011_73'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='org.andromda.profile::persistence::Entity'/> </XMI.extension> </UML:Stereotype> </UML:ModelElement.stereotype> <UML:Classifier.feature> <UML:Attribute xmi.id='_9_5_1_192d044b_1138754931453_882795_24' name='serial' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> <UML:Attribute xmi.id='_9_5_1_192d044b_1138754931453_486062_25' name='name' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> <UML:Attribute xmi.id='_9_5_1_192d044b_1138754931453_256328_26' name='type' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> <UML:Operation xmi.id='_9_5_1_192d044b_1138754931453_24509_28' name='allCarsAreRented' visibility='public' ownerScope='classifier'> <UML:ModelElement.comment> <UML:Comment xmi.id='_9_5_1_192d044b_1138755644656_400712_390' name='Returns true if all cars are currently rented.'/> </UML:ModelElement.comment> <UML:BehavioralFeature.parameter> <UML:Parameter xmi.id='_9_5_1_192d044b_1138754931453_74303_27' kind='return'> <UML:Parameter.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_736816_6'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::boolean'/> </XMI.extension> </UML:Classifier> </UML:Parameter.type> </UML:Parameter> </UML:BehavioralFeature.parameter> </UML:Operation> <UML:Operation xmi.id='_9_5_1_192d044b_1138754931453_267313_30' name='isRented' visibility='public'> <UML:ModelElement.comment> <UML:Comment xmi.id='_9_5_1_192d044b_1138755644656_330333_391' name='Returns true if this car is current rented.'/> </UML:ModelElement.comment> <UML:BehavioralFeature.parameter> <UML:Parameter xmi.id='_9_5_1_192d044b_1138754931453_160387_29' kind='return'> <UML:Parameter.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_736816_6'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::boolean'/> </XMI.extension> </UML:Classifier> </UML:Parameter.type> </UML:Parameter> </UML:BehavioralFeature.parameter> </UML:Operation> </UML:Classifier.feature> </UML:Class> </UML:Namespace.ownedElement> </UML:Package> <UML:Package xmi.id='_9_0_1fe00f9_1106264448296_626379_35' name='a'> <UML:Namespace.ownedElement> <UML:Class xmi.id='_9_0_1fe00f9_1106264448296_915735_34' name='Car'> <UML:ModelElement.stereotype> <UML:Stereotype href='andromda-profile-persistence-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119337118921_354011_73'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='org.andromda.profile::persistence::Entity'/> </XMI.extension> </UML:Stereotype> </UML:ModelElement.stereotype> </UML:Class> </UML:Namespace.ownedElement> </UML:Package> <UML:Package xmi.id='_9_5_1_192d044b_1138755084000_400085_147' name='c'> <UML:Namespace.ownedElement> <UML:Class xmi.id='_9_5_1_192d044b_1138755106640_867987_196' name='Car'> <UML:ModelElement.stereotype> <UML:Stereotype href='andromda-profile-persistence-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119337118921_354011_73'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='org.andromda.profile::persistence::Entity'/> </XMI.extension> </UML:Stereotype> </UML:ModelElement.stereotype> <UML:ModelElement.taggedValue> <UML:TaggedValue xmi.id='_9_5_1_192d044b_1138755292078_826874_257' name='@andromda.persistence.table'> <UML:TaggedValue.dataValue>MyCar</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition href='andromda-profile-persistence-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119337118921_846703_8'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='org.andromda.profile::persistence::@andromda.persistence.table'/> </XMI.extension> </UML:TagDefinition> </UML:TaggedValue.type> </UML:TaggedValue> </UML:ModelElement.taggedValue> <UML:Classifier.feature> <UML:Attribute xmi.id='_9_5_1_192d044b_1138755106640_290664_189' name='serial' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> <UML:Attribute xmi.id='_9_5_1_192d044b_1138755106640_702216_190' name='name' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> <UML:Attribute xmi.id='_9_5_1_192d044b_1138755106640_105668_191' name='type' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> </UML:Classifier.feature> </UML:Class> </UML:Namespace.ownedElement> </UML:Package> <UML:Package xmi.id='_9_5_1_192d044b_1138755539812_81011_285' name='d'> <UML:Namespace.ownedElement> <UML:Class xmi.id='_9_5_1_192d044b_1138755562125_814288_341' name='Car'> <UML:ModelElement.stereotype> <UML:Stereotype href='andromda-profile-persistence-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119337118921_354011_73'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='org.andromda.profile::persistence::Entity'/> </XMI.extension> </UML:Stereotype> </UML:ModelElement.stereotype> <UML:Classifier.feature> <UML:Attribute xmi.id='_9_5_1_192d044b_1138755562125_291265_338' name='serial' visibility='public'> <UML:ModelElement.stereotype> <UML:Stereotype href='andromda-profile-persistence-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119337118921_176418_96'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='org.andromda.profile::persistence::Identifier'/> </XMI.extension> </UML:Stereotype> </UML:ModelElement.stereotype> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> <UML:Attribute xmi.id='_9_5_1_192d044b_1138755562125_758113_339' name='name' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> <UML:Attribute xmi.id='_9_5_1_192d044b_1138755562125_348119_340' name='type' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> </UML:Classifier.feature> </UML:Class> </UML:Namespace.ownedElement> </UML:Package> <UML:Package xmi.id='_9_5_1_192d044b_1138755808359_947179_513' name='e'> <UML:Namespace.ownedElement> <UML:Class xmi.id='_9_5_1_192d044b_1138755824062_183318_565' name='Car'> <UML:ModelElement.stereotype> <UML:Stereotype href='andromda-profile-persistence-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119337118921_354011_73'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='org.andromda.profile::persistence::Entity'/> </XMI.extension> </UML:Stereotype> </UML:ModelElement.stereotype> <UML:Namespace.ownedElement> <UML:Class xmi.id='_9_5_1_192d044b_1138759178765_499629_839' name='Car'> <UML:ModelElement.stereotype> <UML:Stereotype href='andromda-profile-persistence-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119337118921_354011_73'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='org.andromda.profile::persistence::Entity'/> </XMI.extension> </UML:Stereotype> </UML:ModelElement.stereotype> <UML:Classifier.feature> <UML:Attribute xmi.id='_9_5_1_192d044b_1138759178765_420274_833' name='TYPE_AWD' visibility='public' ownerScope='classifier'> <UML:Attribute.initialValue> <UML:Expression xmi.id='_9_5_1_192d044b_1138759270875_652941_918' body='All Wheel Drive'/> </UML:Attribute.initialValue> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> <UML:Attribute xmi.id='_9_5_1_192d044b_1138759178765_705314_834' name='TYPE_RWD' visibility='public' ownerScope='classifier'> <UML:Attribute.initialValue> <UML:Expression xmi.id='_9_5_1_192d044b_1138759270875_59106_919' body='Rear Wheel Drive'/> </UML:Attribute.initialValue> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> <UML:Attribute xmi.id='_9_5_1_192d044b_1138759178765_812379_835' name='TYPE_FWD' visibility='public' ownerScope='classifier'> <UML:Attribute.initialValue> <UML:Expression xmi.id='_9_5_1_192d044b_1138759270875_452052_920' body='Front Wheel Drive'/> </UML:Attribute.initialValue> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> <UML:Attribute xmi.id='_9_5_1_192d044b_1138759178765_840594_836' name='serial' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> <UML:Attribute xmi.id='_9_5_1_192d044b_1138759178765_64406_837' name='name' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> <UML:Attribute xmi.id='_9_5_1_192d044b_1138759178765_465402_838' name='type' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> </UML:Classifier.feature> </UML:Class> </UML:Namespace.ownedElement> <UML:Classifier.feature> <UML:Attribute xmi.id='_9_5_1_192d044b_1138755824062_494133_562' name='serial' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> <UML:Attribute xmi.id='_9_5_1_192d044b_1138755824062_167418_563' name='name' visibility='public'> <UML:StructuralFeature.multiplicity> <UML:Multiplicity xmi.id='_9_5_1_192d044b_1138756190343_184595_616'> <UML:Multiplicity.range> <UML:MultiplicityRange xmi.id='_9_5_1_192d044b_1138756190343_39798_617' lower='0' upper='1'/> </UML:Multiplicity.range> </UML:Multiplicity> </UML:StructuralFeature.multiplicity> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> <UML:Attribute xmi.id='_9_5_1_192d044b_1138755824062_819127_564' name='type' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> </UML:Classifier.feature> </UML:Class> </UML:Namespace.ownedElement> </UML:Package> <UML:Package xmi.id='_9_5_1_192d044b_1138758860046_674575_639' name='f'> <UML:Namespace.ownedElement> <UML:Class xmi.id='_9_5_1_192d044b_1138758867125_536256_680' name='Car'> <UML:ModelElement.stereotype> <UML:Stereotype href='andromda-profile-persistence-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119337118921_354011_73'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='org.andromda.profile::persistence::Entity'/> </XMI.extension> </UML:Stereotype> </UML:ModelElement.stereotype> <UML:Classifier.feature> <UML:Attribute xmi.id='_9_5_1_192d044b_1138758989375_200218_730' name='TYPE_AWD' visibility='public' ownerScope='classifier'> <UML:Attribute.initialValue> <UML:Expression xmi.id='_9_5_1_192d044b_1138759011203_643274_736' body='All Wheel Drive'/> </UML:Attribute.initialValue> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> <UML:Attribute xmi.id='_9_5_1_192d044b_1138758989375_67306_731' name='TYPE_RWD' visibility='public' ownerScope='classifier'> <UML:Attribute.initialValue> <UML:Expression xmi.id='_9_5_1_192d044b_1138759011203_987879_737' body='Rear Wheel Drive'/> </UML:Attribute.initialValue> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> <UML:Attribute xmi.id='_9_5_1_192d044b_1138758989375_618825_732' name='TYPE_FWD' visibility='public' ownerScope='classifier'> <UML:Attribute.initialValue> <UML:Expression xmi.id='_9_5_1_192d044b_1138759011203_604250_738' body='Front Wheel Drive'/> </UML:Attribute.initialValue> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> <UML:Attribute xmi.id='_9_5_1_192d044b_1138758867125_674214_677' name='serial' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> <UML:Attribute xmi.id='_9_5_1_192d044b_1138758867125_728332_678' name='name' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> <UML:Attribute xmi.id='_9_5_1_192d044b_1138758867125_509911_679' name='type' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> </UML:Classifier.feature> </UML:Class> </UML:Namespace.ownedElement> </UML:Package> <UML:Package xmi.id='_9_5_1_192d044b_1138759155093_118495_770' name='g'> <UML:Namespace.ownedElement> <UML:Class xmi.id='_9_5_1_192d044b_1138759181218_554704_864' name='Car'> <UML:ModelElement.stereotype> <UML:Stereotype href='andromda-profile-persistence-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119337118921_354011_73'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='org.andromda.profile::persistence::Entity'/> </XMI.extension> </UML:Stereotype> </UML:ModelElement.stereotype> <UML:Classifier.feature> <UML:Attribute xmi.id='_9_5_1_192d044b_1138759181218_17814_861' name='serial' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> <UML:Attribute xmi.id='_9_5_1_192d044b_1138759181218_892672_862' name='name' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> <UML:Attribute xmi.id='_9_5_1_192d044b_1138759181218_332140_863' name='type' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_45790_53'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::Clob'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> <UML:ModelElement.taggedValue> <UML:TaggedValue xmi.id='_9_5_1_192d044b_1142605408281_335715_774' name='@andromda.persistence.fetch.type'> <UML:TaggedValue.dataValue></UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition href='andromda-profile-persistence-3.2-RC1-SNAPSHOT.xml.zip|_9_5_1_192d044b_1141267385711_320114_210'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='org.andromda.profile::persistence::@andromda.persistence.fetch.type'/> </XMI.extension> </UML:TagDefinition> </UML:TaggedValue.type> <UML:TaggedValue.referenceValue> <UML:ModelElement href='andromda-profile-persistence-3.2-RC1-SNAPSHOT.xml.zip|_9_5_1_192d044b_1141266388257_280021_135'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='org.andromda.profile::persistence::EjbFetchType::EAGER'/> </XMI.extension> </UML:ModelElement> </UML:TaggedValue.referenceValue> </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Attribute> <UML:Attribute xmi.id='_9_5_1_192d044b_1142605409140_679030_775' name='picture' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_193099_28'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::Blob'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> <UML:Attribute xmi.id='_9_5_1_192d044b_1142605409140_466301_776' name='information' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_45790_53'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::Clob'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> <UML:ModelElement.taggedValue> <UML:TaggedValue xmi.id='_9_5_1_192d044b_1142605393781_805848_773' name='@andromda.persistence.lob.type'> <UML:TaggedValue.dataValue>char[]</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition href='andromda-profile-persistence-3.2-RC1-SNAPSHOT.xml.zip|_9_5_1_192d044b_1142390321546_341797_104'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='org.andromda.profile::persistence::@andromda.persistence.lob.type'/> </XMI.extension> </UML:TagDefinition> </UML:TaggedValue.type> </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Attribute> </UML:Classifier.feature> </UML:Class> </UML:Namespace.ownedElement> </UML:Package> <UML:Package xmi.id='_9_5_1_192d044b_1138759483250_185148_964' name='h'> <UML:Namespace.ownedElement> <UML:Class xmi.id='_9_5_1_192d044b_1138759501062_197001_1029' name='Car'> <UML:ModelElement.stereotype> <UML:Stereotype href='andromda-profile-persistence-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119337118921_354011_73'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='org.andromda.profile::persistence::Entity'/> </XMI.extension> </UML:Stereotype> </UML:ModelElement.stereotype> <UML:Classifier.feature> <UML:Attribute xmi.id='_9_5_1_192d044b_1138759501062_163419_1024' name='serial' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> <UML:ModelElement.taggedValue> <UML:TaggedValue xmi.id='_9_5_1_192d044b_1138759541281_550608_1078' name='@andromda.persistence.column.length'> <UML:TaggedValue.dataValue>15</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition href='andromda-profile-persistence-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119337118921_54372_83'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='org.andromda.profile::persistence::@andromda.persistence.column.length'/> </XMI.extension> </UML:TagDefinition> </UML:TaggedValue.type> </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Attribute> <UML:Attribute xmi.id='_9_5_1_192d044b_1138759501062_155697_1025' name='name' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> <UML:ModelElement.taggedValue> <UML:TaggedValue xmi.id='_9_5_1_192d044b_1138759566453_947048_1079' name='@andromda.persistence.column'> <UML:TaggedValue.dataValue>cname</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition href='andromda-profile-persistence-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119337118921_246379_63'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='org.andromda.profile::persistence::@andromda.persistence.column'/> </XMI.extension> </UML:TagDefinition> </UML:TaggedValue.type> </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Attribute> <UML:Attribute xmi.id='_9_5_1_192d044b_1138759501062_846575_1028' name='type' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> <UML:ModelElement.taggedValue> <UML:TaggedValue xmi.id='_9_5_1_192d044b_1138759700578_512466_1086' name='@andromda.persistence.column.definition'> <UML:TaggedValue.dataValue>VARCHAR(15) NOT NULL DEFAULT 'FWD'</UML:TaggedValue.dataValue> </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Attribute> <UML:Attribute xmi.id='_9_5_1_192d044b_1138759654656_527908_1084' name='gearRatio' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_489135_44'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::float'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> <UML:ModelElement.taggedValue> <UML:TaggedValue xmi.id='_9_5_1_192d044b_1138759653390_932790_1082' name='@andromda.persistence.column.scale'> <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> </UML:TaggedValue> <UML:TaggedValue xmi.id='_9_5_1_192d044b_1138759653390_210246_1083' name='@andromda.persistence.column.precision'> <UML:TaggedValue.dataValue>3</UML:TaggedValue.dataValue> </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Attribute> </UML:Classifier.feature> </UML:Class> </UML:Namespace.ownedElement> </UML:Package> </UML:Namespace.ownedElement> </UML:Package> <UML:Package xmi.id='_9_0_1fe00f9_1106264233177_514880_3' name='howto2'> <UML:Namespace.ownedElement> <UML:Package xmi.id='_9_5_1_192d044b_1138767114484_89285_1146' name='a'> <UML:Namespace.ownedElement> <UML:Association xmi.id='_9_0_1fe00f9_1106265138077_740461_1436'> <UML:Association.connection> <UML:AssociationEnd xmi.id='_9_0_1fe00f9_1106265138077_774787_1434' visibility='public' isNavigable='true' participant='_9_0_1fe00f9_1106264544441_618233_294'> <UML:AssociationEnd.multiplicity> <UML:Multiplicity xmi.id='_9_0_1fe00f9_1106265522689_38721_2428'> <UML:Multiplicity.range> <UML:MultiplicityRange xmi.id='_9_0_1fe00f9_1106265522689_151275_2429' lower='0' upper='-1'/> </UML:Multiplicity.range> </UML:Multiplicity> </UML:AssociationEnd.multiplicity> </UML:AssociationEnd> <UML:AssociationEnd xmi.id='_9_0_1fe00f9_1106265138077_621150_1435' name='owner' visibility='public' isNavigable='true' participant='_9_0_1fe00f9_1106264547706_393517_304'/> </UML:Association.connection> </UML:Association> <UML:Class xmi.id='_9_0_1fe00f9_1106264544441_618233_294' name='Car'> <UML:ModelElement.stereotype> <UML:Stereotype href='andromda-profile-persistence-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119337118921_354011_73'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='org.andromda.profile::persistence::Entity'/> </XMI.extension> </UML:Stereotype> </UML:ModelElement.stereotype> <UML:Classifier.feature> <UML:Attribute xmi.id='_9_0_1fe00f9_1106264544441_717557_287' name='serial' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> <UML:Attribute xmi.id='_9_0_1fe00f9_1106264544441_609029_288' name='name' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> <UML:Attribute xmi.id='_9_0_1fe00f9_1106264544441_930929_289' name='type' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> <UML:Operation xmi.id='_9_0_1fe00f9_1106264544441_529167_291' name='allCarsAreRented' visibility='public' ownerScope='classifier'> <UML:ModelElement.comment> <UML:Comment xmi.id='_9_0_1fe00f9_1106264633773_519314_414' name='Returns true if all cars are currently rented.'/> </UML:ModelElement.comment> <UML:BehavioralFeature.parameter> <UML:Parameter xmi.id='_9_0_1fe00f9_1106264544441_709368_290' kind='return'> <UML:Parameter.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_736816_6'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::boolean'/> </XMI.extension> </UML:Classifier> </UML:Parameter.type> </UML:Parameter> </UML:BehavioralFeature.parameter> </UML:Operation> <UML:Operation xmi.id='_9_0_1fe00f9_1106264544441_845958_293' name='isRented' visibility='public'> <UML:ModelElement.comment> <UML:Comment xmi.id='_9_0_1fe00f9_1106264633773_464180_415' name='Returns true if this car is current rented.'/> </UML:ModelElement.comment> <UML:BehavioralFeature.parameter> <UML:Parameter xmi.id='_9_0_1fe00f9_1106264544441_27112_292' kind='return'> <UML:Parameter.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_736816_6'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::boolean'/> </XMI.extension> </UML:Classifier> </UML:Parameter.type> </UML:Parameter> </UML:BehavioralFeature.parameter> </UML:Operation> </UML:Classifier.feature> </UML:Class> <UML:Class xmi.id='_9_0_1fe00f9_1106264547706_393517_304' name='Person'> <UML:ModelElement.stereotype> <UML:Stereotype href='andromda-profile-persistence-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119337118921_354011_73'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='org.andromda.profile::persistence::Entity'/> </XMI.extension> </UML:Stereotype> </UML:ModelElement.stereotype> <UML:Classifier.feature> <UML:Attribute xmi.id='_9_0_1fe00f9_1106264573364_719615_335' name='name' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> <UML:Attribute xmi.id='_9_0_1fe00f9_1106264573379_141538_336' name='birthDate' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_195604_13'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::Date'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> </UML:Classifier.feature> </UML:Class> </UML:Namespace.ownedElement> </UML:Package> <UML:Package xmi.id='_9_5_1_192d044b_1138776134171_599791_1319' name='b'> <UML:Namespace.ownedElement> <UML:Association xmi.id='_9_5_1_192d044b_1138776157875_494540_1440'> <UML:Association.connection> <UML:AssociationEnd xmi.id='_9_5_1_192d044b_1138776157875_689771_1438' visibility='public' isNavigable='true' participant='_9_5_1_192d044b_1138776157875_660890_1448'> <UML:AssociationEnd.multiplicity> <UML:Multiplicity xmi.id='_9_5_1_192d044b_1138776280421_631870_1631'> <UML:Multiplicity.range> <UML:MultiplicityRange xmi.id='_9_5_1_192d044b_1138776280421_785142_1632' lower='0' upper='-1'/> </UML:Multiplicity.range> </UML:Multiplicity> </UML:AssociationEnd.multiplicity> </UML:AssociationEnd> <UML:AssociationEnd xmi.id='_9_5_1_192d044b_1138776157875_757839_1439' name='owner' visibility='public' isNavigable='true' participant='_9_5_1_192d044b_1138776157875_149366_1451'> <UML:ModelElement.taggedValue> <UML:TaggedValue xmi.id='_9_5_1_192d044b_1138776248671_569309_1630' name='@andromda.persistence.cascade.type'> <UML:TaggedValue.dataValue></UML:TaggedValue.dataValue> </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:AssociationEnd> </UML:Association.connection> </UML:Association> <UML:Class xmi.id='_9_5_1_192d044b_1138776157875_660890_1448' name='Car'> <UML:ModelElement.stereotype> <UML:Stereotype href='andromda-profile-persistence-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119337118921_354011_73'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='org.andromda.profile::persistence::Entity'/> </XMI.extension> </UML:Stereotype> </UML:ModelElement.stereotype> <UML:Classifier.feature> <UML:Attribute xmi.id='_9_5_1_192d044b_1138776157875_180692_1441' name='serial' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> <UML:Attribute xmi.id='_9_5_1_192d044b_1138776157875_882116_1442' name='name' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> <UML:Attribute xmi.id='_9_5_1_192d044b_1138776157875_197338_1443' name='type' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> <UML:Operation xmi.id='_9_5_1_192d044b_1138776157875_885670_1445' name='allCarsAreRented' visibility='public' ownerScope='classifier'> <UML:ModelElement.comment> <UML:Comment xmi.id='_9_5_1_192d044b_1138776280421_327426_1633' name='Returns true if all cars are currently rented.'/> </UML:ModelElement.comment> <UML:BehavioralFeature.parameter> <UML:Parameter xmi.id='_9_5_1_192d044b_1138776157875_658242_1444' kind='return'> <UML:Parameter.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_736816_6'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::boolean'/> </XMI.extension> </UML:Classifier> </UML:Parameter.type> </UML:Parameter> </UML:BehavioralFeature.parameter> </UML:Operation> <UML:Operation xmi.id='_9_5_1_192d044b_1138776157875_899643_1447' name='isRented' visibility='public'> <UML:ModelElement.comment> <UML:Comment xmi.id='_9_5_1_192d044b_1138776280421_563723_1634' name='Returns true if this car is current rented.'/> </UML:ModelElement.comment> <UML:BehavioralFeature.parameter> <UML:Parameter xmi.id='_9_5_1_192d044b_1138776157875_127436_1446' kind='return'> <UML:Parameter.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_736816_6'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::boolean'/> </XMI.extension> </UML:Classifier> </UML:Parameter.type> </UML:Parameter> </UML:BehavioralFeature.parameter> </UML:Operation> </UML:Classifier.feature> </UML:Class> <UML:Class xmi.id='_9_5_1_192d044b_1138776157875_149366_1451' name='Person'> <UML:ModelElement.stereotype> <UML:Stereotype href='andromda-profile-persistence-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119337118921_354011_73'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='org.andromda.profile::persistence::Entity'/> </XMI.extension> </UML:Stereotype> </UML:ModelElement.stereotype> <UML:Classifier.feature> <UML:Attribute xmi.id='_9_5_1_192d044b_1138776157875_803719_1449' name='name' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> <UML:Attribute xmi.id='_9_5_1_192d044b_1138776157875_486941_1450' name='birthDate' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_195604_13'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::Date'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> </UML:Classifier.feature> </UML:Class> </UML:Namespace.ownedElement> </UML:Package> <UML:Package xmi.id='_9_5_1_192d044b_1138776491531_77072_1663' name='c'> <UML:Namespace.ownedElement> <UML:Association xmi.id='_9_5_1_192d044b_1138776504453_375704_1754'> <UML:Association.connection> <UML:AssociationEnd xmi.id='_9_5_1_192d044b_1138776504453_595247_1751' visibility='public' isNavigable='true' participant='_9_5_1_192d044b_1138776504453_567934_1765'> <UML:AssociationEnd.multiplicity> <UML:Multiplicity xmi.id='_9_5_1_192d044b_1138776574078_473204_1927'> <UML:Multiplicity.range> <UML:MultiplicityRange xmi.id='_9_5_1_192d044b_1138776574078_583459_1928' lower='0' upper='-1'/> </UML:Multiplicity.range> </UML:Multiplicity> </UML:AssociationEnd.multiplicity> </UML:AssociationEnd> <UML:AssociationEnd xmi.id='_9_5_1_192d044b_1138776504453_996755_1753' name='owner' visibility='public' isNavigable='true' participant='_9_5_1_192d044b_1138776504453_241115_1757'> <UML:ModelElement.taggedValue> <UML:TaggedValue xmi.id='_9_5_1_192d044b_1138776552078_155633_1926' name='@andromda.persistence.fetch.type'> <UML:TaggedValue.dataValue></UML:TaggedValue.dataValue> </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:AssociationEnd> </UML:Association.connection> </UML:Association> <UML:Class xmi.id='_9_5_1_192d044b_1138776504453_241115_1757' name='Person'> <UML:ModelElement.stereotype> <UML:Stereotype href='andromda-profile-persistence-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119337118921_354011_73'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='org.andromda.profile::persistence::Entity'/> </XMI.extension> </UML:Stereotype> </UML:ModelElement.stereotype> <UML:Classifier.feature> <UML:Attribute xmi.id='_9_5_1_192d044b_1138776504453_264257_1755' name='name' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_364079_66'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::String'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> <UML:Attribute xmi.id='_9_5_1_192d044b_1138776504453_45546_1756' name='birthDate' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_195604_13'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='datatype::Date'/> </XMI.extension> </UML:Classifier> </UML:StructuralFeature.type> </UML:Attribute> </UML:Classifier.feature> </UML:Class> <UML:Class xmi.id='_9_5_1_192d044b_1138776504453_567934_1765' name='Car'> <UML:ModelElement.stereotype> <UML:Stereotype href='andromda-profile-persistence-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119337118921_354011_73'> <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'> <referentPath xmi.value='org.andromda.profile::persistence::Entity'/> </XMI.extension> </UML:Stereotype> </UML:ModelElement.stereotype> <UML:Classifier.feature> <UML:Attribute xmi.id='_9_5_1_192d044b_1138776504453_7866_1758' name='serial' visibility='public'> <UML:StructuralFeature.type> <UML:Classifier href='andromda-profile-datatype-3.2-RC1-SNAPSHOT.xml.zip|_9_0_1fe00f9_11193369... [truncated message content] |
From: Vance K. <va...@us...> - 2006-05-15 12:30:58
|
User: vancek Date: 06/05/15 05:30:53 Modified: andromda-ejb3/src/main/uml EJB3MetafacadeModel.xml.zip Log: added useQueryCache to EJB3EntityFacade Revision Changes Path 1.36 +185 -203 cartridges/andromda-ejb3/src/main/uml/EJB3MetafacadeModel.xml.zip <<Binary file>> |
From: Vance K. <va...@us...> - 2006-05-15 12:30:18
|
User: vancek Date: 06/05/15 05:30:17 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3FinderMethodFacadeLogicImpl.java EJB3EntityFacadeLogicImpl.java andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3 EJB3Globals.java Log: fixed the check for useQueryCache in EJB3FinderMethodFacade to lookup the EJB3EntityFacade useQueryCache Revision Changes Path 1.9 +1 -1 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3FinderMethodFacadeLogicImpl.java Index: EJB3FinderMethodFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3FinderMethodFacadeLogicImpl.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -w -r1.8 -r1.9 --- EJB3FinderMethodFacadeLogicImpl.java 26 Apr 2006 15:23:44 -0000 1.8 +++ EJB3FinderMethodFacadeLogicImpl.java 15 May 2006 12:30:17 -0000 1.9 @@ -84,7 +84,7 @@ */ protected boolean handleIsUseQueryCache() { - boolean queryCacheEnabled = false; + boolean queryCacheEnabled = ((EJB3EntityFacade)this.getOwner()).isUseQueryCache(); String queryCacheEnabledStr = (String)findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_USE_QUERY_CACHE); if (StringUtils.isNotBlank(queryCacheEnabledStr)) { 1.23 +10 -1 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3EntityFacadeLogicImpl.java Index: EJB3EntityFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3EntityFacadeLogicImpl.java,v retrieving revision 1.22 retrieving revision 1.23 diff -u -w -r1.22 -r1.23 --- EJB3EntityFacadeLogicImpl.java 2 May 2006 01:59:49 -0000 1.22 +++ EJB3EntityFacadeLogicImpl.java 15 May 2006 12:30:17 -0000 1.23 @@ -1122,7 +1122,7 @@ return BooleanUtils.toBoolean(String.valueOf(this.getConfiguredProperty(HIBERNATE_ENABLE_CACHE))); } - /*( + /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3EntityFacadeLogic#handleIsUseDefaultCacheRegion() */ protected boolean handleIsUseDefaultCacheRegion() @@ -1583,5 +1583,14 @@ return allRoles; } + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3EntityFacadeLogic#handleIsUseQueryCache() + */ + protected boolean handleIsUseQueryCache() + { + return BooleanUtils.toBoolean( + String.valueOf(this.getConfiguredProperty(EJB3Globals.HIBERNATE_USER_QUERY_CACHE))); + } + } \ No newline at end of file 1.11 +5 -0 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/EJB3Globals.java Index: EJB3Globals.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/EJB3Globals.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -w -r1.10 -r1.11 --- EJB3Globals.java 30 Apr 2006 01:54:47 -0000 1.10 +++ EJB3Globals.java 15 May 2006 12:30:17 -0000 1.11 @@ -241,4 +241,9 @@ */ public static final String IMPLEMENTATION_OPERATION_NAME_PATTERN = "implementationOperationNamePattern"; + + /** + * The property used to specify whether to enable query cache. + */ + public static final String HIBERNATE_USER_QUERY_CACHE = "hibernateUseQueryCache"; } |
From: Vance K. <va...@us...> - 2006-05-15 12:27:08
|
User: vancek Date: 06/05/15 05:26:57 Modified: andromda-ejb3/src/site/resources/images/org/andromda/test/18/a uml.gif Log: changed diagram for example Revision Changes Path 1.2 +109 -61 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/18/a/uml.gif <<Binary file>> |
From: Vance K. <va...@us...> - 2006-05-15 12:26:13
|
User: vancek Date: 06/05/15 05:26:05 Modified: andromda-ejb3/src/site/xdoc howto16.xml howto17.xml howto15.xml howto20.xml howto14.xml howto13.xml howto18.xml Log: minor fixes updated to use DAO components Revision Changes Path 1.3 +28 -28 cartridges/andromda-ejb3/src/site/xdoc/howto16.xml Index: howto16.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/xdoc/howto16.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -w -r1.2 -r1.3 --- howto16.xml 20 Mar 2006 08:51:23 -0000 1.2 +++ howto16.xml 15 May 2006 12:26:04 -0000 1.3 @@ -7,24 +7,18 @@ <body> <section name="Manageable Entities"> <p> - Manageable entities, otherwise known as CRUD facilities, provide a front-end view to managing + Manageable entities provide CRUD facilities and a front-end view to managing entities. The EJB3 cartridge follows the same rules as in <a href="http://galaxy.andromda.org/docs/andromda-cartridges/manageable-entities/index.html"> manageable entities</a>. </p> <p> - The most noticable difference to the current manageable entities feature for the Spring - cartridge is the replacement of data access objects (DAO) with stateless session beans - for each entity which is marked as <![CDATA[<<Manageable>>]]>. This and removal of value objects - are design changes not visible for a user when using the front-end. - </p> - <p> - There is very little you actually need to do. Just make sure you have the above + There is very little you actually need to do. Just make sure you have the <![CDATA[<<Manageable>>]]> stereotype modelled on all entities that require CRUD features and their associated entities and the cartridge will take care of everything else. The following illustrates how we introduce manageable entities into our long-running example. Since manageable entities are driven via a web/console front-end, the example lists files from both the - EJB layer and the Struts web layer. + EJB 3.0 persistence layer and the Struts (using BPM4Struts) web layer. </p> <p> <img src="images/org/andromda/test/16/a/uml.gif"/> @@ -37,30 +31,36 @@ </ul> </p> <p> - The EJB related files are listed below. The <code>ManageableServiceLocator</code> is used by the + The EJB 3.0 related files are listed below. The <code>ManageableServiceLocator</code> is used by the Struts <b>Action</b> classes in much the same way as the <code>ServiceLocator</code> is used by the Service Delegates. Notice how the <code>CarManageableService</code> and - <code>PersonManageableService</code> beans are defined int the ejb-jar and jboss deployment - descriptors. + <code>PersonManageableService</code> beans are defined int the <code>ejb-jar.xml</code> and + <code>jboss.xml</code> deployment descriptors. </p> <p> <ul> - <li class="gen"><a href="src/org/andromda/test/howto16/a/CarEmbeddable.java.txt"><code>CarEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto16/a/Car.java.txt"><code>Car.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto16/a/CarType.java.txt"><code>CarType.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto16/a/PersonEmbeddable.java.txt"><code>PersonEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto16/a/Person.java.txt"><code>Person.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto16/a/ServiceLocator.java.txt"><code>ServiceLocator.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto16/a/ManageableServiceLocator.java.txt"><code>ManageableServiceLocator.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto16/a/RentalServiceBean.java.txt"><code>RentalServiceBean.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto16/a/RentalServiceRemote.java.txt"><code>RentalServiceRemote.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto16/a/RentalServiceDelegate.java.txt"><code>RentalServiceDelegate.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto16/a/RentalServiceBeanImpl.java.txt"><code>RentalServiceBeanImpl.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto16/a/RentalServiceException.java.txt"><code>RentalServiceException.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto16/a/RentalException.java.txt"><code>RentalException.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto16/a/ejb-jar.xml.txt"><code>ejb-jar.xml</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto16/a/jboss.xml.txt"><code>jboss.xml</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto16/a/persistence.xml.txt"><code>persistence.xml</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto16/a/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto16/a/Car.java"><code>Car.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto16/a/CarType.java"><code>CarType.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto16/a/CarDao.java"><code>CarDao.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto16/a/CarDaoBase.java"><code>CarDaoBase.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto16/a/CarDaoImpl.java"><code>CarDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto16/a/CarDaoException.java"><code>CarDaoException.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto16/a/Person.java"><code>Person.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto16/a/PersonDao.java"><code>PersonDao.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto16/a/PersonDaoBase.java"><code>PersonDaoBase.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto16/a/PersonDaoImpl.java"><code>PersonDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto16/a/PersonDaoException.java"><code>PersonDaoException.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto16/a/RentalServiceBean.java"><code>RentalServiceBean.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto16/a/RentalServiceRemote.java"><code>RentalServiceRemote.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto16/a/RentalServiceDelegate.java"><code>RentalServiceDelegate.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto16/a/RentalServiceBase.java"><code>RentalServiceBase.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto16/a/RentalServiceException.java"><code>RentalServiceException.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto16/a/RentalException.java"><code>RentalException.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto16/a/ServiceLocator.java"><code>ServiceLocator.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto16/a/ManageableServiceLocator.java"><code>ManageableServiceLocator.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto16/a/ejb-jar.xml"><code>ejb-jar.xml</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto16/a/jboss.xml"><code>jboss.xml</code></a></li> </ul> </p> <p> 1.3 +86 -57 cartridges/andromda-ejb3/src/site/xdoc/howto17.xml Index: howto17.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/xdoc/howto17.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -w -r1.2 -r1.3 --- howto17.xml 17 Apr 2006 02:06:24 -0000 1.2 +++ howto17.xml 15 May 2006 12:26:04 -0000 1.3 @@ -37,7 +37,7 @@ <ul> <li>HTTP session state can be cached and accessed across all nodes.</li> <li>Caching includes stateful session beans.</li> - <li>Can cache <i>transient</i> properties across nodes</li> + <li>Can cache <i>transient</i> properties across nodes.</li> </ul> </li> </ul> @@ -58,43 +58,51 @@ </p> <p> <ul> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto17/a/CarEmbeddable.java.txt"><code>CarEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto17/a/Car.java.txt"><code>Car.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto17/a/CarType.java.txt"><code>CarType.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto17/a/PersonEmbeddable.java.txt"><code>PersonEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto17/a/Person.java.txt"><code>Person.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto17/a/ServiceLocator.java.txt"><code>ServiceLocator.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto17/a/RentalServiceBean.java.txt"><code>RentalServiceBean.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto17/a/RentalServiceRemote.java.txt"><code>RentalServiceRemote.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto17/a/RentalServiceDelegate.java.txt"><code>RentalServiceDelegate.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto17/a/RentalServiceBeanImpl.java.txt"><code>RentalServiceBeanImpl.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto17/a/RentalServiceException.java.txt"><code>RentalServiceException.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto17/a/RentalException.java.txt"><code>RentalException.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto17/a/ejb-jar.xml.txt"><code>ejb-jar.xml</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto17/a/jboss.xml.txt"><code>jboss.xml</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto17/a/persistence.xml.txt"><code>persistence.xml</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto17/a/ejb3-entity-cache-service.xml.txt"><code>ejb3-entity-cache-service.xml</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto17/a/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a class="changed" href="src/org/andromda/test/howto17/a/Car.java"><code>Car.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto17/a/CarType.java"><code>CarType.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto17/a/CarDao.java"><code>CarDao.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto17/a/CarDaoBase.java"><code>CarDaoBase.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto17/a/CarDaoImpl.java"><code>CarDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto17/a/CarDaoException.java"><code>CarDaoException.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto17/a/Person.java"><code>Person.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto17/a/PersonDao.java"><code>PersonDao.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto17/a/PersonDaoBase.java"><code>PersonDaoBase.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto17/a/PersonDaoImpl.java"><code>PersonDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto17/a/PersonDaoException.java"><code>PersonDaoException.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto17/a/RentalServiceBean.java"><code>RentalServiceBean.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto17/a/RentalServiceRemote.java"><code>RentalServiceRemote.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto17/a/RentalServiceDelegate.java"><code>RentalServiceDelegate.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto17/a/RentalServiceBase.java"><code>RentalServiceBase.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto17/a/RentalServiceException.java"><code>RentalServiceException.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto17/a/RentalException.java"><code>RentalException.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto17/a/ejb-jar.xml"><code>ejb-jar.xml</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto17/a/jboss.xml"><code>jboss.xml</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto17/a/persistence.xml"><code>persistence.xml</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto17/a/ejb3-entity-cache-service.xml"><code>ejb3-entity-cache-service.xml</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto17/a/andromda.xml"><code>andromda.xml</code></a></li> </ul> </p> + <p> + The following sections will show you how to enable and configure caching and clustering. + </p> <a name="Cache_Config"/> <subsection name="Cache Configuration"> <p> - The cartridge allows you to configure a few caching properties through namespace properties - in the andromda.xml descriptor. As a minimum, make sure the + The EJB3 cartridge allows you to configure caching through namespace properties + via your application <code>andromda.xml</code> descriptor. Make sure the <code>hibernateCacheProvider</code> and <code>hibernateTreecacheMbeanObject</code> properties - are defined to use inbuilt JBoss Cache with JBoss. + are defined to use the internal <i>JBoss Cache</i> with JBoss. <source language="xml"><![CDATA[ <namespace name="ejb3"> <properties> ... <property name="hibernateCacheProvider">org.jboss.ejb3.entity.TreeCacheProviderHook</property> <property name="hibernateTreecacheMbeanObject">jboss.cache:service=EJB3EntityTreeCache</property> - <!-- uncomment to enable default entity cache settings + <!-- uncomment to enable default entity cache settings --> <property name="hibernateEntityCache">TRANSACTIONAL</property> - --> - <!-- uncomment to enable default association caching configuration + <!-- uncomment to enable default association caching configuration --> <property name="hibernateAssociationCache">TRANSACTIONAL</property> - --> ... </properties> </namespace> @@ -103,7 +111,7 @@ define the default cache settings if you choose to enable entity and association caching. </p> <p> - Your <code>persistence.xml</code> descriptor will look like: + Your generated <code>persistence.xml</code> descriptor will look something like: <source language="xml"><![CDATA[ <?xml version="1.0" encoding="UTF-8"?> <!-- @@ -111,8 +119,8 @@ Generated by: persistence.xml.vsl in andromda-ejb3-cartridge. --> <persistence> - <persistence-unit name="howtomodel2"> - <jta-data-source>java:/jdbc/howtomodel2</jta-data-source> + <persistence-unit name="howtomodelcaching"> + <jta-data-source>java:/jdbc/howtomodelcaching</jta-data-source> <properties> <property name="hibernate.hbm2ddl.auto" value="update"/> <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLInnoDBDialect"/> @@ -143,23 +151,24 @@ </properties> </namespace> ]]></source> + This property must be enabled before all other caching properties are fine-tuned. </p> <p> The <code>useDefaultCacheRegion</code> property allows you to specify whether you want all - entities use the default cache region specified in <code>ejb3-entity-cache-service.xml</code>. - By default, this is set to <code>false</code>. If you set to <code>true</code>, the user specified - cache regions for entities will not be defined. + entities to use the default cache region specified in <code>ejb3-entity-cache-service.xml</code> + and the cache region set on corresponding finder queries. + By default, this is set to <code>false</code>. If you set it to <code>true</code>, + the user specified cache regions for entities will not be defined. </p> <p> - If you enable the default entity cache strategy in your andromda.xml descriptor, by enabling - <code>hibernateEntityCache</code>, then the cache strategy for all entities will be assigned - using its specified value. To override this default value, you can model the + If you enable the default entity caching in your andromda.xml descriptor (by enabling + <code>hibernateEntityCache</code>), then caching will be enabled for all entities. + To override this default value, you can model the <code>@andromda.persistence.entity.cache</code> tagged value on individual entities. </p> <p> Once you have enabled entity caching, you will notice the - <code>@org.hibernate.annotations.Cache</code> annotation at the class level in all entity - mapped superclasses. + <code>@org.hibernate.annotations.Cache</code> annotation at the class level in all entities. </p> <p> The corresponding entity cache region is defined in the <code>ejb3-entity-cache-service.xml</code> @@ -191,7 +200,8 @@ <subsection name="Association Cache"> <p> To enable entity association relationship caching, you enable the - <code>hibernateEnableAssociationsCache</code> ejb3 namespace property in your andromda.xml like so: + <code>hibernateEnableAssociationsCache</code> ejb3 namespace property in your + <code>andromda.xml</code> like so: <source language="xml"><![CDATA[ <namespace name="ejb3"> <properties> @@ -205,9 +215,9 @@ You must have <code>hibernateEnableCache</code> enabled. </p> <p> - If you enable the default association cache strategy in your andromda.xml descriptor, by enabling - <code>hibernateAssociationCache</code>, then the cache strategy for all collection associationas - will be assigned using its specified value. To override this default value, you can model the + If you enable the default association cache strategy in your <code>andromda.xml</code> descriptor, + (by enabling <code>hibernateAssociationCache</code>), then all collection association caching + will be enabled by default. To override this default value, you can model the <code>@andromda.persistence.association.cache</code> tagged value on individual target association ends. </p> @@ -220,8 +230,8 @@ <a name="Query_Cache"/> <subsection name="Query Cache"> <p> - To enable entity query caching, you enable the <code>hibernateUseQueryCache</code> - ejb3 namespace property in your andromda.xml like so: + To enable entity query caching for all queries, you enable the <code>hibernateUseQueryCache</code> + ejb3 namespace property in your <code>andromda.xml</code> like so: <source language="xml"><![CDATA[ <namespace name="ejb3"> <properties> @@ -233,15 +243,22 @@ </properties> </namespace> ]]></source> - You must have <code>hibernateEnableCache</code> enabled. You then need to enable caching - for each finder method using the <code>@andromda.ejb.query.useCache</code> tagged value. + You must have <code>hibernateEnableCache</code> enabled. This will enable the query cache + for all queries, including your generic query, the <code>findAll</code> query. + </p> + <p> + In many circumstance, you shouldn't enable query cache for all queries (using the + <code>hibernateUseQueryCache</code> property) but enable caching + for required queries only. You can enable caching for individual finder method using + the <code>@andromda.ejb.query.useCache</code> tagged value which is modelled on the + finder method. </p> <p> The <code>useDefaultCacheRegion</code> property allows you to specify whether you want all queries to use the default cache region specified in <code>ejb3-entity-cache-service.xml</code>. - By default, this is set to <code>false</code>. If you set to <code>true</code>, the user specified - cache regions will not be defined and the hint on queries to set the cache region will not be - assigned. + By default, this is set to <code>false</code>. If you set it to <code>true</code>, + the user specified cache regions will not be defined and the hint on queries to + set the cache region will not be assigned. </p> <p> The cartridge will look for at least one query which is marked for caching. If it finds one @@ -268,15 +285,26 @@ </p> <p> In the above example, the <code>Car</code> entity has the <code>findByType</code> finder marked - as cacheable. When generating the Car mapped superclass <code>findByType</code> finder method, + as cacheable. When generating the<code>findByType</code> DAO method in + <code>CarDaoBase.java</code>, the cartridge will set the <code>org.hibernate.cacheRegion</code> hint automatically like so: <source><![CDATA[ - public static java.util.List<Car> findByType(javax.persistence.EntityManager em, org.andromda.howto2.rental.CarType type) +public java.util.List findByType(final int transform, final org.andromda.howto2.rental.CarType type) + throws org.andromda.howto2.rental.CarDaoException { - javax.persistence.Query query = em.createQuery("FROM Car AS car WHERE car.type = :type"); - query.setParameter("type", type.name()); - query.setHint("org.hibernate.cacheRegion", "/org/andromda/howto2/rental/Car_findByType"); - return query.getResultList(); + try + { + javax.persistence.Query queryObject = emanager.createNamedQuery("Car.findByType"); + queryObject.setParameter("type", type.name()); + queryObject.setHint("org.hibernate.cacheRegion", "/org/andromda/howto2/rental/Car_findByType"); + java.util.List results = queryObject.getResultList(); + transformEntities(transform, results); + return results; + } + catch (Exception ex) + { + throw new org.andromda.howto2.rental.CarDaoException(ex); + } } ]]></source> </p> @@ -285,9 +313,9 @@ configuration service file: <source language="xml"><![CDATA[ .... - <!-- The Car findByType query cache --> - <region name="/org/andromda/howto2/rental/Car_findByType"> - <attribute name="maxNodes">1000</attribute> + <!-- The Car entity cache --> + <region name="/org/andromda/howto2/rental/Car"> + <attribute name="maxNodes">10000</attribute> <attribute name="timeToLiveSeconds">5000</attribute> </region> .... @@ -315,13 +343,14 @@ </namespace> ]]></source> This will automatically add the <code>@org.jboss.annotation.ejb.Clustered</code> JBoss - annotation to all session beans which will enable load-balancing and failover of all requests. + annotation to all session beans which will enable load-balancing and failover of all requests + (if you have configured clustering on the container). The default load balance policy <code>org.jboss.ha.framework.interfaces.RandomRobin</code> is used. </p> <p> There is nothing more you need to do for stateless session beans. For stateful session beans, - you must make sure that the JBoss Cache session state replication service is deployed. + you must make sure that the <i>JBoss Cache</i> session state replication service is deployed. Simply make sure that <code>ejb3-clustered-sfsbcache-service.xml</code> exists in your JBoss deploy directory. </p> 1.2 +9 -3 cartridges/andromda-ejb3/src/site/xdoc/howto15.xml Index: howto15.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/xdoc/howto15.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- howto15.xml 9 Mar 2006 06:37:14 -0000 1.1 +++ howto15.xml 15 May 2006 12:26:04 -0000 1.2 @@ -7,8 +7,9 @@ <body> <section name="Transactions"> <p> - Defining transactions within your beans is done via annotations. This takes the complexity - out of the deployment descriptor and makes following transactions very easy. + Defining transactions within or accross beans is done via annotations. This takes the complexity + out of the deployment descriptor however it's just as easy to define transaction boundaries + from the descriptor. </p> <a name="Transaction_Type"/> <subsection name="Transaction Type"> @@ -21,7 +22,12 @@ <p> The EJB 3.0 spec defines that the transaction management type cannot be specified for EJB 3.0 entity POJOs. These entities execute within the transactional context of the caller, which is - the session bean. + the DAO or session bean. + </p> + <p> + The DAO base class also specifies the transaction attribute as <code>REQUIRED</code>. Remember + your business logic resides in the session facade using the DAO API interface; hence you control + your transactions from your session beans. </p> <p> Your <code>TransactionAttributeType</code> options are: 1.2 +9 -0 cartridges/andromda-ejb3/src/site/xdoc/howto20.xml Index: howto20.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/xdoc/howto20.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- howto20.xml 5 May 2006 05:32:32 -0000 1.1 +++ howto20.xml 15 May 2006 12:26:04 -0000 1.2 @@ -49,6 +49,15 @@ be supported by modification to the <code>EJB3EmbeddedValueFacade</code> and corresponding <code>EmbeddedValue.vsl</code> template. </p> + <a name="Helpful_Hints"/> + <subsection name="Helpful Hints"> + <p> + Even though the EJB3 cartridge generates an implementation source file extending the + auto generated embedded value object, the implementation is currently not used. Future + version of the EJB3 cartridge will make use of the persistence ORM mapping file and will + fix this issue. + </p> + </subsection> </section> </body> </document> 1.4 +2 -2 cartridges/andromda-ejb3/src/site/xdoc/howto14.xml Index: howto14.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/xdoc/howto14.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -w -r1.3 -r1.4 --- howto14.xml 13 May 2006 02:43:20 -0000 1.3 +++ howto14.xml 15 May 2006 12:26:04 -0000 1.4 @@ -8,7 +8,7 @@ <section name="Lifecycle Callbacks"> <p> There are a couple of different ways to define the lifecycle callbacks using the - EJB3 cartridge. This howto will provide the necessary details on how you can implement + EJB3 cartridge. This howto will provide the necessary information on how you can implement the callback handlers for entity, session and message-driven beans. </p> <p> @@ -217,7 +217,7 @@ </section> <section name="Next"> <p> - For a guide on how to utilise transactions in this cartridge, click <a href="howto14.html">here</a>. + For a guide on how to utilise transactions in this cartridge, click <a href="howto15.html">here</a>. </p> </section> </body> 1.3 +28 -22 cartridges/andromda-ejb3/src/site/xdoc/howto13.xml Index: howto13.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/xdoc/howto13.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -w -r1.2 -r1.3 --- howto13.xml 17 Mar 2006 09:33:58 -0000 1.2 +++ howto13.xml 15 May 2006 12:26:04 -0000 1.3 @@ -8,7 +8,7 @@ <section name="Interceptor"> <p> Adding custom written interceptors is very easy using the EJB3 cartridge. The following sections - will provide you with enough detail to add your custom made interceptors to session and + will provide you with enough detail to add your custom interceptors to session and message-driven beans. It discusses default, class and method interceptors. </p> <p> @@ -18,7 +18,8 @@ <p> The following example shows how to model a default interceptor as well as 2 class level interceptors for the <code>RentalService</code> bean. Method level interceptor are - modelled in the same fashion, but a dependency is drawn from the session bean method. + modelled in the same fashion, but a dependency is drawn from the session bean method rather than + the actual session bean class. </p> <p> <img src="images/org/andromda/test/13/a/uml.gif"/> @@ -32,24 +33,29 @@ </p> <p> <ul> - <li class="gen"><a href="src/org/andromda/test/howto13/a/CarEmbeddable.java.txt"><code>CarEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto13/a/Car.java.txt"><code>Car.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto13/a/CarType.java.txt"><code>CarType.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto13/a/PersonEmbeddable.java.txt"><code>PersonEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto13/a/Person.java.txt"><code>Person.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto13/a/ServiceLocator.java.txt"><code>ServiceLocator.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto13/a/RentalServiceBean.java.txt"><code>RentalServiceBean.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto13/a/RentalServiceRemote.java.txt"><code>RentalServiceRemote.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto13/a/RentalServiceDelegate.java.txt"><code>RentalServiceDelegate.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto13/a/RentalServiceBeanImpl.java.txt"><code>RentalServiceBeanImpl.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto13/a/RentalServiceException.java.txt"><code>RentalServiceException.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto13/a/RentalException.java.txt"><code>RentalException.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto13/a/ejb-jar.xml.txt"><code>ejb-jar.xml</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto13/a/jboss.xml.txt"><code>jboss.xml</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto13/a/persistence.xml.txt"><code>persistence.xml</code></a></li> - <li class="impl"><a class="changed" href="src/org/andromda/test/howto13/a/DefaultInterceptor.java.txt"><code>DefaultInterceptor.java</code></a></li> - <li class="impl"><a class="changed" href="src/org/andromda/test/howto13/a/LogInterceptor.java.txt"><code>LogInterceptor.java</code></a></li> - <li class="impl"><a class="changed" href="src/org/andromda/test/howto13/a/AdminCheckerInterceptor.java.txt"><code>AdminCheckerInterceptor.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto13/a/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto13/a/Car.java"><code>Car.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto13/a/CarType.java"><code>CarType.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto13/a/CarDao.java"><code>CarDao.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto13/a/CarDaoBase.java"><code>CarDaoBase.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto13/a/CarDaoImpl.java"><code>CarDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto13/a/CarDaoException.java"><code>CarDaoException.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto13/a/Person.java"><code>Person.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto13/a/PersonDao.java"><code>PersonDao.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto13/a/PersonDaoBase.java"><code>PersonDaoBase.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto13/a/PersonDaoImpl.java"><code>PersonDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto13/a/PersonDaoException.java"><code>PersonDaoException.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto13/a/RentalServiceBean.java"><code>RentalServiceBean.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto13/a/RentalServiceRemote.java"><code>RentalServiceRemote.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto13/a/RentalServiceDelegate.java"><code>RentalServiceDelegate.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto13/a/RentalServiceBase.java"><code>RentalServiceBase.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto13/a/RentalServiceException.java"><code>RentalServiceException.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto13/a/RentalException.java"><code>RentalException.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto13/a/ejb-jar.xml"><code>ejb-jar.xml</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto13/a/jboss.xml"><code>jboss.xml</code></a></li> + <li class="impl"><a class="changed" href="src/org/andromda/test/howto13/a/DefaultInterceptor.java"><code>DefaultInterceptor.java</code></a></li> + <li class="impl"><a class="changed" href="src/org/andromda/test/howto13/a/LogInterceptor.java"><code>LogInterceptor.java</code></a></li> + <li class="impl"><a class="changed" href="src/org/andromda/test/howto13/a/AdminCheckerInterceptor.java"><code>AdminCheckerInterceptor.java</code></a></li> </ul> </p> <a name="Default_Interceptors"/> @@ -62,7 +68,7 @@ <p> To define a default interceptor for your deployment, model the standard <![CDATA[<<Interceptor>>]]> stereotype on a class and specify the - <code>@andromda.service.interceptor.default</code> tagged value as true. + <code>@andromda.service.interceptor.default</code> tagged value as true on this class. Since this interceptor is invoked for all business methods of all beans, you do not need to model any dependencies on it. The cartridge will generate the class with the necessary interceptor operation and @@ -99,7 +105,7 @@ <p> Method level interceptors are very much similar to class level interceptors, but they are bound to a specific business method within a bean. This means that they are only invoked - when the modelled business method of a bean are invoked. + when the modelled business methods of the bean are invoked. </p> <p> To define a method level interceptor, model the <![CDATA[<<Interceptor>>]]> stereotype on 1.3 +48 -28 cartridges/andromda-ejb3/src/site/xdoc/howto18.xml Index: howto18.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/xdoc/howto18.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -w -r1.2 -r1.3 --- howto18.xml 5 May 2006 05:32:49 -0000 1.2 +++ howto18.xml 15 May 2006 12:26:04 -0000 1.3 @@ -40,12 +40,15 @@ allows you to modify the construction of the URL for the webservice endpoints. </p> <p> - The following is a very simple example exposing all session bean operations. This is achieved - by modelling the <![CDATA[<<WebService>>]]> stereotype on the <code>TicketService</code> - session bean. Modelling this is very similar to the WebService cartridge process. The + The following is a very simple example of a session bean exposing all it's operations and + another session bean exposing only 1 of it's operations. This is achieved + by modelling the <![CDATA[<<WebService>>]]> stereotype on the <code>UserService</code> + session bean and <![CDATA[<<WebServiceOperation>>]]> on the <code>addUser</code> + operation in <code>UserEndPointService</code> session bean. + Modelling this is similar to the WebService cartridge process. The EJB3 cartridge introduces a few extra tagged values. The example below models the <code>@andromda.webservice.operation.result.name</code> tagged value on the - <code>processMinimal</code> operation. + <code>addUser</code> operation in <code>UserService</code>. </p> <p> <img src="images/org/andromda/test/18/a/uml.gif"/> @@ -59,25 +62,32 @@ </p> <p> <ul> - <li class="gen"><a href="src/org/andromda/test/howto18/a/TicketEmbeddable.java"><code>TicketEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto18/a/Ticket.java"><code>Ticket.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto18/a/ServiceLocator.java"><code>ServiceLocator.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto18/a/TicketServiceBase.java"><code>TicketServiceBase.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto18/a/TicketServiceRemote.java"><code>TicketServiceRemote.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto18/a/TicketServiceDelegate.java"><code>TicketServiceDelegate.java</code></a></li> - <li class="impl"><a class="changed" href="src/org/andromda/test/howto18/a/TicketServiceBean.java"><code>TicketServiceBean.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto18/a/TicketServiceWSInterface.java"><code>TicketServiceWSInterface.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto18/a/TicketServiceException.java"><code>TicketServiceException.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto18/a/TicketException.java"><code>TicketException.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto18/a/ejb-jar.xml"><code>ejb-jar.xml</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto18/a/jboss.xml"><code>jboss.xml</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto18/a/persistence.xml"><code>persistence.xml</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto18/a/User.java"><code>User.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto18/a/UserDao.java"><code>UserDao.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto18/a/UserDaoBase.java"><code>UserDaoBase.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto18/a/UserDaoImpl.java"><code>UserDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto18/a/UserDaoException.java"><code>UserDaoException.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto18/a/UserEndPointServiceBase.java"><code>UserEndPointServiceBase.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto18/a/UserEndPointServiceBean.java"><code>UserEndPointServiceBean.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto18/a/UserEndPointServiceRemote.java"><code>UserEndPointServiceRemote.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto18/a/UserEndPointServiceDelegate.java"><code>UserEndPointServiceDelegate.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto18/a/UserEndPointServiceException.java"><code>UserEndPointServiceException.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto18/a/UserEndPointServiceWSInterface.java"><code>UserEndPointServiceWSInterface.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto18/a/UserServiceBase.java"><code>UserServiceBase.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto18/a/UserServiceBean.java"><code>UserServiceBean.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto18/a/UserServiceRemote.java"><code>UserServiceRemote.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto18/a/UserServiceDelegate.java"><code>UserServiceDelegate.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto18/a/UserServiceException.java"><code>UserServiceException.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto18/a/UserServiceWSInterface.java"><code>UserServiceWSInterface.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto18/a/UserException.java"><code>UserException.java</code></a></li> </ul> </p> <p> - The <code>TicketServiceBean</code> implementation contains the <code>@WebService</code> + The <code>UserServiceBean</code> and <code>UserEndPointServiceBean</code> implementations + contain the <code>@WebService</code> annotation defining the <code>endpointInterface</code> property that references the - web service interface <code>TicketServiceWSInterface</code> containing all other annotations. + web service interface <code>UserServiceWSInterface</code> and <code>UserEndPointServiceWSInterface</code> + correspondingly, containing all other annotations. Default values are provided via namespace properties, but you can override them using tagged values. </p> @@ -94,7 +104,7 @@ the location specified below. <source language="xml"><![CDATA[ <configuration xmlns="http://www.jboss.org/jbossws-tools"> - <wsdlToJava wsdlLocation="http://localhost:8080/ejb3demo-ws/services/TicketService?wsdl"> + <wsdlToJava wsdlLocation="http://localhost:8080/howtomodel-ws/services/UserService?wsdl"> <mapping fileName="jaxrpc-mapping.xml"/> </wsdlToJava> </configuration> @@ -106,7 +116,7 @@ </p> <p> <code> - jboss-inst/bin/wstools.sh -cp {path to TicketService.class} -config jbosswsConfig.xml + jboss-inst/bin/wstools.sh -cp ".;./core/target/src" -config jbosswsConfig.xml </code> </p> <p> @@ -115,15 +125,15 @@ <p> The client can invoke exposed operations like so. <source><![CDATA[ -URL wsdlURL = new URL("http://localhost:8080/ejb3demo3-ws/services/TicketService?wsdl"); +URL wsdlURL = new URL("http://localhost:8080/howtomodel-ws/services/UserService?wsdl"); -ServiceFactoryImpl factory = new ServiceFactoryImpl(); +org.jboss.ws.jaxrpc.ServiceFactoryImpl factory = new org.jboss.ws.jaxrpc.ServiceFactoryImpl(); File mappingFile = new File("jaxrpc-mapping.xml"); Service service = factory.createService(wsdlURL, null, mappingFile.toURL()); -TicketServiceWSInterface port = (TicketServiceWSInterface)service.getPort(TicketServiceWSInterface.class); -port.process(1, "000", "Test"); +UserServiceWSInterface port = (UserServiceWSInterface)service.getPort(UserServiceWSInterface.class); +port.process(user"); ]]></source> </p> </subsection> @@ -134,14 +144,24 @@ bean operations as web service endpoints. </p> <p> - In the example above, <code>TicketServiceBean</code> is generated once only since it contains + In the example above, <code>UserServiceBean</code> is generated once only since it contains the session bean implementation. Therefore, the <code>@WebService</code> annotation is enabled on generation of the class. To stop exposing this bean, you must manually comment out the - following: + following in <code>UserServiceBean.java</code>: <source><![CDATA[ -@javax.jws.WebService(endpointInterface = "org.andromda.demo3.ejb3.test.TicketServiceWSInterface") +@javax.jws.WebService(endpointInterface = "org.andromda.test.howto18.a.UserServiceWSInterface") ]]></source> </p> + <p> + Currently, the following tags are not available in the WebService profile; + therefore, you must add them to your model if you wish to use them. + <ul> + <li><a href="profile.html#@andromda.webservice.parameter.style">@andromda.webservice.parameter.style</a></li> + <li><a href="profile.html#@andromda.webservice.parameter.oneway">@andromda.webservice.operation.oneway</a></li> + <li><a href="profile.html#@andromda.webservice.parameter.name">@andromda.webservice.operation.name</a></li> + <li><a href="profile.html#@andromda.webservice.parameter.result.name">@andromda.webservice.operation.result.name</a></li> + </ul> + </p> </subsection> </section> <section name="Next"> |
From: Vance K. <va...@us...> - 2006-05-15 12:25:37
|
User: vancek Date: 06/05/15 05:25:17 Modified: andromda-ejb3/src/site/xdoc howto.xml Log: added to caching and clustering section Revision Changes Path 1.16 +2 -0 cartridges/andromda-ejb3/src/site/xdoc/howto.xml Index: howto.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/xdoc/howto.xml,v retrieving revision 1.15 retrieving revision 1.16 diff -u -w -r1.15 -r1.16 --- howto.xml 13 May 2006 02:38:37 -0000 1.15 +++ howto.xml 15 May 2006 12:25:17 -0000 1.16 @@ -182,6 +182,8 @@ <li><a href="howto17.html#Entity_Cache">Entity Caching</a></li> <li><a href="howto17.html#Association_Cache">Association Caching</a></li> <li><a href="howto17.html#Query_Cache">Query Caching</a></li> + <li><a href="howto17.html#Clustering">Clustering Session Beans</a></li> + <li><a href="howto17.html#Further_Reading">Further Reading</a></li> </ul> </li> <li> |
From: Chris M. <cm...@us...> - 2006-05-14 17:35:23
|
User: cmicali Date: 06/05/14 10:35:21 Modified: etc/andromda-dotnet/AndroMDA.VS80AddIn AndroMDA VS2005 Add-In Readme.rtf etc/andromda-dotnet/AndroMDA.VS80AddIn/Installer AndroMDA VS2005 Add-In Setup.exe Removed: etc/andromda-dotnet/AndroMDA.VS80AddIn Readme.doc Log: Updated with working copy Revision Changes Path No revision No revision No revision No revision No revision No revision No revision No revision |
From: Martin W. <ama...@us...> - 2006-05-14 09:07:44
|
User: amartinwest Date: 06/05/14 02:07:43 Modified: . pom.xml Log: Update new cvs settings Revision Changes Path 1.2 +2 -2 components/pom.xml Index: pom.xml =================================================================== RCS file: /cvsroot/andromdaplugins/components/pom.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- pom.xml 16 Mar 2006 23:09:21 -0000 1.1 +++ pom.xml 14 May 2006 09:07:43 -0000 1.2 @@ -18,8 +18,8 @@ </issueManagement> <scm> <connection>scm:cvs:pserver:anonymous:@cvs.sourceforge.net:/cvsroot/andromdaplugins:components</connection> - <developerConnection>scm:cvs:ext:${maven.username}@cvs.sourceforge.net:/cvsroot/andromdaplugins:components</developerConnection> - <url>http://cvs.sourceforge.net/viewcvs.py/andromdaplugins/components/</url> + <developerConnection>scm:cvs:ext:${maven.username}@andromdaplugins.cvs.sourceforge.net:/cvsroot/andromdaplugins:components</developerConnection> + <url>http://andromdaplugins.cvs.sourceforge.net/andromdaplugins/components/</url> </scm> <organization> <name>AndroMDA.org</name> |
From: Martin W. <ama...@us...> - 2006-05-14 09:05:44
|
User: amartinwest Date: 06/05/14 02:05:41 Modified: . pom.xml Log: Update new cvs settings Revision Changes Path 1.7 +2 -2 plugins/pom.xml Index: pom.xml =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/pom.xml,v retrieving revision 1.6 retrieving revision 1.7 diff -u -w -r1.6 -r1.7 --- pom.xml 17 Mar 2006 03:40:57 -0000 1.6 +++ pom.xml 14 May 2006 09:05:41 -0000 1.7 @@ -18,8 +18,8 @@ </issueManagement> <scm> <connection>scm:cvs:pserver:anonymous:@cvs.sourceforge.net:/cvsroot/andromdaplugins:andromda-plugins</connection> - <developerConnection>scm:cvs:ext:${maven.username}@cvs.sourceforge.net:/cvsroot/andromdaplugins:andromda-plugins</developerConnection> - <url>http://cvs.sourceforge.net/viewcvs.py/andromda/</url> + <developerConnection>scm:cvs:ext:${maven.username}@andromdaplugins.cvs.sourceforge.net:/cvsroot/andromdaplugins:andromda-plugins</developerConnection> + <url>http://andromdaplugins.cvs.sourceforge.net/andromdaplugins</url> </scm> <organization> <name>AndroMDA.org</name> |
From: Vance K. <va...@us...> - 2006-05-13 02:57:19
|
User: vancek Date: 06/05/12 19:57:17 Modified: andromda-ejb3/src/main/resources/META-INF/andromda profile.xml Log: expanded documentation Revision Changes Path 1.28 +29 -5 cartridges/andromda-ejb3/src/main/resources/META-INF/andromda/profile.xml Index: profile.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/resources/META-INF/andromda/profile.xml,v retrieving revision 1.27 retrieving revision 1.28 diff -u -w -r1.27 -r1.28 --- profile.xml 17 Apr 2006 01:59:13 -0000 1.27 +++ profile.xml 13 May 2006 02:57:17 -0000 1.28 @@ -2,9 +2,33 @@ <profile> <documentation> - Entity query operations (i.e. finders) can be denoted by setting - the query flag on the modeled operation to true (they do not - require any stereotypes). + <p> + Dependencies can be used between Services and Entities, they + won't need any stereotype assigned to them. These dependencies + are used to produce entity references (from an entity or service) + within the base classes (i.e. DaoBase and ServiceBase), + or to produce service references (from another service) + within the ServiceBase classes. + </p> + <p> + Entity business operations can be set to <code>classifier</code> scope + instead of the usual <code>instance</code> scope. By doing so they + will be generated into the corresponding DAO for that entity instead + of the entity implementation class. + </p> + <p> + Entity query operations (i.e. finders) can be denoted by setting the + query flag on the modeled operation to true + (they do not require any stereotypes) and setting it's scope to + <code>classifier</code>. + </p> + <p> + Actors represent roles within your model. To designate that a role + has access to a given service you must draw a dependency from an Actor + to the <a href="Service"><![CDATA[<<Service>>]]></a>. To designate the + role has access to to a given operation, you must draw a dependency from + an Actor to the operation. + </p> </documentation> <elements> <elementGroup name="Stereotypes"> |
From: Vance K. <va...@us...> - 2006-05-13 02:48:02
|
User: vancek Date: 06/05/12 19:48:01 Added: andromda-ejb3/src/site/resources/images gen-file.gif impl-file.gif newwindow.gif printer.gif flash.gif warning.gif external.gif forbidden.gif triangledown.gif square.gif triangleright.gif redirect.gif banner.jpg changed-file.gif check.gif pdf.gif Log: initial revision - Andromda related images Revision Changes Path 1.1 cartridges/andromda-ejb3/src/site/resources/images/gen-file.gif <<Binary file>> 1.1 cartridges/andromda-ejb3/src/site/resources/images/impl-file.gif <<Binary file>> 1.1 cartridges/andromda-ejb3/src/site/resources/images/newwindow.gif <<Binary file>> 1.1 cartridges/andromda-ejb3/src/site/resources/images/printer.gif <<Binary file>> 1.1 cartridges/andromda-ejb3/src/site/resources/images/flash.gif <<Binary file>> 1.1 cartridges/andromda-ejb3/src/site/resources/images/warning.gif <<Binary file>> 1.1 cartridges/andromda-ejb3/src/site/resources/images/external.gif <<Binary file>> 1.1 cartridges/andromda-ejb3/src/site/resources/images/forbidden.gif <<Binary file>> 1.1 cartridges/andromda-ejb3/src/site/resources/images/triangledown.gif <<Binary file>> 1.1 cartridges/andromda-ejb3/src/site/resources/images/square.gif <<Binary file>> 1.1 cartridges/andromda-ejb3/src/site/resources/images/triangleright.gif <<Binary file>> 1.1 cartridges/andromda-ejb3/src/site/resources/images/redirect.gif <<Binary file>> 1.1 cartridges/andromda-ejb3/src/site/resources/images/banner.jpg <<Binary file>> 1.1 cartridges/andromda-ejb3/src/site/resources/images/changed-file.gif <<Binary file>> 1.1 cartridges/andromda-ejb3/src/site/resources/images/check.gif <<Binary file>> 1.1 cartridges/andromda-ejb3/src/site/resources/images/pdf.gif <<Binary file>> |
From: Vance K. <va...@us...> - 2006-05-13 02:47:19
|
User: vancek Date: 06/05/12 19:47:18 Modified: andromda-ejb3/src/site/resources/images/org/andromda/test/11/a uml.gif Log: update to show lifecycle callback methods Revision Changes Path 1.2 +135 -124 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/11/a/uml.gif <<Binary file>> |
From: Vance K. <va...@us...> - 2006-05-13 02:46:35
|
User: vancek Date: 06/05/12 19:46:32 Added: andromda-ejb3/src/site/resources/css site.css maven-base.css print.css maven-theme.css Log: initial revision - overwrite default css generate by maven site plugin Revision Changes Path 1.1 cartridges/andromda-ejb3/src/site/resources/css/site.css Index: site.css =================================================================== body { margin: 0; } #bodyColumn a:link { color: #043DBC; border-bottom: 1px dotted #3D7DC7; text-decoration: none; } #bodyColumn a:visited { color: #2277D9; border-bottom: 1px dotted #3D7DC7; text-decoration: none; } #bodyColumn a:hover { color: #51A2FF; border-bottom: 1px solid #2C8AF7; text-decoration: none; } #search { text-align: center; } #search input { font-size: 90%; margin: 0 3px 0 0; } #banner { background-image: url(images/banner.jpg); background-position: top left; background-repeat: no-repeat; background-color: #fff; height: 110px; border-bottom: 1px solid #93A6B4; } #banner a#serverLink { font-size: 86%; position: absolute; top: 10px; right: 20px; } #banner #printerFriendly { position: absolute; top: 34px; right: 28px; width: 30px; height: 30px; background: url(images/printer.gif) no-repeat; } #organizationLogo, #projectLogo { display: none; } #leftColumn { position: absolute; top: 140px; left: 0; width: 180px; padding: 20px 5px 0 25px; background-color: #fff; margin: 0; } #navcolumn ul { margin-top: 0; } #navcolumn li { list-style-image: url(images/square.gif); } #navcolumn li.expanded { list-style-image: url(images/triangledown.gif); } #navcolumn li.collapsed { list-style-image: url(images/triangleright.gif); } #leftColumn h5 { margin: 0; padding: 0; font-size: 96%; font-weight: bold; color: #333; } #leftColumn a, #leftColumn a:link, #leftColumn a:active, #leftColumn a:visited { color: #043dbc; text-decoration: none; } #leftColumn a:hover { color: #51a2ff; border-bottom: 1px dotted; } #bodyColumn { position: absolute; top: 140px; left: 215px; right: 0; background-color: #fff; padding: 20px 25px 25px 10px; margin: 0; } .clear { display: none; } #breadcrumbs { position: absolute; top: 110px; padding: 5px 20px 5px 20px; vertical-align: middle; background-color: #E6E5E1; border-top: 1px solid #93A6B4; border-bottom: 1px solid #93A6B4; } #breadcrumbs .xleft { float: left; } #breadcrumbs .xright { float: right; } #breadcrumbs a { margin: 0; padding: 0px 15px 0px 15px; text-decoration: none; } #footer { display: none; border-top: 1px solid #93A6B4; text-align: center; } #footer xright {} .highlight { border: 2px dotted; background-color: #eee; padding: 6px; margin: 0 10px 0 10px; font-weight: bold; } .section { margin-bottom: 25px; } #poweredBy { display: none; margin: 40px 0 0 40px; } a:hover #poweredBy { display: none; text-decoration: none; border: 0; } tr.a { background-color: #eee; } a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover { /* background-image: url(images/external.gif); background-position: right center; background-repeat: no-repeat; padding-right: 18px; */} a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover { background: url(images/newwindow.gif); background-position: right center; background-repeat: no-repeat; padding-right: 18px; } pre.console { margin: 10px; border: 1px solid; border-right: 0px; } img { vertical-align: bottom; } li.gen { list-style: url(images/gen-file.gif) inside; } li.impl { list-style: url(images/impl-file.gif) inside; } li.changed { list-style: url(images/changed-file.gif) inside; } li a { vertical-align: top; } li a.changed { padding-right: 20px; background: url(images/changed-file.gif) no-repeat right; } .textList li { margin-bottom: 10px; } div.redirect { margin-left: 25px; } div.redirect h3 { background: url(images/redirect.gif); background-position: left center; background-repeat: no-repeat; padding-left: 34px; } div.screenshot { margin: 0 20px 0 20px; } div.screenshot tr.a td, div.screenshot tr.b td { border-width:0; background-color: white; } .indented { padding: 25px; } .new { margin: 10px 40px; padding: 20px; border: 1px dotted #666; }; /* syntax highlighting */ div.source { font-size: 92%; } div.jk, div.vk { color: #008; display: inline; font-size: 92%; font-weight: bold; } /* java,velocity reserved keyword */ div.jl, div.vl { color: #080; display: inline; font-size: 92%; font-weight: bold; } /* java,velocity literal */ div.jc, div.vc { color: #888; display: inline; font-size: 92%; font-style: italic; } /* java,velocity comment */ div.jn, div.vn { color: #00F; display: inline; font-size: 92%; } /* java,velocity number */ div.xe { color: #008; display: inline; font-size: 92%; font-weight: bold; } /* xml element */ div.xl { color: #080; display: inline; font-size: 92%; font-weight: bold; } /* xml attribute literal (value) */ div.xa { color: #00F; display: inline; font-size: 92%; font-weight: bold; } /* xml attribute name */ div.xc { color: #888; display: inline; font-size: 92%; font-style: italic; } /* xml CDATA and comment sections */ div#pdf { position: absolute; top: 20px; right: 0; font-size: 68%; text-align: right; background-color: white; width: 60px; height: 40px; padding-right: 80px; !important; } div#pdf img { width: 13px; height: 16px; display: block; margin-left: 45px; } /* styles related to the namespace.xml xdoc */ a.namespacePropertyGroupTitle, a.namespacePropertyTitle, a.profileElementGroupTitle, a.profileElementTitle { font-size: 120%; font-weight: bold; margin-right: 12px; } .namespacePropertyGroup, .profileElementGroup { border: 0; vertical-align: top; } .namespacePropertyGroupDocumentation, .profileElementGroupDocumentation { color: #666; font-size: 86%; line-height: 12px; font-style: italic; margin: 12px 6px; } .namespaceProperty table, .profileElement table { margin: 0 0 20px 20px; } .namespaceProperty table td, .profileElement table td { border: 0; padding: 10px 10px 0 10px; background-color: white; } .namespaceProperty table td.namespacePropertyTitle, .profileElement table td.profileElementTitle { padding: 10px 0;} .namespaceProperty .required, .profileElement .required { color: red; font-weight: bold; } .namespaceProperty .optional, .profileElement .optional { color: green; font-weight: bold; } .namespaceProperty code.defaultValue, .profileElement code.defaultValue { color: blue; } .namespaceProperty .documentation, .profileElement .documentation { color: #666; font-style: italic; } .namespaceProperty .documentation code, .profileElement documentation code { color: #222; font-style: normal; } 1.1 cartridges/andromda-ejb3/src/site/resources/css/maven-base.css Index: maven-base.css =================================================================== body, p, table, td, th, ul, li, dd, dt, dl, h1, h2, h3, h4, h5, h6, div, span, input { font-family: Verdana; line-height: 16px; } h1, h2, h3, h4, h5, h6 { font-weight: normal; line-height: 24px; } p, ul, li, dt, dd, dl, table, td, th, #breadcrumbs, div, input, textarea { font-size: 12px; } img { border: 0; } h2 { border-bottom: 1px solid; } h3 { font-weight: bold; } blockquote { border: 2px dotted; } p { padding: 0 10px 0 10px; } td, th { border: 1px solid; padding: 4px; } pre { padding-left: 20px; } 1.1 cartridges/andromda-ejb3/src/site/resources/css/print.css Index: print.css =================================================================== #banner, #leftColumn, #breadcrumbs, #pdf, #serverLink { display: none; } #bodyColumn { background-color: #fff; padding: 20px 25px 25px 10px; margin: 0; } 1.1 cartridges/andromda-ejb3/src/site/resources/css/maven-theme.css <<Binary file>> |
From: Vance K. <va...@us...> - 2006-05-13 02:46:28
|
User: vancek Date: 06/05/12 19:46:27 cartridges/andromda-ejb3/src/site/resources/css - New directory |
User: vancek Date: 06/05/12 19:43:21 Modified: andromda-ejb3/src/site/xdoc howto3.xml howto9.xml howto2.xml howto8.xml howto4.xml howto12.xml howto7.xml howto11.xml howto14.xml howto19.xml howto10.xml howto5.xml Log: added docs to support DAO for entites minor fixes Revision Changes Path 1.5 +53 -43 cartridges/andromda-ejb3/src/site/xdoc/howto3.xml Index: howto3.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/xdoc/howto3.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -w -r1.4 -r1.5 --- howto3.xml 7 Mar 2006 15:01:33 -0000 1.4 +++ howto3.xml 13 May 2006 02:43:20 -0000 1.5 @@ -8,34 +8,31 @@ <section name="Services"> <p> A common strategy to shield the presentation tier from the persistence tier is to model - the services in between, they will be used to implement the business logic in the application tier. - The technology behind is of little interest to the developer (that's one of the good points of MDA right!), - but it's good to know POJOs are being used. + the services in between. These services implement the business logic in the application tier. + In the EJB3 cartridge, these services are stateless or stateful session beans. </p> <p> - In order to model such services you would just create another class, but this time you will give - this class the <![CDATA[<<Service>>]]> stereotype. + To create a service you just create another class and model the <![CDATA[<<Service>>]]> stereotype + on this class. </p> <p> - Generally speaking it is sufficient to only model operations in these services, they represent - the operations that can be called remotely, consider these operations the API of your application's - back-end. + Most of the time you only model operations in these services which represent + the operations that can be called remotely (default view type). The EJB3 cartridge allows you to + specify <i>local</i> operation or even both. These operations are the <b>API</b> of your + application's back-end. </p> <p> - Notice how we have modelled dependencies from the service to the entities. For previous persistence - engines, this would render accessors to the DAOs of both entities in the service or add the - necessary xdoclet tags or corresponding <code>env-entry</code> elements to the deployment - descriptors. For the EJB3 cartridge, this is NOT the case! + The following illustrates the use of a service bean that operates on the 2 entities. + Notice how we have modelled dependencies from the service to the entities. This will render + the getter accessor to the DAOs of both entities in the service and inject the corresponding + DAO (stateless session bean containing CRUD API for entity). </p> <p> - You should still draw such dependencies to indicate the need to access the persistent storage - of entities, however EJB 3.0 relies on the persistence entity manager to handle this task and + Drawing these dependencies indicates the need to access the persistent storage + of entities via the persistence entity manager injected in the DAO that handle this task and eliminates much of the complexity. </p> <p> - The following example illustrates the use of a service bean that operates on the entity POJOs. - </p> - <p> <img src="images/org/andromda/test/3/a/uml.gif"/> </p> <p> @@ -47,16 +44,22 @@ </p> <p> <ul> - <li class="gen"><a href="src/org/andromda/test/howto3/a/CarEmbeddable.java.txt"><code>CarEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto3/a/Car.java.txt"><code>Car.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto3/a/PersonEmbeddable.java.txt"><code>PersonEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto3/a/Person.java.txt"><code>Person.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/ServiceLocator.java.txt"><code>ServiceLocator.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto3/a/RentalServiceBean.java.txt"><code>RentalServiceBean.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto3/a/RentalServiceRemote.java.txt"><code>RentalServiceRemote.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto3/a/RentalServiceDelegate.java.txt"><code>RentalServiceDelegate.java</code></a></li> - <li class="impl"><a class="changed" href="src/org/andromda/test/howto3/a/RentalServiceBeanImpl.java.txt"><code>RentalServiceBeanImpl.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto3/a/RentalServiceException.java.txt"><code>RentalServiceException.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/a/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto3/a/Car.java"><code>Car.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/a/CarDao.java"><code>CarDao.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/a/CarDaoBase.java"><code>CarDaoBase.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto3/a/CarDaoImpl.java"><code>CarDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/a/CarDaoException.java"><code>CarDaoException.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/a/Person.java"><code>Person.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/a/PersonDao.java"><code>PersonDao.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/a/PersonDaoBase.java"><code>PersonDaoBase.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/a/PersonDaoImpl.java"><code>PersonDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/a/PersonDaoException.java"><code>PersonDaoException.java</code></a></li> + <li class="impl"><a class="changed" href="src/org/andromda/test/howto3/a/RentalServiceBean.java"><code>RentalServiceBean.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto3/a/RentalServiceRemote.java"><code>RentalServiceRemote.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto3/a/RentalServiceDelegate.java"><code>RentalServiceDelegate.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto3/a/RentalServiceBase.java"><code>RentalServiceBase.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto3/a/RentalServiceException.java"><code>RentalServiceException.java</code></a></li> </ul> </p> <p> @@ -64,13 +67,13 @@ in the sections ahead. </p> <p> - The <code>RentalServiceBean.java</code> injects the <code>javax.ejb.SessionContext</code> by + The <code>RentalServiceBase.java</code> injects the <code>javax.ejb.SessionContext</code> by default and makes this available for use in the subclass via the <code>context</code> protected attribute. </p> <p> The default persistence context is injected into the Entity Manager. This is defined via the - <code>@javax.persistence.PersistenceContext</code> annotation in <code>RentalServiceBean.java</code>. + <code>@javax.persistence.PersistenceContext</code> annotation in <code>RentalServiceBase.java</code>. The <code>unitName</code> property matches the entity manager name in <code>persistence.xml</code> and is determined from the project name for the default persistence context. </p> @@ -114,7 +117,7 @@ <p> To declare the transactional nature of session bean business methods, you can model the <code>@andromda.ejb.transaction.type</code> tagged value on the session bean business - methods individually, or on session bean class. To find out more information, click on + methods individually, or on the session bean class. To find out more information, click on <a href="howto15.html">Transaction</a>. </p> </subsection> @@ -129,7 +132,8 @@ <a name="Environment_Entry_Injection"/> <subsection name="Environment Entry Injections"> <p> - To inject an environment entry resource value, model a service attribute with classifer scope + To inject an environment entry resource value, model a service attribute with + <code>classifer</code> scope and set the attribute stereotype to <![CDATA[<<EnvEntry>>]]>. The environment entries will be defined in the session bean class and configured in the ejb-jar.xml deployment descriptor. @@ -194,7 +198,7 @@ The EJB3 cartridge derives a default persistence context associated with the default entity manager for every session bean. The persistence context <code>unitName</code> property is determined via the <code>persistenceContextUnitName</code> namespace property - which is provided via <code>andromda.xml</code> descriptor. + which is provided via your application <code>andromda.xml</code> descriptor. </p> <p> Every session bean provides the facility to override the default persistence context @@ -234,17 +238,23 @@ </p> <p> <ul> - <li class="gen"><a href="src/org/andromda/test/howto3/b/CarEmbeddable.java.txt"><code>CarEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto3/b/Car.java.txt"><code>Car.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto3/b/PersonEmbeddable.java.txt"><code>PersonEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto3/b/Person.java.txt"><code>Person.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/ServiceLocator.java.txt"><code>ServiceLocator.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto3/b/RentalServiceBean.java.txt"><code>RentalServiceBean.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto3/b/RentalServiceRemote.java.txt"><code>RentalServiceRemote.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto3/b/RentalServiceDelegate.java.txt"><code>RentalServiceDelegate.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto3/b/RentalServiceBeanImpl.java.txt"><code>RentalServiceBeanImpl.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto3/b/RentalServiceException.java.txt"><code>RentalServiceException.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto3/b/persistence.xml.txt"><code>persistence.xml</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/b/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto3/b/Car.java"><code>Car.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/b/CarDao.java"><code>CarDao.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/b/CarDaoBase.java"><code>CarDaoBase.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto3/b/CarDaoImpl.java"><code>CarDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/b/CarDaoException.java"><code>CarDaoException.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/b/Person.java"><code>Person.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/b/PersonDao.java"><code>PersonDao.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/b/PersonDaoBase.java"><code>PersonDaoBase.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/b/PersonDaoImpl.java"><code>PersonDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/b/PersonDaoException.java"><code>PersonDaoException.java</code></a></li> + <li class="impl"><a class="changed" href="src/org/andromda/test/howto3/b/RentalServiceBean.java"><code>RentalServiceBean.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto3/b/RentalServiceRemote.java"><code>RentalServiceRemote.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto3/b/RentalServiceDelegate.java"><code>RentalServiceDelegate.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto3/b/RentalServiceBase.java"><code>RentalServiceBase.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto3/b/RentalServiceException.java"><code>RentalServiceException.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto3/b/persistence.xml"><code>persistence.xml</code></a></li> </ul> </p> <p> 1.2 +78 -73 cartridges/andromda-ejb3/src/site/xdoc/howto9.xml Index: howto9.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/xdoc/howto9.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- howto9.xml 24 Feb 2006 06:07:19 -0000 1.1 +++ howto9.xml 13 May 2006 02:43:20 -0000 1.2 @@ -26,28 +26,24 @@ The following howto should give you a basic understanding on how to model your inheritance hierarchies using the EJB3 cartridge. </p> + <a name="Non_Inheriting_Entities"/> + <subsection name="Non Interhiting Entities"> <p> - The biggest drawback of implementing any of the inheritance hierarchies using - the EJB3 cartridge is the limitation where a manual source class is NOT available in the child - nodes of an inheritance hierarchy. Because the EJB3 cartridge employs mapped superclass inheritance - for every entity to be able to provide implementation specific source in the subclass, it is - limited by the fact that mapped superclasses can only exist in the root node of the inheritance - hierarchy. + In a mapped superclass scenario, an entity inherits from a superclass that has persistent state + and mapping information, but the super class isn't an entity and is not mapped to a relation table. + This is the strategy employed by the EJB3 cartridge when generating non-inheriting entities if + <code>instance</code> scoped operations are modelled on the entity. </p> - <a name="Mapped_Superclasses"/> - <subsection name="Mapped Superclasses"> <p> - In a mapped superclass scenario, an entity inherits from a superclass that has persistent state - and mapping information, but the super class isn't an entity. This is the strategy employed - by the EJB3 cartridge when generating non-inheriting entities. A mapped superclass is generated containing almost all of the mapping information. The subclass contains only the <code>@Entity</code> , <code>@Table</code> and <code>@EntityListeners</code> annotations. All attribute and relationship mapping information exists in the mapped superclass. The mapped superclass - is regenerated on every run, however the subclass is not. As soon as you model - inheriting entities, this strategy doesn't apply since mapped superclasses only exist at - the root node of the hierarchy. + is regenerated on every run, however the subclass is not. </p> + </subsection> + <a name="Mapped_Superclasses"/> + <subsection name="Mapped Superclasses"> <p> To explicity defined an entity as a mapped superclass, model the <![CDATA[<<MappedSuperclass>>]]> stereotype on the root entity. Define the subclass entities @@ -66,29 +62,42 @@ </p> <p> <ul> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto9/a/Vehicle.java.txt"><code>Vehicle.java</code></a></li> - <li class="impl"><a class="changed" href="src/org/andromda/test/howto9/a/Car.java.txt"><code>Car.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto9/a/CarType.java.txt"><code>CarType.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto9/a/PersonEmbeddable.java.txt"><code>PersonEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto9/a/Person.java.txt"><code>Person.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/ServiceLocator.java.txt"><code>ServiceLocator.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto9/a/RentalServiceBean.java.txt"><code>RentalServiceBean.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto9/a/RentalServiceRemote.java.txt"><code>RentalServiceRemote.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto9/a/RentalServiceDelegate.java.txt"><code>RentalServiceDelegate.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto9/a/RentalServiceBeanImpl.java.txt"><code>RentalServiceBeanImpl.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto9/a/RentalServiceException.java.txt"><code>RentalServiceException.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto9/a/RentalException.java.txt"><code>RentalException.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto9/a/Vehicle.java"><code>Vehicle.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto9/a/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a class="changed" href="src/org/andromda/test/howto9/a/Car.java"><code>Car.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/a/CarType.java"><code>CarType.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/a/CarDao.java"><code>CarDao.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto9/a/CarDaoBase.java"><code>CarDaoBase.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto9/a/CarDaoImpl.java"><code>CarDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/a/CarDaoException.java"><code>CarDaoException.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/a/Person.java"><code>Person.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/a/PersonDao.java"><code>PersonDao.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/a/PersonDaoBase.java"><code>PersonDaoBase.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto9/a/PersonDaoImpl.java"><code>PersonDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/a/PersonDaoException.java"><code>PersonDaoException.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto9/a/RentalServiceBean.java"><code>RentalServiceBean.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/a/RentalServiceRemote.java"><code>RentalServiceRemote.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/a/RentalServiceDelegate.java"><code>RentalServiceDelegate.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto9/a/RentalServiceBase.java"><code>RentalServiceBase.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/a/RentalServiceException.java"><code>RentalServiceException.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/a/RentalException.java"><code>RentalException.java</code></a></li> </ul> </p> <p> - It's worthwhile to note that only a Vehicle class is generated which contains all the mapping - information. This class is regenerated every time AndroMDA runs; any manual changes to this - class is overwritten. Likewise, only the Car entity class, with all mapping information - is generated. - On the other hand, the Person entity operates under the normal EJB3 cartridge - guidelines since there is no inheritance hierarchy for this entity. Therefore, a <code>Person</code> - and <code>PersonEmbeddable</code> class is generated and you are allowed to manually edit - the <code>Person</code> class source file. + It's worthwhile to note that only a <code>VehicleEmbeddable</code> class is generated which + contains all the mapping information. + This class is regenerated every time AndroMDA runs; any manual changes to this + class is overwritten. + </p> + <p> + A <code>CarEmbeddable</code> mapped superclass with all mapping information + is generated and a <code>Car</code> implementation entity classes. Remember that this only happens + if the entity contains <code>instance</code> scoped operations. + </p> + <p> + The the Person entity operates under the normal EJB3 cartridge + guidelines since there is no inheritance hierarchy for this entity. Therefore, only a + <code>Person</code> class is generated and should not be modified. </p> </subsection> <a name="Single_Table_Strategy"/> @@ -126,23 +135,36 @@ </p> <p> <ul> - <li class="impl"><a href="src/org/andromda/test/howto9/b/Vehicle.java.txt"><code>Vehicle.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto9/b/VehicleEmbeddable.java.txt"><code>VehicleEmbeddable.java</code></a></li> - <li class="impl"><a class="changed" href="src/org/andromda/test/howto9/b/Car.java.txt"><code>Car.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto9/b/CarType.java.txt"><code>CarType.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto9/b/PersonEmbeddable.java.txt"><code>PersonEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto9/b/Person.java.txt"><code>Person.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/ServiceLocator.java.txt"><code>ServiceLocator.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto9/b/RentalServiceBean.java.txt"><code>RentalServiceBean.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto9/b/RentalServiceRemote.java.txt"><code>RentalServiceRemote.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto9/b/RentalServiceDelegate.java.txt"><code>RentalServiceDelegate.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto9/b/RentalServiceBeanImpl.java.txt"><code>RentalServiceBeanImpl.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto9/b/RentalServiceException.java.txt"><code>RentalServiceException.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto9/b/RentalException.java.txt"><code>RentalException.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto9/b/Vehicle.java"><code>Vehicle.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/b/VehicleDao.java"><code>VehicleDao.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/b/VehicleDaoBase.java"><code>VehicleDaoBase.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/b/VehicleDaoImpl.java"><code>VehicleDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/b/VehicleDaoException.java"><code>VehicleDaoException.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto9/b/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a class="changed" href="src/org/andromda/test/howto9/b/Car.java"><code>Car.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/b/CarType.java"><code>CarType.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/b/CarDao.java"><code>CarDao.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto9/b/CarDaoBase.java"><code>CarDaoBase.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto9/b/CarDaoImpl.java"><code>CarDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/b/CarDaoException.java"><code>CarDaoException.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/b/Person.java"><code>Person.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/b/PersonDao.java"><code>PersonDao.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/b/PersonDaoBase.java"><code>PersonDaoBase.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto9/b/PersonDaoImpl.java"><code>PersonDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/b/PersonDaoException.java"><code>PersonDaoException.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto9/b/RentalServiceBean.java"><code>RentalServiceBean.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/b/RentalServiceRemote.java"><code>RentalServiceRemote.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/b/RentalServiceDelegate.java"><code>RentalServiceDelegate.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto9/b/RentalServiceBase.java"><code>RentalServiceBase.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/b/RentalServiceException.java"><code>RentalServiceException.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/b/RentalException.java"><code>RentalException.java</code></a></li> </ul> </p> <p> - The discriminator components are discussed in immediately below. + Notice in the previous example where <code>Vehicle</code> was defined as a mapped superclass, + no DAO components were generated. In this example, <code>Vehicle</code> is an entity and the + the corresponding DAO components were generated. The discriminator components are discussed + below. </p> </subsection> <a name="Discriminator_Components"/> @@ -178,18 +200,20 @@ root class. </p> <p> - Most importantly, you need to model the <code>@andromda.persistence.discriminator.value</code> + Most importantly, you can model the <code>@andromda.persistence.discriminator.value</code> tagged value <b>on all classes</b> in the hierarchy. This value indicates the row in the table is an entity of the annotated entity type. This is shown in the above diagram on entities - Vehicle and Car. + Vehicle and Car. However, by default, if no discriminator value is specified for single + table mapping strategy, the cartridge will capitalize and assign the first letter of the entity + as it's discriminator value. </p> </subsection> <a name="Table_Per_Class_Strategy"/> <subsection name="Table Per Class Strategy"> <p> With this strategy, a table exists per class in the hierarchy and each table is comprised of - all the properties persistent by that class. There is no need to define discriminator column - types or values here. + all the properties persisted by that class. There is no need to define discriminator column + types or values for this mapping strategy. </p> <p> If the query is based on the root class in the hierarchy, the query is polymorphic which implies @@ -228,25 +252,6 @@ All subclasses follow this same strategy. </p> </subsection> - <a name="Generic_Finder_Methods"/> - <subsection name="Generic Finder Methods"> - <p> - You will notice that the generic finder method <code>findByPrimaryKey</code> is not generated - for any of the inheritance mapping strategies within the inheriting subclasses. - Classes that inherit from a base class use the primary key identifier of the base class. - Therefore, because the <code>findByPrimaryKey</code> already exists in the base/root class and - since we have polymorphic queries, subclass entities are also returned from the queries - of the root class. - </p> - <p> - The case is different for the <code>findAll</code> finder method. The <code>findAll</code> - finder will not be generated for inheriting subclasses when the inheritance strategy is - single table. Polymorphic queries in the root entity returns the result from all classes in - the hierarchy. For table per class and joined table mapping strategies, the cartridge will - generate the <code>findAll<![CDATA[<Entity Name>]]></code> finder method in each subclass - as well as the <code>findAll</code> in the root class. - </p> - </subsection> <a name="Helpful_Hints"/> <subsection name="Helpful Hints"> <p> @@ -265,7 +270,7 @@ </section> <section name="Next"> <p> - To learn how to develop Message Driven Beans, click <a href="howto9.html">here</a>. + To learn how to develop Message Driven Beans, click <a href="howto10.html">here</a>. </p> </section> </body> 1.5 +69 -31 cartridges/andromda-ejb3/src/site/xdoc/howto2.xml Index: howto2.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/xdoc/howto2.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -w -r1.4 -r1.5 --- howto2.xml 17 Mar 2006 14:20:22 -0000 1.4 +++ howto2.xml 13 May 2006 02:43:20 -0000 1.5 @@ -14,11 +14,11 @@ by <code>[0..*]</code> at the car's end. </p> <p class="highlight"> - Make sure the association ends are <code>public</code>; some tools allow to specify the + Make sure the association ends are <code>public</code>; some tools allow you to specify the visibility of an association end. </p> <p> - In UML, relationships are modeled using associations, and associations themselves have different + In UML, relationships are modelled using associations, and associations themselves have different properties, which will be discussed here. </p> <p> @@ -27,22 +27,22 @@ onto a platform specific datatype (you can find them in the <code>datatype</code> package). </p> <p> - Draw an association between both entities you have just modeled. Set the multiplicity at the end + Draw an association between both entities you have just modelled. Set the multiplicity at the end of the car to <code>[0..*]</code> and name the other end <code>'owner'</code>. - Run AndroMDA again on your model, this is what you should see: + If we run AndroMDA over your model, this is what we expect to see. </p> <p> <img src="images/org/andromda/test/2/a/uml.gif"/> </p> <p> - In this example we have added two attributes: + In this example we have added two attributes to the <code>Person</code> entity. <ul> <li>name of type <code>datatype::String</code></li> <li>birthDate of type <code>datatype::Date</code></li> </ul> Please note that also for this entity an identifier will be added by default. - If you explicitely want to add an identifier you should add the <![CDATA[<<Identifier>>]]> - stereotype to an attribute. Refer to <a href="howto1.html">Entities</a> for more information. + If you explicitely want to add an identifier you should model the <![CDATA[<<Identifier>>]]> + stereotype on an attribute. Refer to <a href="howto1.html">Entities</a> for more information. </p> <p> <ul> @@ -53,15 +53,24 @@ </p> <p> <ul> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/a/CarEmbeddable.java.txt"><code>CarEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto2/a/Car.java.txt"><code>Car.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/a/PersonEmbeddable.java.txt"><code>PersonEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto2/a/Person.java.txt"><code>Person.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/a/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto2/a/Car.java"><code>Car.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/a/CarDao.java"><code>CarDao.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/a/CarDaoBase.java"><code>CarDaoBase.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto2/a/CarDaoImpl.java"><code>CarDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/a/CarDaoException.java"><code>CarDaoException.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/a/Person.java"><code>Person.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/a/PersonDao.java"><code>PersonDao.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/a/PersonDaoBase.java"><code>PersonDaoBase.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/a/PersonDaoImpl.java"><code>PersonDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/a/PersonDaoException.java"><code>PersonDaoException.java</code></a></li> </ul> </p> <p> - As you can see the relationships have been generated in the embeddable superclasses. Since both - ends of the association are navigable, we have a bi-directional relationship. + The relationship mapping metadata (annotations) have been generated in the root class of + the entity hierarchy. The metadata for the <code>Car</code> entity is within the mapped superclass. + The metadata for the <code>Person</code> entity exists in the auto generated <code>Person</code> + class. Since both ends of the association are navigable, we have a bi-directional relationship. <ul> <li> <p>Person.getCars() : Collection</p> @@ -78,7 +87,8 @@ <p> A Many-To-One relationship has been defined from the Car entity to the Person entity. This adds the <code>@javax.persistence.ManyToOne</code> - annotation to the getter method of the Car entity. Since the multiplicity on the + annotation to the getter method <code>getOwner</code> in the Car entity. + Since the multiplicity on the Person end of the association is set to 1, the annotation has defined the <code>optional</code> property to <code>false</code> which indicates non-null entries cannot exists in this foreign key column in the relational database table. @@ -136,10 +146,17 @@ </p> <p> <ul> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/b/CarEmbeddable.java.txt"><code>CarEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto2/b/Car.java.txt"><code>Car.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/b/PersonEmbeddable.java.txt"><code>PersonEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto2/b/Person.java.txt"><code>Person.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/b/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto2/b/Car.java"><code>Car.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/b/CarDao.java"><code>CarDao.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/b/CarDaoBase.java"><code>CarDaoBase.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto2/b/CarDaoImpl.java"><code>CarDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/b/CarDaoException.java"><code>CarDaoException.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/b/Person.java"><code>Person.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/b/PersonDao.java"><code>PersonDao.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/b/PersonDaoBase.java"><code>PersonDaoBase.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/b/PersonDaoImpl.java"><code>PersonDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/b/PersonDaoException.java"><code>PersonDaoException.java</code></a></li> </ul> </p> </subsection> @@ -171,10 +188,17 @@ </p> <p> <ul> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/c/CarEmbeddable.java.txt"><code>CarEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto2/c/Car.java.txt"><code>Car.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/c/PersonEmbeddable.java.txt"><code>PersonEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto2/c/Person.java.txt"><code>Person.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/c/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto2/c/Car.java"><code>Car.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/c/CarDao.java"><code>CarDao.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/c/CarDaoBase.java"><code>CarDaoBase.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto2/c/CarDaoImpl.java"><code>CarDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/c/CarDaoException.java"><code>CarDaoException.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/c/Person.java"><code>Person.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/c/PersonDao.java"><code>PersonDao.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/c/PersonDaoBase.java"><code>PersonDaoBase.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/c/PersonDaoImpl.java"><code>PersonDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/c/PersonDaoException.java"><code>PersonDaoException.java</code></a></li> </ul> </p> </subsection> @@ -212,10 +236,17 @@ </p> <p> <ul> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/d/CarEmbeddable.java.txt"><code>CarEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto2/d/Car.java.txt"><code>Car.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/d/PersonEmbeddable.java.txt"><code>PersonEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto2/d/Person.java.txt"><code>Person.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/d/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto2/d/Car.java"><code>Car.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/d/CarDao.java"><code>CarDao.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/d/CarDaoBase.java"><code>CarDaoBase.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto2/d/CarDaoImpl.java"><code>CarDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/d/CarDaoException.java"><code>CarDaoException.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/d/Person.java"><code>Person.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/d/PersonDao.java"><code>PersonDao.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/d/PersonDaoBase.java"><code>PersonDaoBase.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/d/PersonDaoImpl.java"><code>PersonDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/d/PersonDaoException.java"><code>PersonDaoException.java</code></a></li> </ul> </p> </subsection> @@ -267,10 +298,17 @@ </p> <p> <ul> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/e/CarEmbeddable.java.txt"><code>CarEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto2/e/Car.java.txt"><code>Car.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/e/PersonEmbeddable.java.txt"><code>PersonEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto2/e/Person.java.txt"><code>Person.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/e/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto2/e/Car.java"><code>Car.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/e/CarDao.java"><code>CarDao.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/e/CarDaoBase.java"><code>CarDaoBase.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto2/e/CarDaoImpl.java"><code>CarDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/e/CarDaoException.java"><code>CarDaoException.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/e/Person.java"><code>Person.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/e/PersonDao.java"><code>PersonDao.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/e/PersonDaoBase.java"><code>PersonDaoBase.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/e/PersonDaoImpl.java"><code>PersonDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/e/PersonDaoException.java"><code>PersonDaoException.java</code></a></li> </ul> </p> </subsection> 1.4 +46 -27 cartridges/andromda-ejb3/src/site/xdoc/howto8.xml Index: howto8.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/xdoc/howto8.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -w -r1.3 -r1.4 --- howto8.xml 19 Mar 2006 09:10:55 -0000 1.3 +++ howto8.xml 13 May 2006 02:43:20 -0000 1.4 @@ -35,8 +35,8 @@ ]]></source> </p> <p> - Once you have done that, the cartridge will create the <code>login-config</code> and - and <code>login-service</code> deployment descriptors for JBoss. + Once you have done that, the cartridge will create the <code>login-config.xml</code> and + and <code>login-service.xml</code> deployment descriptors for JBoss. Both files are generated to the ear <code>META-INF</code> directory. The <code>login-config.xml</code> will look like: <source language="xml"><![CDATA[ @@ -73,7 +73,7 @@ </p> <p> These 2 files are generated the first time the security realm is enabled. They will not be - overridden. For example, you can modify these file to prevent the queries checking for + overridden. For example, you can modify these files to prevent the queries checking for case sensitivity by removing the <b>BINARY</b> in the <i>where</i> clauses. </p> <p> @@ -91,7 +91,7 @@ </p> <p> The cartridge will also create an <code>auth.conf</code> file in <i>./app/src/main/config</i>. - You will need this file if you are outside of the server JVM to be able to authenticate + You will need this file if your client is outside of the server JVM to be able to authenticate your credentials. This file needs to be in your classpath when you run your external client. <source><![CDATA[ @@ -161,25 +161,31 @@ </p> <p> <ul> - <li class="gen"><a href="src/org/andromda/test/howto8/b/CarEmbeddable.java.txt"><code>CarEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto8/b/Car.java.txt"><code>Car.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto8/b/CarType.java.txt"><code>CarType.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto8/b/PersonEmbeddable.java.txt"><code>PersonEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto8/b/Person.java.txt"><code>Person.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto8/b/ServiceLocator.java.txt"><code>ServiceLocator.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto8/b/RentalServiceBean.java.txt"><code>RentalServiceBean.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto8/b/RentalServiceRemote.java.txt"><code>RentalServiceRemote.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto8/b/RentalServiceDelegate.java.txt"><code>RentalServiceDelegate.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto8/b/RentalServiceBeanImpl.java.txt"><code>RentalServiceBeanImpl.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto8/b/RentalServiceException.java.txt"><code>RentalServiceException.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto8/b/RentalException.java.txt"><code>RentalException.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto8/b/ejb-jar.xml.txt"><code>ejb-jar.xml</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto8/b/jboss.xml.txt"><code>jboss.xml</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto8/b/persistence.xml.txt"><code>persistence.xml</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto8/b/auth.conf.txt"><code>auth.conf</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto8/b/jboss-app.xml.txt"><code>jboss-app.xml</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto8/b/howtomodel-login-config.xml.txt"><code>howtomodel-login-config.xml</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto8/b/howtomodel-login-service.xml.txt"><code>howtomodel-login-service.xml</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto8/b/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto8/b/Car.java"><code>Car.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto8/b/CarType.java"><code>CarType.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto8/b/CarDao.java"><code>CarDao.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto8/b/CarDaoBase.java"><code>CarDaoBase.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto8/b/CarDaoImpl.java"><code>CarDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto8/b/CarDaoException.java"><code>CarDaoException.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto8/b/Person.java"><code>Person.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto8/b/PersonDao.java"><code>PersonDao.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto8/b/PersonDaoBase.java"><code>PersonDaoBase.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto8/b/PersonDaoImpl.java"><code>PersonDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto8/b/PersonDaoException.java"><code>PersonDaoException.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto8/b/RentalServiceBean.java"><code>RentalServiceBean.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto8/b/RentalServiceRemote.java"><code>RentalServiceRemote.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto8/b/RentalServiceDelegate.java"><code>RentalServiceDelegate.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto8/b/RentalServiceBase.java"><code>RentalServiceBase.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto8/b/RentalServiceException.java"><code>RentalServiceException.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto8/b/RentalException.java"><code>RentalException.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto8/b/ejb-jar.xml"><code>ejb-jar.xml</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto8/b/jboss.xml"><code>jboss.xml</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto8/b/persistence.xml"><code>persistence.xml</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto8/b/auth.conf"><code>auth.conf</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto8/b/jboss-app.xml"><code>jboss-app.xml</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto8/b/howtomodel-login-config.xml"><code>howtomodel-login-config.xml</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto8/b/howtomodel-login-service.xml"><code>ho... [truncated message content] |
From: Vance K. <va...@us...> - 2006-05-13 02:39:39
|
User: vancek Date: 06/05/12 19:39:38 Modified: andromda-ejb3/src/site/xdoc index.xml Log: added recommendations Revision Changes Path 1.2 +14 -5 cartridges/andromda-ejb3/src/site/xdoc/index.xml Index: index.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/xdoc/index.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- index.xml 6 Feb 2006 04:16:31 -0000 1.1 +++ index.xml 13 May 2006 02:39:38 -0000 1.2 @@ -7,13 +7,22 @@ <body> <section name="AndroMDA EJB Cartridge"> <p> - The purpose of this cartridge is to generate an CMP Entity EJB persistence tier, fronted by - Session EJB business object facades. To learn how to use this cartridge, please see - the <a href="profile.html">Profile</a> and <a href="namespace.html">Namespace</a> sections. + The purpose of this cartridge is to generate EJB 3.0 compliant persistence tier, fronted by + Session EJB business object facades. To learn how to use this cartridge you can follow the, + howtos similart to a tutorial. You do not need to navigate the howtos sequentially. </p> <p> - If you're using MagicDraw as your modeling tool, it is recommended to use the andromda-profile.zip to - get an idea about Stereotypes or tagged values to use. + Please see the <a href="profile.html">Profile</a> and <a href="namespace.html">Namespace</a> + sections to discover how to fine-tune and configure this cartridge. + </p> + <p> + It is recommended to use the AndroMDA Application Generator to create your template project. + This will create a template Maven 2 project for you. The generator now has the ability to + create EJB 3.0 projects. + </p> + <p> + If you encounter any problems or require further help, visit the <b>EJB Cartridge</b> AndroMDA + <a href="http://forum.andromda.org">forums</a>. </p> </section> </body> |
From: Vance K. <va...@us...> - 2006-05-13 02:38:38
|
User: vancek Date: 06/05/12 19:38:37 Modified: andromda-ejb3/src/site/xdoc howto.xml Log: minor fixes Revision Changes Path 1.15 +6 -4 cartridges/andromda-ejb3/src/site/xdoc/howto.xml Index: howto.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/xdoc/howto.xml,v retrieving revision 1.14 retrieving revision 1.15 diff -u -w -r1.14 -r1.15 --- howto.xml 5 May 2006 05:33:12 -0000 1.14 +++ howto.xml 13 May 2006 02:38:37 -0000 1.15 @@ -18,8 +18,10 @@ </p> <p> The AndroMDA EJB3 cartridge focuses on the persistence and business tier only. The - presentation tier can be handled in AndroMDA as well, but for that we recommend using the - <a href="../andromda-bpm4struts-cartridge/index.html">Bpm4Struts</a> cartridge. + presentation tier can be handled in AndroMDA as well, but for that we recommend using either the + <a href="http://team.andromda.org/docs/andromda-bpm4struts-cartridge/index.html">Bpm4Struts</a> + or the <a href="http://team.andromda.org/docs/andromda-jsf-cartridge/index.html">JSF</a> + cartridge. </p> <p> In this how-to we will cover the following topics: @@ -104,12 +106,12 @@ <li> <a href="howto9.html">Inheritance</a> <ul> + <li><a href="howto9.html#Non_Inheriting_Entities">Non Inheriting Entities</a></li> <li><a href="howto9.html#Mapped_Superclasses">Mapped Superclass</a></li> <li><a href="howto9.html#Single_Table_Strategy">Single Table Strategy</a></li> <li><a href="howto9.html#Discriminator_Components">Discriminator Components</a></li> <li><a href="howto9.html#Table_Per_Class_Strategy">Table Per Class Strategy</a></li> <li><a href="howto9.html#Table_Join_Strategy">Table Join Strategy</a></li> - <li><a href="howto9.html#Generic_Finder_Methods">Generic Finder Methods</a></li> <li><a href="howto9.html#Helpful_Hints">Helpful Hints</a></li> </ul> </li> @@ -196,7 +198,7 @@ </p> <p> You can download the UML model containing all models for all sections - <a href="resources/HowToModel.xml.zip">here</a>. + <a href="HowToModel.xml.zip">here</a>. </p> <p> In order to start the tutorial click <a href="howto1.html">here</a>. |
From: Vance K. <va...@us...> - 2006-05-13 02:37:30
|
User: vancek Date: 06/05/12 19:37:28 Modified: andromda-ejb3/src/site site.xml Log: added andromda banner. added std reports. Revision Changes Path 1.12 +6 -2 cartridges/andromda-ejb3/src/site/site.xml Index: site.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/site.xml,v retrieving revision 1.11 retrieving revision 1.12 diff -u -w -r1.11 -r1.12 --- site.xml 5 May 2006 05:33:41 -0000 1.11 +++ site.xml 13 May 2006 02:37:28 -0000 1.12 @@ -1,10 +1,12 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <project name="EJB3 Cartridge Plugin"> <title>EJB3 Cartridge</title> - <banner> + <bannerLeft> <name>AndroMDA</name> <href>http://team.andromda.org/</href> - </banner> + <src>images/banner.jpg</src> + </bannerLeft> + <publishDate format="dd MMM yyyy hh:mm"/> <body> <links> <item name="EJB3" href="index.html"/> @@ -39,5 +41,7 @@ <item name="Embeddable Value Objects" href="howto20.html"/> <item name="Tips & Tricks" href="tips.html"/> </menu> + + ${reports} </body> </project> |
From: Vance K. <va...@us...> - 2006-05-05 07:41:11
|
User: vancek Date: 06/05/05 00:41:07 Added: andromda-ejb3/src/site/xdoc tips.xml Log: initial revision Revision Changes Path 1.1 cartridges/andromda-ejb3/src/site/xdoc/tips.xml Index: tips.xml =================================================================== <?xml version="1.0" encoding="iso-8859-1"?> <document> <properties> <author email="wo...@an...">Wouter Zoons</author> <title>AndroMDA - EJB3 - Tips</title> </properties> <body> <section name="Tips for using the AndroMDA EJB3 cartridge"> <p> This section provides you with some pointers that might prove helpful when using AndroMDA with the EJB3 cartridge. Some of these tips are shared with the Spring cartridge. </p> </section> <section name="Exceptions"> <p> It's not needed to model exceptions for all the services you model, the EJB3 cartridge will generate them automatically for you. That way you don't need to keep writing <code>try/catch</code> blocks in the <code>handleXXX</code> methods in the service implementation classes, just throw any error, it will be handled for you. </p> <p> So basically this snippet is a good example of an implementation of a service operation, there is no need to catch any exception and rethrow it: <source language="java"><![CDATA[ protected PersonDetails handleGet(Long id) throws Exception { return (PersonDetails)getPersonDao().load(PersonDao.TRANSFORM_PERSONDETAILS, id); } ]]></source> </p> </section> <section name="Using foreign services"> <p> You can connect to "foreign" EJB3 services, which are not implemented in your application but in another one (e.g. a other ear), as with "normal" services: just draw a dependency to the "foreign" service class. The foreign service class has to be defined as any other service but without any method or property. </p> <p> To prevent the EJB3 cartridge from generating java code you have to exclude the packages with a process="false" statement in the andromda configuration just in your appropriate <code><model></code> tag: <source language="xml"><![CDATA[ <modelPackages> <modelPackage process="false">de::my::foreign.package::name</modelPackage> </modelPackages> ]]></source> (look at http://team.andromda.org/docs/configuration.html#modelPackage) The EJB3 cartridge should generate the <code>@EJB</code> injections from the dependency for the source class. </p> </section> </body> </document> |
From: Vance K. <va...@us...> - 2006-05-05 07:33:09
|
User: vancek Date: 06/05/05 00:33:02 Added: andromda-ejb3/src/site/resources/images/org/andromda/test/6/a uml.gif andromda-ejb3/src/site/xdoc howto6.xml Log: initial revision Revision Changes Path 1.1 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/6/a/uml.gif <<Binary file>> 1.1 cartridges/andromda-ejb3/src/site/xdoc/howto6.xml Index: howto6.xml =================================================================== <?xml version="1.0" encoding="iso-8859-1"?> <document> <properties> <author email="va...@an...">Vance Karimi</author> <title>AndroMDA - HowTo - Queries</title> </properties> <body> <section name="Queries"> <p> All enterprise applications need to perform operations on the underlying datasource, and EJB3 supports this with <b>EJB Query Language</b> or <b>native query</b> support. </p> <p> Most of what you are going to read here is very similar to the Hibernate cartridge support for queries. There are a few differences which will be further discussed. </p> <p> UML allows you to specify queries, be it in a more generic language. For this purpose OCL can be used, which supports <code>body</code> constructs since OCL 2.0. Although you can choose to override any generated query using a tagged value specifying your custom query, it is strongly recommended to use OCL since this will guarantee your code to remain portable over different technologies. If you don't want to get to know OCL and have no problem sticking to EJBQL then you might consider using tagged values instead. </p> <p> Finder methods require the <code>query flag</code> to be set, usually operations with this flag have the <code>commercial at</code> symbol '@' in front of their name when displayed in diagrams. Make sure you model the operation in <em>classifier scope</em>, in diagrams this will show them as underlined and check the <code>Query</code> checkbox for the operation to indicate this is a finder method. By enabling this checkbox, the '@' symbol will appear in front of the operation in your model. </p> <p> Remember that classifier scoped operations go into the DAO while instance scoped operations go into the entity's implementation class (they are considered to be business operations). </p> <p> The documentation discussing the modeling of queries in UML is found here: <a href="../andromda-ocl-query-library/modeling.html">Query Translation-Library Modeling</a>. The tagged value overriding queries using EJB QL directly is found here: <a href="../profile.html#@andromda_ejb_query">@andromda.ejb.query</a>. </p> <p> <img src="images/org/andromda/test/6/a/uml.gif"/> </p> <p> <ul> <li class="gen">Auto-generated source that does not need manual editing</li> <li class="impl">Auto-generated source that should be edited manually</li> <li class="changed">File that is affected by the modifications applied in this section</li> </ul> </p> <p> <ul> <li class="gen"><a class="changed" href="src/org/andromda/test/howto6/a/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> <li class="impl"><a href="src/org/andromda/test/howto6/a/Car.java"><code>Car.java</code></a></li> <li class="gen"><a href="src/org/andromda/test/howto6/a/CarType.java"><code>CarType.java</code></a></li> <li class="gen"><a href="src/org/andromda/test/howto6/a/CarDetails.java"><code>CarDetails.java</code></a></li> <li class="gen"><a href="src/org/andromda/test/howto6/a/CarListItem.java"><code>CarListItem.java</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto6/a/CarDao.java"><code>CarDao.java</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto6/a/CarDaoBase.java"><code>CarDaoBase.java</code></a></li> <li class="impl"><a href="src/org/andromda/test/howto6/a/CarDaoImpl.java"><code>CarDaoImpl.java</code></a></li> <li class="gen"><a href="src/org/andromda/test/howto6/a/CarDaoException.java"><code>CarDaoException.java</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto6/a/PersonEmbeddable.java"><code>PersonEmbeddable.java</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto6/a/Person.java"><code>Person.java</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto6/a/PersonDao.java"><code>PersonDao.java</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto6/a/PersonDaoBase.java"><code>PersonDaoBase.java</code></a></li> <li class="impl"><a href="src/org/andromda/test/howto6/a/PersonDaoImpl.java"><code>PersonDaoImpl.java</code></a></li> <li class="gen"><a href="src/org/andromda/test/howto6/a/PersonDaoException.java"><code>PersonDaoException.java</code></a></li> <li class="impl"><a href="src/org/andromda/test/howto6/a/RentalServiceBean.java"><code>RentalServiceBean.java</code></a></li> <li class="gen"><a href="src/org/andromda/test/howto6/a/RentalServiceRemote.java"><code>RentalServiceRemote.java</code></a></li> <li class="gen"><a href="src/org/andromda/test/howto6/a/RentalServiceDelegate.java"><code>RentalServiceDelegate.java</code></a></li> <li class="gen"><a href="src/org/andromda/test/howto6/a/RentalServiceBase.java"><code>RentalServiceBase.java</code></a></li> <li class="gen"><a href="src/org/andromda/test/howto6/a/RentalServiceException.java"><code>RentalServiceException.java</code></a></li> </ul> </p> <p> If you look at the <code>Car</code> and <code>Person</code> Java entities, you will notice that a set of <code>@NamedQuery</code> annotations define the named queries for each entity. By default the <code>entityGenericFinders</code> namespace property is enabled, therefore a <code>findAll</code> named query will always exist for every entity. Other named queries are either defined using AndroMDA's default creation or OCL. </p> <p> It is important to note that until the ORM xml descriptor is available, named queries are defined in the class with the <code>@Entity</code> annotation. This has a drawback for entities with instance scoped operations where a mapped superclass contains most of the persistence mapping annotations, but the implementation class contains the <code>@Entity</code> and named query(ies) annotations. In this example, the <code>Car</code> entity is an example of this case. Because the <code>isRented()</code> operation is an instance scoped method, the named queries are defined in the <code>Car.java</code> implementation which extends the <code>CarEmbeddable.java</code> class. As a result, adding new finder methods to the <code>Car</code> entity will not generate these named query definitions since the implementation class is not overriden. This is not the case for the <code>Person</code> entity since it is always regenerated. </p> <p> The DAO base classes provide the ability to use the named queries declared in the entities or by specifying the query manually. By default, unless you manually specify the query string, the DAO finder methods will use named queries, so keep this in mind when performing dynamic queries. The <code>loadAll</code> DAO operation also used the generic finder method named query defintion. </p> <p> Currently, named queries are defined in two ways. Either you let AndroMDA auto create your basic EJB QL for you, or use OCL to configure your query. Named queries will NOT be defined if you use the <ocde>@andromda.ejb.query</ocde> tagged value. It would be suggested that a new tagged value i.e <code>@andromda.ejb.query.named</code> be added to manually set the named query, but OCL is still the preferred solution. </p> </section> <section name="Nice to know"> <subsection name="A few supported query features"> <p> </p> </subsection> <subsection name="Overriding queries"> <p> It's allowed to override queries such as finders in the DAO, just override the appropriate method in an entity's DAO implementation class. What follows is an example of a code snippet overriding a generated EJBQL query (example taken from a ficticous <code>UserDAOImpl</code> class): <source language="java"><![CDATA[ public List findActiveUsers(int transform) { // the next query is user-specified and overrides the one generated in super.findActiveUsers(int transform) return super.findActiveUsers(transform, "from Users as user where user.exitDate is null"); } ]]></source> </p> <p> You might consider doing this when you think the generated query is not performant enough, or when you need to do something which is so complex the OCL translation can't properly handle it. </p> </subsection> </section> <section name="Next"> <p> The next section will cover the modeling of exceptions, click <a href="howto7.html">here</a> to go to that section. </p> </section> </body> </document> |
From: Vance K. <va...@us...> - 2006-05-05 07:32:53
|
User: vancek Date: 06/05/05 00:32:52 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/6 - New directory |
From: Vance K. <va...@us...> - 2006-05-05 07:32:53
|
User: vancek Date: 06/05/05 00:32:52 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/6/a - New directory |
From: Vance K. <va...@us...> - 2006-05-05 05:34:43
|
User: vancek Date: 06/05/04 22:34:42 Modified: andromda-ejb3/src/site/resources/images/org/andromda/test/8/b uml.gif Log: added actor dependency to entities for DAO security Revision Changes Path 1.2 +136 -135 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/8/b/uml.gif <<Binary file>> |
From: Vance K. <va...@us...> - 2006-05-05 05:34:21
|
User: vancek Date: 06/05/04 22:34:12 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/20 - New directory |
From: Vance K. <va...@us...> - 2006-05-05 05:34:17
|
User: vancek Date: 06/05/04 22:34:18 Added: andromda-ejb3/src/site/resources/images/org/andromda/test/20/a uml.gif andromda-ejb3/src/site/resources/images/org/andromda/test/19/a uml.gif Log: initial revision Revision Changes Path 1.1 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/20/a/uml.gif <<Binary file>> 1.1 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/19/a/uml.gif <<Binary file>> |