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-07-25 06:42:54
|
User: vancek Date: 06/07/24 23:42:52 Modified: andromda-ejb3/src/main/resources/templates/ejb3 SessionBeanBase.vsl Globals.vm EntityEmbeddable.vsl andromda-ejb3/src/main/resources/META-INF/andromda namespace.xml metafacades.xml cartridge.xml andromda-ejb3/src/site/xdoc howto17.xml howto21.xml andromda-ejb3/src/changes changes.xml Log: add persistenceProviderExtensions namespace property to decouple hibernate specific annotations Revision Changes Path 1.8 +6 -2 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/SessionBeanBase.vsl Index: SessionBeanBase.vsl =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/resources/templates/ejb3/SessionBeanBase.vsl,v retrieving revision 1.7 retrieving revision 1.8 diff -u -w -r1.7 -r1.8 --- SessionBeanBase.vsl 15 Jul 2006 05:10:28 -0000 1.7 +++ SessionBeanBase.vsl 25 Jul 2006 06:42:51 -0000 1.8 @@ -1,3 +1,4 @@ +#parse("templates/ejb3/Globals.vm") // license-header java merge-point // // Attention: Generated code! Do not modify by hand! @@ -36,7 +37,7 @@ @javax.ejb.TransactionAttribute(javax.ejb.TransactionAttributeType.${service.transactionType}) #**##end #end -#if ($stringUtils.isNotBlank($service.securityRealm)) +#if ($service.securityEnabled) #**##if ($service.persistenceContainerJboss) @org.jboss.annotation.security.SecurityDomain("${service.securityRealm}") #**##end @@ -192,7 +193,10 @@ /** * The $attribute.name property */ -#* *##if ($service.seamComponent) +#* *##if ($hibernateExtensionEnabled && $service.seamComponent) +## +## Only enable JBoss Seam components if Hibernate extensions are enabled +## #* *##if ($attribute.seamComponentIn) @org.jboss.seam.annotations.In#if (!$attribute.required)(required = false)#else#**#(create = true)#end 1.3 +2 -1 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/Globals.vm Index: Globals.vm =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/resources/templates/ejb3/Globals.vm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -w -r1.2 -r1.3 --- Globals.vm 28 Jan 2006 02:44:57 -0000 1.2 +++ Globals.vm 25 Jul 2006 06:42:51 -0000 1.3 @@ -1,2 +1,3 @@ #set ($requiredCheckEnabled = $parameterRequiredCheck.equalsIgnoreCase('true')) #set ($ejbSecurityEnabled = $stringUtils.isNotBlank($securityRealm)) \ No newline at end of file +#set ($hibernateExtensionEnabled = $stringUtils.equalsIgnoreCase('hibernate')) \ No newline at end of file 1.39 +28 -9 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/EntityEmbeddable.vsl Index: EntityEmbeddable.vsl =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/resources/templates/ejb3/EntityEmbeddable.vsl,v retrieving revision 1.38 retrieving revision 1.39 diff -u -w -r1.38 -r1.39 --- EntityEmbeddable.vsl 24 Jul 2006 14:02:02 -0000 1.38 +++ EntityEmbeddable.vsl 25 Jul 2006 06:42:51 -0000 1.39 @@ -1,3 +1,4 @@ +#parse("templates/ejb3/Globals.vm") // license-header java merge-point // // Attention: Generated code! Do not modify by hand! @@ -82,7 +83,7 @@ ## @javax.persistence.DiscriminatorValue("${entity.discriminatorValue}") #**##end -#**##if ($entity.cacheEnabled) +#**##if ($hibernateExtensionEnabled && $entity.cacheEnabled) @org.hibernate.annotations.Cache(usage = org.hibernate.annotations.CacheConcurrencyStrategy.${entity.cacheType}) #**##end ## @@ -476,9 +477,9 @@ #* *##if ($stringUtils.isNotBlank($attribute.enumerationType)) @javax.persistence.Enumerated(javax.persistence.EnumType.${attribute.enumerationType}) #* *##end -#* *##if ($entity.seamComponent) +#* *##if ($hibernateExtensionEnabled && $entity.seamComponent) ## -## If JBoss Seam is enabled, add NotNull and Length annotations +## If JBoss Seam and Hibernate extensions are both enabled, add NotNull and Length annotations ## #* *##if (!$attribute.columnNullable) @org.hibernate.validator.NotNull @@ -603,16 +604,25 @@ #* *##else @javax.persistence.OrderBy #* *##end -#* *##else +#* *##elseif ($hibernateExtensionEnabled) #* *##if ($target.list) +## +## Only add the IndexColumn annotation if Hibernate extensions are enabled +## @org.hibernate.annotations.IndexColumn(name = "${target.collectionIndexName}") #* *##end #* *##end #* *##end -#* *##if ($target.associationCacheEnabled) +#* *##if ($hibernateExtensionEnabled && $target.associationCacheEnabled) +## +## Add Cache annotations if association cache and Hibernate extensions are both enabled +## @org.hibernate.annotations.Cache(usage = org.hibernate.annotations.CacheConcurrencyStrategy.${target.cacheType}) #* *##end -#* *##if ($target.collectionInterfaceSortedSet) +#* *##if ($hibernateExtensionEnabled && $target.collectionInterfaceSortedSet) +## +## Only add the Sort annotation if interface is SortedSet and Hibernate extentions are enabled +## @org.hibernate.annotations.Sort(type = org.hibernate.annotations.SortType.NATURAL) #* *##end #* *##end @@ -730,16 +740,25 @@ #* *##else @javax.persistence.OrderBy #* *##end -#* *##else +#* *##elseif ($hibernateExtensionEnabled) +## +## Only add the IndexColumn annotation if Hibernate extensions are enabled +## #* *##if ($target.list) @org.hibernate.annotations.IndexColumn(name = "${target.collectionIndexName}") #* *##end #* *##end #* *##end -#* *##if ($target.associationCacheEnabled) +#* *##if ($hibernateExtensionEnabled && $target.associationCacheEnabled) +## +## Only add the Cache annotation if assocation cache and Hibernate extensions are both enabled +## @org.hibernate.annotations.Cache(usage = org.hibernate.annotations.CacheConcurrencyStrategy.${target.cacheType}) #* *##end -#* *##if ($target.collectionInterfaceSortedSet) +#* *##if ($hibernateExtensionEnabled && $target.collectionInterfaceSortedSet) +## +## Only add Sort annotation if collection interface is SortedSet and Hibernate extensions are enabled +## @org.hibernate.annotations.Sort(type = org.hibernate.annotations.SortType.NATURAL) #* *##end #* *##end 1.30 +20 -0 cartridges/andromda-ejb3/src/main/resources/META-INF/andromda/namespace.xml Index: namespace.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/resources/META-INF/andromda/namespace.xml,v retrieving revision 1.29 retrieving revision 1.30 diff -u -w -r1.29 -r1.30 --- namespace.xml 24 Jul 2006 06:20:49 -0000 1.29 +++ namespace.xml 25 Jul 2006 06:42:51 -0000 1.30 @@ -973,6 +973,26 @@ </property> </propertyGroup> <propertyGroup name="Other Properties"> + <property name="persistenceProviderExtensions"> + <default>none</default> + <documentation> + Determines whether the default persistence provider + extensions such as annotations should also be rendered. + By default, this is disabled. + To enable caching: + this must be set to <b>hibernate</b> such that + the Hibernate caching annotations are rendered. + To enable JBoss Seam: + this must be set to <b>hibernate</b> such that + the hibernate validator annotations are + rendered. + Possible values are: + <ul> + <li>none</li> + <li>hibernate</li> + </ul> + </documentation> + </property> <property name="persistenceContainerName"> <default>jboss</default> <documentation> 1.26 +1 -0 cartridges/andromda-ejb3/src/main/resources/META-INF/andromda/metafacades.xml Index: metafacades.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/resources/META-INF/andromda/metafacades.xml,v retrieving revision 1.25 retrieving revision 1.26 diff -u -w -r1.25 -r1.26 --- metafacades.xml 10 Jul 2006 05:29:36 -0000 1.25 +++ metafacades.xml 25 Jul 2006 06:42:51 -0000 1.26 @@ -38,6 +38,7 @@ <property reference="entityDefaultTemporalType"/> <property reference="serviceViewType"/> <property reference="entityGenericFinders"/> + <property reference="persistenceProviderExtensions"/> <property reference="persistenceContainerName"/> <property reference="persistenceContextUnitName"/> <property reference="securityRealm"/> 1.31 +1 -0 cartridges/andromda-ejb3/src/main/resources/META-INF/andromda/cartridge.xml Index: cartridge.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/resources/META-INF/andromda/cartridge.xml,v retrieving revision 1.30 retrieving revision 1.31 diff -u -w -r1.30 -r1.31 --- cartridge.xml 24 Jul 2006 14:04:57 -0000 1.30 +++ cartridge.xml 25 Jul 2006 06:42:51 -0000 1.31 @@ -34,6 +34,7 @@ <property reference="serviceLocatorName"/> <property reference="manageableServiceLocatorName"/> <property reference="ejb3TypesPackage"/> + <property reference="persistenceProviderExtensions"/> <property reference="persistenceContextUnitName"/> <property reference="persistenceContainerName"/> <property reference="parameterRequiredCheck"/> 1.6 +5 -0 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.5 retrieving revision 1.6 diff -u -w -r1.5 -r1.6 --- howto17.xml 28 Jun 2006 04:54:08 -0000 1.5 +++ howto17.xml 25 Jul 2006 06:42:51 -0000 1.6 @@ -90,6 +90,11 @@ <li class="gen"><p><a class="changed" href="src/org/andromda/test/howto17/a/andromda.xml"><code>andromda.xml</code></a></p></li> </ul> </p> + <p class="highlight"> + Remember: You must set the + <a href="namespace.html#persistenceProviderExtensions">persistenceProviderExtensions</a> + namespace property such that Hibernate cache specific annotations are generated. + </p> <p> The following sections will show you how to enable and configure caching and clustering. </p> 1.2 +6 -2 cartridges/andromda-ejb3/src/site/xdoc/howto21.xml Index: howto21.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/xdoc/howto21.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- howto21.xml 1 Jul 2006 03:07:39 -0000 1.1 +++ howto21.xml 25 Jul 2006 06:42:51 -0000 1.2 @@ -11,8 +11,12 @@ This latest addition is work in progress. </p> <p> - Here is the initial roadmap for JBoss Seam integration from the forum - + Here is the initial roadmap for JBoss Seam integration from the forum. + </p> + <p class="highlight"> + Remember: You must set the + <a href="namespace.html#persistenceProviderExtensions">persistenceProviderExtensions</a> + namespace property such that Hibernate validator specific annotations are generated. </p> <a name="Seam_Roadmap"/> <subsection name="Seam Roadmap"> 1.27 +5 -0 cartridges/andromda-ejb3/src/changes/changes.xml Index: changes.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/changes/changes.xml,v retrieving revision 1.26 retrieving revision 1.27 diff -u -w -r1.26 -r1.27 --- changes.xml 24 Jul 2006 14:04:57 -0000 1.26 +++ changes.xml 25 Jul 2006 06:42:51 -0000 1.27 @@ -271,6 +271,11 @@ Generate JBoss MQ destinations service XML descriptor when hot deployed under JBoss, creates the Queue/Topics. </action> + <action dev="vancek" due-to="KnisterPeter" type="update"> + Added new namespace property persistenceProviderExtensions. Default value is none. Currently, ony + hibernate extensions are supported. If set to hibernate, then hibernate specifc annotations are + rendered in appropriate locations based on the model. + </action> </release> </body> </document> \ No newline at end of file |
From: Vance K. <va...@us...> - 2006-07-24 14:18:08
|
User: vancek Date: 06/07/24 07:18:08 Modified: andromda-ejb3/src/site/xdoc howto.xml howto10.xml Log: add docs for MQ destinations descriptor Revision Changes Path 1.24 +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.23 retrieving revision 1.24 diff -u -w -r1.23 -r1.24 --- howto.xml 10 Jul 2006 07:21:55 -0000 1.23 +++ howto.xml 24 Jul 2006 14:18:08 -0000 1.24 @@ -158,6 +158,8 @@ <li><p><a href="howto10.html#Message_Driven_Context">Message Driven Context</a></p></li> <li><p><a href="howto10.html#Session_Bean_Injection">Session Bean Injection</a></p></li> <li><p><a href="howto10.html#Resource_Injection">Resource Injections</a></p></li> + <li><p><a href="howto10.html#Singleton_MDB">Singleton MDB</a></p></li> + <li><p><a href="howto10.html#MQ_Destinations_Descriptor">MQ Destinations Descriptor</a></p></li> </ul> </p> </li> 1.7 +23 -0 cartridges/andromda-ejb3/src/site/xdoc/howto10.xml Index: howto10.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/xdoc/howto10.xml,v retrieving revision 1.6 retrieving revision 1.7 diff -u -w -r1.6 -r1.7 --- howto10.xml 28 Jun 2006 04:54:08 -0000 1.6 +++ howto10.xml 24 Jul 2006 14:18:08 -0000 1.7 @@ -262,6 +262,29 @@ <code>ejb-jar.xml</code> deployment descriptor. </p> </subsection> + <a name="MQ_Destinations_Descriptor"/> + <subsection name="MQ Destinations Descriptor"> + <p> + The EJB3 cartridge will create the default MQ destinations XML descriptor which can be + hot deployed to the JBoss container for creating your queues or topics. The following + is a very basic example with a single queue mbean definition. +<source language="xml"><![CDATA[ +<?xml version="1.0" encoding="UTF-8"?> +<server> + <mbean code="org.jboss.mq.server.jmx.Queue" + name="jboss.mq.destination:service=Queue,name=EmailSenderMDBBean"> + <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends> + <attribute name="JNDIName">queue/emailSender</attribute> + </mbean> +<!-- jboss mq destinations merge-point --> + +</server> +]]></source> + This file is created in your project/app/target directory and will be named something like + <code>{PROJECT_NAME}-mq-destinations-service.xml</code>. Just deploy this to your JBoss + deploy directory before deploying your application EAR. + </p> + </subsection> </section> <section name="Next"> <p> |
From: Vance K. <va...@us...> - 2006-07-24 14:04:58
|
User: vancek Date: 06/07/24 07:04:57 Modified: andromda-ejb3/src/changes changes.xml andromda-ejb3/src/main/resources/META-INF/andromda cartridge.xml Added: andromda-ejb3/src/main/resources/templates/ejb3/config/jboss mq-destinations-service.xml.vsl Log: generate JBoss MQ destinations service XML descriptor to create queue/topics Revision Changes Path 1.1 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/config/jboss/mq-destinations-service.xml.vsl Index: mq-destinations-service.xml.vsl =================================================================== #set ($generatedFile = "${persistenceContextUnitName}-mq-destinations-service.xml") <?xml version="1.0" encoding="${xmlEncoding}"?> <server> #foreach ($mdb in $mdbs) #**##if ($mdb.destinationTypeQueue) <mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name=${mdb.messageDrivenName}"> <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends> <attribute name="JNDIName">${mdb.destination}</attribute> </mbean> #**##elseif ($mdb.destinationTypeTopic) <mbean code="org.jboss.mq.server.jmx.Topic" name="jboss.mq.destination:service=Topic,name=${mdb.messageDrivenName}"> <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends> <depends optional-attribute-name="SecurityManager">jboss.mq:service=SecurityManager</depends> <attribute name="JNDIName">${mdb.destination}</attribute> <attribute name="SecurityConf"> <security> <role name="guest" read="true" write="true" create="false"/> <role name="durpublisher" read="true" write="true" create="true"/> </security> </attribute> </mbean> #**##end #end <!-- jboss mq destinations merge-point --> </server> 1.26 +4 -0 cartridges/andromda-ejb3/src/changes/changes.xml Index: changes.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/changes/changes.xml,v retrieving revision 1.25 retrieving revision 1.26 diff -u -w -r1.25 -r1.26 --- changes.xml 24 Jul 2006 14:02:02 -0000 1.25 +++ changes.xml 24 Jul 2006 14:04:57 -0000 1.26 @@ -267,6 +267,10 @@ provider. This will be fixed once a namespace property is introduced along the lines of persistenceProvider. </action> + <action dev="vancek" type="add"> + Generate JBoss MQ destinations service XML descriptor when hot deployed under JBoss, creates + the Queue/Topics. + </action> </release> </body> </document> \ No newline at end of file 1.30 +14 -0 cartridges/andromda-ejb3/src/main/resources/META-INF/andromda/cartridge.xml Index: cartridge.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/resources/META-INF/andromda/cartridge.xml,v retrieving revision 1.29 retrieving revision 1.30 diff -u -w -r1.29 -r1.30 --- cartridge.xml 15 Jul 2006 05:09:00 -0000 1.29 +++ cartridge.xml 24 Jul 2006 14:04:57 -0000 1.30 @@ -500,6 +500,20 @@ </modelElements> </template> + <template + path="templates/ejb3/config/jboss/mq-destinations-service.xml.vsl" + outputPattern="$generatedFile" + outlet="application-config" + overwrite="true" + outputToSingleFile="true" + outputOnEmptyElements="false"> + <modelElements> + <modelElement variable="mdbs"> + <type name="org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade"/> + </modelElement> + </modelElements> + </template> + <!-- Message Driven Bean Templates --> <template |
From: Vance K. <va...@us...> - 2006-07-24 14:02:06
|
User: vancek Date: 06/07/24 07:02:02 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3AssociationEndFacadeLogicImpl.java andromda-ejb3/src/changes changes.xml andromda-ejb3/src/main/resources/templates/ejb3 EntityEmbeddable.vsl Log: JIRA EJB-40 fix support for modelling map association ends Revision Changes Path 1.14 +34 -5 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3AssociationEndFacadeLogicImpl.java Index: EJB3AssociationEndFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3AssociationEndFacadeLogicImpl.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -w -r1.13 -r1.14 --- EJB3AssociationEndFacadeLogicImpl.java 24 Jul 2006 07:10:22 -0000 1.13 +++ EJB3AssociationEndFacadeLogicImpl.java 24 Jul 2006 14:02:01 -0000 1.14 @@ -264,7 +264,9 @@ */ if ("true".equals(this.getConfiguredProperty(UMLMetafacadeProperties.ENABLE_TEMPLATING))) { - getterSetterTypeName = getterSetterTypeName + "<" + this.getType().getFullyQualifiedName() + ">"; + getterSetterTypeName = getterSetterTypeName + "<" + + (this.isMap()? this.getCollectionIndexType() + ", ": "") + + this.getType().getFullyQualifiedName() + ">"; } } return getterSetterTypeName; @@ -680,12 +682,39 @@ Object value = this.findTaggedValue(EJB3Profile.TAGGEDVALUE_ASSOCIATION_INDEX_TYPE); if (value == null) { + Object name = this.findTaggedValue(EJB3Profile.TAGGEDVALUE_ASSOCIATION_INDEX); + if(name == null) + { + // Find the identifier + EJB3EntityAttributeFacade identifier = ((EJB3EntityFacade)this.getOtherEnd().getType()).getIdentifer(); + value = identifier.getType().getFullyQualifiedName(); + return value.toString(); + } + else + { + // Find the attribute corresponding to name + Collection attributes = ((EJB3EntityFacade)this.getOtherEnd().getType()).getAttributes(); + Iterator it = attributes.iterator(); + while(it.hasNext()) + { + EJB3EntityAttributeFacade attribute = (EJB3EntityAttributeFacade) it.next(); + if(attribute.getName().equals(name)) + { + value = attribute.getType().getFullyQualifiedName(); + return value.toString(); + } + } + } + + if (value == null) + { value = this.getConfiguredProperty(COLLECTION_INDEX_TYPE); if (StringUtils.isBlank(ObjectUtils.toString(value))) { value = null; } } + } if (value != null) { 1.25 +8 -0 cartridges/andromda-ejb3/src/changes/changes.xml Index: changes.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/changes/changes.xml,v retrieving revision 1.24 retrieving revision 1.25 diff -u -w -r1.24 -r1.25 --- changes.xml 24 Jul 2006 07:10:22 -0000 1.24 +++ changes.xml 24 Jul 2006 14:02:02 -0000 1.25 @@ -259,6 +259,14 @@ composition end. The non-navigable end is assumed to be the owning end of the association. This fix renders the mappedBy property for OneToOne annotations on the inverse side of the association. </action> + <action dev="vancek" due-to="sverker" type="fix"> + JIRA EJB-40 - Fix support for modelling map associations ends. + "The attached patch solves this issue as well as providing an improvement in regards to List associations. + If no OrderBy tagged value is provided, the IndexColumn annotation is used (hibernate extension) to provide + true list association." - The hibernate annotation needs to be switched depending on the persistence + provider. This will be fixed once a namespace property is introduced along the lines of + persistenceProvider. + </action> </release> </body> </document> \ No newline at end of file 1.38 +24 -6 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/EntityEmbeddable.vsl Index: EntityEmbeddable.vsl =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/resources/templates/ejb3/EntityEmbeddable.vsl,v retrieving revision 1.37 retrieving revision 1.38 diff -u -w -r1.37 -r1.38 --- EntityEmbeddable.vsl 1 Jul 2006 10:13:01 -0000 1.37 +++ EntityEmbeddable.vsl 24 Jul 2006 14:02:02 -0000 1.38 @@ -593,12 +593,21 @@ #* *##else #* *##set ($argExists = false) @javax.persistence.OneToMany(#if ($target.cascadeType)cascade = {${target.cascadeType}}#set ($argExists = true)#end#if ($associationEnd.navigable)#if ($argExists) ,#end#**#mappedBy = "${associationEnd.name}"#set ($argExists = true)#end#if ($target.eager)#if ($argExists), #end#**#fetch = javax.persistence.FetchType.EAGER#end) +#* *##if ($target.map) + @javax.persistence.MapKey#if ($target.hasTaggedValue("@andromda.persistence.collection.index"))(name = "${target.collectionIndexName}")#end + +#* *##else #* *##if ($target.hasTaggedValue("@andromda.persistence.orderBy")) #* *##if ($stringUtils.isNotEmpty(${target.orderByClause})) @javax.persistence.OrderBy("${target.orderByClause}") #* *##else @javax.persistence.OrderBy #* *##end +#* *##else +#* *##if ($target.list) + @org.hibernate.annotations.IndexColumn(name = "${target.collectionIndexName}") +#* *##end +#* *##end #* *##end #* *##if ($target.associationCacheEnabled) @org.hibernate.annotations.Cache(usage = org.hibernate.annotations.CacheConcurrencyStrategy.${target.cacheType}) @@ -711,12 +720,21 @@ ) #* *##end #* *##end +#* *##if ($target.map) + @javax.persistence.MapKey#if ($target.hasTaggedValue("@andromda.persistence.collection.index"))(name = "${target.collectionIndexName}")#end + +#* *##else #* *##if ($target.hasTaggedValue("@andromda.persistence.orderBy")) #* *##if ($stringUtils.isNotEmpty(${target.orderByClause})) @javax.persistence.OrderBy("${target.orderByClause}") #* *##else @javax.persistence.OrderBy #* *##end +#* *##else +#* *##if ($target.list) + @org.hibernate.annotations.IndexColumn(name = "${target.collectionIndexName}") +#* *##end +#* *##end #* *##end #* *##if ($target.associationCacheEnabled) @org.hibernate.annotations.Cache(usage = org.hibernate.annotations.CacheConcurrencyStrategy.${target.cacheType}) |
From: Vance K. <va...@us...> - 2006-07-24 07:10:23
|
User: vancek Date: 06/07/24 00:10:22 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3AssociationEndFacadeLogicImpl.java andromda-ejb3/src/changes changes.xml Log: fix mappedBy property for OneToOne annotation where no aggregation/composition modelled - assume non-navigable end is owning end Revision Changes Path 1.13 +4 -0 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3AssociationEndFacadeLogicImpl.java Index: EJB3AssociationEndFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3AssociationEndFacadeLogicImpl.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -w -r1.12 -r1.13 --- EJB3AssociationEndFacadeLogicImpl.java 1 Jul 2006 10:13:00 -0000 1.12 +++ EJB3AssociationEndFacadeLogicImpl.java 24 Jul 2006 07:10:22 -0000 1.13 @@ -383,6 +383,10 @@ { owning = true; } + else if (!this.isNavigable()) + { + owning = true; + } return owning; } 1.24 +5 -0 cartridges/andromda-ejb3/src/changes/changes.xml Index: changes.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/changes/changes.xml,v retrieving revision 1.23 retrieving revision 1.24 diff -u -w -r1.23 -r1.24 --- changes.xml 24 Jul 2006 06:20:50 -0000 1.23 +++ changes.xml 24 Jul 2006 07:10:22 -0000 1.24 @@ -254,6 +254,11 @@ It is invalid to specify an implementation for defaultCollectionInterfac. This must specify an interface. Changed from java.util.TreeSet to java.util.Set. </action> + <action dev="vancek" type="fix"> + Allow the ability to specify unidirectional associations without having to specify an aggregation or + composition end. The non-navigable end is assumed to be the owning end of the association. + This fix renders the mappedBy property for OneToOne annotations on the inverse side of the association. + </action> </release> </body> </document> \ No newline at end of file |
From: Vance K. <va...@us...> - 2006-07-24 06:20:52
|
User: vancek Date: 06/07/23 23:20:50 Modified: andromda-ejb3/src/main/resources/META-INF/andromda namespace.xml andromda-ejb3/src/changes changes.xml Log: set defaultCollectionInterface to java.util.Set (from java.util.TreeSet) Revision Changes Path 1.29 +1 -1 cartridges/andromda-ejb3/src/main/resources/META-INF/andromda/namespace.xml Index: namespace.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/resources/META-INF/andromda/namespace.xml,v retrieving revision 1.28 retrieving revision 1.29 diff -u -w -r1.28 -r1.29 --- namespace.xml 22 Jul 2006 06:30:10 -0000 1.28 +++ namespace.xml 24 Jul 2006 06:20:49 -0000 1.29 @@ -1022,7 +1022,7 @@ </documentation> </property> <property name="defaultCollectionInterface"> - <default>java.util.TreeSet</default> + <default>java.util.Set</default> <documentation> The default collection interface, this is the interface used with association end accessors and mutators if the 1.23 +4 -0 cartridges/andromda-ejb3/src/changes/changes.xml Index: changes.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/changes/changes.xml,v retrieving revision 1.22 retrieving revision 1.23 diff -u -w -r1.22 -r1.23 --- changes.xml 22 Jul 2006 06:30:10 -0000 1.22 +++ changes.xml 24 Jul 2006 06:20:50 -0000 1.23 @@ -250,6 +250,10 @@ java.util.SortedSet. This eliminates the need for the @org.hibernate.annotations.Sort annotation on collection association ends. Aim is to decouple the EJB3 cartridge (with default settings) to Hibernate. </action> + <action dev="vancek" type="fix"> + It is invalid to specify an implementation for defaultCollectionInterfac. This must specify an + interface. Changed from java.util.TreeSet to java.util.Set. + </action> </release> </body> </document> \ No newline at end of file |
From: Vance K. <va...@us...> - 2006-07-22 06:30:12
|
User: vancek Date: 06/07/21 23:30:10 Modified: andromda-ejb3/src/main/resources/META-INF/andromda namespace.xml andromda-ejb3/src/changes changes.xml Log: set defaultCollectionInterface namespace prop to java.util.TreeSet from java.util.SortedSet. Revision Changes Path 1.28 +1 -1 cartridges/andromda-ejb3/src/main/resources/META-INF/andromda/namespace.xml Index: namespace.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/resources/META-INF/andromda/namespace.xml,v retrieving revision 1.27 retrieving revision 1.28 diff -u -w -r1.27 -r1.28 --- namespace.xml 15 Jul 2006 05:08:59 -0000 1.27 +++ namespace.xml 22 Jul 2006 06:30:10 -0000 1.28 @@ -1022,7 +1022,7 @@ </documentation> </property> <property name="defaultCollectionInterface"> - <default>java.util.SortedSet</default> + <default>java.util.TreeSet</default> <documentation> The default collection interface, this is the interface used with association end accessors and mutators if the 1.22 +5 -0 cartridges/andromda-ejb3/src/changes/changes.xml Index: changes.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/changes/changes.xml,v retrieving revision 1.21 retrieving revision 1.22 diff -u -w -r1.21 -r1.22 --- changes.xml 22 Jul 2006 06:24:06 -0000 1.21 +++ changes.xml 22 Jul 2006 06:30:10 -0000 1.22 @@ -245,6 +245,11 @@ <action dev="vancek" due-to="sverker" type="update"> JIRA EJB-39 - Add serialVersionUID to DaoDefaultException. </action> + <action dev="vancek" due-to="KnisterPeter" type="update"> + Changed defaultCollectionInterface namespace property to java.util.TreeSet from + java.util.SortedSet. This eliminates the need for the @org.hibernate.annotations.Sort annotation + on collection association ends. Aim is to decouple the EJB3 cartridge (with default settings) to Hibernate. + </action> </release> </body> </document> \ No newline at end of file |
From: Vance K. <va...@us...> - 2006-07-22 06:24:07
|
User: vancek Date: 06/07/21 23:24:06 Modified: andromda-ejb3/src/changes changes.xml Log: fix JIRA EJB-39 Revision Changes Path 1.21 +3 -0 cartridges/andromda-ejb3/src/changes/changes.xml Index: changes.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/changes/changes.xml,v retrieving revision 1.20 retrieving revision 1.21 diff -u -w -r1.20 -r1.21 --- changes.xml 15 Jul 2006 05:10:28 -0000 1.20 +++ changes.xml 22 Jul 2006 06:24:06 -0000 1.21 @@ -242,6 +242,9 @@ Updated the cartridge.xml to set the outlet for the enumerations template to a new outlet called user-types. This is defined in namespace.xml and must exist in each project andromda.xml. </action> + <action dev="vancek" due-to="sverker" type="update"> + JIRA EJB-39 - Add serialVersionUID to DaoDefaultException. + </action> </release> </body> </document> \ No newline at end of file |
From: Vance K. <va...@us...> - 2006-07-22 06:21:22
|
User: vancek Date: 06/07/21 23:21:20 Modified: andromda-ejb3/src/main/resources/templates/ejb3 DaoDefaultException.vsl Log: fix JIRA EJB-39 add serialVersionUID Revision Changes Path 1.2 +5 -0 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/DaoDefaultException.vsl Index: DaoDefaultException.vsl =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/resources/templates/ejb3/DaoDefaultException.vsl,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- DaoDefaultException.vsl 24 Apr 2006 02:21:43 -0000 1.1 +++ DaoDefaultException.vsl 22 Jul 2006 06:21:20 -0000 1.2 @@ -17,6 +17,11 @@ extends java.lang.Exception { /** + * The serial version UID of this class. Needed for serialization. + */ + private static final long serialVersionUID = ${entity.serialVersionUID}L; + + /** * The default constructor. */ public ${entity.daoDefaultExceptionName}() |
From: Martin W. <ama...@us...> - 2006-07-19 16:15:52
|
User: amartinwest Date: 06/07/19 08:14:32 Modified: . pom.xml Log: Add source/target 1.4 since CC switched to jdk 1.5 Revision Changes Path 1.11 +9 -0 plugins/pom.xml Index: pom.xml =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/pom.xml,v retrieving revision 1.10 retrieving revision 1.11 diff -u -w -r1.10 -r1.11 --- pom.xml 13 Jun 2006 02:14:16 -0000 1.10 +++ pom.xml 19 Jul 2006 15:14:32 -0000 1.11 @@ -167,6 +167,15 @@ </execution> </executions> </plugin> + <!-- AMW Add JDK source/target since switching CC jdk to 1.5 --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <configuration> + <source>1.4</source> + <target>1.4</target> + </configuration> + </plugin> </plugins> </pluginManagement> </build> |
From: Vance K. <va...@us...> - 2006-07-15 05:10:28
|
User: vancek Date: 06/07/14 22:10:28 Modified: andromda-ejb3/src/main/resources/templates/ejb3 SessionBeanBase.vsl SessionBeanImpl.vsl andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3SessionOperationFacadeLogicImpl.java andromda-ejb3/src/changes changes.xml Log: ops with non-public visibility in session beans were rendered with incorrect method signatures in the implementation Revision Changes Path 1.7 +2 -1 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/SessionBeanBase.vsl Index: SessionBeanBase.vsl =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/resources/templates/ejb3/SessionBeanBase.vsl,v retrieving revision 1.6 retrieving revision 1.7 diff -u -w -r1.6 -r1.7 --- SessionBeanBase.vsl 14 Jun 2006 04:55:20 -0000 1.6 +++ SessionBeanBase.vsl 15 Jul 2006 05:10:28 -0000 1.7 @@ -333,8 +333,9 @@ #**##foreach ($operation in $operations) ## ## Check that operation is NOT a lifecycle callback +## and has public visibility ## -#* *##if (!$operation.lifecycleCallback) +#* *##if (!$operation.lifecycleCallback && $operation.visibility == "public") /** $operation.getDocumentation(" * ") */ 1.14 +10 -1 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/SessionBeanImpl.vsl Index: SessionBeanImpl.vsl =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/resources/templates/ejb3/SessionBeanImpl.vsl,v retrieving revision 1.13 retrieving revision 1.14 diff -u -w -r1.13 -r1.14 --- SessionBeanImpl.vsl 14 Jun 2006 04:46:35 -0000 1.13 +++ SessionBeanImpl.vsl 15 Jul 2006 05:10:28 -0000 1.14 @@ -69,10 +69,19 @@ #**##foreach ($operation in $operations) #* *##if (!$operation.lifecycleCallback) /** +#* *##if ($operation.visibility == "public") * @see ${service.fullyQualifiedServiceBaseName}#${operation.getSignature(false)} +#* *##else +$operation.getDocumentation(" * ") +#* *##end */ #* *##set ($abstract = $service.abstract && $operation.abstract) - protected#if ($abstract) abstract#end $operation.returnType.fullyQualifiedName $operation.implementationSignature +#* *##if ($operation.visibility == "public") + protected## no newline +#* *##else + $operation.visibility##no newline +#* *##end +#if ($abstract) abstract#end $operation.returnType.fullyQualifiedName $operation.implementationSignature #* *##if ($abstract) throws java.lang.Exception; #* *##else 1.13 +3 -1 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3SessionOperationFacadeLogicImpl.java Index: EJB3SessionOperationFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3SessionOperationFacadeLogicImpl.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -w -r1.12 -r1.13 --- EJB3SessionOperationFacadeLogicImpl.java 14 Jun 2006 05:04:03 -0000 1.12 +++ EJB3SessionOperationFacadeLogicImpl.java 15 Jul 2006 05:10:28 -0000 1.13 @@ -394,7 +394,9 @@ */ protected String handleGetImplementationSignature() { - return this.getImplementationOperationName(StringUtils.capitalize(this.getSignature())); + return (this.getVisibility().equalsIgnoreCase("public") ? + this.getImplementationOperationName(StringUtils.capitalize(this.getSignature())) : + this.getSignature()); } /** 1.20 +9 -0 cartridges/andromda-ejb3/src/changes/changes.xml Index: changes.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/changes/changes.xml,v retrieving revision 1.19 retrieving revision 1.20 diff -u -w -r1.19 -r1.20 --- changes.xml 10 Jul 2006 05:39:26 -0000 1.19 +++ changes.xml 15 Jul 2006 05:10:28 -0000 1.20 @@ -233,6 +233,15 @@ by actors with dependencies on the manageable entity. A corresponding getManageableRolesAllowed is available through EJB3ManageableEntityFacade to retrieve the formatted comma separated list of roles. </action> + <action dev="vancek" type="fix"> + Modelling non-public operations on session beans rendered incorrect method signatures. This fix will + generate correct signatures for all operations, but only public methods are exposed in the remote/local + interfaces and service base class. + </action> + <action dev="vancek" type="update"> + Updated the cartridge.xml to set the outlet for the enumerations template to a new outlet called + user-types. This is defined in namespace.xml and must exist in each project andromda.xml. + </action> </release> </body> </document> \ No newline at end of file |
From: Vance K. <va...@us...> - 2006-07-15 05:09:10
|
User: vancek Date: 06/07/14 22:09:00 Modified: andromda-ejb3/src/main/resources/META-INF/andromda namespace.xml cartridge.xml Log: added new outlet called user-types for enumerations Revision Changes Path 1.27 +6 -0 cartridges/andromda-ejb3/src/main/resources/META-INF/andromda/namespace.xml Index: namespace.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/resources/META-INF/andromda/namespace.xml,v retrieving revision 1.26 retrieving revision 1.27 diff -u -w -r1.26 -r1.27 --- namespace.xml 10 Jul 2006 05:39:26 -0000 1.26 +++ namespace.xml 15 Jul 2006 05:08:59 -0000 1.27 @@ -115,6 +115,12 @@ are generated </documentation> </property> + <property name="user-types"> + <documentation> + The location to which user-types such as enumeration + are generated. + </documentation> + </property> </propertyGroup> <propertyGroup name="JDBC"> <property name="entityManagerName" required="false"> 1.29 +1 -1 cartridges/andromda-ejb3/src/main/resources/META-INF/andromda/cartridge.xml Index: cartridge.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/resources/META-INF/andromda/cartridge.xml,v retrieving revision 1.28 retrieving revision 1.29 diff -u -w -r1.28 -r1.29 --- cartridge.xml 10 Jul 2006 05:39:26 -0000 1.28 +++ cartridge.xml 15 Jul 2006 05:09:00 -0000 1.29 @@ -557,7 +557,7 @@ <template path="templates/ejb3/Enumeration.vsl" outputPattern="$generatedFile" - outlet="commons" + outlet="user-types" overwrite="true"> <modelElements variable="enum"> <modelElement> |
From: Chris M. <cm...@us...> - 2006-07-12 09:15:29
|
User: cmicali Date: 06/07/12 02:15:28 Modified: etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn AddInSettings.cs AndroMDA.VS80AddIn.csproj etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Commands CreateEntityVOConvertorCommand.cs PropertyMapperCommand.cs etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Dialogs PropertyMapperDialog.cs etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Utils AddInUtils.cs CodeModelUtils.cs Added: etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn ConversionCodeGenerator.cs etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Controls MDAProjectSetupControl.cs MDAProjectSetupControl.designer.cs MDAProjectSetupControl.resx ScrollableListView.cs etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/OptionsPages AboutOptionsPage.cs AboutOptionsPage.designer.cs AboutOptionsPage.resx ExternalToolsOptionsPage.cs ExternalToolsOptionsPage.designer.cs ExternalToolsOptionsPage.resx GeneralOptionsPage.Designer.cs GeneralOptionsPage.cs GeneralOptionsPage.resx MDAOptionPageProperties.cs SolutionExplorerOptionsPage.Designer.cs SolutionExplorerOptionsPage.cs SolutionExplorerOptionsPage.resx etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Resources link_break.gif etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Wizards MDASolutionWizard.cs MDASolutionWizard.designer.cs MDASolutionWizard.resx WelcomeWizard.Designer.cs WelcomeWizard.cs WelcomeWizard.resx etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Wizards/Support Header.cs Header.resx HeaderDesigner.cs InfoContainer.cs InfoContainer.resx InfoContainerDesigner.cs InfoPage.cs InfoPage.resx InfoPageDesigner.cs PageCollection.cs PageEventHandler.cs Wizard.bmp Wizard.cs Wizard.resx WizardDesigner.cs WizardPage.cs WizardPage.resx WizardPageDesigner.cs wizBigOnlineFolder.gif Removed: etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Dialogs AboutOptionsPage.cs AboutOptionsPage.designer.cs AboutOptionsPage.resx ExternalToolsOptionsPage.cs ExternalToolsOptionsPage.designer.cs ExternalToolsOptionsPage.resx GeneralOptionsPage.Designer.cs GeneralOptionsPage.cs GeneralOptionsPage.resx MDAOptionPageProperties.cs MDAProjectSetupControl.cs MDAProjectSetupControl.designer.cs MDAProjectSetupControl.resx MDASolutionWizard.cs MDASolutionWizard.designer.cs MDASolutionWizard.resx ScrollableListView.cs SolutionExplorerOptionsPage.Designer.cs SolutionExplorerOptionsPage.cs SolutionExplorerOptionsPage.resx WelcomeWizard.Designer.cs WelcomeWizard.cs WelcomeWizard.resx etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Wizard Header.cs Header.resx HeaderDesigner.cs InfoContainer.cs InfoContainer.resx InfoContainerDesigner.cs InfoPage.cs InfoPage.resx InfoPageDesigner.cs PageCollection.cs PageEventHandler.cs Wizard.bmp Wizard.cs Wizard.resx WizardDesigner.cs WizardPage.cs WizardPage.resx WizardPageDesigner.cs wizBigOnlineFolder.gif Log: - Reorganized files to make source folder divisions much cleaner - Updates to propertymapper Revision Changes Path 1.11 +10 -0 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/AddInSettings.cs Index: AddInSettings.cs =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/AddInSettings.cs,v retrieving revision 1.10 retrieving revision 1.11 diff -u -w -r1.10 -r1.11 --- AddInSettings.cs 11 Jul 2006 13:45:33 -0000 1.10 +++ AddInSettings.cs 12 Jul 2006 09:14:57 -0000 1.11 @@ -282,6 +282,16 @@ #endregion + #region Property mapper settings + + public bool PropertyMapperAutoMapOnOpen + { + get { return m_settings.GetBool("AMDAPMAMOO", false); } + set { m_settings.SetBool("AMDAPMAMOO", value); } + } + + #endregion + #region Helper methods public bool IsInIgnoreList(string fileToTest) 1.17 +82 -81 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn.csproj Index: AndroMDA.VS80AddIn.csproj =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn.csproj,v retrieving revision 1.16 retrieving revision 1.17 diff -u -w -r1.16 -r1.17 --- AndroMDA.VS80AddIn.csproj 11 Jul 2006 13:45:33 -0000 1.16 +++ AndroMDA.VS80AddIn.csproj 12 Jul 2006 09:14:57 -0000 1.17 @@ -67,72 +67,61 @@ <Compile Include="Commands\StopCommand.cs" /> <Compile Include="ConfigFile.cs" /> <Compile Include="Connect.cs" /> + <Compile Include="Controls\MDAProjectSetupControl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Include="Controls\MDAProjectSetupControl.designer.cs"> + <DependentUpon>MDAProjectSetupControl.cs</DependentUpon> + </Compile> + <Compile Include="Controls\ScrollableListView.cs"> + <SubType>Component</SubType> + </Compile> + <Compile Include="ConversionCodeGenerator.cs" /> <Compile Include="Dialogs\AboutDialog.cs"> <SubType>Form</SubType> </Compile> <Compile Include="Dialogs\AboutDialog.designer.cs"> <DependentUpon>AboutDialog.cs</DependentUpon> </Compile> - <Compile Include="Dialogs\AboutOptionsPage.cs"> - <SubType>UserControl</SubType> + <Compile Include="Dialogs\PropertyMapperDialog.cs"> + <SubType>Form</SubType> </Compile> - <Compile Include="Dialogs\AboutOptionsPage.designer.cs"> - <DependentUpon>AboutOptionsPage.cs</DependentUpon> + <Compile Include="Dialogs\PropertyMapperDialog.Designer.cs"> + <DependentUpon>PropertyMapperDialog.cs</DependentUpon> </Compile> - <Compile Include="Dialogs\GeneralOptionsPage.cs"> + <Compile Include="MavenProxy.cs" /> + <Compile Include="MDAProject.cs" /> + <Compile Include="MDASolutionManager.cs" /> + <None Include="Resources\Membership\DomainMembershipProvider.cs" /> + <None Include="Resources\Membership\DomainMembershipUser.cs" /> + <None Include="Resources\Membership\DomainRoleProvider.cs" /> + <None Include="Resources\Membership\MembershipServiceImpl.cs" /> + <None Include="Resources\Membership\UserDaoImpl.cs" /> + <Compile Include="OptionsPages\AboutOptionsPage.cs"> <SubType>UserControl</SubType> </Compile> - <Compile Include="Dialogs\GeneralOptionsPage.Designer.cs"> - <DependentUpon>GeneralOptionsPage.cs</DependentUpon> + <Compile Include="OptionsPages\AboutOptionsPage.designer.cs"> + <DependentUpon>AboutOptionsPage.cs</DependentUpon> </Compile> - <Compile Include="Dialogs\MDAOptionPageProperties.cs" /> - <Compile Include="Dialogs\ExternalToolsOptionsPage.cs"> + <Compile Include="OptionsPages\ExternalToolsOptionsPage.cs"> <SubType>UserControl</SubType> </Compile> - <Compile Include="Dialogs\ExternalToolsOptionsPage.designer.cs"> + <Compile Include="OptionsPages\ExternalToolsOptionsPage.designer.cs"> <DependentUpon>ExternalToolsOptionsPage.cs</DependentUpon> </Compile> - <Compile Include="Dialogs\MDAProjectSetupControl.cs"> + <Compile Include="OptionsPages\GeneralOptionsPage.cs"> <SubType>UserControl</SubType> </Compile> - <Compile Include="Dialogs\MDAProjectSetupControl.designer.cs"> - <DependentUpon>MDAProjectSetupControl.cs</DependentUpon> - </Compile> - <Compile Include="Dialogs\MDASolutionWizard.cs"> - <SubType>Form</SubType> - </Compile> - <Compile Include="Dialogs\MDASolutionWizard.designer.cs"> - <DependentUpon>MDASolutionWizard.cs</DependentUpon> - </Compile> - <Compile Include="Dialogs\PropertyMapperDialog.cs"> - <SubType>Form</SubType> - </Compile> - <Compile Include="Dialogs\PropertyMapperDialog.Designer.cs"> - <DependentUpon>PropertyMapperDialog.cs</DependentUpon> - </Compile> - <Compile Include="Dialogs\ScrollableListView.cs"> - <SubType>Component</SubType> + <Compile Include="OptionsPages\GeneralOptionsPage.designer.cs"> + <DependentUpon>GeneralOptionsPage.cs</DependentUpon> </Compile> - <Compile Include="Dialogs\SolutionExplorerOptionsPage.cs"> + <Compile Include="OptionsPages\MDAOptionPageProperties.cs" /> + <Compile Include="OptionsPages\SolutionExplorerOptionsPage.cs"> <SubType>UserControl</SubType> </Compile> - <Compile Include="Dialogs\SolutionExplorerOptionsPage.Designer.cs"> + <Compile Include="OptionsPages\SolutionExplorerOptionsPage.designer.cs"> <DependentUpon>SolutionExplorerOptionsPage.cs</DependentUpon> </Compile> - <Compile Include="Dialogs\WelcomeWizard.cs"> - <SubType>Form</SubType> - </Compile> - <Compile Include="Dialogs\WelcomeWizard.Designer.cs"> - <DependentUpon>WelcomeWizard.cs</DependentUpon> - </Compile> - <Compile Include="MavenProxy.cs" /> - <Compile Include="MDAProject.cs" /> - <Compile Include="MDASolutionManager.cs" /> - <None Include="Resources\Membership\DomainMembershipProvider.cs" /> - <None Include="Resources\Membership\DomainMembershipUser.cs" /> - <None Include="Resources\Membership\DomainRoleProvider.cs" /> - <None Include="Resources\Membership\MembershipServiceImpl.cs" /> - <None Include="Resources\Membership\UserDaoImpl.cs" /> <Compile Include="Utils\CodeModelUtils.cs" /> <Compile Include="WizardSolutionProcessor.cs" /> <Compile Include="AddInSettings.cs" /> @@ -181,28 +170,40 @@ <Compile Include="Utils\VSExternalToolProxy.cs" /> <Compile Include="Utils\VSSolutionUtils.cs" /> <Compile Include="VS80AddIn.cs" /> - <Compile Include="Wizard\Header.cs"> + <Compile Include="Wizards\MDASolutionWizard.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Include="Wizards\MDASolutionWizard.designer.cs"> + <DependentUpon>MDASolutionWizard.cs</DependentUpon> + </Compile> + <Compile Include="Wizards\Support\Header.cs"> <SubType>UserControl</SubType> </Compile> - <Compile Include="Wizard\HeaderDesigner.cs" /> - <Compile Include="Wizard\InfoContainer.cs"> + <Compile Include="Wizards\Support\HeaderDesigner.cs" /> + <Compile Include="Wizards\Support\InfoContainer.cs"> <SubType>UserControl</SubType> </Compile> - <Compile Include="Wizard\InfoContainerDesigner.cs" /> - <Compile Include="Wizard\InfoPage.cs"> + <Compile Include="Wizards\Support\InfoContainerDesigner.cs" /> + <Compile Include="Wizards\Support\InfoPage.cs"> <SubType>UserControl</SubType> </Compile> - <Compile Include="Wizard\InfoPageDesigner.cs" /> - <Compile Include="Wizard\PageCollection.cs" /> - <Compile Include="Wizard\PageEventHandler.cs" /> - <Compile Include="Wizard\Wizard.cs"> + <Compile Include="Wizards\Support\InfoPageDesigner.cs" /> + <Compile Include="Wizards\Support\PageCollection.cs" /> + <Compile Include="Wizards\Support\PageEventHandler.cs" /> + <Compile Include="Wizards\Support\Wizard.cs"> <SubType>UserControl</SubType> </Compile> - <Compile Include="Wizard\WizardDesigner.cs" /> - <Compile Include="Wizard\WizardPage.cs"> + <Compile Include="Wizards\Support\WizardDesigner.cs" /> + <Compile Include="Wizards\Support\WizardPage.cs"> <SubType>Component</SubType> </Compile> - <Compile Include="Wizard\WizardPageDesigner.cs" /> + <Compile Include="Wizards\Support\WizardPageDesigner.cs" /> + <Compile Include="Wizards\WelcomeWizard.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Include="Wizards\WelcomeWizard.designer.cs"> + <DependentUpon>WelcomeWizard.cs</DependentUpon> + </Compile> </ItemGroup> <ItemGroup> <COMReference Include="EnvDTE"> @@ -239,67 +240,67 @@ </COMReference> </ItemGroup> <ItemGroup> + <EmbeddedResource Include="Controls\MDAProjectSetupControl.resx"> + <DependentUpon>MDAProjectSetupControl.cs</DependentUpon> + <SubType>Designer</SubType> + </EmbeddedResource> <EmbeddedResource Include="Dialogs\AboutDialog.resx"> <DependentUpon>AboutDialog.cs</DependentUpon> <SubType>Designer</SubType> </EmbeddedResource> - <EmbeddedResource Include="Dialogs\AboutOptionsPage.resx"> - <DependentUpon>AboutOptionsPage.cs</DependentUpon> + <EmbeddedResource Include="Dialogs\PropertyMapperDialog.resx"> <SubType>Designer</SubType> + <DependentUpon>PropertyMapperDialog.cs</DependentUpon> </EmbeddedResource> - <EmbeddedResource Include="Dialogs\GeneralOptionsPage.resx"> + <EmbeddedResource Include="OptionsPages\AboutOptionsPage.resx"> + <DependentUpon>AboutOptionsPage.cs</DependentUpon> <SubType>Designer</SubType> - <DependentUpon>GeneralOptionsPage.cs</DependentUpon> </EmbeddedResource> - <EmbeddedResource Include="Dialogs\ExternalToolsOptionsPage.resx"> + <EmbeddedResource Include="OptionsPages\ExternalToolsOptionsPage.resx"> <DependentUpon>ExternalToolsOptionsPage.cs</DependentUpon> <SubType>Designer</SubType> </EmbeddedResource> - <EmbeddedResource Include="Dialogs\MDAProjectSetupControl.resx"> - <DependentUpon>MDAProjectSetupControl.cs</DependentUpon> - <SubType>Designer</SubType> - </EmbeddedResource> - <EmbeddedResource Include="Dialogs\MDASolutionWizard.resx"> - <DependentUpon>MDASolutionWizard.cs</DependentUpon> - <SubType>Designer</SubType> - </EmbeddedResource> - <EmbeddedResource Include="Dialogs\PropertyMapperDialog.resx"> + <EmbeddedResource Include="OptionsPages\GeneralOptionsPage.resx"> + <DependentUpon>GeneralOptionsPage.cs</DependentUpon> <SubType>Designer</SubType> - <DependentUpon>PropertyMapperDialog.cs</DependentUpon> </EmbeddedResource> - <EmbeddedResource Include="Dialogs\SolutionExplorerOptionsPage.resx"> - <SubType>Designer</SubType> + <EmbeddedResource Include="OptionsPages\SolutionExplorerOptionsPage.resx"> <DependentUpon>SolutionExplorerOptionsPage.cs</DependentUpon> - </EmbeddedResource> - <EmbeddedResource Include="Dialogs\WelcomeWizard.resx"> <SubType>Designer</SubType> - <DependentUpon>WelcomeWizard.cs</DependentUpon> </EmbeddedResource> <EmbeddedResource Include="Resource1.resx"> <SubType>Designer</SubType> <Generator>ResXFileCodeGenerator</Generator> <LastGenOutput>Resource1.Designer.cs</LastGenOutput> </EmbeddedResource> - <EmbeddedResource Include="Wizard\Header.resx"> + <EmbeddedResource Include="Wizards\MDASolutionWizard.resx"> + <DependentUpon>MDASolutionWizard.cs</DependentUpon> + <SubType>Designer</SubType> + </EmbeddedResource> + <EmbeddedResource Include="Wizards\Support\Header.resx"> <DependentUpon>Header.cs</DependentUpon> <SubType>Designer</SubType> </EmbeddedResource> - <EmbeddedResource Include="Wizard\InfoContainer.resx"> + <EmbeddedResource Include="Wizards\Support\InfoContainer.resx"> <DependentUpon>InfoContainer.cs</DependentUpon> <SubType>Designer</SubType> </EmbeddedResource> - <EmbeddedResource Include="Wizard\InfoPage.resx"> + <EmbeddedResource Include="Wizards\Support\InfoPage.resx"> <DependentUpon>InfoPage.cs</DependentUpon> <SubType>Designer</SubType> </EmbeddedResource> - <EmbeddedResource Include="Wizard\Wizard.resx"> + <EmbeddedResource Include="Wizards\Support\Wizard.resx"> <DependentUpon>Wizard.cs</DependentUpon> <SubType>Designer</SubType> </EmbeddedResource> - <EmbeddedResource Include="Wizard\WizardPage.resx"> + <EmbeddedResource Include="Wizards\Support\WizardPage.resx"> <DependentUpon>WizardPage.cs</DependentUpon> <SubType>Designer</SubType> </EmbeddedResource> + <EmbeddedResource Include="Wizards\WelcomeWizard.resx"> + <DependentUpon>WelcomeWizard.cs</DependentUpon> + <SubType>Designer</SubType> + </EmbeddedResource> </ItemGroup> <ItemGroup> <Content Include="AndroMDA.VS80AddIn.AddIn"> 1.1 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/ConversionCodeGenerator.cs Index: ConversionCodeGenerator.cs =================================================================== // AndroMDA Visual Studio 2005 Add-In // (c)2006 AndroMDA.org #region Using statements using System; using System.Collections; using System.Text; using EnvDTE80; using EnvDTE; #endregion namespace AndroMDA.VS80AddIn { public class ConversionCodeGenerator { #region Property class public class Property { private string m_name; private string m_type; private Property m_sourceProperty; public Property() { m_name = string.Empty; m_type = string.Empty; m_sourceProperty = null; } public Property(string name, string type) { m_name = name; m_type = type; m_sourceProperty = null; } public string Name { get { return m_name; } set { m_name = value; } } public string Type { get { return m_type; } set { m_type = value; } } public Property SourceProperty { get { return m_sourceProperty; } set { m_sourceProperty = value; } } public bool IsNullableType { get { return m_type.EndsWith("?"); } } } #endregion private ArrayList m_properties; public ArrayList Properties { get { return m_properties; } set { m_properties = value; } } public ConversionCodeGenerator() { m_properties = new ArrayList(); ; } public ConversionCodeGenerator(ArrayList properties) { m_properties = properties; } public string GenerateCode(CodeFunction2 method) { CodeParameter2 param = method.Parameters.Item(1) as CodeParameter2; CodeClass2 containingClass = method.Parent as CodeClass2; string returnType = method.Type.AsFullName; string paramType = param.Type.AsFullName; string paramName = param.Name; string returnVariableName = string.Empty; string codeToInsert = string.Empty; bool convertingToEntity = CodeModelUtils.IsEntityClass(method.Type.CodeType); // If we are converting to an entity if (convertingToEntity) { returnVariableName = "entity"; codeToInsert += "// VO to entity conversion\n"; // Add code to create a new entity with the Factory.newInstance() method codeToInsert += returnType + " " + returnVariableName + " = " + returnType + ".Factory.newInstance();\n\n"; } else { returnVariableName = "valueObject"; codeToInsert += "// Entity to VO conversion\n\n"; // Add code to create a new VO with a new statement codeToInsert += returnType + " " + returnVariableName + " = new " + returnType + "();\n\n"; } ArrayList unmappedProperties = new ArrayList(); foreach (Property prop in m_properties) { if (prop.SourceProperty != null) { if (prop.IsNullableType) { codeToInsert += "if (" + paramName + "." +prop.Name + ".HasValue)\n{\n"; codeToInsert += returnVariableName + "." + prop.Name + " = " + paramName + "." + prop.SourceProperty.Name + ".Value;\n}\n"; } else { codeToInsert += returnVariableName + "." + prop.Name + " = " + paramName + "." + prop.SourceProperty.Name + ";\n"; } } else { unmappedProperties.Add(prop); } } foreach (Property unmappedProp in unmappedProperties) { codeToInsert += "// " + returnVariableName + "." + unmappedProp.Name + "\n"; } // Add the return statement codeToInsert += "\nreturn " + returnVariableName + ";\n\n"; return codeToInsert; } public void AddProperty(string toName, string toType) { m_properties.Add(CreateProperty(toName, toType)); } public void AddProperty(string toName, string toType, string fromName, string fromType) { m_properties.Add(CreateProperty(toName, toType, fromName, fromType)); } public static Property CreateProperty(string toName, string toType) { return new Property(toName, toType); } public static Property CreateProperty(string toName, string toType, string fromName, string fromType) { Property prop = new Property(toName, toType); prop.SourceProperty = new Property(fromName, fromType); return prop; } } } 1.5 +34 -92 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Commands/CreateEntityVOConvertorCommand.cs Index: CreateEntityVOConvertorCommand.cs =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Commands/CreateEntityVOConvertorCommand.cs,v retrieving revision 1.4 retrieving revision 1.5 diff -u -w -r1.4 -r1.5 --- CreateEntityVOConvertorCommand.cs 11 Jul 2006 13:45:34 -0000 1.4 +++ CreateEntityVOConvertorCommand.cs 12 Jul 2006 09:14:57 -0000 1.5 @@ -31,101 +31,43 @@ CodeFunction2 currentMethod = CodeModelUtils.GetCurrentMethod(m_application); if (IsCommandAvailable(currentMethod)) { - CodeParameter2 param = currentMethod.Parameters.Item(1) as CodeParameter2; - CodeClass2 containingClass = currentMethod.Parent as CodeClass2; - bool isEntity = false; - string returnType = currentMethod.Type.AsFullName; - string paramType = param.Type.AsFullName; - string returnVariableName = string.Empty; - string codeToInsert = string.Empty; - - // Search for a Factory property in the return type to see if - // we are converting from entity to vo or vo to entity - foreach (CodeElement2 prop in currentMethod.Type.CodeType.Members) - { - if (prop.Kind == vsCMElement.vsCMElementClass && - prop.Name == "Factory" - ) - { - isEntity = true; - break; - } - } - // If we are converting to an entity - if (isEntity) - { - returnVariableName = "entity"; - codeToInsert += "// VO to entity conversion\n"; - // Add code to create a new entity with the Factory.newInstance() method - codeToInsert += returnType + " " + returnVariableName + " = " + returnType + ".Factory.newInstance();\n\n"; - } - else - { - returnVariableName = "valueObject"; - codeToInsert += "// Entity to VO conversion\n\n"; - // Add code to create a new VO with a new statement - codeToInsert += returnType + " " + returnVariableName + " = new " + returnType + "();\n\n"; - } + ConversionCodeGenerator codeGenerator = new ConversionCodeGenerator(); - ArrayList uncopiedProperties = new ArrayList(); - ArrayList unmatchedProperties = new ArrayList(); + CodeParameter2 param = currentMethod.Parameters.Item(1) as CodeParameter2; + ArrayList toProperties = CodeModelUtils.GetPropertiesFromType(currentMethod.Type.CodeType); + ArrayList fromProperties = CodeModelUtils.GetPropertiesFromType(param.Type.CodeType); - // Iterate through each property of the return type - foreach (CodeElement2 dstProp in currentMethod.Type.CodeType.Members) - { - if (dstProp.Kind == vsCMElement.vsCMElementProperty) + foreach(CodeProperty toProperty in toProperties) { - bool propertyExists = false; - bool propertyCopied = false; - // Iterate through each property of the parameter type to find a match - foreach (CodeElement2 srcProp in param.Type.CodeType.Members) - { - // If we found a property of the same name - if (dstProp.Kind == vsCMElement.vsCMElementProperty && - dstProp.Name == srcProp.Name) + bool mapped = false; + string toName = toProperty.Name; + string toNameNoDots = toName.Replace(".", string.Empty); + string toType = toProperty.Type.AsFullName; + + foreach (CodeProperty fromProperty in fromProperties) { - // Mark that we found the property - propertyExists = true; - CodeProperty srcProperty = srcProp as CodeProperty; - CodeProperty dstProperty = dstProp as CodeProperty; - if (dstProperty.Type.AsString == srcProperty.Type.AsString) + string fromName = fromProperty.Name; + string fromNameNoDots = fromName.Replace(".", string.Empty); + if (fromName == toName || fromName == toNameNoDots || fromNameNoDots == toNameNoDots) { - // Insert simple copy code - codeToInsert += returnVariableName + "." + dstProp.Name + " = " + param.Name + "." + dstProp.Name + ";\n"; - // Mark that we have copied the property - propertyCopied = true; - } - } - } - // If the property exists in both the entity and the vo - // but the types differ - if (propertyExists && !propertyCopied) + string fromType = fromProperty.Type.AsFullName; + if (fromType.Replace("?", string.Empty) == toType.Replace("?", string.Empty)) { - // Add it to the uncopied properties list - uncopiedProperties.Add(dstProp.Name); - } - else if (!propertyExists) - { - unmatchedProperties.Add(dstProp.Name); + codeGenerator.AddProperty(toName, toType, fromName, fromType); + mapped = true; + break; } } } - foreach (string uncopiedProperty in uncopiedProperties) + + if (!mapped) { - codeToInsert += "// " + returnVariableName + "." + uncopiedProperty + " = " + param.Name + "." + uncopiedProperty + ";\n"; + codeGenerator.AddProperty(toName, toType); } - foreach (string unmatchedProperty in unmatchedProperties) - { - codeToInsert += "// " + returnVariableName + "." + unmatchedProperty + "\n"; } - // Add the return statement - codeToInsert += "\nreturn " + returnVariableName + ";\n\n"; - // Batch insert the new code so it can be undone in 1 call to undo - EditPoint pnt = currentMethod.GetStartPoint(vsCMPart.vsCMPartBody).CreateEditPoint(); - pnt.Insert(codeToInsert); - // Format the code (indent it properly) - pnt.SmartFormat(currentMethod.GetStartPoint(vsCMPart.vsCMPartBody)); + AddInUtils.InsertCodeInMethod(currentMethod, codeGenerator.GenerateCode(currentMethod)); + m_application.StatusBar.Text = "AndroMDA: Code inserted"; } else 1.3 +3 -2 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Commands/PropertyMapperCommand.cs Index: PropertyMapperCommand.cs =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Commands/PropertyMapperCommand.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -u -w -r1.2 -r1.3 --- PropertyMapperCommand.cs 11 Jul 2006 13:45:34 -0000 1.2 +++ PropertyMapperCommand.cs 12 Jul 2006 09:14:57 -0000 1.3 @@ -33,14 +33,15 @@ CodeFunction2 currentMethod = CodeModelUtils.GetCurrentMethod(m_application); if (IsCommandAvailable(currentMethod)) { - AndroMDA.VS80AddIn.Dialogs.PropertyMapperDialog propertyMapper = new AndroMDA.VS80AddIn.Dialogs.PropertyMapperDialog(currentMethod); + AndroMDA.VS80AddIn.Dialogs.PropertyMapperDialog propertyMapper = new AndroMDA.VS80AddIn.Dialogs.PropertyMapperDialog(currentMethod, m_addInSettings); if (propertyMapper.ShowDialog() == System.Windows.Forms.DialogResult.OK) { // User clicked OK + AddInUtils.InsertCodeInMethod(currentMethod, propertyMapper.GeneratedCode); + m_application.StatusBar.Text = "AndroMDA: Code inserted"; } else { - // User clicked cancel } } } 1.3 +101 -66 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Dialogs/PropertyMapperDialog.cs Index: PropertyMapperDialog.cs =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Dialogs/PropertyMapperDialog.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -u -w -r1.2 -r1.3 --- PropertyMapperDialog.cs 11 Jul 2006 13:45:34 -0000 1.2 +++ PropertyMapperDialog.cs 12 Jul 2006 09:14:58 -0000 1.3 @@ -15,20 +15,26 @@ { CodeFunction2 m_currentMethod = null; + AddInSettings m_addInSettings = null; + private string m_codeToInsert; - public PropertyMapperDialog(CodeFunction2 currentMethod) + public string GeneratedCode + { + get { return m_codeToInsert; } + } + + public PropertyMapperDialog(CodeFunction2 currentMethod, AddInSettings settings) { InitializeComponent(); m_currentMethod = currentMethod; - this.SetStyle( - ControlStyles.UserPaint | - ControlStyles.AllPaintingInWmPaint | - ControlStyles.OptimizedDoubleBuffer, true); this.KeyPreview = true; + m_codeToInsert = string.Empty; + m_addInSettings = settings; } private void btnOk_Click(object sender, EventArgs e) { + GenerateCode(); this.DialogResult = DialogResult.OK; } @@ -49,6 +55,10 @@ InitListView(lstToProperties, CodeModelUtils.GetPropertiesFromType(m_currentMethod.Type.CodeType)); //InitTreeView(treeView1, CodeModelUtils.GetPropertiesFromType(fromParameter.Type.CodeType)); RefreshView(); + if (m_addInSettings.PropertyMapperAutoMapOnOpen) + { + AutoMap(); + } } private void InitListView(ListView lstView, ArrayList properties) @@ -157,25 +167,6 @@ lstToProperties.EndUpdate(); } - private void lstFromProperties_SelectedIndexChanged(object sender, EventArgs e) - { - //RefreshView(); - } - - private void lstToProperties_SelectedIndexChanged(object sender, EventArgs e) - { - RefreshView(); - } - - private void lstToProperties_ItemActivate(object sender, EventArgs e) - { - } - - private void lstFromProperties_ItemActivate(object sender, EventArgs e) - { - MapSelectedItems(); - } - private void MapSelectedItems() { if (lstToProperties.SelectedItems.Count > 0 && lstFromProperties.SelectedItems.Count > 0) @@ -230,45 +221,7 @@ private void btnAutoMap_Click(object sender, EventArgs e) { - bool mapped = false; - foreach (ListViewItem fromItem in lstFromProperties.Items) - { - foreach (ListViewItem toItem in lstToProperties.Items) - { - string fromName = fromItem.Name; - string toName = toItem.Name; - string fromNameNoDots = fromName.Replace(".", string.Empty); - string toNameNoDots = toName.Replace(".", string.Empty); - if (fromName == toName || fromName == toNameNoDots || fromNameNoDots == toNameNoDots) - { - string fromType = fromItem.SubItems[1].Text.Replace("?", string.Empty); - string toType = toItem.SubItems[1].Text.Replace("?", string.Empty); - if (fromType == toType) - { - // If the from item is already mapped - if (fromItem.Tag != null) - { - // Remove the back reference - ((ListViewItem)fromItem.Tag).Tag = null; - // Unmap it - fromItem.Tag = null; - } - if (toItem.Tag != null) - { - ((ListViewItem)toItem.Tag).Tag = null; - toItem.Tag = null; - } - fromItem.Tag = toItem; - toItem.Tag = fromItem; - mapped = true; - } - } - } - } - if (mapped) - { - RefreshView(); - } + AutoMap(); } private void pnlConnections_Paint(object sender, PaintEventArgs e) @@ -352,11 +305,51 @@ private ListView m_whichListView = null; - private void expandToolStripMenuItem_Click(object sender, EventArgs e) + private void AutoMap() { + bool mapped = false; + foreach (ListViewItem fromItem in lstFromProperties.Items) + { + foreach (ListViewItem toItem in lstToProperties.Items) + { + string fromName = fromItem.Name; + string toName = toItem.Name; + string fromNameNoDots = fromName.Replace(".", string.Empty); + string toNameNoDots = toName.Replace(".", string.Empty); + if (fromName == toName || fromName == toNameNoDots || fromNameNoDots == toNameNoDots) + { + string fromType = fromItem.SubItems[1].Text.Replace("?", string.Empty); + string toType = toItem.SubItems[1].Text.Replace("?", string.Empty); + if (fromType == toType) + { + // If the from item is already mapped + if (fromItem.Tag != null) + { + // Remove the back reference + ((ListViewItem)fromItem.Tag).Tag = null; + // Unmap it + fromItem.Tag = null; + } + if (toItem.Tag != null) + { + ((ListViewItem)toItem.Tag).Tag = null; + toItem.Tag = null; + } + fromItem.Tag = toItem; + toItem.Tag = fromItem; + mapped = true; + } + } + } + } + if (mapped) + { + RefreshView(); + } + } - ListView lst = m_whichListView; - + private void ExpandSelectedItem(ListView lst) + { if (lst.SelectedItems.Count == 0) return; ListViewItem item = lst.SelectedItems[0]; CodeProperty prop = (CodeProperty)item.SubItems[1].Tag; @@ -406,6 +399,11 @@ } } + private void expandToolStripMenuItem_Click(object sender, EventArgs e) + { + ExpandSelectedItem(m_whichListView); + } + private void mapToolStripMenuItem_Click(object sender, EventArgs e) { MapSelectedItems(); @@ -425,5 +423,42 @@ } + private void lstFromProperties_SelectedIndexChanged(object sender, EventArgs e) + { + //RefreshView(); + } + + private void lstToProperties_SelectedIndexChanged(object sender, EventArgs e) + { + RefreshView(); + } + + private void lstToProperties_ItemActivate(object sender, EventArgs e) + { + } + + private void lstFromProperties_ItemActivate(object sender, EventArgs e) + { + MapSelectedItems(); + } + + private void GenerateCode() + { + ConversionCodeGenerator codeGenerator = new ConversionCodeGenerator(); + foreach (ListViewItem toItem in lstToProperties.Items) + { + ListViewItem fromItem = (ListViewItem)toItem.Tag; + if (fromItem != null) + { + codeGenerator.AddProperty(toItem.Text, toItem.SubItems[1].Text, fromItem.Text, fromItem.SubItems[1].Text); + } + else + { + codeGenerator.AddProperty(toItem.Text, toItem.SubItems[1].Text); + } + } + m_codeToInsert = codeGenerator.GenerateCode(m_currentMethod); + } + } } \ No newline at end of file 1.5 +13 -0 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Utils/AddInUtils.cs Index: AddInUtils.cs =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Utils/AddInUtils.cs,v retrieving revision 1.4 retrieving revision 1.5 diff -u -w -r1.4 -r1.5 --- AddInUtils.cs 7 Jul 2006 22:32:17 -0000 1.4 +++ AddInUtils.cs 12 Jul 2006 09:15:02 -0000 1.5 @@ -8,6 +8,8 @@ using System.Collections.Generic; using System.Text; using System.Windows.Forms; +using EnvDTE80; +using EnvDTE; #endregion @@ -46,5 +48,16 @@ lvi.SubItems.Add(new ListViewItem.ListViewSubItem(lvi, value)); listView.Items.Add(lvi); } + + public static void InsertCodeInMethod(CodeFunction2 currentMethod, string codeToInsert) + { + TextPoint startPoint = currentMethod.GetStartPoint(vsCMPart.vsCMPartBody); + // Batch insert the new code so it can be undone in 1 call to undo + EditPoint pnt = startPoint.CreateEditPoint(); + pnt.Insert(codeToInsert); + // Format the code (indent it properly) + pnt.SmartFormat(startPoint); + } + } } 1.3 +41 -9 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Utils/CodeModelUtils.cs Index: CodeModelUtils.cs =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Utils/CodeModelUtils.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -u -w -r1.2 -r1.3 --- CodeModelUtils.cs 7 Jul 2006 22:32:17 -0000 1.2 +++ CodeModelUtils.cs 12 Jul 2006 09:15:02 -0000 1.3 @@ -24,8 +24,8 @@ { public int Compare(object first, object second) { - CodeElement2 f = (CodeElement2)second; - CodeElement2 s = (CodeElement2)first; + CodeElement2 f = (CodeElement2)first; + CodeElement2 s = (CodeElement2)second; return f.Name.CompareTo(s.Name); } } @@ -36,12 +36,22 @@ public static ArrayList GetPropertiesFromType(CodeType type) { - return GetPropertiesFromType(type, true); + return GetMembersFromType(type, new vsCMElement[] { vsCMElement.vsCMElementProperty }); } public static ArrayList GetPropertiesFromType(CodeType type, bool sort) { - ArrayList results = GetPropertiesFromType(type, new ArrayList()); + return GetMembersFromType(type, new vsCMElement[] { vsCMElement.vsCMElementProperty }, sort); + } + + private static ArrayList GetMembersFromType(CodeType type, vsCMElement[] searchScopes) + { + return GetMembersFromType(type, searchScopes, true); + } + + private static ArrayList GetMembersFromType(CodeType type, vsCMElement[] searchScopes, bool sort) + { + ArrayList results = GetMembersFromType(type, searchScopes, new ArrayList()); if (sort) { results.Sort(new CodeElement2Comparator()); @@ -49,23 +59,28 @@ return results; } - private static ArrayList GetPropertiesFromType(CodeType type, ArrayList properties) + private static ArrayList GetMembersFromType(CodeType type, vsCMElement[] searchScopes, ArrayList properties) { foreach (CodeElement2 prop in type.Members) { - if (prop.Kind == vsCMElement.vsCMElementProperty) + foreach(vsCMElement elemType in searchScopes) + { + if (prop.Kind == elemType) { properties.Add(prop); + break; + } } } for (int i = 1; i <= type.Bases.Count; i++) { CodeType baseclass = type.Bases.Item(i) as CodeType; - GetPropertiesFromType(baseclass, properties); + GetMembersFromType(baseclass, searchScopes, properties); } return properties; } + public static CodeFunction2 GetCurrentMethod(DTE dte) { vsCMElement[] searchScopes = { @@ -144,5 +159,22 @@ return null; return element; } + + + public static bool IsEntityClass(CodeType type) + { + vsCMElement[] searchScopes = { vsCMElement.vsCMElementClass }; + + // If the type has a Factory class, then it is an entity + ArrayList classes = GetMembersFromType(type, searchScopes, false); + if (classes.Count == 0) return false; + foreach (CodeElement2 elem in classes) + { + if (elem.Name == "Factory") return true; + } + return false; + } + + } } 1.1 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Controls/MDAProjectSetupControl.cs Index: MDAProjectSetupControl.cs =================================================================== // AndroMDA Visual Studio 2005 Add-In // (c)2006 AndroMDA.org #region Using statements using System; using System.Collections; using System.ComponentModel; using System.Drawing; using System.Data; using System.Text; using System.Windows.Forms; using EnvDTE; using VSLangProj; #endregion namespace AndroMDA.VS80AddIn.Dialogs { public partial class MDAProjectSetupControl : UserControl { #region Member variables private bool m_firstEnter = true; #endregion #region Properties /* [Category("Appearance")] [LocalizableAttribute(true)] [BindableAttribute(true)] public string Title { get { return lblTitle.Text; } set { lblTitle.Text = value; } } [Category("Appearance")] [LocalizableAttribute(true)] [BindableAttribute(true)] public string Description { get { return lblDescription.Text; } set { lblDescription.Text = value; } } */ private bool m_webProjectMode = false; [Category("Behavior")] [LocalizableAttribute(true)] [BindableAttribute(true)] [DefaultValue(false)] public bool WebProjectMode { get { return m_webProjectMode; } set { /* rbDontAddSupport.Enabled = rbDontAddSupport.Visible = value; int baseY = value ? 23 : 0; rbCreate.Top = baseY + 0; txtNewProject.Top = baseY + 20; rbExisting.Top = baseY + 45; ddlExistingProject.Top = baseY + 66; */ m_webProjectMode = value; if (m_webProjectMode) { rbExisting.Text = "Use existing web site"; rbCreate.Text = "Create new web site"; } else { rbExisting.Text = "Use existing project"; rbCreate.Text = "Create new project"; } } } public bool DontAddSupport { get { return rbDontAddSupport.Checked; } } public bool CreateNewProject { get { return rbCreate.Checked; } } public string ProjectName { get { if (CreateNewProject) { return txtNewProject.Text; } else { return ddlExistingProject.SelectedItem.ToString(); } } set { rbCreate.Checked = true; txtNewProject.Text = value; } } #endregion public MDAProjectSetupControl() { InitializeComponent(); } public void OnEnter(object sender, EventArgs e, DTE applicationObject) { string webProjectKind = "{E24C65DC-7377-472b-9ABA-BC803B73C61A}"; if (m_firstEnter) { m_firstEnter = false; ddlExistingProject.Items.Clear(); string itemToSelect = string.Empty; foreach (Project p in applicationObject.Solution.Projects) { if ( (m_webProjectMode && p.Kind == webProjectKind) || (!m_webProjectMode && p.Kind != webProjectKind) ) { ddlExistingProject.Items.Add(p.Name); // If there is a project in the solution with the same // name as the pre-generated project if (!m_webProjectMode && p.Name == txtNewProject.Text) { // Select it by default itemToSelect = p.Name; } // Or if we are in web project mode select the first web site automatically else if (m_webProjectMode && itemToSelect == string.Empty) { itemToSelect = p.Name; } } } if (ddlExistingProject.Items.Count > 0) { if (itemToSelect != string.Empty) { ddlExistingProject.SelectedIndex = ddlExistingProject.Items.IndexOf(itemToSelect); rbExisting.Checked = true; } else { ddlExistingProject.SelectedIndex = 0; rbExisting.Checked = false; } } else { rbExisting.Enabled = false; } } if (rbExisting.Checked) { ddlExistingProject.Focus(); } else { txtNewProject.Focus(); } } public bool ValidateControl() { if (rbExisting.Checked) { return ddlExistingProject.SelectedItem.ToString() != string.Empty; } else { return ValidationUtils.ValidateRequiredTextBox(txtNewProject); } } private void checkChanged(object sender, EventArgs e) { if (txtNewProject.Enabled) { txtNewProject.BackColor = SystemColors.Window; } else { txtNewProject.BackColor = SystemColors.Control; } txtNewProject.Enabled = rbCreate.Checked; ddlExistingProject.Enabled = rbExisting.Checked; } } } 1.1 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Controls/MDAProjectSetupControl.designer.cs Index: MDAProjectSetupControl.designer.cs =================================================================== namespace AndroMDA.VS80AddIn.Dialogs { partial class MDAProjectSetupControl { /// <summary> /// Required designer variable. /// </summary> private System.ComponentModel.IContainer components = null; /// <summary> /// Clean up any resources being used. /// </summary> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Component Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.ddlExistingProject = new System.Windows.Forms.ComboBox(); this.txtNewProject = new System.Windows.Forms.TextBox(); this.rbExisting = new System.Windows.Forms.RadioButton(); this.rbCreate = new System.Windows.Forms.RadioButton(); this.rbDontAddSupport = new System.Windows.Forms.RadioButton(); this.SuspendLayout(); // // ddlExistingProject // this.ddlExistingProject.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.ddlExistingProject.Enabled = false; this.ddlExistingProject.FormattingEnabled = true; this.ddlExistingProject.Location = new System.Drawing.Point(18, 72); this.ddlExistingProject.Name = "ddlExistingProject"; this.ddlExistingProject.Size = new System.Drawing.Size(394, 21); this.ddlExistingProject.TabIndex = 16; // // txtNewProject // this.txtNewProject.Location = new System.Drawing.Point(18, 23); this.txtNewProject.Name = "txtNewProject"; this.txtNewProject.Size = new System.Drawing.Size(394, 20); this.txtNewProject.TabIndex = 13; // // rbExisting // this.rbExisting.AutoSize = true; this.rbExisting.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Bold); this.rbExisting.Location = new System.Drawing.Point(0, 49); this.rbExisting.Name = "rbExisting"; this.rbExisting.Size = new System.Drawing.Size(138, 17); this.rbExisting.TabIndex = 15; this.rbExisting.Text = "Use existing project"; this.rbExisting.UseVisualStyleBackColor = true; this.rbExisting.CheckedChanged += new System.EventHandler(this.checkChanged); // // rbCreate // this.rbCreate.AutoSize = true; this.rbCreate.Checked = true; this.rbCreate.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Bold); this.rbCreate.Location = new System.Drawing.Point(0, 0); this.rbCreate.Name = "rbCreate"; this.rbCreate.Size = new System.Drawing.Size(133, 17); this.rbCreate.TabIndex = 12; this.rbCreate.TabStop = true; this.rbCreate.Text = "Create new project"; this.rbCreate.UseVisualStyleBackColor = true; this.rbCreate.CheckedChanged += new System.EventHandler(this.checkChanged); // // rbDontAddSupport // this.rbDontAddSupport.AutoSize = true; this.rbDontAddSupport.Enabled = false; this.rbDontAddSupport.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Bold); this.rbDontAddSupport.Location = new System.Drawing.Point(0, 0); this.rbDontAddSupport.Name = "rbDontAddSupport"; this.rbDontAddSupport.Size = new System.Drawing.Size(203, 17); this.rbDontAddSupport.TabIndex = 14; this.rbDontAddSupport.Text = "Do not add web project support"; this.rbDontAddSupport.UseVisualStyleBackColor = true; this.rbDontAddSupport.Visible = false; // // MDAProjectSetupControl // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.Controls.Add(this.ddlExistingProject); this.Controls.Add(this.txtNewProject); this.Controls.Add(this.rbExisting); this.Controls.Add(this.rbCreate); this.Controls.Add(this.rbDontAddSupport); this.Name = "MDAProjectSetupControl"; this.Size = new System.Drawing.Size(434, 138); this.ResumeLayout(false); this.PerformLayout(); } #endregion private System.Windows.Forms.ComboBox ddlExistingProject; private System.Windows.Forms.TextBox txtNewProject; private System.Windows.Forms.RadioButton rbExisting; private System.Windows.Forms.RadioButton rbCreate; private System.Windows.Forms.RadioButton rbDontAddSupport; } } 1.1 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Controls/MDAProjectSetupControl.resx Index: MDAProjectSetupControl.resx =================================================================== <?xml version="1.0" encoding="utf-8"?> <root> <!-- Microsoft ResX Schema Version 2.0 The primary goals of this format is to allow a simple XML format that is mostly human readable. The generation and parsing of the various data types are done through the TypeConverter classes associated with the data types. Example: ... ado.net/XML headers & schema ... <resheader name="resmimetype">text/microsoft-resx</resheader> <resheader name="version">2.0</resheader> <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> <value>[base64 mime encoded serialized .NET Framework object]</value> </data> <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> <comment>This is a comment</comment> </data> There are any number of "resheader" rows that contain simple name/value pairs. Each data row contains a name, and value. The row also contains a type or mimetype. Type corresponds to a .NET class that support text/value conversion through the TypeConverter architecture. Classes that don't support this are serialized and stored with the mimetype set. The mimetype is used for serialized objects, and tells the ResXResourceReader how to depersist the object. This is currently not extensible. For a given mimetype the value must be set accordingly: Note - application/x-microsoft.net.object.binary.base64 is the format that the ResXResourceWriter will generate, however the reader can read any of the formats listed below. mimetype: application/x-microsoft.net.object.binary.base64 value : The object must be serialized with : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter : and then encoded with base64 encoding. mimetype: application/x-microsoft.net.object.soap.base64 value : The object must be serialized with : System.Runtime.Serialization.Formatters.Soap.SoapFormatter : and then encoded with base64 encoding. mimetype: application/x-microsoft.net.object.bytearray.base64 value : The object must be serialized into a byte array : using a System.Componen... [truncated message content] |
From: Chris M. <cm...@us...> - 2006-07-12 08:49:23
|
User: cmicali Date: 06/07/12 01:49:22 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Controls - New directory |
From: Chris M. <cm...@us...> - 2006-07-12 08:48:39
|
User: cmicali Date: 06/07/12 01:48:39 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/OptionsPages - New directory |
From: Chris M. <cm...@us...> - 2006-07-12 08:47:05
|
User: cmicali Date: 06/07/12 01:47:03 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Wizards/Support - New directory |
From: Chris M. <cm...@us...> - 2006-07-12 08:46:56
|
User: cmicali Date: 06/07/12 01:46:54 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Wizards - New directory |
From: Chris M. <cm...@us...> - 2006-07-11 13:45:41
|
User: cmicali Date: 06/07/11 06:45:40 Modified: etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn AddInSettings.cs AndroMDA.VS80AddIn.AddIn AndroMDA.VS80AddIn.csproj Resource1.Designer.cs Resource1.resx VS80AddIn.cs etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Commands CreateEntityVOConvertorCommand.cs PropertyMapperCommand.cs etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Dialogs AboutDialog.designer.cs AboutOptionsPage.designer.cs AboutOptionsPage.resx ExternalToolsOptionsPage.cs ExternalToolsOptionsPage.designer.cs ExternalToolsOptionsPage.resx GeneralOptionsPage.Designer.cs GeneralOptionsPage.cs GeneralOptionsPage.resx PropertyMapperDialog.Designer.cs PropertyMapperDialog.cs PropertyMapperDialog.resx ScrollableListView.cs etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Utils FileUtils.cs etc/andromda-dotnet/AndroMDA.VS80AddIn/Installer AndroMDA VS2005 Add-In Setup.exe Added: etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Dialogs SolutionExplorerOptionsPage.Designer.cs SolutionExplorerOptionsPage.cs SolutionExplorerOptionsPage.resx WelcomeWizard.Designer.cs WelcomeWizard.cs WelcomeWizard.resx etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Resources build.properties expand.gif expandall.gif issue.gif settings.xml etc/andromda-dotnet/AndroMDA.VS80AddIn/Graphics error.gif info.gif issue.gif link.gif link_broken.gif ok.gif property.gif property_link.gif warning.gif Removed: etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Dialogs AddInWelcome.Designer.cs AddInWelcome.cs AddInWelcome.resx Log: - Rearranged settings pages - New setup wizard - Sizable dialogs - New property mapper - New options Revision Changes Path 1.10 +31 -4 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/AddInSettings.cs Index: AddInSettings.cs =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/AddInSettings.cs,v retrieving revision 1.9 retrieving revision 1.10 diff -u -w -r1.9 -r1.10 --- AddInSettings.cs 7 Jul 2006 22:32:14 -0000 1.9 +++ AddInSettings.cs 11 Jul 2006 13:45:33 -0000 1.10 @@ -51,13 +51,12 @@ UMLModellerPath = "C:\\Program Files\\MagicDraw UML Community Edition\\bin\\mduml.exe"; PassSchemaExportArguments = true; SchemaExportCommandLine = "t t"; - Dialogs.AddInWelcome welcome = new Dialogs.AddInWelcome(); - welcome.ShowDialog(); } else if (AddInBuild < 8) { SchemaExportCommandLine = "t t"; } + } #endregion @@ -70,6 +69,12 @@ set { m_settings.SetBool("AMDAFirstRun", value); } } + public bool ShowWelcomeWizard + { + get { return m_settings.GetBool("AMDAShowWiz", true); } + set { m_settings.SetBool("AMDAShowWiz", value); } + } + public bool PromptToGenerateOnBuildIfFilesOutOfDate { get { return m_settings.GetBool("AMDABdPrmptO", true); } @@ -255,6 +260,28 @@ #endregion + #region Context menu settings + + public bool ShowPropertyMapper + { + get { return m_settings.GetBool("AMDAPrpMapE", true); } + set { m_settings.SetBool("AMDAPrpMapE", value); } + } + + public bool ShowInsertEntityConversion + { + get { return m_settings.GetBool("AMDAEntConS", true); } + set { m_settings.SetBool("AMDAEntConS", value); } + } + + public bool OnlyEnableCodeGenOnConversionMethods + { + get { return m_settings.GetBool("AMDACdeGenE", true); } + set { m_settings.SetBool("AMDACdeGenE", value); } + } + + #endregion + #region Helper methods public bool IsInIgnoreList(string fileToTest) 1.5 +5 -1 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn.AddIn Index: AndroMDA.VS80AddIn.AddIn =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn.AddIn,v retrieving revision 1.4 retrieving revision 1.5 diff -u -w -r1.4 -r1.5 --- AndroMDA.VS80AddIn.AddIn 7 Jul 2006 22:32:14 -0000 1.4 +++ AndroMDA.VS80AddIn.AddIn 11 Jul 2006 13:45:33 -0000 1.5 @@ -22,10 +22,14 @@ <Assembly>AndroMDA.VS80AddIn.dll</Assembly> <FullClassName>AndroMDA.VS80AddIn.Dialogs.GeneralOptionsPage</FullClassName> </SubCategory> - <SubCategory Name="External Tools"> + <SubCategory Name="Tools"> <Assembly>AndroMDA.VS80AddIn.dll</Assembly> <FullClassName>AndroMDA.VS80AddIn.Dialogs.ExternalToolsOptionsPage</FullClassName> </SubCategory> + <SubCategory Name="Solution Explorer"> + <Assembly>AndroMDA.VS80AddIn.dll</Assembly> + <FullClassName>AndroMDA.VS80AddIn.Dialogs.SolutionExplorerOptionsPage</FullClassName> + </SubCategory> </Category> </ToolsOptionsPage> 1.16 +26 -15 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn.csproj Index: AndroMDA.VS80AddIn.csproj =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn.csproj,v retrieving revision 1.15 retrieving revision 1.16 diff -u -w -r1.15 -r1.16 --- AndroMDA.VS80AddIn.csproj 7 Jul 2006 22:32:14 -0000 1.15 +++ AndroMDA.VS80AddIn.csproj 11 Jul 2006 13:45:33 -0000 1.16 @@ -79,12 +79,6 @@ <Compile Include="Dialogs\AboutOptionsPage.designer.cs"> <DependentUpon>AboutOptionsPage.cs</DependentUpon> </Compile> - <Compile Include="Dialogs\AddInWelcome.cs"> - <SubType>Form</SubType> - </Compile> - <Compile Include="Dialogs\AddInWelcome.Designer.cs"> - <DependentUpon>AddInWelcome.cs</DependentUpon> - </Compile> <Compile Include="Dialogs\GeneralOptionsPage.cs"> <SubType>UserControl</SubType> </Compile> @@ -119,6 +113,18 @@ <Compile Include="Dialogs\ScrollableListView.cs"> <SubType>Component</SubType> </Compile> + <Compile Include="Dialogs\SolutionExplorerOptionsPage.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Include="Dialogs\SolutionExplorerOptionsPage.Designer.cs"> + <DependentUpon>SolutionExplorerOptionsPage.cs</DependentUpon> + </Compile> + <Compile Include="Dialogs\WelcomeWizard.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Include="Dialogs\WelcomeWizard.Designer.cs"> + <DependentUpon>WelcomeWizard.cs</DependentUpon> + </Compile> <Compile Include="MavenProxy.cs" /> <Compile Include="MDAProject.cs" /> <Compile Include="MDASolutionManager.cs" /> @@ -241,10 +247,6 @@ <DependentUpon>AboutOptionsPage.cs</DependentUpon> <SubType>Designer</SubType> </EmbeddedResource> - <EmbeddedResource Include="Dialogs\AddInWelcome.resx"> - <SubType>Designer</SubType> - <DependentUpon>AddInWelcome.cs</DependentUpon> - </EmbeddedResource> <EmbeddedResource Include="Dialogs\GeneralOptionsPage.resx"> <SubType>Designer</SubType> <DependentUpon>GeneralOptionsPage.cs</DependentUpon> @@ -265,6 +267,14 @@ <SubType>Designer</SubType> <DependentUpon>PropertyMapperDialog.cs</DependentUpon> </EmbeddedResource> + <EmbeddedResource Include="Dialogs\SolutionExplorerOptionsPage.resx"> + <SubType>Designer</SubType> + <DependentUpon>SolutionExplorerOptionsPage.cs</DependentUpon> + </EmbeddedResource> + <EmbeddedResource Include="Dialogs\WelcomeWizard.resx"> + <SubType>Designer</SubType> + <DependentUpon>WelcomeWizard.cs</DependentUpon> + </EmbeddedResource> <EmbeddedResource Include="Resource1.resx"> <SubType>Designer</SubType> <Generator>ResXFileCodeGenerator</Generator> @@ -296,11 +306,15 @@ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> <Content Include="AddIn.ico" /> + <None Include="Resources\build.properties" /> <None Include="Resources\indicator_arrows.gif" /> - <None Include="Resources\arrow_right1.png" /> - <None Include="Resources\arrow_right.png" /> <None Include="Resources\link_add.png" /> + <None Include="Resources\expand.gif" /> + <None Include="Resources\expandall.gif" /> + <None Include="Resources\issue.gif" /> + <None Include="Resources\link_break.gif" /> <Content Include="Resources\mda\src\uml\empty.model.membership.xml" /> + <None Include="Resources\settings.xml" /> <None Include="Resources\rightbox.bmp" /> <None Include="Resources\orange.bmp" /> <None Include="Resources\Common\cvsignore" /> @@ -338,9 +352,6 @@ <None Include="Resources\Web\web.config.nhibernate" /> <None Include="Resources\Web\web.config.rolesection" /> </ItemGroup> - <ItemGroup> - <Folder Include="MavenProxy\" /> - </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" /> <PropertyGroup> <PreBuildEvent> 1.9 +56 -10 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Resource1.Designer.cs Index: Resource1.Designer.cs =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Resource1.Designer.cs,v retrieving revision 1.8 retrieving revision 1.9 diff -u -w -r1.8 -r1.9 --- Resource1.Designer.cs 7 Jul 2006 22:32:14 -0000 1.8 +++ Resource1.Designer.cs 11 Jul 2006 13:45:33 -0000 1.9 @@ -60,17 +60,12 @@ } } - internal static System.Drawing.Bitmap arrow_right { - get { - object obj = ResourceManager.GetObject("arrow_right", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap arrow_right1 { + /// <summary> + /// Looks up a localized string similar to maven.repo.remote=http://www.ibiblio.org/maven,http://team.andromda.org/maven. + /// </summary> + internal static string build_properties { get { - object obj = ResourceManager.GetObject("arrow_right1", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); + return ResourceManager.GetString("build_properties", resourceCulture); } } @@ -149,6 +144,20 @@ } } + internal static System.Drawing.Bitmap expand { + get { + object obj = ResourceManager.GetObject("expand", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap expandall { + get { + object obj = ResourceManager.GetObject("expandall", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + internal static System.Drawing.Bitmap indicator_arrows { get { object obj = ResourceManager.GetObject("indicator_arrows", resourceCulture); @@ -156,6 +165,13 @@ } } + internal static System.Drawing.Bitmap issue { + get { + object obj = ResourceManager.GetObject("issue", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + internal static byte[] lib_AndroMDA_NHibernateSupport_dll { get { object obj = ResourceManager.GetObject("lib_AndroMDA_NHibernateSupport_dll", resourceCulture); @@ -233,6 +249,13 @@ } } + internal static System.Drawing.Bitmap link_break { + get { + object obj = ResourceManager.GetObject("link_break", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// <summary> /// Looks up a localized string similar to <project default="mda" /// xmlns:ant="jelly:ant" @@ -665,6 +688,29 @@ } /// <summary> + /// Looks up a localized string similar to <settings> + /// <profiles> + /// <profile> + /// <id>andromda</id> + /// <repositories> + /// <repository> + /// <id>andromda</id> + /// <name>AndroMDA</name> + /// <url>http://galaxy.andromda.org/maven2</url> + /// <layout>default</layout> + /// <snapshots> + /// <enabled>false</enabled> + /// </snapshots> + /// </repository> + /// <repo [rest of string was truncated]";. + /// </summary> + internal static string settings_xml { + get { + return ResourceManager.GetString("settings_xml", resourceCulture); + } + } + + /// <summary> /// Looks up a localized string similar to *.dll ///*.pdb. /// </summary> 1.9 +35 -23 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Resource1.resx Index: Resource1.resx =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Resource1.resx,v retrieving revision 1.8 retrieving revision 1.9 diff -u -w -r1.8 -r1.9 --- Resource1.resx 7 Jul 2006 22:32:14 -0000 1.8 +++ Resource1.resx 11 Jul 2006 13:45:33 -0000 1.9 @@ -118,6 +118,9 @@ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader> <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> + <data name="build_properties" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>Resources\build.properties;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value> + </data> <data name="web_web_config" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>Resources\Web\web.config;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value> </data> @@ -151,29 +154,23 @@ <data name="lib_Castle_DynamicProxy_dll" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>Resources\Lib\Castle.DynamicProxy.dll;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> - <data name="maven_xml" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>Resources\maven.xml;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value> + <data name="lib_log4net_dll" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>Resources\Lib\log4net.dll;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="orange" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>Resources\orange.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> - <data name="indicator_arrows" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>Resources\indicator_arrows.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> - </data> <data name="Membership_UserDaoImpl_cs" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>Resources\Membership\UserDaoImpl.cs;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value> </data> - <data name="arrow_right1" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>Resources\arrow_right1.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> - </data> - <data name="web_web_config_rolesection" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>Resources\Web\web.config.rolesection;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value> + <data name="expand" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>Resources\expand.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="mda_conf_andromda_xml" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>Resources\mda\conf\andromda.xml;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value> </data> - <data name="Membership_DomainRoleProvider_cs" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>Resources\Membership\DomainRoleProvider.cs;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value> + <data name="settings_xml" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>Resources\settings.xml;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value> </data> <data name="web_cvsignore" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>Resources\Web\cvsignore;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> @@ -190,8 +187,8 @@ <data name="lib_Iesi_Collections_dll" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>Resources\Lib\Iesi.Collections.dll;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> - <data name="lib_log4net_dll" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>Resources\Lib\log4net.dll;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name="link_add" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>Resources\link_add.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="lib_AndroMDA_NHibernateSupport_dll" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>Resources\Lib\AndroMDA.NHibernateSupport.dll;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> @@ -214,24 +211,39 @@ <data name="common_cvsignore" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>Resources\Common\cvsignore;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> + <data name="issue" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>Resources\issue.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="expandall" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>Resources\expandall.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> <data name="web_web_config_membershipsection" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>Resources\Web\web.config.membershipsection;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value> </data> <data name="mda_src_uml_empty_model_membership_xml" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>Resources\mda\src\uml\empty.model.membership.xml;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value> </data> - <data name="web_bin_cvsignore" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>Resources\Web\Bin\cvsignore;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name="maven_xml" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>Resources\maven.xml;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value> </data> <data name="core_project_xml" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>Resources\Core\project.xml;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value> </data> + <data name="lib_HashCodeProvider_dll" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>Resources\Lib\HashCodeProvider.dll;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> <data name="mda_maven_xml" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>Resources\mda\maven.xml;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value> </data> <data name="common_project_xml" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>Resources\Common\project.xml;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value> </data> + <data name="web_web_config_rolesection" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>Resources\Web\web.config.rolesection;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value> + </data> + <data name="web_bin_cvsignore" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>Resources\Web\Bin\cvsignore;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> <data name="rightbox" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>Resources\rightbox.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> @@ -241,19 +253,19 @@ <data name="lib_NHibernate_dll" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>Resources\Lib\NHibernate.dll;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> - <data name="arrow_right" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>Resources\arrow_right.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> - </data> - <data name="lib_HashCodeProvider_dll" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>Resources\Lib\HashCodeProvider.dll;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <data name="indicator_arrows" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>Resources\indicator_arrows.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="web_web_config_nhibernate" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>Resources\Web\web.config.nhibernate;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> + <data name="Membership_DomainRoleProvider_cs" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>Resources\Membership\DomainRoleProvider.cs;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value> + </data> <data name="mda_project_xml" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>Resources\mda\project.xml;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value> </data> - <data name="link_add" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>Resources\link_add.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + <data name="link_break" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>Resources\link_break.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> </root> \ No newline at end of file 1.12 +8 -0 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/VS80AddIn.cs Index: VS80AddIn.cs =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/VS80AddIn.cs,v retrieving revision 1.11 retrieving revision 1.12 diff -u -w -r1.11 -r1.12 --- VS80AddIn.cs 7 Jul 2006 22:32:14 -0000 1.11 +++ VS80AddIn.cs 11 Jul 2006 13:45:33 -0000 1.12 @@ -128,6 +128,14 @@ foreach (string sw in new string[] { "/build", "/rebuild", "/clean", "/deploy" }) { if (command_line.IndexOf(sw) != -1) return; } m_addInSettings = new AddInSettings(m_applicationObject); + + if (m_addInSettings.ShowWelcomeWizard) + { + Dialogs.WelcomeWizard welcome = new Dialogs.WelcomeWizard(m_addInSettings); + welcome.ShowDialog(); + m_addInSettings.ShowWelcomeWizard = welcome.ShowWizardAgain; + } + m_solutionManager = new MDASolutionManager(m_applicationObject, m_addInSettings); BindEvents(); CreateCommands(); 1.4 +3 -2 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Commands/CreateEntityVOConvertorCommand.cs Index: CreateEntityVOConvertorCommand.cs =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Commands/CreateEntityVOConvertorCommand.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -u -w -r1.3 -r1.4 --- CreateEntityVOConvertorCommand.cs 7 Jul 2006 22:32:15 -0000 1.3 +++ CreateEntityVOConvertorCommand.cs 11 Jul 2006 13:45:34 -0000 1.4 @@ -138,7 +138,7 @@ public override void QueryStatus(string commandName, vsCommandStatusTextWanted neededText, ref vsCommandStatus status, ref object commandText) { - if (m_solutionManager.IsEnabled && m_application.ActiveDocument != null && m_application.ActiveDocument.Name.Contains("DaoImpl")) + if (m_solutionManager.IsEnabled && m_addInSettings.ShowInsertEntityConversion && m_application.ActiveDocument != null && m_application.ActiveDocument.Name.Contains("DaoImpl")) { status = (vsCommandStatus)vsCommandStatus.vsCommandStatusSupported; if (IsCommandAvailable(false)) @@ -170,7 +170,8 @@ // The return type does not equal the parameter type currentMethod.Parameters.Item(1).FullName != currentMethod.Type.AsFullName && // And it's name is either ends with ToEntity or begins with To - (currentMethod.Name.EndsWith("ToEntity") || currentMethod.Name.StartsWith("To")) + ((currentMethod.Name.EndsWith("ToEntity") || currentMethod.Name.StartsWith("To")) + || !m_addInSettings.OnlyEnableCodeGenOnConversionMethods) ) { if (!fullCheck) return true; 1.2 +4 -3 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Commands/PropertyMapperCommand.cs Index: PropertyMapperCommand.cs =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Commands/PropertyMapperCommand.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- PropertyMapperCommand.cs 7 Jul 2006 22:32:15 -0000 1.1 +++ PropertyMapperCommand.cs 11 Jul 2006 13:45:34 -0000 1.2 @@ -22,7 +22,7 @@ public PropertyMapperCommand() { - Init("PropertyMapper", "Run Property Mapper", "Run the property mapper", 240, VisibilityType.AlwaysEnabled); + Init("PropertyMapper", "Run Property Mapper", "Run the property mapper", 450, VisibilityType.AlwaysEnabled); m_isStartOfGroup = true; m_autoAddToCodeContextMenu = true; m_autoAddToToolbar = false; @@ -49,7 +49,7 @@ public override void QueryStatus(string commandName, vsCommandStatusTextWanted neededText, ref vsCommandStatus status, ref object commandText) { - if (m_solutionManager.IsEnabled && m_application.ActiveDocument != null && m_application.ActiveDocument.Name.Contains("DaoImpl")) + if (m_solutionManager.IsEnabled && m_addInSettings.ShowPropertyMapper && m_application.ActiveDocument != null && m_application.ActiveDocument.Name.Contains("DaoImpl")) { status = (vsCommandStatus)vsCommandStatus.vsCommandStatusSupported; if (IsCommandAvailable(false)) @@ -81,7 +81,8 @@ // The return type does not equal the parameter type currentMethod.Parameters.Item(1).FullName != currentMethod.Type.AsFullName && // And it's name is either ends with ToEntity or begins with To - (currentMethod.Name.EndsWith("ToEntity") || currentMethod.Name.StartsWith("To")) + ((currentMethod.Name.EndsWith("ToEntity") || currentMethod.Name.StartsWith("To")) + || !m_addInSettings.OnlyEnableCodeGenOnConversionMethods) ) { if (!fullCheck) return true; 1.5 +56 -42 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Dialogs/AboutDialog.designer.cs Index: AboutDialog.designer.cs =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Dialogs/AboutDialog.designer.cs,v retrieving revision 1.4 retrieving revision 1.5 diff -u -w -r1.4 -r1.5 --- AboutDialog.designer.cs 4 Jun 2006 02:06:01 -0000 1.4 +++ AboutDialog.designer.cs 11 Jul 2006 13:45:34 -0000 1.5 @@ -29,13 +29,16 @@ private void InitializeComponent() { this.button1 = new System.Windows.Forms.Button(); + this.panel1 = new System.Windows.Forms.Panel(); this.aboutOptionsPage1 = new AndroMDA.VS80AddIn.Dialogs.AboutOptionsPage(); + this.panel1.SuspendLayout(); this.SuspendLayout(); // // button1 // + this.button1.Anchor = System.Windows.Forms.AnchorStyles.Bottom; this.button1.BackColor = System.Drawing.SystemColors.Control; - this.button1.Location = new System.Drawing.Point(155, 347); + this.button1.Location = new System.Drawing.Point(155, 8); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(84, 25); this.button1.TabIndex = 2; @@ -43,14 +46,23 @@ this.button1.UseVisualStyleBackColor = false; this.button1.Click += new System.EventHandler(this.button1_Click); // + // panel1 + // + this.panel1.Controls.Add(this.button1); + this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom; + this.panel1.Location = new System.Drawing.Point(0, 341); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(394, 40); + this.panel1.TabIndex = 3; + // // aboutOptionsPage1 // - this.aboutOptionsPage1.Dock = System.Windows.Forms.DockStyle.Top; + this.aboutOptionsPage1.Dock = System.Windows.Forms.DockStyle.Fill; this.aboutOptionsPage1.Location = new System.Drawing.Point(0, 0); this.aboutOptionsPage1.Name = "aboutOptionsPage1"; this.aboutOptionsPage1.Size = new System.Drawing.Size(394, 341); this.aboutOptionsPage1.SolutionManager = null; - this.aboutOptionsPage1.TabIndex = 1; + this.aboutOptionsPage1.TabIndex = 4; // // AboutDialog // @@ -59,21 +71,23 @@ this.BackColor = System.Drawing.SystemColors.Control; this.ClientSize = new System.Drawing.Size(394, 381); this.ControlBox = false; - this.Controls.Add(this.button1); this.Controls.Add(this.aboutOptionsPage1); + this.Controls.Add(this.panel1); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; this.Name = "AboutDialog"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.Text = "About AndroMDA Add-In"; this.Shown += new System.EventHandler(this.AboutDialog_Shown); this.Load += new System.EventHandler(this.AboutDialog_Load); + this.panel1.ResumeLayout(false); this.ResumeLayout(false); } #endregion - private AboutOptionsPage aboutOptionsPage1; private System.Windows.Forms.Button button1; + private System.Windows.Forms.Panel panel1; + private AboutOptionsPage aboutOptionsPage1; } } \ No newline at end of file 1.8 +287 -279 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Dialogs/AboutOptionsPage.designer.cs Index: AboutOptionsPage.designer.cs =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Dialogs/AboutOptionsPage.designer.cs,v retrieving revision 1.7 retrieving revision 1.8 diff -u -w -r1.7 -r1.8 --- AboutOptionsPage.designer.cs 15 Jun 2006 03:29:32 -0000 1.7 +++ AboutOptionsPage.designer.cs 11 Jul 2006 13:45:34 -0000 1.8 @@ -89,6 +89,7 @@ // pictureBox1 // this.pictureBox1.BackColor = System.Drawing.Color.Black; + this.pictureBox1.Dock = System.Windows.Forms.DockStyle.Top; this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image"))); this.pictureBox1.Location = new System.Drawing.Point(0, 0); this.pictureBox1.Name = "pictureBox1"; @@ -111,11 +112,15 @@ // // tabControl1 // + this.tabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tabControl1.Appearance = System.Windows.Forms.TabAppearance.FlatButtons; this.tabControl1.Controls.Add(this.tabPage1); this.tabControl1.Controls.Add(this.tabPage3); this.tabControl1.Controls.Add(this.tabPage2); this.tabControl1.ImageList = this.imageList1; - this.tabControl1.Location = new System.Drawing.Point(0, 99); + this.tabControl1.Location = new System.Drawing.Point(0, 101); this.tabControl1.Name = "tabControl1"; this.tabControl1.SelectedIndex = 0; this.tabControl1.Size = new System.Drawing.Size(395, 239); @@ -126,10 +131,10 @@ // this.tabPage1.Controls.Add(this.listViewStatus); this.tabPage1.ImageIndex = 2; - this.tabPage1.Location = new System.Drawing.Point(4, 23); + this.tabPage1.Location = new System.Drawing.Point(4, 26); this.tabPage1.Name = "tabPage1"; this.tabPage1.Padding = new System.Windows.Forms.Padding(3); - this.tabPage1.Size = new System.Drawing.Size(387, 212); + this.tabPage1.Size = new System.Drawing.Size(387, 209); this.tabPage1.TabIndex = 0; this.tabPage1.Text = "Status"; this.tabPage1.UseVisualStyleBackColor = true; @@ -139,13 +144,14 @@ this.listViewStatus.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { this.columnHeader3, this.columnHeader4}); + this.listViewStatus.Dock = System.Windows.Forms.DockStyle.Fill; this.listViewStatus.FullRowSelect = true; this.listViewStatus.GridLines = true; this.listViewStatus.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None; - this.listViewStatus.Location = new System.Drawing.Point(1, 3); + this.listViewStatus.Location = new System.Drawing.Point(3, 3); this.listViewStatus.MultiSelect = false; this.listViewStatus.Name = "listViewStatus"; - this.listViewStatus.Size = new System.Drawing.Size(385, 208); + this.listViewStatus.Size = new System.Drawing.Size(381, 203); this.listViewStatus.TabIndex = 7; this.listViewStatus.UseCompatibleStateImageBehavior = false; this.listViewStatus.View = System.Windows.Forms.View.Details; @@ -158,17 +164,17 @@ // columnHeader4 // this.columnHeader4.Text = "Value"; - this.columnHeader4.Width = 224; + this.columnHeader4.Width = 199; // // tabPage3 // this.tabPage3.Controls.Add(this.pnlGenerating); this.tabPage3.Controls.Add(this.listViewStatistics); this.tabPage3.ImageIndex = 0; - this.tabPage3.Location = new System.Drawing.Point(4, 23); + this.tabPage3.Location = new System.Drawing.Point(4, 26); this.tabPage3.Name = "tabPage3"; this.tabPage3.Padding = new System.Windows.Forms.Padding(3); - this.tabPage3.Size = new System.Drawing.Size(387, 212); + this.tabPage3.Size = new System.Drawing.Size(387, 209); this.tabPage3.TabIndex = 2; this.tabPage3.Text = "Statistics"; this.tabPage3.UseVisualStyleBackColor = true; @@ -179,13 +185,15 @@ this.pnlGenerating.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; this.pnlGenerating.Controls.Add(this.label3); this.pnlGenerating.Controls.Add(this.pictureBox2); - this.pnlGenerating.Location = new System.Drawing.Point(1, 3); + this.pnlGenerating.Dock = System.Windows.Forms.DockStyle.Fill; + this.pnlGenerating.Location = new System.Drawing.Point(3, 3); this.pnlGenerating.Name = "pnlGenerating"; - this.pnlGenerating.Size = new System.Drawing.Size(385, 208); + this.pnlGenerating.Size = new System.Drawing.Size(381, 203); this.pnlGenerating.TabIndex = 7; // // label3 // + this.label3.Anchor = System.Windows.Forms.AnchorStyles.Top; this.label3.AutoSize = true; this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.label3.Location = new System.Drawing.Point(121, 127); @@ -196,14 +204,12 @@ // // pictureBox2 // - this.pictureBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); + this.pictureBox2.Anchor = System.Windows.Forms.AnchorStyles.Top; this.pictureBox2.BackColor = System.Drawing.Color.White; this.pictureBox2.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox2.Image"))); this.pictureBox2.Location = new System.Drawing.Point(147, 41); this.pictureBox2.Name = "pictureBox2"; - this.pictureBox2.Size = new System.Drawing.Size(87, 81); + this.pictureBox2.Size = new System.Drawing.Size(83, 76); this.pictureBox2.TabIndex = 8; this.pictureBox2.TabStop = false; // @@ -212,6 +218,7 @@ this.listViewStatistics.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { this.columnHeader1, this.columnHeader2}); + this.listViewStatistics.Dock = System.Windows.Forms.DockStyle.Fill; this.listViewStatistics.FullRowSelect = true; this.listViewStatistics.GridLines = true; listViewGroup1.Header = "Code Statistics"; @@ -222,10 +229,10 @@ listViewGroup1, listViewGroup2}); this.listViewStatistics.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None; - this.listViewStatistics.Location = new System.Drawing.Point(1, 3); + this.listViewStatistics.Location = new System.Drawing.Point(3, 3); this.listViewStatistics.MultiSelect = false; this.listViewStatistics.Name = "listViewStatistics"; - this.listViewStatistics.Size = new System.Drawing.Size(385, 208); + this.listViewStatistics.Size = new System.Drawing.Size(381, 203); this.listViewStatistics.TabIndex = 6; this.listViewStatistics.UseCompatibleStateImageBehavior = false; this.listViewStatistics.View = System.Windows.Forms.View.Details; @@ -244,10 +251,10 @@ // this.tabPage2.Controls.Add(this.panel1); this.tabPage2.ImageIndex = 1; - this.tabPage2.Location = new System.Drawing.Point(4, 23); + this.tabPage2.Location = new System.Drawing.Point(4, 26); this.tabPage2.Name = "tabPage2"; this.tabPage2.Padding = new System.Windows.Forms.Padding(3); - this.tabPage2.Size = new System.Drawing.Size(387, 212); + this.tabPage2.Size = new System.Drawing.Size(387, 209); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "About"; this.tabPage2.UseVisualStyleBackColor = true; @@ -258,9 +265,10 @@ this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; this.panel1.Controls.Add(this.label8); this.panel1.Controls.Add(this.linkLabel2); - this.panel1.Location = new System.Drawing.Point(1, 3); + this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel1.Location = new System.Drawing.Point(3, 3); this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(385, 208); + this.panel1.Size = new System.Drawing.Size(381, 203); this.panel1.TabIndex = 5; // // label8 1.6 +65 -65 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Dialogs/AboutOptionsPage.resx Index: AboutOptionsPage.resx =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Dialogs/AboutOptionsPage.resx,v retrieving revision 1.5 retrieving revision 1.6 diff -u -w -r1.5 -r1.6 --- AboutOptionsPage.resx 15 Jun 2006 03:29:32 -0000 1.5 +++ AboutOptionsPage.resx 11 Jul 2006 13:45:34 -0000 1.6 @@ -936,82 +936,82 @@ <value> AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACK + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACI EQAAAk1TRnQBSQFMAgEBAwEAAQQBAAEEAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA - AwABEAMAAQEBAAEgBgABEBoAAYECEAH/AW0CEAH/AW0CEAH/AW0CEAH/AW0CEAH/AW0CEAH/AW0CEAH/ - AW0CEAH/AW0CEAH/AW0CEAH/AW0CEAH/AW4CEAH/AbcCEAH/EAABBwIBAQcBHgIBASgBPgIBAWcBTwIC - AZkBVgICAa0BVQICAa4BUgICAaIBRAIBAXcBJwIBATgBDAIBAQ4BAgMBDAABBwIBAQgBTwICAZkBZAIK + AwABEAMAAQEBAAEgBgABEBoAAYECEgH/AW8CEgH/AW8CEgH/AW8CEgH/AW8CEgH/AW8CEgH/AW8CEgH/ + AW8CEgH/AW8CEgH/AW8CEgH/AW8CEgH/AXACEgH/AbcCEgH/EAABBwIBAQcBHgIBASgBPgIBAWcBTwIC + AZkBVgICAa0BVQICAa4BUgICAaIBRAIBAXcBJwIBATgBDAIBAQ4BAgMBDAABBwIBAQgBTwICAZkBZAIH AeQBWwICAb0BSwICAYwBPAIBAWQBJQIBATUBHAIBASYBRQIBAXsBVgICAa8BUgICAaUBQwIBAXMBGgIB ASIBAgMBTAAB7AHaAdMC/wHoAdYC/wHmAdIC/wHlAc4C/wHiAcoC/wHhAcYC/wHgAcMC/wHdAb8C/wHc - AbsC/wHaAbgC/wHZAbMB/wGLAWYBYgH/AbMCEAH/DAABCgIBAQwBMwIBAU8BvgGTAYsB/AH0AegB4wH/ + AbsC/wHaAbgC/wHZAbMB/wGLAWgBZAH/AbMCEgH/DAABCgIBAQwBMwIBAU8BugGLAYMB/AH0AegB4wH/ AvQB8wH/AfAB8gHzAf8B8QHyAfMB/wH0Ae0B6QH/Ae4B2wHQAf8BYgIDAdQBQQIBAXABFAIBARkBAgMB - CAABXgIDAcUD1AP/AfkD/wH7Av8B+wH2Af8BywG3AaMB/wF0ASQBHgHzAbYCYQH9Af8CxgL/AtoC/wLp + CAABXgIDAcUD1AP/AfkD/wH7Av8B+wH2Af8BywG3AaMB/wF0AR0BHAHzAbYCXQH9Af8CxgL/AtoC/wLp Af8ByAKpAf8BVwICAbYBKQIBATwBAgMBSAAB4gHZAdIC/wHqAdUC/wHoAc8C/wHlAcoC/wHiAcQC/wHe - Ab8C/wHdAboC/wHaAbUC/wHYAbEC/wHWAasC/wHUAaMB/wGJAWQBaAH/AbMCEAH/CAABCQIBAQoBRQIB - AXkB9QHrAeUB/wHwAfEB8gH/AeQB3QHbAf8BvgGLAYEB/wHCAYEBYgH/AcwBjwGBAf8B3wHOAcQB/wHt - AfAB8gH/AfYC9AH/AY4BSQFGAfgBRgIBAX0BEgIBARYBAgMBBAADtwH/AcECwgL/AfYB7gH/AUkBrAFC + Ab8C/wHdAboC/wHaAbUC/wHYAbEC/wHWAasC/wHUAaMB/wGJAWYBagH/AbMCEgH/CAABCQIBAQoBRQIB + AXkB9QHrAeUB/wHwAfEB8gH/AeQB3QHbAf8BvgGLAYEB/wHCAYEBZAH/AcwBjwGBAf8B3wHOAcQB/wHt + AfAB8gH/AfYC9AH/AYoBQgE+AfgBRgIBAX0BEgIBARYBAgMBBAADtwH/AcECwgL/AfYB7gH/AUsBrAFE Af8BsAHZAaUB/wHvAcYBjQH/AccCgQL/AqEC/wKyAv8CxAL/AtQC/wL+Af8B8QLqAf8BVwICAbEBGAIB AR9IAAHkAd0B1gL/Ae0B2wL/AeoB1gL/AegB0QL/AeoBxwH/AcEBugHSAv8B5wG+Av8B3gG7Av8B2wG2 - Av8B2AGxAv8B1wGpAf8BiwFmAWkB/wGzAhAB/wgAATACAQFKAfcB8QHtAf8B8AH0AfUB/wHIAYEBbQH/ - Ab8BawE6Af8BwgF2AUgB/wHsAe4B7wH/AdIBiAFzAf8BwAFuAT0B/wG9AXABQgH/AeoB6QHoAf8B9QH2 - AfcB/wF2ARkBGAHxATsCAQFgAQgCAQEJBAADvwH/AtkB2gL/Ae4B3wH/ARcBsAEoAf8BIAGtASsB/wFO - AYEBOQL/ArUC/wKeAv8CoAL/AbEBsAL/AcUBwwn/AbEChQH+AUACAQFtSAAB5gHgAdsC/wHzAeYC/wHz - AeYC/wHuAb4B/wE0AVAB7wH/ARABQwL/AXABfwHgAv8B3gG9Av8B3gG9Av8B3gG9Av8B3gG9Af8BjgFp - AWoB/wGzAhAB/wgAAfEB3gHTAf8B9AL2Af8BxAF+AVMB/wHFAXMBQgH/AcsBdgFDAf8BwAF/AVcB/wH+ - A/8B2QGoAY8B/wHKAXUBQwH/AccBcwFBAf8BvAFoATYB/wHuAe8B8AH/AfYB7gHqAf8BWAICAboBHAIB - ASUEAAPLAf8B2wLcAv8B5gHOAf8BNAHMAVQB/wEtAb4BQQH/AaYBiAGBAv8CwwL/ArAC/wHRAdkB/wH4 - AbEBzAL/AecG/wH9AfwB/QH/AfwC+wH/AVMCAgGkSAAB6QHjAd8C/wHmAckB/wGQAY8ByQH/ARABOAL/ - ARABOQL/ASEBUAL/ARABOgL/AfkB3AGsAv8B3gG9Av8B3gG9Av8B3AG0Af8BjgFqAWsB/wGzAhAB/wQA - ATECAQFLAfkB+gH5Af8B4QHBAbEB/wHGAXMBQgH/AcwBdwFFAf8BzAF3AUQB/wHMAXYBQgH/AcoBcAE7 - Af8BywFzAT8B/wHMAXYBQwH/AcsBdgFEAf8BxwF0AUIB/wHGAYEBXQH/AfMC9QH/AbkBigF/AfwBNAIB - AVIEAAPPAf8B3wHgAeIC/wHdAbwB/wFSAeoBgQH/AT8B0wFcAf8BywGcAZ8C/wLNAv8CwwL/AfQB/AH/ + Av8B2AGxAv8B1wGpAf8BiwFoAWsB/wGzAhIB/wgAATACAQFKAfcB8QHtAf8B8AH0AfUB/wHIAYEBbwH/ + Ab8BbQE8Af8BwgF4AUoB/wHsAe4B7wH/AdIBiAF1Af8BwAFwAT8B/wG9AXIBRAH/AeoB6QHoAf8B9QH2 + AfcB/wF2ARcBFgHxATsCAQFgAQgCAQEJBAADvwH/AtkB2gL/Ae4B3wH/ARkBsAEqAf8BIgGtAS0B/wFQ + AYEBOwL/ArUC/wKeAv8CoAL/AbEBsAL/AcUBwwn/Aa8CgQH+AUACAQFtSAAB5gHgAdsC/wHzAeYC/wHz + AeYC/wHuAb4B/wE2AVIB7wH/ARIBRQL/AXIBgQHgAv8B3gG9Av8B3gG9Av8B3gG9Av8B3gG9Af8BjgFr + AWwB/wGzAhIB/wgAAfEB3gHTAf8B9AL2Af8BxAGAAVUB/wHFAXUBRAH/AcsBeAFFAf8BwAGBAVkB/wH+ + A/8B2QGoAY8B/wHKAXcBRQH/AccBdQFDAf8BvAFqATgB/wHuAe8B8AH/AfYB7gHqAf8BWAICAboBHAIB + ASUEAAPLAf8B2wLcAv8B5gHOAf8BNgHMAVYB/wEvAb4BQwH/AaYBiAGBAv8CwwL/ArAC/wHRAdkB/wH4 + AbEBzAL/AecG/wH9AfwB/QH/AfwC+wH/AVMCAgGkSAAB6QHjAd8C/wHmAckB/wGQAY8ByQH/ARIBOgL/ + ARIBOwL/ASMBUgL/ARIBPAL/AfkB3AGsAv8B3gG9Av8B3gG9Av8B3AG0Af8BjgFsAW0B/wGzAhIB/wQA + ATECAQFLAfkB+gH5Af8B4QHBAbEB/wHGAXUBRAH/AcwBeQFHAf8BzAF5AUYB/wHMAXgBRAH/AcoBcgE9 + Af8BywF1AUEB/wHMAXgBRQH/AcsBeAFGAf8BxwF2AUQB/wHGAYEBXwH/AfMC9QH/AbUBggF7AfwBNAIB + AVIEAAPPAf8B3wHgAeIC/wHdAbwB/wFUAeoBgQH/AUEB0wFeAf8BywGcAZ8C/wLNAv8CwwL/AfQB/AH/ AaICzAH/Aa0BggGBAf8B9wHzAfIB/wHrAeIB3wH/AfAB6QHlAf8BWgIDAcJIAAHrAeYB4wL/AeUByQH/ - AWUBgAHzAf8BNAFaAv8B/AHkAbkC/wHpAbIB/wEQATcC/wEsAU8B8wL/AdwBrAL/AdUBrAL/Ad4BuQH/ - AY8BawFtAf8BswIQAf8EAAFqAggB4QH6Af0B/gH/AcYBdgFGAf8BzQF4AUYB/wHNAXgBRQH/AcwBdgFD - Af8BxwF3AUcF/wHaAZEBewH/AcwBdgFDAf8BzAF3AUQB/wHLAXYBRAH/AcEBbAE4Af8D8QH/AfIB3wHV - Af8BRAIBAXcEAAPSAf8B4wHmAegC/wHXAaoB/wFNAcIB4AH/AVkBswL/AZ0BgQGOAv8CygL/AtYC/wH1 + AWcBgQHzAf8BNgFcAv8B/AHkAbkC/wHpAbIB/wESATkC/wEuAVEB8wL/AdwBrAL/AdUBrAL/Ad4BuQH/ + AY8BbQFvAf8BswISAf8EAAFqAgUB4QH6Af0B/gH/AcYBeAFIAf8BzQF6AUgB/wHNAXoBRwH/AcwBeAFF + Af8BxwF5AUkF/wHaAZEBfQH/AcwBeAFFAf8BzAF5AUYB/wHLAXgBRgH/AcEBbgE6Af8D8QH/AfIB3wHV + Af8BRAIBAXcEAAPSAf8B4wHmAegC/wHXAaoB/wFPAcIB4AH/AVsBswL/AZ0BgQGOAv8CygL/AtYC/wH1 Av8BywGhAZ4B/wHdAZQBmAL/AcUBxgL/ArIC/wLKAf8BWwICAb1IAAHtAeoB5wL/AecBzgL/AeQBwgL/ - AeMBvgL/Ad4BvQL/AdwBugH/AqUB2QH/ARABQAL/AcYBswG8Av8B1wGvAv8B4QG+Af8BkwFtAW8B/wGz - AhAB/wQAAdABswGsAv4D/wHKAXUBQgH/AdABewFIAf8BzAF2AUMB/wHMAXYBQwH/AcwBcwE/Af8B5AHq - AewB/wH6AfEB7AH/AcoBcAE8Af8BzAF2AUMB/wHNAXgBRQH/AcgBdAFCAf8B6wHbAdMB/wH1AekB4wH/ - AUgCAgGCBAAB1wHTAcsB/wHyAbgBcgL/Ac8BnAH/AbABuwHFAf8BgQG2AeMB/wFRAWIBow7/AcsB6AL/ + AeMBvgL/Ad4BvQL/AdwBugH/AqUB2QH/ARIBQgL/AcYBswG8Av8B1wGvAv8B4QG+Af8BkwFvAXEB/wGz + AhIB/wQAAcwBrwGoAv4D/wHKAXcBRAH/AdABfQFKAf8BzAF4AUUB/wHMAXgBRQH/AcwBdQFBAf8B5AHq + AewB/wH6AfEB7AH/AcoBcgE+Af8BzAF4AUUB/wHNAXoBRwH/AcgBdgFEAf8B6wHbAdMB/wH1AekB4wH/ + AUgCAgGCBAAB1wHTAcsB/wHyAbgBdAL/Ac8BnAH/AbABuwHFAf8BgQG2AeMB/wFTAWQBow7/AcsB6AL/ AckB2AL/ApwC/wKgAf8B/QKyAf8BQwIBAXVIAAHvAe0B6wL/AegB0QL/AeEBwwL/AeABwAL/Ad8BvgL/ - Ad0BuwL/AeUBtQH/ARsBRQL/ARABNwP/Ad4BvQL/AeQBxAH/AZQBbwFxAf8BswIQAf8EAAHwAdwB0QX/ - AdIBfAFJAf8B0wF+AUsB/wHMAXYBQwH/AcwBdgFDAf8BzAF2AUMB/wHFAXgBSQH/AfYB+QH7Af8B+wHx - Ae0B/wHLAXIBPQH/Ac8BeQFHAf8BzAF4AUYB/wHuAdsB0gH/AfcB7AHlAf8BRgIBAXwEAAHbAcEBnQH/ - AeIBqAFvAv8BxwGKAv8ByQGPAv8ByQGOAv8ByQGQAf8BvgGgAaQG/wL+Av8CzwL/AsMC/wKxAv8CngH/ - AbkCXgH9ARUCAQEbSAAB8gLxAv8B5wHRAv8B4AHAAv8B3wG/Av8B3QG8Av8B3AG6Av8B2wG4Af8B7QHW - Ab8B/wEQAT0C/wFwAXsB2wL/AeYByQH/AZgBcQFzAf8BswIQAf8EAAGKAT0BOwH1BP8B3wGBAVYB/wHb - AYEBVAH/Ac4BeAFFAf8BywFxATwB/wHLAXQBQAH/AcwBdgFDAf8BxAGBAVwF/wHcAZQBgAH/AdIBfQFL - Af8BzwF5AUYB/wH7AfUB8wH/AfUB5AHcAf8BOgIBAV8EAAHbAccBsgH/A9kC/wG6AXEC/wG7AXQC/wG8 - AXcC/wG9AXkB/wH5AboBdgH/AcUBqwGtAv8C9wL/AuEC/wLQAv8CxgH/AdICjwH/AR8CAQEqAQIDAUgA - AfQC8wL/AeIBxgL/AdcBsQL/AdcBsAL/AdYBrwL/AdYBrQL/AdYBrAL/AdcBqQH/AVYBcgHzAf8B/AHd - AaUC/wHpAc8B/wGaAXEBcwH/AbMCEAH/BAABSAICAYAE/wH7AckBrgH/Ae4BigFnAf8B0gGBAVgB/wHx - AfYB+QH/AesBwgGuAf8BywFzAT8B/wHKAYABUwX/Ad8BpQGJAf8B3AGBAVUB/wHYAYEBVAX/Ac4BsQGq - Af4BIwIBATEEAAPRAf8BxwHKAc0B/wH+Aa0BRgH/AfMB8QHvAf8B8gHWAaoB/wH0Ab8BfgH/AfoBrgFO - Av8BqAEvAf8ByAGBAUoB/wG+AZEBhQH/AbICcQH9AVsCAgG4ARQCAQEZUAAC9gH1Av8B4QHCAv8B1gGs - Av8B1QGrAv8B1QGrAv8B1AGpAv8B1AGpAv8B0wGoAv8B1QGmAv8B0QGkAv8B7QHWAf8BnAFvAXAB/wGz - AhAB/wgAAfYB6AHgBv8BowF+Af8B+gGVAXEB/wHNAcYBwwX/AfwB9QHxBf8B9gH7Af0B/wHmAYMBYgH/ - AesBgwFfAf8B/QH1Ae4B/wH+AvwB/wFNAgIBkwEMAgEBDgQAA+gB/wHqAusB/wHNAbQBtQH/AecC3AH/ - AfUC9wH/Ae8C8QH/AeoB7AHtAf8B4QHkAeYB/wHbAd8B5QH/AdYB2AHaAf8BtwGoAaEB/gFrAhAB6QEX + Ad0BuwL/AeUBtQH/AR0BRwL/ARIBOQP/Ad4BvQL/AeQBxAH/AZQBcQFzAf8BswISAf8EAAHwAdwB0QX/ + AdIBfgFLAf8B0wGAAU0B/wHMAXgBRQH/AcwBeAFFAf8BzAF4AUUB/wHFAXoBSwH/AfYB+QH7Af8B+wHx + Ae0B/wHLAXQBPwH/Ac8BewFJAf8BzAF6AUgB/wHuAdsB0gH/AfcB7AHlAf8BRgIBAXwEAAHbAcEBnQH/ + AeIBqAFxAv8BxwGKAv8ByQGPAv8ByQGOAv8ByQGQAf8BvgGgAaQG/wL+Av8CzwL/AsMC/wKxAv8CngH/ + AbkCWgH9ARUCAQEbSAAB8gLxAv8B5wHRAv8B4AHAAv8B3wG/Av8B3QG8Av8B3AG6Av8B2wG4Af8B7QHW + Ab8B/wESAT8C/wFyAX0B2wL/AeYByQH/AZgBcwF1Af8BswISAf8EAAGGATYBNQH1BP8B3wGBAVgB/wHb + AYEBVgH/Ac4BegFHAf8BywFzAT4B/wHLAXYBQgH/AcwBeAFFAf8BxAGBAV4F/wHcAZQBgQH/AdIBfwFN + Af8BzwF7AUgB/wH7AfUB8wH/AfUB5AHcAf8BOgIBAV8EAAHbAccBsgH/A9kC/wG6AXMC/wG7AXYC/wG8 + AXkC/wG9AXsB/wH5AboBeAH/AcUBqwGtAv8C9wL/AuEC/wLQAv8CxgH/AdICjwH/AR8CAQEqAQIDAUgA + AfQC8wL/AeIBxgL/AdcBsQL/AdcBsAL/AdYBrwL/AdYBrQL/AdYBrAL/AdcBqQH/AVgBdAHzAf8B/AHd + AaUC/wHpAc8B/wGaAXMBdQH/AbMCEgH/BAABSAICAYAE/wH7AckBrgH/Ae4BigFpAf8B0gGBAVoB/wHx + AfYB+QH/AesBwgGuAf8BywF1AUEB/wHKAYEBVQX/Ad8BpQGJAf8B3AGBAVcB/wHYAYEBVgX/AcoBrQGm + Af4BIwIBATEEAAPRAf8BxwHKAc0B/wH+Aa0BSAH/AfMB8QHvAf8B8gHWAaoB/wH0Ab8BgAH/AfoBrgFQ + Av8BqAExAf8ByAGBAUwB/wG+AZEBhQH/AbICbQH9AVsCAgG4ARQCAQEZUAAC9gH1Av8B4QHCAv8B1gGs + Av8B1QGrAv8B1QGrAv8B1AGpAv8B1AGpAv8B0wGoAv8B1QGmAv8B0QGkAv8B7QHWAf8BnAFxAXIB/wGz + AhIB/wgAAfYB6AHgBv8BowGAAf8B+gGVAXMB/wHNAcYBwwX/AfwB9QHxBf8B9gH7Af0B/wHmAYMBZAH/ + AesBgwFhAf8B/QH1Ae4B/wH+AvwB/wFNAgIBkwEMAgEBDgQAA+gB/wHqAusB/wHNAbQBtQH/AecC3AH/ + AfUC9wH/Ae8C8QH/AeoB7AHtAf8B4QHkAeYB/wHbAd8B5QH/AdYB2AHaAf8BtQGkAZ0B/gFrAg4B6QEX AgEBHVAAAvgB9Qr/Af4D/wH7AfkC/wH5AfQC/wH2Ae8C/wH0AeoC/wHzAeYB/wH7AfAB4wL/AfEB1wH/ - AZ8BawFsAf8BsAIQAf8IAAFKAgIBhgn/AdABnAL/AbsBhwH/AekBvwGqAf8B1wHHAcAB/wHfAckBvwH/ - AfwBqQGBAv8BpAF/Av8B6AHXBf8BvgGUAYsB/AEeAgEBKAEDAgEBAgEEAgEBBAHfAt4B/wHdAcsBvAH/ - AbYBgQF/Af8BqwKBAf8BsAKBAf8BswKBAf8BuwGEAYUB/wHKAp8B/wHqAuwB/wHpAuoB/wGMAlMB+AEn - AgEBOFQAAfoB+QH3Dv8C/gL/AfsB+AL/AfkB9AL/AfYB7gH/Ae4B3wHaAf8B8QGYATIB/wHeAYEBHAH/ - AboBiQGBAf8BygIQAf8IAAECAwEBYAIDAdMK/wHtAv8B+wHRAv8B7wG7Av8B5AGxAv8B6wHNCf8B0QG0 - Aa0B/gEjAgEBMQEEAgEBBAQAATwCAQFkAfUB+QH+Af8B/QHDAYEC/wHMAZcC/wHNAZ8C/wHPAakC/wHR - AbEB/wH9AcoBtgH/AfMBwQG3Av8C2wL/AuQB/wHvAugB/wFGAgEBfAEDAgEBA1AAAf0B+gH4Ev8C/gL/ - AfwB+QL/AfkB9AH/Ae8B4QHcAv8BzwGBAf8BugGJAYEB/wHKAhAB/xAAAQIDAQFGAgEBewH1AeYB3hX/ - AfoB8QHsAf8BbAEPAQ4B6QEYAgEBHwEDAgEBAwgAAUsCAgGLAf4BtwFrAf8B/gHLAZYC/wHMAZ8C/wHO - AagC/wHOAbAC/wHOAbgC/wHNAcAB/wHWAakBpgH+AXUCGgHrAf8C/QX/AUwCAgGOAQgCAQEJUAAB9wHS - Aa8B/wHyAcsBqwH/AeoBxAGnAf8B4QG7AaIB/wHZAbMBnQH/AdABqgGYAf8BygGkAZQB/wHIAaIBkwH/ - AcgBogGTAf8BugGJAYEB/wHKAhAB/yAAAUACAQFtAXQCFQHsAdEBtAGsAf4BrQF1AW8B+gFSAgIBniAA - AQIDAQECAwEBFAIBARoBKAIBATkBNwIBAVgBSgICAYUBTgICAY8BFAIBARoBLQIBAUQBCgIBAQwBAgMB - TAABQgFNAT4HAAE+AwABKAMAAUADAAEQAwABAQEAAQEFAAGAFwAD/wEAAcABAQHgAQMBgAEBAgABwAEB - AcABAQGAAwABwAEBAYABAAGAAwABwAEBAYABAAGAAwABwAEBAYABAAGAAwABwAEBAgABgAMAAcABAQIA - AYADAAHAAQECAAGAAwABwAEBAgABgAMAAcABAQIAAYADAAHAAQECAAGAAQMCAAHAAQEBgAEAAYABAwIA - AcABAQGAAgABBwIAAcABAQGAAQEBAAEDAgABwAEDAcABAwEAAQMCAAHAAQcB+AE/AcABBwIACw== + AZ8BbQFuAf8BsAISAf8IAAFKAgIBhgn/AdABnAL/AbsBhwH/AekBvwGqAf8B1wHHAcAB/wHfAckBvwH/ + AfwBqQGBAv8BpAGBAv8B6AHXBf8BugGMAYMB/AEeAgEBKAEDAgEBAgEEAgEBBAHfAt4B/wHdAcsBvAH/ + AbYCgQH/AasCgQH/AbACgQH/AbMCgQH/AbsBhAGFAf8BygKfAf8B6gLsAf8B6QLqAf8BiAJMAfgBJwIB + AThUAAH6AfkB9w7/Av4C/wH7AfgC/wH5AfQC/wH2Ae4B/wHuAd8B2gH/AfEBmAE0Af8B3gGBAR4B/wG6 + AYkBgQH/AcoCEgH/CAABAgMBAWACAwHTCv8B7QL/AfsB0QL/Ae8BuwL/AeQBsQL/AesBzQn/Ac0BsAGp + Af4BIwIBATEBBAIBAQQEAAE8AgEBZAH1AfkB/gH/Af0BwwGBAv8BzAGXAv8BzQGfAv8BzwGpAv8B0QGx + Af8B/QHKAbYB/wHzAcEBtwL/AtsC/wLkAf8B7wLoAf8BRgIBAXwBAwIBAQNQAAH9AfoB+BL/Av4C/wH8 + AfkC/wH5AfQB/wHvAeEB3AL/Ac8BgQH/AboBiQGBAf8BygISAf8QAAECAwEBRgIBAXsB9QHmAd4V/wH6 + AfEB7AH/AWsBDQEMAekBGAIBAR8BAwIBAQMIAAFLAgIBiwH+AbcBbQH/Af4BywGWAv8BzAGfAv8BzgGo + Av8BzgGwAv8BzgG4Av8BzQHAAf8B0gGlAaIB/gFzAhMB6wH/Av0F/wFMAgIBjgEIAgEBCVAAAfcB0gGv + Af8B8gHLAasB/wHqAcQBpwH/AeEBuwGiAf8B2QGzAZ0B/wHQAaoBmAH/AcoBpAGUAf8ByAGiAZMB/wHI + AaIBkwH/AboBiQGBAf8BygISAf8gAAFAAgEBbQFxAhIB7AHNAbABqAH+AakBbQFoAfoBUgICAZ4gAAEC + AwEBAgMBARQCAQEaASgCAQE5ATcCAQFYAUoCAgGFAU4CAgGPARQCAQEaAS0CAQFEAQoCAQEMAQIDAUwA + AUIBTQE+BwABPgMAASgDAAFAAwABEAMAAQEBAAEBBQABgBcAA/8BAAHAAQEB4AEDAYABAQIAAcABAQHA + AQEBgAMAAcABAQGAAQABgAMAAcABAQGAAQABgAMAAcABAQGAAQABgAMAAcABAQIAAYADAAHAAQECAAGA + AwABwAEBAgABgAMAAcABAQIAAYADAAHAAQECAAGAAwABwAEBAgABgAEDAgABwAEBAYABAAGAAQMCAAHA + AQEBgAIAAQcCAAHAAQEBgAEBAQABAwIAAcABAwHAAQMBAAEDAgABwAEHAfgBPwHAAQcCAAs= </value> </data> </root> \ No newline at end of file 1.6 +1 -0 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Dialogs/ExternalToolsOptionsPage.cs Index: ExternalToolsOptionsPage.cs =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Dialogs/ExternalToolsOptionsPage.cs,v retrieving revision 1.5 retrieving revision 1.6 diff -u -w -r1.5 -r1.6 --- ExternalToolsOptionsPage.cs 7 Jul 2006 22:32:16 -0000 1.5 +++ ExternalToolsOptionsPage.cs 11 Jul 2006 13:45:34 -0000 1.6 @@ -35,6 +35,7 @@ #region IDTToolsOptionsPage Members + public void OnAfterCreated(DTE DTEObject) { m_settings = new AddInSettings(DTEObject); 1.4 +227 -178 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Dialogs/ExternalToolsOptionsPage.designer.cs Index: ExternalToolsOptionsPage.designer.cs =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Dialogs/ExternalToolsOptionsPage.designer.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -u -w -r1.3 -r1.4 --- ExternalToolsOptionsPage.designer.cs 5 Jun 2006 22:27:23 -0000 1.3 +++ ExternalToolsOptionsPage.designer.cs 11 Jul 2006 13:45:34 -0000 1.4 @@ -45,9 +45,15 @@ this.groupBox1 = new System.Windows.Forms.GroupBox(); this.txtSchemaExportCommandLine = new System.Windows.Forms.TextBox(); this.cbPassSchemaExportArguments = new System.Windows.Forms.CheckBox(); + this.panel1 = new System.Windows.Forms.Panel(); + this.panel2 = new System.Windows.Forms.Panel(); + this.panel3 = new System.Windows.Forms.Panel(); this.groupBox2.SuspendLayout(); this.groupBox3.SuspendLayout(); this.groupBox1.SuspendLayout(); + this.panel1.SuspendLayout(); + this.panel2.SuspendLayout(); + this.panel3.SuspendLayout(); this.SuspendLayout(); // // groupBox2 @@ -56,6 +62,7 @@ this.groupBox2.Controls.Add(th... [truncated message content] |
From: Vance K. <va...@us...> - 2006-07-10 07:21:57
|
User: vancek Date: 06/07/10 00:21:55 Modified: andromda-ejb3/src/site/xdoc howto.xml howto16.xml Log: add manageable entity security docs Revision Changes Path 1.23 +1 -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.22 retrieving revision 1.23 diff -u -w -r1.22 -r1.23 --- howto.xml 1 Jul 2006 03:07:39 -0000 1.22 +++ howto.xml 10 Jul 2006 07:21:55 -0000 1.23 @@ -216,6 +216,7 @@ <p> <a href="howto16.html">Manageable Entities</a></p> <ul> + <li><p><a href="howto16.html#Manageable_Entities_Security">Security</a></p></li> <li><p><a href="howto16.html#Manageable_Entities_Tips">Tips</a></p></li> </ul> </li> 1.7 +71 -0 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.6 retrieving revision 1.7 diff -u -w -r1.6 -r1.7 --- howto16.xml 28 Jun 2006 04:54:08 -0000 1.6 +++ howto16.xml 10 Jul 2006 07:21:55 -0000 1.7 @@ -100,6 +100,74 @@ <a href="http://galaxy.andromda.org/docs/andromda-cartridges/manageable-entities/index.html"> manageable entities</a> for AndroMDA. </p> + <a name="Manageable_Entities_Security"/> + <subsection name="Security"> + <p> + In most cases, you probably want to secure access to the manageable front end. To secure your + application follow the <a href="howto8.html">security</a> section. The following + additional changes will aid you to secure your manageable entities using the EJB3 + cartridge. + </p> + <p> + <ul> + <li> + <p> + Make sure you have also enabled the <code>securityRealm</code> property in + the <code>bpm4struts</code> namespace of your andromda.xml application descriptor. + This is on top of the <code>securityRealm</code> property in your + <code>ejb3</code> namespace section. + </p> + </li> + <li> + <p> + You must have the actor dependencies modelled on the manageable entities for the + actors (representing roles/groups) that are authorised access to the + DAO and manageable service layers. + </p> + <p> + Typically, only administrators have access to manageable entities. Therefore, as a + bare minimum, you can have an actor (i.e. Admin) with a dependency to the + manageable entity. This will generate the security constraints in the DAO service + layer and provide the web front end cartridge with the role information. + </p> + <p> + The EJB3 cartridge has introduced a namespace property called + <code><a href="namespace.html#manageableRolesAllowed">manageableRolesAllowed</a></code>. + You must set this within your <code>ejb3</code> namespace section of your + <code>andromda.xml</code> descriptor file. This property takes the comma separated + list of roles that are authorised to access the manageable entity services. + </p> + <p> + In the trivial case where you only have the <b>Admin</b> actor/role, you will also + define this property as: +<source language="xml"><![CDATA[ + <namespace name="ejb3"> + <properties> + ... + <property name="manageableRolesAllowed">Admin</property> + ... + </properties> + </namespace> +]]></source> + However, when the application complexity requires several actor dependencies to + entities, you have the flexibility to narrow the suitable actors/roles + that have access to manageable entities, by specifying the + <code>manageableRolesAllowed</code> namespace property. + </p> + </li> + <li> + <p> + Finally, the web.xml security and role elements will not be rendered unless you have + modelled a front end application use case with the appropriate actor associations. + Every use case must have one associated activity diagram. For the most trivial + application, this activity diagram would consist of an initial state with a + transition to a front end view action state. The generated JSP allows you to + provide a 'cover' page for your manageable entity component pages. + </p> + </li> + </ul> + </p> + </subsection> <a name="Manageable_Entities_Tips"/> <subsection name="Tips"> <p> @@ -113,6 +181,9 @@ manageable service base implementation avoids the use of <code>left join fetch</code> to retrieve collection association objects. </p> + <p> + Be aware that manageable entities are currently available with the BPM4Struts cartridge only. + </p> </subsection> </section> <section name="Next"> |
From: Vance K. <va...@us...> - 2006-07-10 05:39:27
|
User: vancek Date: 06/07/09 22:39:27 Modified: andromda-ejb3/src/main/resources/META-INF/andromda namespace.xml cartridge.xml andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3ManageableEntityFacadeLogicImpl.java andromda-ejb3/src/main/resources/templates/ejb3/crud ManageableServiceBase.vsl andromda-ejb3/src/changes changes.xml andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3 EJB3Globals.java andromda-ejb3/src/main/uml EJB3MetafacadeModel.xml.zip Log: added new namespace property manageableRolesAllowed to new property group new getManageableRolesAllowed in EJB3ManageableEntityFacade Revision Changes Path 1.26 +30 -9 cartridges/andromda-ejb3/src/main/resources/META-INF/andromda/namespace.xml Index: namespace.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/resources/META-INF/andromda/namespace.xml,v retrieving revision 1.25 retrieving revision 1.26 diff -u -w -r1.25 -r1.26 --- namespace.xml 26 Jun 2006 06:56:51 -0000 1.25 +++ namespace.xml 10 Jul 2006 05:39:26 -0000 1.26 @@ -936,6 +936,36 @@ </documentation> </property> </propertyGroup> + <propertyGroup name="Security Properties"> + <property name="securityRealm" required="false"> + <documentation> + Specifies the security domain to use + for role based authorization. Use the + security realm to match allowed roles. + This is only applicable for session beans + and MDBs. + </documentation> + </property> + <property name="manageableRolesAllowed"> + <default>Admin</default> + <documentation> + A comma separated list of roles added to the DAO + base <code>RolesAllowed</code> annotation. + This requires <code>securityRealm</code> be + enabled. + This exists because in some cases it is + incorrect to model an actor dependency on the + manageable entity and expect that actor to + define the authorised role on + ManageableServiceBeans. + This property separates + the roles for manageable session beans and + the remaining components. + It is expected that the list of roles + secure all manageable session beans. + </documentation> + </property> + </propertyGroup> <propertyGroup name="Other Properties"> <property name="persistenceContainerName"> <default>jboss</default> @@ -1033,15 +1063,6 @@ and aggregate associations define lazy loading. </documentation> </property> - <property name="securityRealm" required="false"> - <documentation> - Specifies the security domain to use - for role based authorization. Use the - security realm to match allowed roles. - This is only applicable for session beans - and MDBs. - </documentation> - </property> <property name="queryUseNamedParameters"> <default>true</default> <documentation> 1.28 +1 -0 cartridges/andromda-ejb3/src/main/resources/META-INF/andromda/cartridge.xml Index: cartridge.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/resources/META-INF/andromda/cartridge.xml,v retrieving revision 1.27 retrieving revision 1.28 diff -u -w -r1.27 -r1.28 --- cartridge.xml 27 Jun 2006 11:13:18 -0000 1.27 +++ cartridge.xml 10 Jul 2006 05:39:26 -0000 1.28 @@ -41,6 +41,7 @@ <property reference="enableTemplating"/> <property reference="jndiNamePrefix"/> <property reference="securityRealm"/> + <property reference="manageableRolesAllowed"/> <property reference="enableClustering"/> <property reference="webServiceContextRoot"/> <property reference="webServiceUrlPattern"/> 1.5 +28 -0 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3ManageableEntityFacadeLogicImpl.java Index: EJB3ManageableEntityFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3ManageableEntityFacadeLogicImpl.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -w -r1.4 -r1.5 --- EJB3ManageableEntityFacadeLogicImpl.java 26 Jun 2006 06:53:32 -0000 1.4 +++ EJB3ManageableEntityFacadeLogicImpl.java 10 Jul 2006 05:39:26 -0000 1.5 @@ -14,6 +14,7 @@ import org.andromda.metafacades.uml.Entity; import org.andromda.metafacades.uml.EntityAttribute; import org.andromda.metafacades.uml.ManageableEntityAttribute; +import org.andromda.metafacades.uml.Role; import org.andromda.metafacades.uml.UMLProfile; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.Predicate; @@ -285,4 +286,31 @@ return displayAttribute; } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3ManageableEntityFacadeLogic#handleGetManageableRolesAllowed() + */ + protected String handleGetManageableRolesAllowed() + { + StringBuffer rolesAllowed = null; + String[] roles = StringUtils.split( + StringUtils.trimToEmpty( + ObjectUtils.toString(this.getConfiguredProperty(EJB3Globals.MANAGEABLE_ROLES_ALLOWED))), + ','); + String separator = ""; + + for (int i = 0; i < roles.length; i++) + { + if (rolesAllowed == null) + { + rolesAllowed = new StringBuffer(); + } + rolesAllowed.append(separator); + rolesAllowed.append('"'); + rolesAllowed.append(roles[i]); + rolesAllowed.append('"'); + separator = ", "; + } + return rolesAllowed != null ? rolesAllowed.toString() : null; + } } \ No newline at end of file 1.6 +6 -1 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/crud/ManageableServiceBase.vsl Index: ManageableServiceBase.vsl =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/resources/templates/ejb3/crud/ManageableServiceBase.vsl,v retrieving revision 1.5 retrieving revision 1.6 diff -u -w -r1.5 -r1.6 --- ManageableServiceBase.vsl 26 Jun 2006 06:45:12 -0000 1.5 +++ ManageableServiceBase.vsl 10 Jul 2006 05:39:26 -0000 1.6 @@ -25,6 +25,11 @@ */ @javax.ejb.TransactionAttribute(javax.ejb.TransactionAttributeType.REQUIRED) @javax.ejb.Remote({${manageable.fullyQualifiedManageableServiceName}.class}) +#if ($manageable.securityEnabled) +#**##if ($stringUtils.isNotBlank(${manageable.manageableRolesAllowed})) +...@ja...lesAllowed({${manageable.manageableRolesAllowed}}) +#**##end +#end public final class $manageable.manageableServiceBaseName implements $manageable.manageableServiceName { @@ -405,7 +410,7 @@ #* *##else query.setParameter("$identifier.name", $identifier.name); #* *##end - return query.getSingleResult(); + return ($member.type.fullyQualifiedName)query.getSingleResult(); } catch (Exception ex) { 1.19 +10 -0 cartridges/andromda-ejb3/src/changes/changes.xml Index: changes.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/changes/changes.xml,v retrieving revision 1.18 retrieving revision 1.19 diff -u -w -r1.18 -r1.19 --- changes.xml 10 Jul 2006 05:29:37 -0000 1.18 +++ changes.xml 10 Jul 2006 05:39:26 -0000 1.19 @@ -223,6 +223,16 @@ This resulted in getTemporalType being refactored in EJB3EntityAttributeFacade and the overriding instance in EJB3ManageableEntityAttributeFacade to be removed. </action> + <action dev="vancek" type="fix"> + The getter (for BLOB type manageable attributes) in the manageable service base implementation must cast + the single result to appropriate type before returning. + </action> + <action dev="vancek" type="add"> + Add @RolesAllowed annotation with permitted roles authorised to access the manageable service. This was + achieved by introducing a new namespace property called <b>manageableRolesAllowed</b> rather than defined + by actors with dependencies on the manageable entity. A corresponding getManageableRolesAllowed + is available through EJB3ManageableEntityFacade to retrieve the formatted comma separated list of roles. + </action> </release> </body> </document> \ No newline at end of file 1.14 +30 -24 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.13 retrieving revision 1.14 diff -u -w -r1.13 -r1.14 --- EJB3Globals.java 26 Jun 2006 06:53:32 -0000 1.13 +++ EJB3Globals.java 10 Jul 2006 05:39:26 -0000 1.14 @@ -30,6 +30,35 @@ */ public static final String LABEL_SINGLE_NAME_PATTERN = "labelSingleNamePattern"; + /** + * The pattern used to construct the DAO name. + */ + public static final String DAO_PATTERN = "daoNamePattern"; + + /** + * The property which stores the persistence context unit name associated with the default + * Entity Manager. + */ + public static final String PERSISTENCE_CONTEXT_UNIT_NAME = "persistenceContextUnitName"; + + /** + * The property used to specify the implementation operation name pattern + * on service and entity beans. + */ + 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"; + + /** + * The property that stores the comma separated list of roles for manageable + * service beans. + */ + public static final String MANAGEABLE_ROLES_ALLOWED = "manageableRolesAllowed"; + // --------------- Constants --------------------- /** @@ -225,29 +254,6 @@ public static final String TRANSFORMATION_TO_COLLECTION_METHOD_SUFFIX = "Collection"; /** - * The pattern used to construct the DAO name. - */ - public static final String DAO_PATTERN = "daoNamePattern"; - - /** - * The property which stores the persistence context unit name associated with the default - * Entity Manager. - */ - public static final String PERSISTENCE_CONTEXT_UNIT_NAME = "persistenceContextUnitName"; - - /** - * The property used to specify the implementation operation name pattern - * on service and entity beans. - */ - 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"; - - /** * Seam component scope type STATELESS */ public static final String SEAM_COMPONENT_SCOPE_STATELESS = "STATELESS"; 1.44 +228 -222 cartridges/andromda-ejb3/src/main/uml/EJB3MetafacadeModel.xml.zip <<Binary file>> |
From: Vance K. <va...@us...> - 2006-07-10 05:29:38
|
User: vancek Date: 06/07/09 22:29:37 Modified: andromda-ejb3/src/main/resources/META-INF/andromda metafacades.xml andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3ManageableEntityAttributeFacadeLogicImpl.java EJB3EntityAttributeFacadeLogicImpl.java andromda-ejb3/src/changes changes.xml Log: reset EJB3ManageableEntityAttributeFacade metafacade mapping to use context element refactored getTemporalType in EJB3EntityAttributeFacade and removed overriding instance in EJB3ManageableEntityAttributeFacade Revision Changes Path 1.25 +4 -1 cartridges/andromda-ejb3/src/main/resources/META-INF/andromda/metafacades.xml Index: metafacades.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/resources/META-INF/andromda/metafacades.xml,v retrieving revision 1.24 retrieving revision 1.25 diff -u -w -r1.24 -r1.25 --- metafacades.xml 26 Jun 2006 06:46:07 -0000 1.24 +++ metafacades.xml 10 Jul 2006 05:29:36 -0000 1.25 @@ -41,6 +41,7 @@ <property reference="persistenceContainerName"/> <property reference="persistenceContextUnitName"/> <property reference="securityRealm"/> + <property reference="manageableRolesAllowed"/> <property reference="allowDefaultServiceException"/> <property reference="compositionDefinesEagerLoading"/> <property reference="jndiNamePrefix"/> @@ -63,7 +64,9 @@ </metafacade> <metafacade class="org.andromda.cartridges.ejb3.metafacades.EJB3ManageableEntityAttributeFacadeLogicImpl"> <mapping> - <property name="owner.manageable"/> + <context> + org.andromda.cartridges.ejb3.metafacades.EJB3ManageableEntityFacade + </context> </mapping> </metafacade> <metafacade class="org.andromda.cartridges.ejb3.metafacades.EJB3ManageableEntityAssociationEndFacadeLogicImpl"> 1.5 +0 -18 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3ManageableEntityAttributeFacadeLogicImpl.java Index: EJB3ManageableEntityAttributeFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3ManageableEntityAttributeFacadeLogicImpl.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -w -r1.4 -r1.5 --- EJB3ManageableEntityAttributeFacadeLogicImpl.java 26 Jun 2006 14:40:34 -0000 1.4 +++ EJB3ManageableEntityAttributeFacadeLogicImpl.java 10 Jul 2006 05:29:36 -0000 1.5 @@ -13,26 +13,8 @@ public class EJB3ManageableEntityAttributeFacadeLogicImpl extends EJB3ManageableEntityAttributeFacadeLogic { - /** - * The property that stores the defuult temporal type for date based attributes - */ - public static final String ENTITY_DEFAULT_TEMPORAL_TYPE = "entityDefaultTemporalType"; - public EJB3ManageableEntityAttributeFacadeLogicImpl (Object metaObject, String context) { super (metaObject, context); } - - /** - * @see org.andromda.cartridges.ejb3.metafacades.EJB3ManageableEntityAttributeFacadeLogic#getTemporalType() - */ - public String getTemporalType() - { - String temporalType = super.getTemporalType(); - if (StringUtils.isBlank(temporalType)) - { - temporalType = String.valueOf(this.getConfiguredProperty(ENTITY_DEFAULT_TEMPORAL_TYPE)); - } - return temporalType; - } } \ No newline at end of file 1.16 +15 -1 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3EntityAttributeFacadeLogicImpl.java Index: EJB3EntityAttributeFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3EntityAttributeFacadeLogicImpl.java,v retrieving revision 1.15 retrieving revision 1.16 diff -u -w -r1.15 -r1.16 --- EJB3EntityAttributeFacadeLogicImpl.java 26 Jun 2006 14:40:34 -0000 1.15 +++ EJB3EntityAttributeFacadeLogicImpl.java 10 Jul 2006 05:29:36 -0000 1.16 @@ -40,6 +40,11 @@ */ public static final String DEFAULT_ENUM_LITERAL_COLUMN_LENGTH = "entityDefaultEnumLiteralColumnLength"; + /** + * The property that stores the defuult temporal type for date based attributes + */ + public static final String ENTITY_DEFAULT_TEMPORAL_TYPE = "entityDefaultTemporalType"; + // ---------------- constructor ------------------------------- public EJB3EntityAttributeFacadeLogicImpl (Object metaObject, String context) @@ -467,7 +472,16 @@ */ protected String handleGetTemporalType() { - return (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_PERSISTENCE_TEMPORAL_TYPE); + String temporalType = null; + if (this.getType().isDateType()) + { + temporalType = (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_PERSISTENCE_TEMPORAL_TYPE); + if (StringUtils.isBlank(temporalType)) + { + temporalType = String.valueOf(this.getConfiguredProperty(ENTITY_DEFAULT_TEMPORAL_TYPE)); + } + } + return temporalType; } /** 1.18 +6 -0 cartridges/andromda-ejb3/src/changes/changes.xml Index: changes.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/changes/changes.xml,v retrieving revision 1.17 retrieving revision 1.18 diff -u -w -r1.17 -r1.18 --- changes.xml 4 Jul 2006 07:47:07 -0000 1.17 +++ changes.xml 10 Jul 2006 05:29:37 -0000 1.18 @@ -217,6 +217,12 @@ JIRA EJB-38 - The query in the DAO base class for finder methods with argument enum type has to set the enum class as the parameter for the querty, not the value (name or ordinal). </action> + <action dev="vancek" type="fix"> + Reset EJB3ManageableEntityAttributeFacade metafacade mapping in metafacades.xml from using property element + to use context element. Otherwise, manageable entity attributes would map to EJB3EntityAttributeFacade. + This resulted in getTemporalType being refactored in EJB3EntityAttributeFacade and the overriding instance + in EJB3ManageableEntityAttributeFacade to be removed. + </action> </release> </body> </document> \ No newline at end of file |
From: Naresh B. <nb...@us...> - 2006-07-09 12:08:25
|
User: nbhatia Date: 06/07/09 05:08:25 Added: etc/andromda-dotnet/AndroMDA.NHibernateSupport AndroMDA.NHibernateSupport.csproj AndroMDA.NHibernateSupport.sln AndroMDA.NHibernateSupport.suo AssemblyInfo.cs etc/andromda-dotnet/AndroMDA.NHibernateSupport/src DbSupport.cs DefaultSessionManager.cs HttpSessionManagerModule.cs INHibernateDaoSupport.cs ISessionManager.cs NHibernateDaoSupport.cs SessionManagerFactory.cs etc/andromda-dotnet/Lib/AndroMDA.NHibernateSupport AndroMDA.NHibernateSupport.dll etc/andromda-dotnet/Lib DLL Versions.txt etc/andromda-dotnet/Lib/NHibernate.Nullables2 NHibernate.Nullables2.dll etc/andromda-dotnet/Lib/NHibernateContrib Bamboo.Prevalence.dll NHibernate.Caches.Prevalence.dll NHibernate.Caches.SysCache.dll etc/andromda-dotnet/Lib/NHibernate Castle.DynamicProxy.dll HashCodeProvider.dll Iesi.Collections.dll NHibernate.dll log4net.dll etc/andromda-dotnet/NHibernate.Nullables2 NHibernate.Nullables2.sln Readme.doc etc/andromda-dotnet/NHibernate.Nullables2/NHibernate.Nullables2 EmptyAnsiStringType.cs EmptyStringType.cs NHibernate.Nullables2.csproj NullableBaseType.cs NullableBooleanType.cs NullableByteType.cs NullableCharType.cs NullableDateTimeType.cs NullableDecimalType.cs NullableDoubleType.cs NullableGuidType.cs NullableInt16Type.cs NullableInt32Type.cs NullableInt64Type.cs NullableSByteType.cs NullableSingleType.cs etc/andromda-dotnet/NHibernate.Nullables2/NHibernate.Nullables2/Properties AssemblyInfo.cs etc/andromda-dotnet/NHibernate.Nullables2/nhibtest FooBar.cs FooBar.hbm.xml FooBarNHibernateTests.cs NhibTest.csproj NhibTest.dll.config etc/andromda-dotnet/NHibernate.Nullables2/nhibtest/Properties AssemblyInfo.cs Log: Moved from contrib Revision Changes Path 1.1 plugins/etc/andromda-dotnet/AndroMDA.NHibernateSupport/AndroMDA.NHibernateSupport.csproj Index: AndroMDA.NHibernateSupport.csproj =================================================================== <VisualStudioProject> <CSHARP ProjectType = "Local" ProductVersion = "7.10.3077" SchemaVersion = "2.0" ProjectGuid = "{8349509A-0F7D-411A-AA7B-176AA6452911}" > <Build> <Settings ApplicationIcon = "" AssemblyKeyContainerName = "" AssemblyName = "AndroMDA.NHibernateSupport" AssemblyOriginatorKeyFile = "" DefaultClientScript = "JScript" DefaultHTMLPageLayout = "Grid" DefaultTargetSchema = "IE50" DelaySign = "false" OutputType = "Library" PreBuildEvent = "" PostBuildEvent = "" RootNamespace = "AndroMDA.NHibernateSupport" RunPostBuildEvent = "OnBuildSuccess" StartupObject = "" > <Config Name = "Debug" AllowUnsafeBlocks = "false" BaseAddress = "285212672" CheckForOverflowUnderflow = "false" ConfigurationOverrideFile = "" DefineConstants = "DEBUG;TRACE" DocumentationFile = "" DebugSymbols = "true" FileAlignment = "4096" IncrementalBuild = "false" NoStdLib = "false" NoWarn = "" Optimize = "false" OutputPath = "bin\Debug\" RegisterForComInterop = "false" RemoveIntegerChecks = "false" TreatWarningsAsErrors = "false" WarningLevel = "4" /> <Config Name = "Release" AllowUnsafeBlocks = "false" BaseAddress = "285212672" CheckForOverflowUnderflow = "false" ConfigurationOverrideFile = "" DefineConstants = "TRACE" DocumentationFile = "" DebugSymbols = "false" FileAlignment = "4096" IncrementalBuild = "false" NoStdLib = "false" NoWarn = "" Optimize = "true" OutputPath = "bin\Release\" RegisterForComInterop = "false" RemoveIntegerChecks = "false" TreatWarningsAsErrors = "false" WarningLevel = "4" /> </Settings> <References> <Reference Name = "System" AssemblyName = "System" HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.dll" /> <Reference Name = "System.Data" AssemblyName = "System.Data" HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Data.dll" /> <Reference Name = "System.XML" AssemblyName = "System.Xml" HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.XML.dll" /> <Reference Name = "System.Web" AssemblyName = "System.Web" HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Web.dll" /> <Reference Name = "log4net" AssemblyName = "log4net" HintPath = "..\Lib\NHibernate\log4net.dll" /> <Reference Name = "NHibernate" AssemblyName = "NHibernate" HintPath = "..\Lib\NHibernate\NHibernate.dll" /> </References> </Build> <Files> <Include> <File RelPath = "AssemblyInfo.cs" SubType = "Code" BuildAction = "Compile" /> <File RelPath = "src\DbSupport.cs" SubType = "Code" BuildAction = "Compile" /> <File RelPath = "src\DefaultSessionManager.cs" SubType = "Code" BuildAction = "Compile" /> <File RelPath = "src\HttpSessionManagerModule.cs" SubType = "Code" BuildAction = "Compile" /> <File RelPath = "src\INHibernateDaoSupport.cs" SubType = "Code" BuildAction = "Compile" /> <File RelPath = "src\ISessionManager.cs" SubType = "Code" BuildAction = "Compile" /> <File RelPath = "src\NHibernateDaoSupport.cs" SubType = "Code" BuildAction = "Compile" /> <File RelPath = "src\SessionManagerFactory.cs" SubType = "Code" BuildAction = "Compile" /> </Include> </Files> </CSHARP> </VisualStudioProject> 1.1 plugins/etc/andromda-dotnet/AndroMDA.NHibernateSupport/AndroMDA.NHibernateSupport.sln Index: AndroMDA.NHibernateSupport.sln =================================================================== Microsoft Visual Studio Solution File, Format Version 8.00 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AndroMDA.NHibernateSupport", "AndroMDA.NHibernateSupport.csproj", "{8349509A-0F7D-411A-AA7B-176AA6452911}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject Global GlobalSection(SolutionConfiguration) = preSolution Debug = Debug Release = Release EndGlobalSection GlobalSection(ProjectConfiguration) = postSolution {8349509A-0F7D-411A-AA7B-176AA6452911}.Debug.ActiveCfg = Debug|.NET {8349509A-0F7D-411A-AA7B-176AA6452911}.Debug.Build.0 = Debug|.NET {8349509A-0F7D-411A-AA7B-176AA6452911}.Release.ActiveCfg = Release|.NET {8349509A-0F7D-411A-AA7B-176AA6452911}.Release.Build.0 = Release|.NET EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution EndGlobalSection GlobalSection(ExtensibilityAddIns) = postSolution EndGlobalSection EndGlobal 1.1 plugins/etc/andromda-dotnet/AndroMDA.NHibernateSupport/AndroMDA.NHibernateSupport.suo <<Binary file>> 1.1 plugins/etc/andromda-dotnet/AndroMDA.NHibernateSupport/AssemblyInfo.cs Index: AssemblyInfo.cs =================================================================== using System.Reflection; using System.Runtime.CompilerServices; // // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. // [assembly: AssemblyTitle("AndroMDA.NHibernateSupport")] [assembly: AssemblyDescription("NHibernate support for AndroMDA")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("The AndroMDA Project")] [assembly: AssemblyProduct("AndroMDA")] [assembly: AssemblyCopyright("Copyright (c) 2002 - 2005, The AndroMDA Team")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // // Version information for an assembly consists of the following four values: // // Major Version // Minor Version // Build Number // Revision // // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: [assembly: AssemblyVersion("1.0.3.0")] // // In order to sign your assembly you must specify a key to use. Refer to the // Microsoft .NET Framework documentation for more information on assembly signing. // // Use the attributes below to control which key is used for signing. // // Notes: // (*) If no key is specified, the assembly is not signed. // (*) KeyName refers to a key that has been installed in the Crypto Service // Provider (CSP) on your machine. KeyFile refers to a file which contains // a key. // (*) If the KeyFile and the KeyName values are both specified, the // following processing occurs: // (1) If the KeyName can be found in the CSP, that key is used. // (2) If the KeyName does not exist and the KeyFile does exist, the key // in the KeyFile is installed into the CSP and used. // (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility. // When specifying the KeyFile, the location of the KeyFile should be // relative to the project output directory which is // %Project Directory%\obj\<configuration>. For example, if your KeyFile is // located in the project directory, you would specify the AssemblyKeyFile // attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")] // (*) Delay Signing is an advanced option - see the Microsoft .NET Framework // documentation for more information on this. // [assembly: AssemblyDelaySign(false)] [assembly: AssemblyKeyFile("")] [assembly: AssemblyKeyName("")] 1.1 plugins/etc/andromda-dotnet/AndroMDA.NHibernateSupport/src/DbSupport.cs Index: DbSupport.cs =================================================================== // Name: DbSupport.cs // Author: Naresh Bhatia using System; namespace AndroMDA.NHibernateSupport { public class DbSupport { /// <summary> /// Creates ddl and/or runs it against the database. /// </summary> /// <param name="script">true if the ddl should be outputted in the Console.</param> /// <param name="export">true if the ddl should be executed against the Database.</param> public static void CreateDatabase(bool script, bool export) { NHibernate.Tool.hbm2ddl.SchemaExport schemaExport = new NHibernate.Tool.hbm2ddl.SchemaExport(SessionManagerFactory.SessionManager.Config); schemaExport.Create(script, export); } } } 1.1 plugins/etc/andromda-dotnet/AndroMDA.NHibernateSupport/src/DefaultSessionManager.cs Index: DefaultSessionManager.cs =================================================================== // Name: DefaultSessionManager.cs // Author: Naresh Bhatia using System; using System.Collections; using System.Web; using NHibernate; using NHibernate.Cfg; namespace AndroMDA.NHibernateSupport { /// <summary> /// <p>DefaultSessionManager stores the NHibernate session in HttpContext. However, /// if HttpContext is not available it will fall back to ThreadLocal variables. /// Thus the DefaultSessionManager is usable in ASP.NET, Console and Windows Forms /// applications.</p> /// /// <p>In ASP.NET applications one HttpRequest is not guaranteed to be serviced by /// the same thread. HttpContext is a much more reliable place to store the session /// in these applications. That's what the DefaultSessionManager does. However if the /// ASP.NET application spawns new threads that do not have an HttpContext, then /// this SessionManager will dynamically switch to ThreadLocal variables for such threads. /// Of course in Console and Windows Forms applications there is no HttpContext. In such /// applications the DefaultSessionManager quitely switches to ThreadLocal variables. /// You just pay a minor penalty to check for HttpContext every time you need to access /// the Session.</p> /// /// <p>To use the DefaultSessionManager you must store the NHibernate configuration /// in an XML file. For an ASP.NET application, add the name of this file to your /// Web.config as follows. The key must be "nhibernate.config" and the value must /// be the path of your NHibernate configuration file starting from the web root.</p> /// /// <pre> /// <appSettings> /// <add key="nhibernate.config" value="~/nhibernate.config" /> /// </appSettings> /// </pre> /// /// <p>For a Console or Windows Forms application, add the name of the XML configuration /// file to your App.config as follows. The key must be "nhibernate.config" and the value /// must be the path of your NHibernate configuration file.</p> /// /// <pre> /// <appSettings> /// <add key="nhibernate.config" value="nhibernate.config" /> /// </appSettings> /// </pre> /// </summary> public class DefaultSessionManager : ISessionManager { private static readonly log4net.ILog log = log4net.LogManager.GetLogger(typeof(DefaultSessionManager)); /// <summary> /// NHibernate configuration /// </summary> private Configuration config = null; public Configuration Config { get { return config; } } /// <summary> /// NHibernate factory for creating sessions /// </summary> private ISessionFactory sessionFactory = null; public ISessionFactory SessionFactory { get { if (sessionFactory == null) { BuildSessionFactory(); } return sessionFactory; } } /// <summary> /// NHibernate session /// </summary> [ThreadStatic] private static ISession threadStaticSession; public ISession Session { get { ISession session = GetSession(); if (session == null) { if (isSessionInitializedLazily) session = OpenSession(); else throw new Exception("Session does not exist."); } return session; } } // Key used to store the NHibernate session in HttpContext. private const string NHibernateSessionKey = "NHibernate.Session"; private ISession GetSession() { return (HttpContext.Current != null) ? (ISession)HttpContext.Current.Items[NHibernateSessionKey] : threadStaticSession; } private void SetSession(ISession session) { if (HttpContext.Current != null) HttpContext.Current.Items[NHibernateSessionKey] = session; else threadStaticSession = session; } private ISession OpenSession() { ISession session = sessionFactory.OpenSession(); SetSession(session); if (log.IsDebugEnabled) log.Debug("Opened hibernate session"); return session; } private void CloseSession() { ISession session = GetSession(); if (session != null) { session.Close(); SetSession(null); if (log.IsDebugEnabled) log.Debug("Closed hibernate session"); } } /// <summary> /// NHibernate transaction /// </summary> [ThreadStatic] private static ITransaction threadStaticTransaction; // Key used to store the NHibernate transaction in HttpContext. private const string NHibernateTransactionKey = "NHibernate.Transaction"; private ITransaction GetTransaction() { return (HttpContext.Current != null) ? (ITransaction)HttpContext.Current.Items[NHibernateTransactionKey] : threadStaticTransaction; } private void SetTransaction(ITransaction transaction) { if (HttpContext.Current != null) HttpContext.Current.Items[NHibernateTransactionKey] = transaction; else threadStaticTransaction = transaction; } /// <summary> /// Boolean that controls whether sessions will be created lazily or not /// </summary> private bool isSessionInitializedLazily = true; public bool IsSessionInitializedLazily { get { return isSessionInitializedLazily; } set { isSessionInitializedLazily = value; } } public void HandleApplicationStart() { if (sessionFactory != null) { throw new Exception("A SessionFactory already exists. (Was HandleApplicationStart called twice?)"); } BuildSessionFactory(); } public void HandleApplicationEnd() { config = null; sessionFactory = null; } public void HandleSessionStart() { // This uses the SessionFactory property, so if the factory // will attempt to be initialized if it is null if (SessionFactory == null) { throw new Exception("The nhibernate session factory has not been initialized."); } if (GetSession() != null) { throw new Exception("A Session already exists."); } if (!isSessionInitializedLazily) { OpenSession(); } } public void HandleSessionEnd() { if (GetTransaction() != null) throw new Exception("A transaction still exists."); CloseSession(); } public void BeginTransaction() { if (GetTransaction() != null) throw new Exception("A transaction already exists."); ITransaction transaction = Session.BeginTransaction(); SetTransaction(transaction); } public void CommitTransaction() { ITransaction transaction = GetTransaction(); if (transaction != null) { transaction.Commit(); SetTransaction(null); } } public void RollbackTransaction() { ITransaction transaction = GetTransaction(); if (transaction != null) { transaction.Rollback(); SetTransaction(null); } } private void BuildSessionFactory() { config = new Configuration(); System.Collections.Specialized.NameValueCollection nhibernateConfig = System.Configuration.ConfigurationSettings.GetConfig("nhibernate") as System.Collections.Specialized.NameValueCollection; if (SettingExists("nhibernate.config")) { try { // Load specified nhibernate.config file config.Configure(TranslateConfigPath(GetSetting("nhibernate.config"))); } catch (Exception e) { throw new Exception("An error occured while attempting to load nhibernate.cfg", e); } } else if (SettingExists("hibernate.dialect", nhibernateConfig)) { // Load embedded hibernate configuration in web.config AddSettingToConfig("hibernate.connection.provider", nhibernateConfig); AddSettingToConfig("hibernate.connection.driver_class", nhibernateConfig); AddSettingToConfig("hibernate.connection.connection_string", nhibernateConfig); AddSettingToConfig("hibernate.connection.isolation", nhibernateConfig); AddSettingToConfig("hibernate.dialect", nhibernateConfig); AddSettingToConfig("hibernate.default_schema", nhibernateConfig); AddSettingToConfig("hibernate.use_outer_join", nhibernateConfig); AddSettingToConfig("hibernate.max_fetch_depth", nhibernateConfig); AddSettingToConfig("hibernate.use_reflection_optimizer", nhibernateConfig); AddSettingToConfig("hibernate.cache.provider_class", nhibernateConfig); AddSettingToConfig("hibernate.cache.use_minimal_puts", nhibernateConfig); AddSettingToConfig("hibernate.cache.use_query_cache", nhibernateConfig); AddSettingToConfig("hibernate.cache.query_cache_factory", nhibernateConfig); AddSettingToConfig("hibernate.cache.region_prefix", nhibernateConfig); AddSettingToConfig("hibernate.query.substitutions", nhibernateConfig); AddSettingToConfig("hibernate.show_sql", nhibernateConfig); AddSettingToConfig("hibernate.hbm2ddl.auto", nhibernateConfig); if (SettingExists("nhibernate.mapping_assembly", nhibernateConfig)) { string mapping_assembly = GetSetting("nhibernate.mapping_assembly", nhibernateConfig); config.AddAssembly(mapping_assembly); } } else { // Attempt to configure with the default settings // Usually this attempts to load hibernate.xml.cfg config.Configure(); } sessionFactory = config.BuildSessionFactory(); } /// <summary> /// Translates the specified virtual path for the NHibernate config file to a /// physical path. This method returns the physical path based the type of /// the application. For an ASP.NET application it accepts a URL and returns /// the absolute file path of the config file. For Console and Windows applications /// it returns the supplied path without any change. /// </summary> /// <param name="virtualPath"> /// The virtual path (absolute or relative) of the NHibernate config file. /// </param> /// <returns>The physical path on the server specified by virtualPath.</returns> public String TranslateConfigPath(String virtualPath) { if (HttpContext.Current != null) return HttpContext.Current.Request.MapPath(virtualPath); else return virtualPath; } #region Setting utilities private string GetSetting(string key) { return GetSetting(key, System.Configuration.ConfigurationSettings.AppSettings); } private string GetSetting(string key, System.Collections.Specialized.NameValueCollection sourceConfig) { string setting = sourceConfig[key]; if (setting == null) setting = string.Empty; return setting; } private bool SettingExists(string key) { return SettingExists(key, System.Configuration.ConfigurationSettings.AppSettings); } private bool SettingExists(string key, System.Collections.Specialized.NameValueCollection sourceConfig) { string setting = sourceConfig[key]; return !(setting == null || setting == string.Empty); } private void AddSettingToConfig(string key) { AddSettingToConfig(key, System.Configuration.ConfigurationSettings.AppSettings); } private void AddSettingToConfig(string key, System.Collections.Specialized.NameValueCollection sourceConfig) { if (SettingExists(key, sourceConfig)) { config.SetProperty(key, GetSetting(key, sourceConfig)); } } #endregion } } 1.1 plugins/etc/andromda-dotnet/AndroMDA.NHibernateSupport/src/HttpSessionManagerModule.cs Index: HttpSessionManagerModule.cs =================================================================== using System; using System.Web; namespace AndroMDA.NHibernateSupport { /// <summary> /// HttpModule to call SessionManager at the end of an HttpRequest. /// </summary> public sealed class HttpSessionManagerModule : IHttpModule { public void Init(HttpApplication context) { context.BeginRequest += new EventHandler(BeginRequest); context.EndRequest += new EventHandler(EndRequest); } public void BeginRequest(Object sender, EventArgs e) { SessionManagerFactory.SessionManager.HandleSessionStart(); } public void EndRequest(Object sender, EventArgs e) { SessionManagerFactory.SessionManager.HandleSessionEnd(); } public void Dispose() { } } } 1.1 plugins/etc/andromda-dotnet/AndroMDA.NHibernateSupport/src/INHibernateDaoSupport.cs Index: INHibernateDaoSupport.cs =================================================================== // Name: INHibernateDaoSupport.cs // Author: Naresh Bhatia using System; namespace AndroMDA.NHibernateSupport { public interface INHibernateDaoSupport { void BeginTransaction(); void CommitTransaction(); void RollbackTransaction(); } } 1.1 plugins/etc/andromda-dotnet/AndroMDA.NHibernateSupport/src/ISessionManager.cs Index: ISessionManager.cs =================================================================== // Name: ISessionManager.cs // Author: Naresh Bhatia using System; using NHibernate; using NHibernate.Cfg; namespace AndroMDA.NHibernateSupport { /// <summary> /// ISessionManager is an interface to manage NHibernate sessions. It defines /// a contract between the application and itself to guarantee clean and efficient /// session management. Impementations may choose to optimize this this task /// based on various criteria. /// /// The details of the contract are as follows: /// 1. When the application starts, it must call ISessionManager.HandleApplicationStart(). /// 2. When the application ends, it must call ISessionManager.HandleApplicationEnd(). /// 3. When the application needs to start using an NHibernate session, for example when /// it receives a request from a user, it must call ISessionManager.HandleSessionStart(). /// 4. When the application is done using the session, for example it has completely /// processed the user's request, it must call ISessionManager.HandleSessionEnd(). /// /// If the application follows the above protocol, then ISessionManager guarantees the following: /// 1. The NHibernate configuration can be accessed anytime between the HandleApplicationStart() /// and HandleApplicationEnd() calls. Use the Config property to access the configuration. /// 2. The NHibernate session can be accessed anytime between the HandleSessionStart() /// and HandleSessionEnd() calls. Use the Session property to access the session. /// </summary> public interface ISessionManager { // Application start and end void HandleApplicationStart(); void HandleApplicationEnd(); // Session management void HandleSessionStart(); void HandleSessionEnd(); // Transaction management void BeginTransaction(); void CommitTransaction(); void RollbackTransaction(); // Exposed properties Configuration Config { get; } ISessionFactory SessionFactory { get; } ISession Session { get; } bool IsSessionInitializedLazily { get; set; } } } 1.1 plugins/etc/andromda-dotnet/AndroMDA.NHibernateSupport/src/NHibernateDaoSupport.cs Index: NHibernateDaoSupport.cs =================================================================== // Name: NHibernateDaoSupport.cs // Author: Naresh Bhatia using System; using NHibernate; namespace AndroMDA.NHibernateSupport { public abstract class NHibernateDaoSupport : INHibernateDaoSupport { protected ISession Session { get { return SessionManagerFactory.SessionManager.Session; } } public void BeginTransaction() { SessionManagerFactory.SessionManager.BeginTransaction(); } public void CommitTransaction() { SessionManagerFactory.SessionManager.CommitTransaction(); } public void RollbackTransaction() { SessionManagerFactory.SessionManager.RollbackTransaction(); } } } 1.1 plugins/etc/andromda-dotnet/AndroMDA.NHibernateSupport/src/SessionManagerFactory.cs Index: SessionManagerFactory.cs =================================================================== // Name: SessionManagerFactory.cs // Author: Naresh Bhatia using System; namespace AndroMDA.NHibernateSupport { public class SessionManagerFactory { private static ISessionManager m_sessionManager = null; // DO not allow instantiation of this class private SessionManagerFactory() { } public static ISessionManager SessionManager { get { // If the session manager has not been set yet if (m_sessionManager == null) { // Create a new default session manager m_sessionManager = new DefaultSessionManager(); } return m_sessionManager; } set { m_sessionManager = value; } } } } 1.1 plugins/etc/andromda-dotnet/Lib/AndroMDA.NHibernateSupport/AndroMDA.NHibernateSupport.dll <<Binary file>> No revision No revision 1.1 plugins/etc/andromda-dotnet/Lib/NHibernate.Nullables2/NHibernate.Nullables2.dll <<Binary file>> 1.1 plugins/etc/andromda-dotnet/Lib/NHibernateContrib/Bamboo.Prevalence.dll <<Binary file>> 1.1 plugins/etc/andromda-dotnet/Lib/NHibernateContrib/NHibernate.Caches.Prevalence.dll <<Binary file>> 1.1 plugins/etc/andromda-dotnet/Lib/NHibernateContrib/NHibernate.Caches.SysCache.dll <<Binary file>> 1.1 plugins/etc/andromda-dotnet/Lib/NHibernate/Castle.DynamicProxy.dll <<Binary file>> 1.1 plugins/etc/andromda-dotnet/Lib/NHibernate/HashCodeProvider.dll <<Binary file>> 1.1 plugins/etc/andromda-dotnet/Lib/NHibernate/Iesi.Collections.dll <<Binary file>> 1.1 plugins/etc/andromda-dotnet/Lib/NHibernate/NHibernate.dll <<Binary file>> 1.1 plugins/etc/andromda-dotnet/Lib/NHibernate/log4net.dll <<Binary file>> 1.1 plugins/etc/andromda-dotnet/NHibernate.Nullables2/NHibernate.Nullables2.sln Index: NHibernate.Nullables2.sln ===================================================================  Microsoft Visual Studio Solution File, Format Version 9.00 # Visual Studio 2005 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NHibernate.Nullables2", "NHibernate.Nullables2\NHibernate.Nullables2.csproj", "{298AFDF0-223D-4EBD-8310-E2FF4372F760}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NhibTest", "nhibtest\NhibTest.csproj", "{4D200941-ECBF-475D-B1F6-34DE12C0F0CF}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {298AFDF0-223D-4EBD-8310-E2FF4372F760}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {298AFDF0-223D-4EBD-8310-E2FF4372F760}.Debug|Any CPU.Build.0 = Debug|Any CPU {298AFDF0-223D-4EBD-8310-E2FF4372F760}.Release|Any CPU.ActiveCfg = Release|Any CPU {298AFDF0-223D-4EBD-8310-E2FF4372F760}.Release|Any CPU.Build.0 = Release|Any CPU {4D200941-ECBF-475D-B1F6-34DE12C0F0CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4D200941-ECBF-475D-B1F6-34DE12C0F0CF}.Debug|Any CPU.Build.0 = Debug|Any CPU {4D200941-ECBF-475D-B1F6-34DE12C0F0CF}.Release|Any CPU.ActiveCfg = Release|Any CPU {4D200941-ECBF-475D-B1F6-34DE12C0F0CF}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal 1.1 plugins/etc/andromda-dotnet/NHibernate.Nullables2/Readme.doc <<Binary file>> 1.1 plugins/etc/andromda-dotnet/NHibernate.Nullables2/NHibernate.Nullables2/EmptyAnsiStringType.cs Index: EmptyAnsiStringType.cs =================================================================== using System; using System.Data; using NHibernate; using NHibernate.SqlTypes; using NHibernate.Type; namespace NHibernate.Nullables2 { /// <summary> /// An <see cref="IUserType"/> that reads a <c>null</c> value from an <c>ansi string</c> /// column in the database as a <see cref="String.Empty">String.Empty</see> /// and writes a <see cref="String.Empty">String.Empty</see> to the database /// as <c>null</c>. /// </summary> /// <remarks> /// This is intended to help with Windows Forms DataBinding and the problems associated /// with binding a null value. See <a href="http://jira.nhibernate.org/browse/NH-279"> /// NH-279</a> for the origin of this code. /// </remarks> public class EmptyAnsiStringType : IUserType { AnsiStringType stringType; public EmptyAnsiStringType() { stringType = (AnsiStringType)NHibernateUtil.AnsiString; } #region IUserType Members bool IUserType.Equals(object x, object y) { if( x==y ) { return true; } if( ( x==null ) || ( y==null ) ) { return false; } return x.Equals( y ); } public SqlType[] SqlTypes { get { return new SqlType[] { stringType.SqlType }; } } public DbType[] DbTypes { get { return new DbType[] { stringType.SqlType.DbType }; } } public object DeepCopy(object value) { return value; } public void NullSafeSet(IDbCommand cmd, object value, int index) { if( value==null || value.Equals(string.Empty) ) { ((IDbDataParameter)cmd.Parameters[index]).Value = DBNull.Value; } else { stringType.Set(cmd, value, index); } } public System.Type ReturnedType { get { return typeof(string); } } public object NullSafeGet(System.Data.IDataReader rs, string[] names, object owner) { int index = rs.GetOrdinal(names[0]); if (rs.IsDBNull(index)) { return string.Empty; } else { return rs[index]; } } public bool IsMutable { get { return false; } } #endregion } } 1.1 plugins/etc/andromda-dotnet/NHibernate.Nullables2/NHibernate.Nullables2/EmptyStringType.cs Index: EmptyStringType.cs =================================================================== using System; using System.Data; using NHibernate; using NHibernate.SqlTypes; using NHibernate.Type; namespace NHibernate.Nullables2 { /// <summary> /// An <see cref="IUserType"/> that reads a <c>null</c> value from an <c>string</c> /// column in the database as a <see cref="String.Empty">String.Empty</see> /// and writes a <see cref="String.Empty">String.Empty</see> to the database /// as <c>null</c>. /// </summary> /// <remarks> /// This is intended to help with Windows Forms DataBinding and the problems associated /// with binding a null value. See <a href="http://jira.nhibernate.org/browse/NH-279"> /// NH-279</a> for the origin of this code. /// </remarks> public class EmptyStringType : IUserType { StringType stringType; public EmptyStringType() { stringType = (StringType)NHibernateUtil.String; } #region IUserType Members bool IUserType.Equals(object x, object y) { if( x==y ) { return true; } if( ( x==null ) || ( y==null ) ) { return false; } return x.Equals( y ); } public SqlType[] SqlTypes { get { return new SqlType[] { stringType.SqlType }; } } public DbType[] DbTypes { get { return new DbType[] { stringType.SqlType.DbType }; } } public object DeepCopy(object value) { return value; } public void NullSafeSet(IDbCommand cmd, object value, int index) { if( value==null || value.Equals(string.Empty) ) { ((IDbDataParameter)cmd.Parameters[index]).Value = DBNull.Value; } else { stringType.Set(cmd, value, index); } } public System.Type ReturnedType { get { return typeof(string); } } public object NullSafeGet(System.Data.IDataReader rs, string[] names, object owner) { int index = rs.GetOrdinal(names[0]); if (rs.IsDBNull(index)) { return string.Empty; } else { return rs[index]; } } public bool IsMutable { get { return false; } } #endregion } } 1.1 plugins/etc/andromda-dotnet/NHibernate.Nullables2/NHibernate.Nullables2/NHibernate.Nullables2.csproj Index: NHibernate.Nullables2.csproj =================================================================== <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <ProductVersion>8.0.50727</ProductVersion> <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{298AFDF0-223D-4EBD-8310-E2FF4372F760}</ProjectGuid> <OutputType>Library</OutputType> <AppDesignerFolder>Properties</AppDesignerFolder> <RootNamespace>NHibernate.Nullables2</RootNamespace> <AssemblyName>NHibernate.Nullables2</AssemblyName> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> <DebugType>full</DebugType> <Optimize>false</Optimize> <OutputPath>bin\Debug\</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> <OutputPath>bin\Release\</OutputPath> <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> </PropertyGroup> <ItemGroup> <Reference Include="log4net, Version=1.2.9.0, Culture=neutral, PublicKeyToken=b32731d11ce58905"> <SpecificVersion>False</SpecificVersion> <HintPath>..\..\Lib\NHibernate\log4net.dll</HintPath> </Reference> <Reference Include="NHibernate, Version=1.0.2.0, Culture=neutral, PublicKeyToken=154fdcb44c4484fc"> <SpecificVersion>False</SpecificVersion> <HintPath>..\..\Lib\NHibernate\NHibernate.dll</HintPath> </Reference> <Reference Include="System" /> <Reference Include="System.Data" /> <Reference Include="System.Xml" /> </ItemGroup> <ItemGroup> <Compile Include="NullableBooleanType.cs" /> <Compile Include="NullableByteType.cs" /> <Compile Include="NullableCharType.cs" /> <Compile Include="NullableDateTimeType.cs" /> <Compile Include="NullableDecimalType.cs" /> <Compile Include="NullableDoubleType.cs" /> <Compile Include="NullableGuidType.cs" /> <Compile Include="NullableInt16Type.cs" /> <Compile Include="NullableInt32Type.cs" /> <Compile Include="NullableInt64Type.cs" /> <Compile Include="NullableSByteType.cs" /> <Compile Include="NullableSingleType.cs" /> <Compile Include="NullableBaseType.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> </Project> 1.1 plugins/etc/andromda-dotnet/NHibernate.Nullables2/NHibernate.Nullables2/NullableBaseType.cs Index: NullableBaseType.cs =================================================================== using System; using NHibernate; using NHibernate.Type; using NHibernate.SqlTypes; using log4net; namespace NHibernate.Nullables2 { /// <summary> /// Abstract type used for implementing NHibernate <see cref="IType"/>s for /// the Nullables library. /// </summary> public abstract class NullableBaseType : NullableType { private static readonly ILog log = LogManager.GetLogger( typeof(NullableBaseType) ); public NullableBaseType(SqlType type) : base(type) { } public override object NullSafeGet(System.Data.IDataReader rs, string name) { int index = rs.GetOrdinal(name); if( rs.IsDBNull(index) ) { if ( log.IsDebugEnabled ) { log.Debug("returning null as column: " + name); } return NullValue; //this value is determined by the subclass. } else { object val = null; try { val = Get(rs, index); } catch(System.InvalidCastException ice) { throw new ADOException( "Could not cast the value in field " + name + " to the Type " + this.GetType().Name + ". Please check to make sure that the mapping is correct and that your DataProvider supports this Data Type.", ice); } if ( log.IsDebugEnabled ) { log.Debug("returning '" + ToString(val) + "' as column: " + name); } return val; } } public override object Get(System.Data.IDataReader rs, string name) { return Get(rs, rs.GetOrdinal(name)); } public abstract object NullValue{ get; } } } 1.1 plugins/etc/andromda-dotnet/NHibernate.Nullables2/NHibernate.Nullables2/NullableBooleanType.cs Index: NullableBooleanType.cs =================================================================== using System; using NHibernate.Type; using NHibernate.SqlTypes; namespace NHibernate.Nullables2 { /// <summary> /// A NHibernate <see cref="IType"/> for bool? /// </summary> public class NullableBooleanType : NullableBaseType { public NullableBooleanType() : base(new BooleanSqlType()) { } public override bool Equals(object x, object y) { //get boxed values. bool? xTyped = (bool?)x; return xTyped.Equals(y); } public override object NullValue { get { return new bool?(); } } public override bool HasNiceEquals { get { return true; } } public override bool IsMutable { get { return true; } } public override string Name { get { return "bool?"; } } public override System.Type ReturnedClass { get { return typeof(bool?); } } public override object DeepCopyNotNull(object val) { return val; } public override object Get(System.Data.IDataReader rs, int index) { //TODO: perhaps NullableBoolean has a method/operator/contructor that will take an object. object value = rs[index]; bool? nullBool = new bool?( (bool)value); return nullBool; } public override void Set(System.Data.IDbCommand cmd, object value, int index) { System.Data.IDataParameter parameter = (System.Data.IDataParameter)cmd.Parameters[index]; bool? nullableValue = (bool?)value; if (nullableValue.HasValue) { parameter.Value = nullableValue.Value; } else { parameter.Value = DBNull.Value; } } public override string ToString(object val) { return val.ToString(); } public override object FromStringValue(string xml) { return new bool?(Boolean.Parse(xml)); } } } 1.1 plugins/etc/andromda-dotnet/NHibernate.Nullables2/NHibernate.Nullables2/NullableByteType.cs Index: NullableByteType.cs =================================================================== using System; using NHibernate.Type; using NHibernate.SqlTypes; namespace NHibernate.Nullables2 { /// <summary> /// A NHibernate <see cref="IType"/> for a byte?. /// </summary> public class NullableByteType : NullableBaseType { public NullableByteType() : base(new ByteSqlType()) { } public override bool Equals(object x, object y) { //get boxed values. byte? xTyped = (byte?)x; return xTyped.Equals(y); } public override object NullValue { get { return new byte?(); } } public override bool HasNiceEquals { get { return true; } } public override bool IsMutable { get { return true; } } public override string Name { get { return "byte?"; } } public override System.Type ReturnedClass { get { return typeof(byte?); } } public override object DeepCopyNotNull(object val) { return val; } public override object Get(System.Data.IDataReader rs, int index) { //TODO: perhaps NullableByte has a method/operator/contructor that will take an object. object value = rs[index]; if( value==DBNull.Value ) { return new byte?(); } else { return new byte?(Convert.ToByte(value)); } } public override void Set(System.Data.IDbCommand cmd, object value, int index) { System.Data.IDataParameter parameter = (System.Data.IDataParameter)cmd.Parameters[index]; byte? nullableValue = (byte?)value; if( nullableValue.HasValue ) { parameter.Value = nullableValue.Value; } else { parameter.Value = DBNull.Value; } } public override string ToString(object val) { return val.ToString(); } public override object FromStringValue(string xml) { return new byte?(Byte.Parse(xml)); } } } 1.1 plugins/etc/andromda-dotnet/NHibernate.Nullables2/NHibernate.Nullables2/NullableCharType.cs Index: NullableCharType.cs =================================================================== using System; using NHibernate.Type; using NHibernate.SqlTypes; namespace NHibernate.Nullables2 { /// <summary> /// A NHibernate <see cref="IType"/> for a char?. /// </summary> public class NullableCharType : NullableBaseType { public NullableCharType() : base(new StringFixedLengthSqlType(1)) { } public override bool Equals(object x, object y) { //get boxed values. char? xTyped = (char?)x; return xTyped.Equals(y); } public override object NullValue { get { return new char?(); } } public override bool HasNiceEquals { get { return true; } } public override bool IsMutable { get { return true; } } public override string Name { get { return "char?"; } } public override System.Type ReturnedClass { get { return typeof(char?); } } public override object DeepCopyNotNull(object val) { return val; } public override object Get(System.Data.IDataReader rs, int index) { //TODO: perhaps NullableChar has a method/operator/contructor that will take an object. object value = rs[index]; if( value==DBNull.Value ) { return new char?(); } else { return new char?(Convert.ToChar(value)); } } public override void Set(System.Data.IDbCommand cmd, object value, int index) { System.Data.IDataParameter parameter = (System.Data.IDataParameter)cmd.Parameters[index]; char? nullableValue = (char?)value; if( nullableValue.HasValue ) { parameter.Value = nullableValue.Value; } else { parameter.Value = DBNull.Value; } } public override string ToString(object val) { return val.ToString(); } public override object FromStringValue(string xml) { return new char?(xml[0]); } } } 1.1 plugins/etc/andromda-dotnet/NHibernate.Nullables2/NHibernate.Nullables2/NullableDateTimeType.cs Index: NullableDateTimeType.cs =================================================================== using System; using NHibernate.Type; using NHibernate.SqlTypes; namespace NHibernate.Nullables2 { /// <summary> /// A NHibernate <see cref="IType"/> for a DateTime?. /// </summary> public class NullableDateTimeType : NullableBaseType { public NullableDateTimeType() : base(new DateTimeSqlType()) { } public override bool Equals(object x, object y) { //get boxed values. DateTime? xTyped = (DateTime?)x; return xTyped.Equals(y); } public override object NullValue { get { return new DateTime?(); } } public override bool HasNiceEquals { get { return true; } } public override bool IsMutable { get { return true; } } public override string Name { get { return "DateTime?"; } } public override System.Type ReturnedClass { get { return typeof(DateTime?); } } public override object DeepCopyNotNull(object val) { return val; } public override object Get(System.Data.IDataReader rs, int index) { //TODO: perhaps NullableDateTime has a method/operator/contructor that will take an object. object value = rs[index]; if( value==DBNull.Value ) { return new DateTime?(); } else { return new DateTime?(Convert.ToDateTime(value)); } } public override void Set(System.Data.IDbCommand cmd, object value, int index) { System.Data.IDataParameter parameter = (System.Data.IDataParameter)cmd.Parameters[index]; DateTime? nullableValue = (DateTime?)value; if( nullableValue.HasValue ) { parameter.Value = nullableValue.Value; } else { parameter.Value = DBNull.Value; } } public override string ToString(object val) { return val.ToString(); } public override object FromStringValue(string xml) { return new DateTime?(DateTime.Parse(xml)); } } } 1.1 plugins/etc/andromda-dotnet/NHibernate.Nullables2/NHibernate.Nullables2/NullableDecimalType.cs Index: NullableDecimalType.cs =================================================================== using System; using NHibernate.Type; using NHibernate.SqlTypes; namespace NHibernate.Nullables2 { /// <summary> /// A NHibernate <see cref="IType"/> for a <see cref="NullableDecimal"/>. /// </summary> public class NullableDecimalType : NullableBaseType { public NullableDecimalType() : base(new DecimalSqlType()) { } public override bool Equals(object x, object y) { //get boxed values. decimal? xTyped = (decimal?)x; return xTyped.Equals(y); } public override object NullValue { get { return new decimal?(); } } public override bool HasNiceEquals { get { return true; } } public override bool IsMutable { get { return true; } } public override string Name { get { return "decimal?"; } } public override System.Type ReturnedClass { get { return typeof(decimal?); } } public override object DeepCopyNotNull(object val) { return val; } public override object Get(System.Data.IDataReader rs, int index) { //TODO: perhaps NullableDecimal has a method/operator/contructor that will take an object. object value = rs[index]; if( value==DBNull.Value ) { return new decimal?(); } else { return new decimal?(Convert.ToDecimal(value)); } } public override void Set(System.Data.IDbCommand cmd, object value, int index) { System.Data.IDataParameter parameter = (System.Data.IDataParameter)cmd.Parameters[index]; decimal? nullableValue = (decimal?)value; if( nullableValue.HasValue ) { parameter.Value = nullableValue.Value; } else { parameter.Value = DBNull.Value; } } public override string ToString(object val) { return val.ToString(); } public override object FromStringValue(string xml) { return new decimal?(Decimal.Parse(xml)); } } } 1.1 plugins/etc/andromda-dotnet/NHibernate.Nullables2/NHibernate.Nullables2/NullableDoubleType.cs Index: NullableDoubleType.cs =================================================================== using System; using NHibernate.Type; using NHibernate.SqlTypes; namespace NHibernate.Nullables2 { /// <summary> /// A NHibernate <see cref="IType"/> for a <see cref="NullableDouble"/>. /// </summary> public class NullableDoubleType : NullableBaseType { public NullableDoubleType() : base(new DoubleSqlType()) { } public override bool Equals(object x, object y) { //get boxed values. double? xTyped = (double?)x; return xTyped.Equals(y); } public override object NullValue { get { return new double?(); } } public override bool HasNiceEquals { get { return true; } } public override bool IsMutable { get { return true; } } public override string Name { get { return "double?"; } } public override System.Type ReturnedClass { get { return typeof(double?); } } public override object DeepCopyNotNull(object val) { return val; } public override object Get(System.Data.IDataReader rs, int index) { //TODO: perhaps NullableDouble has a method/operator/contructor that will take an object. object value = rs[index]; if( value==DBNull.Value ) { return new double?(); } else { return new double?(Convert.ToDouble(value)); } } public override void Set(System.Data.IDbCommand cmd, object value, int index) { System.Data.IDataParameter parameter = (System.Data.IDataParameter)cmd.Parameters[index]; double? nullableValue = (double?)value; if( nullableValue.HasValue ) { parameter.Value = nullableValue.Value; } else { parameter.Value = DBNull.Value; } } public override string ToString(object val) { return val.ToString(); } public override object FromStringValue(string xml) { return new double?(Double.Parse(xml)); } } } 1.1 plugins/etc/andromda-dotnet/NHibernate.Nullables2/NHibernate.Nullables2/NullableGuidType.cs Index: NullableGuidType.cs =================================================================== using System; using NHibernate.Type; using NHibernate.SqlTypes; namespace NHibernate.Nullables2 { /// <summary> /// A NHibernate <see cref="IType"/> for a <see cref="NullableGuid"/>. /// </summary> public class NullableGuidType : NullableBaseType { public NullableGuidType() : base(new GuidSqlType()) { } public override bool Equals(object x, object y) { //get boxed values. Guid? xTyped = (Guid?)x; return xTyped.Equals(y); } public override object NullValue { get { return new Guid?(); } } public override bool HasNiceEquals { get { return true; } } public override bool IsMutable { get { return true; } } public override string Name { get { return "Guid?"; } } public override System.Type ReturnedClass { get { return typeof(Guid?); } } public override object DeepCopyNotNull(object val) { return val; } public override object Get(System.Data.IDataReader rs, int index) { //TODO: perhaps NullableGuid has a method/oper... [truncated message content] |
From: Naresh B. <nb...@us...> - 2006-07-09 12:06:15
|
User: nbhatia Date: 06/07/09 05:06:13 plugins/etc/andromda-dotnet/NHibernate.Nullables2/nhibtest/Properties - New directory |
From: Naresh B. <nb...@us...> - 2006-07-09 12:05:46
|
User: nbhatia Date: 06/07/09 05:05:46 plugins/etc/andromda-dotnet/NHibernate.Nullables2/NHibernate.Nullables2/Properties - New directory |
From: Naresh B. <nb...@us...> - 2006-07-09 12:05:27
|
User: nbhatia Date: 06/07/09 05:05:27 plugins/etc/andromda-dotnet/NHibernate.Nullables2/nhibtest - New directory |